ZYNQ PL 部分等價(jià)于 Xilinx 7 系列 FPGA,因此我們將首先介紹 FPGA 的架構(gòu)。簡(jiǎn)化的 FPGA 基本結(jié)構(gòu)由 6 部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等,如下圖所示:
每個(gè)單元的基本概念介紹如下。
(1)可編程輸入/輸出單元
輸入/輸出(Input/Ouput)單元簡(jiǎn)稱 I/O 單元,它們是芯片與外界電路的接口部分,完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配需求,為了使 FPGA 具有更靈活的應(yīng)用,目前大多數(shù) FPGA 的 I/O 單元被設(shè)計(jì)為可編程模式,即通過軟件的靈活配置,可以適配不同的電氣標(biāo)準(zhǔn)與 I/O 物理特性;可以調(diào)整匹配阻抗特性、上下拉電阻、以及調(diào)整驅(qū)動(dòng)電流的大小等。
可編程 I/O 單元支持的電氣標(biāo)準(zhǔn)因工藝而異,不同芯片商、不同器件的 FPGA 支持的 I/O 標(biāo)準(zhǔn)不同,一般來說,常見的電氣標(biāo)準(zhǔn)有 LVTTL, LVCMOS, SSTL, HSTL, LVDS, LVPECL 和 PCI 等。值得一提的是,隨著 ASIC 工藝的飛速發(fā)展,目前可編程 I/O 支持的最高頻率越來越高,一些高端 FPGA 通過 DDR寄存器技術(shù),甚至可以支持高達(dá) 2Gbit/s 的數(shù)據(jù)數(shù)率。
ZYNQ 上的通用輸入/輸出功能(IOB)合起來被稱作 SelectIO 資源,它們被組織成 50 個(gè) IOB 一組。每個(gè) IOB 有一個(gè)焊盤,是與外部世界連接來做單個(gè)信號(hào)的輸入或輸出的。每個(gè) IOB 還包含一個(gè)IOSERDES 資源,可以做并行和串行數(shù)據(jù)的可編程轉(zhuǎn)換。
(2)基本可編程邏輯單元
基本可編程邏輯單元是可編程邏輯的主體,可以根據(jù)設(shè)計(jì)靈活地改變其內(nèi)部連接與配置,完成不同的邏輯功能。FPGA 一般是基于 SRAM 工藝的,其基本可編程邏輯單元幾乎都是由查找表(LUT, Look UpTable)和寄存器(Register)組成。Xilinx 7 系列 FPGA 內(nèi)部查找表為 6 輸入,查找表一般完成純組合邏輯功能。FPGA 內(nèi)部寄存器結(jié)構(gòu)相當(dāng)靈活,可以配置為帶同步/異步復(fù)位或置位,時(shí)鐘使能的觸發(fā)器,也可以配置成鎖存器, FPGA 依賴寄存器完成同步時(shí)序邏輯設(shè)計(jì)。
一般來說,比較經(jīng)典的基本可編程邏輯單元的配置是一個(gè)寄存器加一個(gè)查找表,但是不同廠商的寄存器與查找表也有一定的差異,而且寄存器與查找表的組合模式也不同。當(dāng)然這些可編程邏輯單元的配置結(jié)構(gòu)隨著器件的不斷發(fā)展也在不斷更新,最新的一些可編程邏輯器件常常根據(jù)需求設(shè)計(jì)新的 LUT 和寄存器的配置比率,并優(yōu)化其內(nèi)部的連接構(gòu)造。
例如, Altera 可編程邏輯單元通常被稱為 LE(Logic Element),由一個(gè)寄存器加一個(gè) LUT 構(gòu)成。Altera 大多數(shù) FPGA 將 10 個(gè) LE 有機(jī)地組合在一起,構(gòu)成更大的功能單元——邏輯陣列模塊(LAB, LogicArray Block)。LAB 中除了 LE 還包含 LE 之間的進(jìn)位鏈, LAB 控制信號(hào),局部互聯(lián)線資源, LUT 級(jí)聯(lián)鏈,寄存器級(jí)聯(lián)鏈等連線與控制資源。
Xilinx 7 系列 FPGA 中的可編程邏輯單元叫 CLB(Configurable Logic Block,可配置邏輯塊)每個(gè)CLB 里包含兩個(gè)邏輯片(Slice)。每個(gè) Slice 由 4 個(gè)查找表、 8 個(gè)觸發(fā)器和其他一些邏輯所組成的。CLB示意圖如下所示:
CLB 是邏輯單元的最小組成部分,在 PL 中排列為一個(gè)二維陣列,通過可編程互聯(lián)連接到其他類似的資源。每個(gè) CLB 里包含兩個(gè)邏輯片,并且緊鄰一個(gè)開關(guān)矩陣, 如下圖所示:
(3)嵌入式塊 RAM
目前大多數(shù) FPGA 都有內(nèi)嵌的塊 RAM(Block RAM), FPGA 內(nèi)部嵌入可編程 RAM 模塊,大大地拓展了 FPGA 的應(yīng)用范圍和使用靈活性。不同器件商或不同器件族的內(nèi)嵌塊 RAM 的結(jié)構(gòu)不同, Lattice 常用的塊 RAM 大小是 9KBIT;Altera 的塊 RAM 最靈活,一些高端器件內(nèi)部同時(shí)含有 3 種塊 RAM 結(jié)構(gòu),分別是 M512 RAM, M4K RAM, M9K RAM。
Zynq-7000 里的塊 RAM 和 Xilinx 7 列 FPGA 里的那些塊 RAM 是等同的,它們可以實(shí)現(xiàn) RAM、 ROM和先入先出(First In First Out, FIFO)緩沖器。每個(gè)塊 RAM 可以存儲(chǔ)最多 36KB 的信息,并且可以被配置為一個(gè) 36KB 的 RAM 或兩個(gè)獨(dú)立的 18KB RAM。默認(rèn)的字寬是 18 位,這樣的配置下每個(gè) RAM 含有2048 個(gè)存儲(chǔ)單元。RAM 還可以被“重塑”來包含更多更小的單元(比如 4096 個(gè)單元 x9 位,或 8192x4位),或是另外做成更少更長(zhǎng)的單元(如 1024 單元 x36 位 512x72 位)。把兩個(gè)或多個(gè)塊 RAM 組合起來可以形成更大的存儲(chǔ)容量。PL 中的塊 RAM 示意圖如下所示:
需要補(bǔ)充的一點(diǎn)是,除了塊 RAM,還可以靈活地將 LUT 配置成 RAM, ROM, FIFO 等存儲(chǔ)結(jié)構(gòu),這種技術(shù)被稱為分布式 RAM。根據(jù)設(shè)計(jì)需求,塊 RAM 的數(shù)量和配置方式也是器件選型的一個(gè)重要標(biāo)準(zhǔn)。
(4)豐富的布線資源
布線資源連通 FPGA 內(nèi)部的所有單元,而連線的長(zhǎng)度和工藝決定著信號(hào)在連線上的驅(qū)動(dòng)能力和傳輸速度。FPGA 芯片內(nèi)部有著豐富的布線資源,這些布線資源根據(jù)工藝、長(zhǎng)度、寬度和分布位置的不同而劃分為 4 類不同的類別:
第一類是全局布線資源,用于芯片內(nèi)部全局時(shí)鐘和全局復(fù)位/置位的布線;
第二類是長(zhǎng)線資源,用以完成芯片 Bank 間的高速信號(hào)和第二全局時(shí)鐘信號(hào)的布線;
第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;
第四類是分布式的布線資源,用于專有時(shí)鐘、復(fù)位等控制信號(hào)線。
在實(shí)際中設(shè)計(jì)者不需要直接選擇布線資源,布局布線器可自動(dòng)地根據(jù)輸入邏輯網(wǎng)表的拓?fù)浣Y(jié)構(gòu)和約束條件選擇布線資源來連通各個(gè)模塊單元。從本質(zhì)上講,布線資源的使用方法和設(shè)計(jì)的結(jié)果有直接的關(guān)系。
(5)底層嵌入功能單元
底層嵌入功能單元的概念比較籠統(tǒng),這里我們指的是那些通用程度較高的嵌入式功能模塊,比如 PLL(Phase Locked Loop)、 DLL(Delay Locked Loop)、 DSP、 CPU 等。隨著 FPGA 的發(fā)展,這些模塊被越來越多地嵌入到 FPGA 的內(nèi)部,以滿足不同場(chǎng)合的需求。
目前大多數(shù) FPGA 廠商都在 FPGA 內(nèi)部集成了 DLL 或者 PLL 硬件電路,用以完成時(shí)鐘的高精度、低抖動(dòng)的倍頻、分頻、占空比調(diào)整、相移等功能。目前,高端 FPGA 產(chǎn)品集成的 DLL 和 PLL 資源越來越豐富,功能越來越復(fù)雜,精度越來越高。
另外, 越來越多的高端 FPGA 產(chǎn)品將包含 DSP 或 CPU 等硬核,從而 FPGA 將由傳統(tǒng)的硬件設(shè)計(jì)手段逐步過渡到系統(tǒng)級(jí)設(shè)計(jì)平臺(tái)。例如 Altera 的 Stratix IV、 Stratix V 等器件內(nèi)部集成了 DSP 核;Xilinx 的Virtes II 和 Virtex II pro 系列 FPGA 內(nèi)部集成了 Power PC450 的處理器。FPGA 內(nèi)部嵌入 DSP 或 CPU 等處理器,使 FPGA 在一定程度上具備了實(shí)現(xiàn)軟硬件聯(lián)合系統(tǒng)的能力, FPGA 正逐步成為 SOPC 的高效設(shè)計(jì)平臺(tái)。
(6)內(nèi)嵌專用硬核
這里的內(nèi)嵌專用硬核與前面的底層嵌入單元是有區(qū)分的,這里講的內(nèi)嵌專用硬核主要指那些通用性相對(duì)較弱,不是所有 FPGA 器件都包含硬核。
在 ZYNQ 的 PL 端有一個(gè)數(shù)?;旌夏K——XADC,它就是一個(gè)硬核。XADC 包含兩個(gè)模數(shù)轉(zhuǎn)換器(ADC),一個(gè)模擬多路復(fù)用器,片上溫度和片上電壓傳感器等。我們可以利用這個(gè)模塊監(jiān)測(cè)芯片溫度和供電電壓,也可以用來測(cè)量外部的模擬電壓信號(hào)。
(7)ZYNQ PL 架構(gòu)
在介紹完 FPGA 的基本結(jié)構(gòu)之后, 我們給出 ZYNQ PL 架構(gòu)的示意圖,如下所示:
-
FPGA
+關(guān)注
關(guān)注
1650文章
22204瀏覽量
626697 -
嵌入式
+關(guān)注
關(guān)注
5173文章
19967瀏覽量
324233 -
Xilinx
+關(guān)注
關(guān)注
73文章
2190瀏覽量
128738 -
可編程
+關(guān)注
關(guān)注
2文章
1185瀏覽量
41130 -
Zynq
+關(guān)注
關(guān)注
10文章
623瀏覽量
48900
原文標(biāo)題:ZYNQ PL架構(gòu)
文章出處:【微信號(hào):Hack電子,微信公眾號(hào):Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
MOSFET結(jié)構(gòu)及其工作原理詳解
USART初始化結(jié)構(gòu)體詳解
高級(jí)FPGA設(shè)計(jì)結(jié)構(gòu)、實(shí)現(xiàn)和優(yōu)化

異步FIFO結(jié)構(gòu)及FPGA設(shè)計(jì)
開關(guān)電源拓?fù)?b class='flag-5'>結(jié)構(gòu)詳解
一文詳解藍(lán)牙模塊原理與結(jié)構(gòu)
FPGA-DCM使用詳解

詳解FPGA的基本電路結(jié)構(gòu)

評(píng)論