在設計FPGA項目的時候,對時鐘進行約束,但是因為算法或者硬件的原因,都使得時鐘約束出現超差現象,接下來主要就是解決時鐘超差問題,主要方法有以下幾點。
第一:換一個速度更快點的芯片,altera公司的cyclone系列FPGA,有6,7,8速度等級的,8的最慢,6的最快,或者cyclone系統4,5更快的芯片,當然了成本會增加些的。
第二:盡量避免在FPGA中做乘法和除法的運算,除非這個FPGA有硬件乘法器。我使用的這個FPGA沒有硬件乘法器,我就盡量利用左移或者右移來做乘法和除法運算。
第三:重新分配一下IO管腳,這樣在布局布線的時候,會提高一定程度的時鐘余量。下圖是調整IO分配以后,時鐘余量提高了0.2ns。
第四:就是看看超差的那個線路,增加一些中間寄存器,或者使用流水線技術,就是將組合邏輯和時序邏輯分開,大的時序邏輯,盡量優化成由很多小的時序邏輯組成一個大的時序邏輯。或者更該程序代碼,更該算法。到這一步就是沒有辦法的辦法了。
第五:有些時候在程序中加入一些和項目不相關的代碼,也可以提高正常程序的時鐘約束余量,估計是不相關代碼擠占了一些邏輯單元,使得正常程序在布局布線的時候,選擇了其他路徑吧。這個辦法不固定,瞎貓碰死耗子的事情。
主要就是這幾種方法了,首先要選好芯片,這是最重要的,不然為了省成本,最后發現芯片速度不夠,很煩人的。
最后提一下有些網友提到FPGA發熱厲害的現象,看看你在項目中是不是將unused pin 接地了,這樣芯片會發熱,最好將unused pin 微上拉,或者設置為輸入即可。
編輯:jq
-
FPGA
+關注
關注
1644文章
21993瀏覽量
615449 -
芯片
+關注
關注
459文章
52308瀏覽量
437887 -
乘法器
+關注
關注
9文章
211瀏覽量
37871
原文標題:FPGA時鐘約束時鐘余量超差解決方法
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
晶振頻偏超差?這5個核心因素正在悄悄改變你的時鐘精度

FPGA時序約束之設置時鐘組

AD9577帶雙路PLL、擴頻和余量微調功能的時鐘發生器技術手冊

基于FPGA的數字時鐘設計

xilinx FPGA IOB約束使用以及注意事項

評論