Jump to content

risc_cpu example in systemc package

Recommended Posts


I am looking into the risc_cpu example in systemc package and I am not able to understand the following(at line 321)

exec   IEU("EXEC_BLOCK");  
IEU << reset << decode_valid << alu_op << negate << add1 << shift_sel  << src_A << src_B << forward_A << forward_B << alu_src << c << v << z  << dout << out_valid << destout << clk;

It seems it is related to binding. If yes ,can you tell me where the << is overloaded to have the bindings.






Share this post

Link to post
Share on other sites

This example still uses the positional binding feature of SystemC, which is deprecated as per IEEE Std. 1666 (see Annex C (h), emphasis mine):


This annex contains a list of deprecated features. A deprecated feature is a feature that was present in version 2.0.1 of the OSCI open source proof-of-concept SystemC implementation but is not part of this standard. Deprecated features may or may not remain in the Accellera Systems Initiative implementation in
the future. The user is strongly discouraged from using deprecated features because an implementation is not obliged to support such features. An implementation may issue a warning on the first occurrence of each deprecated feature but is not obliged to do so.


h) operator, and operator<< of class sc_module for positional port binding (use operator() instead)


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now