[英]What is the equivalent in SystemC to verilog wire?
我正在将一些Verilog代码转换为SC。 这是一个让我感到困惑的情况:在verilog中,连续的任务如:
wire a;
assign a =1;
分配后,a将立即获得1。 如果我们用SC编写它:
sc_signal<bool> a;
a.write(1);
a的当前值将不是1。如何解决此问题? 像下面吗?
bool a;
a = 1;
在Verilog中,如果要在同时同步的两个不同过程中更改RHS和读取LHS,则不能保证读取连续分配的更新值。 您需要使用非阻塞分配来避免竞争情况。
在SystemC中, write()
方法类似于非阻塞分配。 区别在于您需要在SystemC中使用write()
方法。 因此,您只应将信号写为线程/进程的输出。 如果您需要在过程中读取信号,则需要使用线程本地的变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.