quartus,altera 使用笔记
1. 顶层文件名要和工程名一致,同时顶层文件module声明前不用注释或者用块注释/*... */,直接用//,会出现entity undefined错误;
2. 三个反相器相连,为防止被优化成一个反相器,可以在代码中加入约束,“通知”编译器保留插入的buf,不去优化它们。总结如下:
Xilinx ( ISE版本12.3,综合工具为ISE自带的XST,器件Spartan6):
(* KEEP="TRUE"*)wire node1;
Altera:(QuartusII版本9.1,综合工具为QuartusII自带的综合工具,器件CycloneVI):
wire node1 /* synthesis keep */;
或:
wire node1 /* synthesis syn_keep=1*/;
Lattice( ispLEVER版本6.1,综合工具为ispLEVER自带的Synplify,器件MachXO):
wire node1 /* synthesis syn_keep=1 nomerge=""*/;
注意写法要完全一致,如wire node1 /* synthesis keep */;不要写成wire node1; /* synthesis keep */;