如题所述
出现这个错误的原因在于,在不同的always逻辑块中,对同一个reg变量进行了赋值,在多个alwasy逻辑块同时并行工作的时候,会出现冲突。
解决的办法:对于一个变量,只在一个always块中,进行赋值,内部分别对同一个变量进行的赋值smp_cnt,txd_cnt,txd_state;
扩展资料:
wire与reg类型的区别:
1.wire型数据常用来表示以assign关键字指定的组合逻辑信号。模块的输入输出端口类型都默认为wire型。默认初始值是z。
2.reg型表示的寄存器类型。always模块内被赋值的信号,必须定义为reg型,代表触发器,默认初始值是x。
2.reg 类型不一定是寄存器变量,例如组合逻辑中reg类型变量。
3.reg相当于存储单元,wire相当于物理连线。
4.Verilog 中变量的物理数据分为线型和寄存器型。这两种类型的变量在定义时要设置位宽,缺省为1位。变量的每一位可以是0,1,X,Z。
温馨提示:答案为网友推荐,仅供参考