FPGA板級測試若干方法小結

2021-08-16 14:27:36 字數 2397 閱讀 6820

1)有關時序問題

學習過fpga

的都知道,fpga可以接受的時鐘和所允許的時序遠遠低於

asic

。這是由於

asic

時鐘樹與佈線相對自由,故對於高速率設計解決起來相對容易。對於

xilinx fpga

而言,儘管採用了

90nm

工藝的virtex-4

可以支援的效能高達

500m[1]

,但是其時鐘樹和佈線資源相對固定,因此一旦在編譯和布局佈線的時候處理不當,就會產生時序衝突(

timing violation

)。產生時序衝突的結果,輕則使設計的邏輯與實際布局佈線後的網表不一致,重則導致布局佈線根本無法通過,從而致使驗證無法進行。

2)設計過程中注意時序問題

若希望設計的產品能夠在fpga驗證平台上順利的完成驗證,在設計過程中就需要注意盡量多的使用

fpga

的內部資源,如

dsp48

,乘法器,

ram,

dcm等。 畢竟

ip核提供商最懂它們自己的產品。例如使用

xilinx

工具時,

xilinx

的ise

中配有core generator

這個工具。通過該工具可以生成需要的乘法器。使用這些乘法器來代替普通的乘法器,可以達到滿意的效果。除了乘法器,還可以使用該工具產生

ram和

dcm等。這些直接生成的

ip效能都非常好。

3)綜合過程解決時序問題

使用synplicity公司的

synplify

工具進行綜合,這是業界通常使用的綜合工具之一。選擇該工具最主要的原因在於它與

xilinx

的fpga

配合的很好。有人做過實驗,通過該工具綜合產生結果報表,再通過

ise產生真實布局佈線後的報表。對這兩個報表的時序估計部分進行對比,我們發現兩者之間驚人的相似,最差路徑之間的差別不超過

1ns。

4)布局佈線階段解決時序問題

當綜合工作完成,進入布局佈線的階段後,仍然有兩種方法可以改善邏輯時序問題。第一種是手動增加並調整bufg(

global clock buffer

)。bufg

是xilinx

的全域性時鐘資源,所有時鐘樹的起點都是

bufg

,位於fpga

的北極和南極。當佈線後仍有負的

slack

時,有可能是某些當作時鐘使用的訊號沒有被放上時鐘樹,此時就要手動將這些訊號放上

bufg

。若遇到門控時鐘,還應該使用

bufgmux

資源。門控時鐘,是主要為了降低功耗。

門控時鐘(clockgating),通過關閉晶元上暫時用不到的功能和它的時鐘,可以節省電能。

門控時鐘(英語:clockgating),「門控」是指乙個時鐘訊號與另外乙個非時鐘訊號作邏輯輸出的時鐘。例如,用乙個控制訊號「與」乙個

clk,可以控制

clk的起作用時間。可以通過關閉晶元上暫時用不到的功能和它的時鐘,從而實現節省電流消耗的目的。門控時鐘是低功耗設計中的一種最有效的方法。

門控時鐘是一種在同步時序邏輯電路的一種時間脈衝訊號技術,可以降低晶元功耗。門控時鐘通過在電路中增加額外的邏輯單元、優化時鐘樹結構來節省電能。

可以通過以下幾種方式在設計中新增門控時鐘邏輯:

通過暫存器傳輸級程式設計中的條件選擇來實現使能訊號,從而在邏輯綜合過程自動被翻譯為門控時鐘;

通過例項化特殊的門控時鐘單元,來把門控時鐘插入到設計中去;

使用專門的門控時鐘工具新增。

5)**一致性

對於經過fpga驗證的**而言,最擔心的是經過驗證的**和進行流片的**不一致。導致這個現象產生的原因是多種的,其中版本控制和由於

fpga

、asic

專用器件不一致而引起的問題是最常見的兩個問題。

對於經過fpga驗證的**,為了能夠使被測**可以順利的在

fpga

進行驗證,一般都採取了

fpga

專用的器件。這些

fpga

專用器件在

asic

中是不存在的。為了解決這個問題,通常採取

"假**"(

fake code

)解決。顧名思義,

"假**

"就是在**中保留

fpga

專用器件的名稱和介面,但是在

fpga

和asic

中使用不同的器件核心。該器件若在

fpga

下使用則使用

fpga

專用器件,若在

asic

下使用,則使用自己編寫的**。儘管這種做法仍然無法保證**的完全一致,但是卻最大限度的避免了**的差別。

FPGA實戰演練邏輯篇 FPGA板級設計五要素

第一次寫部落格,排版也不太會,見諒!電源電路分為三部分包括 核心電壓 i o電壓 輔助電壓 一般為固定值 io引腳工作所需參考電壓 fpga的io分為多個bank,每乙個板塊的io引腳電壓相同,不同bank電壓可以不同 除了核心電壓和io電壓,fpga工作所需的其他電壓叫做輔助電壓 pll和dll ...

帶你了解FPGA 3 板級電路

2.fpga核心電路 fpga的主要構成可以分為5個部分,分別是電源電路,時鐘電路,復位電路,配置電路以及外設電路。1.1 電源電路 fpga器件的電壓需求分為3類 核心電壓 i o電壓與輔助電壓 fpga和asic最大的不同是fpga所有的可用訊號引腳基本都可以作為普通i o使用,其電平值的高低完...

lvds在FPGA中的使用4 板級除錯

好了,進入正是,說說lvds除錯。如下圖,採用軟硬結合板設計,左側為fpga主機板部分,右側主要是一些介面,包括camlink vga,中間採用柔性電路板相連。首先,按照 3的程式除錯lvds介面,使用bank5的差分管腳輸出lvds訊號,結果採集卡採不到圖,這下壞了,最開始懷疑引腳分配不正確,一番...