在SystemC中,sc_signal_in / out类型端口是否可以绑定到主通道sc_buffer?

时间:2013-09-16 09:12:18

标签: vhdl verilog modeling systemc

我正在使用SystemC进行建模,我对“频道”有点困惑,其中包括信号,缓冲区和fifo。

那么有人能告诉我信号和缓冲的区别吗?它是否与Verilog HDL中的线和寄存器变量之间的差异相同?信号可以绑定到缓冲区变量吗?

1 个答案:

答案 0 :(得分:3)

sc_buffersc_signal都是实现sc_signal_inout_if的原始渠道; 'buffer'是sc_buffer类型的对象,而'signal'是sc_signal类型的对象。两者之间的唯一区别是,无论何时写入缓冲区,无论是否更改值,都会得到值更改事件。

在Verilog中没有相应的东西,所以与电线和寄存器无关。 VHDL中有类似的东西。 <sig>'transaction为您提供一个隐式信号,无论<sig>是否发生变化,只要写入<sig>,就会在delta周期中在'0'和'1'之间切换。 <sig>'event仅在<sig>实际发生更改时才会生效。

因此,简而言之,当您需要知道是否已写入某个通道时,请使用缓冲区,即使写入没有改变任何内容。