此博文内容是欣赏完 为真OO 无双博客的笔记
比如我们要看reg [3:0] 这个cnt 的值,但是如果Quartus 将它综合了呢
可以将这个语句改成
或者是
如果将它放到module后面
这个的功能是不综合这个module中的reg
/*synthesis noprune*/ 避免Quartus II优化掉沒output的reg。
/*synthesis preserve*/ 避免Quartus II將reg优化为常数,或者合并重复的reg。
指示Quartus II不要對Cnt做最佳化,保留此wire以供SignalTap II觀察
或者是通过设定的方法看register 以及wrie
Assignments -> Settings : Category : Compilation Process Settings -> Incremental Compilation 将其关闭
小瑞子说(* KEEP_HIERARCHY="TRUE" *)或者是 (* KEEP="TRUE" *)放到信号后面也可以,但是没有尝试。
在《深入理解Altera FPGA 应用设计》 P60 还介绍了以一种方法:
在QuartusII 的setting --> analysis&synthesis settings --> more setting 里面的remove redundant logic cells 必须为off ignore LCELL buffers 必须为off
可是 这两项默认就是off的,怎么回事?难道书上错了?