自己写verilog时很随意,只要vivado能仿真通过就不管了,结果到了DC综合,出现了两种error改了好久,,,
1.在一个时刻给同一个reg赋多值
Error: ../rtl/fix_code.v:63: Net 'flag_rt' or a directly connected net is driven by more than one source, and not all drivers are three-state. (ELAB-366)
在用多个always语句块的时候一定要注意,vivado 会自动帮你解决,但dc是综合不了的。最好将他们合并在一个always语句块中
2.在调用模块时进行拼接
Error: Width mismatch on port 'dout' of reference to 'max' in 'fix_code'. (LINK-3)
提前用assign拼接好
3.reg不能初始化
这是错的,寄存器初始化放到rst中。