在对Verilog程序分析与综合时,发生错误信息如下:
Error (10028): Can't resolve multiple constant drivers for net "data_cnt[15]" at state_machine_pkt_top.v(160)
Error (10029): Constant driver at state_machine_pkt_top.v(144)
Error (10028): Can't resolve multiple constant drivers for net "data_cnt[14]" at state_machine_pkt_top.v(160)
Error (10028): Can't resolve multiple constant drivers for net "data_cnt[13]" at state_machine_pkt_top.v(160)
......
原因:两个always块中输出同一个信号,会产生信号冲突。
同一个信号不允许在多个进程中赋值,否则则为多驱动。
进程的并行性决定了多进程不同能对同一个对象进行赋值。
解决方法:将同一个信号写在一个always块中。
此时分析与综合不报错。