这样写敏感列表不对吧?时序逻辑最好用边沿触发,组合逻辑最好用电平触发。这个规则是一定要遵从的,不然写出的硬件综合后就太糟了。
边沿触发信号和电平触发信号如果写在同一个敏感列表中,DC综合器是会报错的,没办法综合。不过早期的modelsim不会报错,不知道现在的会不会报错。早期我写成always @(posedge clk or tran_state or tx_init or i2)过,没有报错,但是用DC综合的时候一定会报错的。
always @(posedge clk)
或者
always @(tran_state or tx_init or i2)
两者不能混着写。
前者是时序逻辑的写法,后者是组合逻辑的写法。