Altera FPGA中的延時進位鏈-LCELL
在ALtera的FPGA中需要通過原語添加LCELL添加固定的延時,一般來講,LCELL的延時相對比較固定,但是隨着佈線以及溫度等影響,延時會有變化,所以通過LCELL設計延時進位鏈需要計算單個LCELL延時以及控制佈線和位置約束。
原語調用LCELL如下:
RTL View圖如下:
Post Fitting圖如下:
實際上添加了8個LCELL:
每個LCELL大約的延時爲0.41ns,TimeQuest分析如下:
可以看到LCELL延時大約等於CELL+IC=0.41ns
整個延時鏈代碼如下:
QuartusII13.1版本的軟件不需要添加約束,如果添加Keep等原語約束的話,會額外增加LCELL數量
在低於QuartusII13.1以前的版本中需要添加約束或者設置來防止軟件優化LCELL
1. 通過QuartusII中的設置實現
完成下列兩個設置即可實現settings ->Analysis&Synthesis -> more settings:
"Remove redundant logic cells" , must be "off"
"Ignore LCELL buffers", must be "off"
2、通過在HDL中添加綜合屬性來實現
採用keep來約束wire防止自動優化。