systemC的时序逻辑建模
systemc的时序逻辑方法分为两种:
1) 静态时序逻辑:
使用关键字sensitive,sensitive_pos , sensitive_neg :使得触发为值触发,正跳边沿触发,负跳变沿触发
这种触发方式为静态触发方式。
2) 动态时序逻辑:
在挂起的线程函数的wait语句中使用。
条件为port.posedge_event() port.negedge_event() port.value_changed_event() ,
并且可以结合逻辑操作符和时间表示复杂的逻辑关系。
ps: 现在已经更改语句了,详情看我的链接
https://blog.51cto.com/13824643/2137344
一般在不复杂的时序逻辑中,都使用静态时序逻辑,并且同组合逻辑相组合。
下面是一个关于检测序列的sc程序,只有当检测到3个连续的1时,流水检测才输出为1:
#include "base.h"
#ifndef STREAMCHECK
#define STREAMCHECK
const int size = 3 ;
SC_MODULE(s