SystemC的通道允许并行的动作,这就涉及到同步的问题。比如在同一个时钟的上升沿既读又写,则读的结果应该是写入之前的值。但是怎样才能保证这些呢?一个通用的做法是将对通道的操作(读、写、查询状态)分为两个部分进行,即所谓“求值――更新”过程。在求值阶段,新的结果被记录,同时保存原有的结果。如果是读操作,则在求值阶段将原有的结果返回,如果是写操作,则接着执行更新过程,真正将新的数据写入。可以看出,更新过程并不是必须的,比如读操作和状态查询操作。 |
SystemC的通道允许并行的动作,这就涉及到同步的问题。比如在同一个时钟的上升沿既读又写,则读的结果应该是写入之前的值。但是怎样才能保证这些呢?一个通用的做法是将对通道的操作(读、写、查询状态)分为两个部分进行,即所谓“求值――更新”过程。在求值阶段,新的结果被记录,同时保存原有的结果。如果是读操作,则在求值阶段将原有的结果返回,如果是写操作,则接着执行更新过程,真正将新的数据写入。可以看出,更新过程并不是必须的,比如读操作和状态查询操作。 |
1.1 SystemC的历史 1.2 SystemC的建模能力 1.3 SystemC的本质 1.4 不要忘记...