FPGA時序分析1 FPGA結構

2021-10-18 16:22:44 字數 2220 閱讀 7754

**記錄學習,記錄成長

介紹fpga的基本結構並說明fpga如何實現可程式設計功能。

為什麼要了解fpga基本結構呢?

了解這些後,在進行fpga設計時,可以大概知道電路在fpga上是如何實現的。在進行時序約束或者提高時鐘頻率時,知其然更知其所以然。

目錄

1.fpga介紹

2.fpga組成三要素

2.1 clbs可程式設計邏輯塊

2.2 可程式設計輸入輸出塊【i/obs】

2.3 片內互聯線

3.fpga其他可選資源

fpga:field programmable gate array 【現場可程式設計門陣列】

現場可程式設計:指的是程式設計可直接在現場進行,意味著fpga的即時可得性。

門陣列:fpga可程式設計功能主要是對邏輯門操作實現的,這些邏輯門在fpga器件中進行排列組成門陣列。

按程式設計方式和邏輯功能可分下面三種型別:

①sram-查詢表型別(intel xilinx)

②反熔絲的多路開關型別fpga器件(actel)

③基於flash的fpga(lattice)

fpga基本組成三要素:

①可程式設計邏輯塊(clbs,configurable logic blocks) ②片內互聯線(programmable interconnect)③ 輸入輸出塊(iobs,i/o blocks)

fpga可程式設計功能的實現主要由上面三種結構實現的。

可程式設計邏輯塊(clb),也稱作邏輯單元(le),是可程式設計邏輯實現的主體。

主要有下面三部分組成:①查詢表(lut,look up table)②d觸發器(dff) ③進製鏈(carry chain)。

lut用來實現組合邏輯功能,d觸發器寄存資料,進製鏈用來實現加法

cyclone iv e 上的可程式設計邏輯功能塊

lut:用來實現組合邏輯功能。

lut本質上是乙個ram。根據配置將相應數值寫入ram,輸入訊號作為位址訊號。

當輸入資料超過乙個lut的介面數量時,就需要多個lut進行級聯。

dff:對資料進行寄存。

d觸發器中的資料是lut的輸出值,也就是對lut的值打了一拍。

邏輯單元可以選擇是直接輸出lut的輸出值,還是d觸發器中的值。使用d觸發器可以減少組合路徑長度,有利於時序收斂。

進製鏈:完成加法/減法邏輯,與其他clbs通訊。

i/obs是fpga內部邏輯與外部管腳之間的介面,實現與外部器件的通訊。

基本單元包括:

①輸入/輸出暫存器

②輸入/輸出延遲鏈

③輸出使能暫存器 【用來程式設計介面完成輸入或者功能】

④上拉電阻等..

可實現功能:

①i/o模組配有緩衝器和暫存器,可實現電平匹配,提高驅動能力,延時等功能。

②可實現單端i/o和差分i/o。

③i/o電平驅動防過衝解決:分壓電阻和齊納二極體。

cyclone iv e 可程式設計輸入輸出塊

將clbs和i/o口連線起來,實現特定的電路功能。

altera fpga採用行、列、區域性快速通道。

訊號的傳輸需要時間以及不同通道傳輸時間不同,通過約束將相近邏輯盡量靠近,可提高時序收斂效能。

①儲存器資源(塊ram,分布式ram)

②數字時鐘管理單元(分頻/倍頻、數字延遲、時鐘鎖定)

③算數運算單元(高速硬體乘法器,乘加器)

④高速序列i/o介面

⑤特殊功能模組(pcie、ddr等硬ip核)

⑥微處理器(cortex,powerpc)

FPGA中的時序分析(五)

時序約束例項詳解 本篇部落格結合之前的內容,然後實打實的做乙個約束例項,通過本例項讀者應該會實用timequest去分析相關的例項。本例項以vga實驗為基礎,介紹如何去做時序約束。首先vga這種情況屬於供源時鐘情況,不明白供源時鐘的可以參看之前部落格講解。首先檢視adv7123的資料手冊,檢視其時序...

FPGA 時序原理(更新)

建立時間和保持時間都是針對觸發器的特性說的。時序圖如下 建立時間 tsu set up time 是指在觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間,如果建立時間不夠,資料將不能在這個時鐘上公升沿被穩定的打入觸發器,tsu就是指這個最小的穩定時間。保持時間 th hold time 是指在觸...

FPGA系列5 時序分析(時序模型)

該時序模型的要求為 tclk tco tlogic trouting tsetup tskew 其中,tco為發端暫存器時鐘到輸出時間 tlogic為組合邏輯延遲 trouting為兩級暫存器之間的佈線延遲 tsetup為收端暫存器建立時間 tskew為兩級暫存器的時鐘歪斜,其值等於時鐘同邊沿到達兩...