Vivado下几条 Verilog 综合规则

下面的经验在vivado的RTL级综合验证:

总体原则:操作要与输出信号相关,不相关的全部视为无用信号,综合成电路是被综合掉。

1,always过程中 中间变量自己给自己赋值的操作,在综合出来的电路中会被忽略掉, 因为对电路的输出没有意义。

2,输入信号赋值给中间变量, 但是没有跟输出相关,被综合掉。

3,中间变量赋给常量值,在综合时会根据位值 直接连接对应位D触发器的set信号,使D触发器常量,而不会连接跟clk有关的D信号。

4,语句的书写顺序与执行顺序无关,但是与综合顺序有关,如果发生冲突,例如两个信号同时连接到输出信号, 那么后面书写的语句会将前面书写的语句生成的电路覆盖掉。

5,输入信号,中间结果赋给中间变量,只要这个中间变量最后与输出有关,就会在中间生成触发器来存储,这个就是写流水线的方法。