Language features SystemC
1 language features
1.1 modules
1.2 ports
1.3 signals
1.4 exports
1.5 processes
1.6 channels
1.7 interfaces
1.8 events
1.9 data types
language features
modules
systemc has notion of container class called module. hierarchical entity can have other modules or processes contained in it.
modules basic building blocks of systemc design hierarchy. systemc model consists of several modules communicate via ports. modules can thought of building block of systemc.
ports
processes used describe functionality. processes contained inside modules. systemc provides 3 different process abstractions used hardware , software designers.
ports allow communication inside module outside (usually other modules) via channels.
signals
systemc supports resolved , unresolved signals. resolved signals can have more 1 driver (a bus) while unresolved signals can have 1 driver.
exports
modules have ports through connect other modules. systemc supports single-direction , bidirectional ports.
exports incorporate channels , allow communication inside module outside (usually other modules).
processes
processes used describe functionality. processes contained inside modules. systemc provides 3 different process abstractions used hardware , software designers. processes main computation elements. concurrent.
channels
channels communication elements of systemc. can either simple wires or complex communication mechanisms fifos or bus channels.
elementary channels:
signal: equivalent of wire
buffer
fifo
mutex
semaphore
interfaces
ports use interfaces communicate channels.
events
events allow synchronization between processes , must defined during initialization.
data types
systemc introduces several data types support modeling of hardware.
extended standard types:
sc_int<n> n-bit signed integer
sc_uint<n> n-bit unsigned integer
sc_bigint<n> n-bit signed integer n > 64
sc_biguint<n> n-bit unsigned integer n > 64
logic types:
sc_bit 2-valued single bit
sc_logic 4-valued single bit
sc_bv<n> vector of length n of sc_bit
sc_lv<n> vector of length n of sc_logic
fixed point types:
sc_fixed<> templated signed fixed point
sc_ufixed<> templated unsigned fixed point
sc_fix untemplated signed fixed point
sc_ufix untemplated unsigned fixed point
Comments
Post a Comment