在對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塊中。
此時分析與綜合不報錯。