www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]現(xiàn)在的FPGA不僅包含以前的LE,RAM也更大更快更靈活,管教IOB也更加的復(fù)雜,支持的IO類(lèi)型也更多,而且內(nèi)部還集成了一些特殊功能單元。

FPGA的用處比我們平時(shí)想象的用處更廣泛,原因在于其中集成的模塊種類(lèi)更多,而不僅僅是原來(lái)的簡(jiǎn)單邏輯單元(LE)。

現(xiàn)在的FPGA不僅包含以前的LE,RAM也更大更快更靈活,管教IOB也更加的復(fù)雜,支持的IO類(lèi)型也更多,而且內(nèi)部還集成了一些特殊功能單元,包括以下部分:

DSP:實(shí)際上就是乘加器,F(xiàn)PGA內(nèi)部可以集成多個(gè)乘加器,而一般的DSP芯片往往每個(gè)core只有一個(gè)。換言之,F(xiàn)PGA可以更容易實(shí)現(xiàn)多個(gè)DSP core功能。在某些需要大量乘加計(jì)算的場(chǎng)合,往往多個(gè)乘加器并行工作的速度可以遠(yuǎn)遠(yuǎn)超過(guò)一個(gè)高速乘加器。

SERDES:高速串行接口。將來(lái)PCI-E、XAUI、HT、S-ATA等高速串行接口會(huì)越來(lái)越多。有了SERDES模塊,F(xiàn)PGA可以很容易將這些高速串行接口集成進(jìn)來(lái),無(wú)需再購(gòu)買(mǎi)專門(mén)的接口芯片。

CPU core:分為2種,軟core和硬core.軟core是用邏輯代碼寫(xiě)的CPU模塊,可以在任何資源足夠的FPGA中實(shí)現(xiàn),使用非常靈活。而且在大容量的FPGA中還可以集成多個(gè)軟core,實(shí)現(xiàn)多核并行處理。硬core是在特定的FPGA內(nèi)部做好的CPU core,優(yōu)點(diǎn)是速度快、性能好,缺點(diǎn)是不夠靈活。

不過(guò),F(xiàn)PGA還是有缺點(diǎn)。對(duì)于某些高主頻的應(yīng)用,F(xiàn)PGA就無(wú)能為力了?,F(xiàn)在雖然理論上FPGA可以支持的500MHz,但在實(shí)際設(shè)計(jì)中,往往200MHz以上工作頻率就很難實(shí)現(xiàn)了。好了,下面步入正題:FPGA的設(shè)計(jì)要點(diǎn)。

2

FPGA發(fā)展史

FPGA的發(fā)展歷史如下圖所示。相對(duì)于PROM、PAL/GAL、CPLD而言,F(xiàn)PGA規(guī)模更大性能更高。


da51a9d8-e19d-11ee-a297-92fbcf53809c.jpg

圖1 FPGA發(fā)展史

FPGA芯片主流生產(chǎn)廠家包括Xilinx、Altera、Lattice、Microsemi,其中前兩家的市場(chǎng)份額合計(jì)達(dá)到88%。目前FPGA主流廠商全部為美國(guó)廠商。國(guó)產(chǎn)FPGA由于研發(fā)起步較美國(guó)晚至少20年,目前還處于成長(zhǎng)期,僅限于低端,在通信市場(chǎng)還沒(méi)有成熟應(yīng)用。

2015年12月,Intel公司斥資167億美元收購(gòu)了Altera公司。Altera被收購(gòu)后不久即制定了英特爾處理器與FPGA集成的產(chǎn)品路線圖。這兩種產(chǎn)品集成的好處是可以提供創(chuàng)新的異構(gòu)多核架構(gòu),適應(yīng)例如人工智能等新市場(chǎng)的需求,同時(shí)能大幅縮減功耗。


da5b8c96-e19d-11ee-a297-92fbcf53809c.jpg

圖2 FPGA在電信領(lǐng)域的應(yīng)用歷史

FPGA在航天、軍工、電信領(lǐng)域有非常成熟和廣泛的應(yīng)用。以電信領(lǐng)域?yàn)槔陔娦旁O(shè)備一體機(jī)階段,F(xiàn)PGA由于其編程的靈活性以及高性能被應(yīng)用網(wǎng)絡(luò)協(xié)議解析以及接口轉(zhuǎn)換。

在NFV(NetworkFunction Virtualization階段,F(xiàn)PGA基于通用服務(wù)器和Hypervisor實(shí)現(xiàn)網(wǎng)元數(shù)據(jù)面5倍的性能提升,同時(shí)能夠被通用Openstack框架管理編排。

在云時(shí)代,F(xiàn)PGA已經(jīng)被作為基本IaaS資源在公有云提供開(kāi)發(fā)服務(wù)和加速服務(wù),AWS、華為、BAT均有類(lèi)似通用服務(wù)提供。

截至目前,Intel的Stratix 10器件已被成功應(yīng)用于微軟實(shí)時(shí)人工智能云平臺(tái)Brainwave項(xiàng)目。

3

FPGA整體結(jié)構(gòu)

FPGA架構(gòu)主要包括可配置邏輯塊CLB(Configurable Logic Block)、輸入輸出塊IOB(Input Output Block)、內(nèi)部連線(Interconnect)和其它內(nèi)嵌單元四個(gè)部分。

CLB是FPGA的基本邏輯單元。實(shí)際數(shù)量和特性會(huì)依器件的不同而改變,但是每個(gè)CLB都包含一個(gè)由4或6個(gè)輸入、若干選擇電路(多路復(fù)用器等)和觸發(fā)器組成的可配置開(kāi)關(guān)矩陣。開(kāi)關(guān)矩陣具有高度的靈活性,經(jīng)配置可以處理組合型邏輯、移位寄存器或 RAM。

FPGA可支持許多種I/O標(biāo)準(zhǔn),因而可以為系統(tǒng)設(shè)計(jì)提供理想的接口橋接。FPGA 內(nèi)的I/O按bank分組,每個(gè)bank能獨(dú)立支持不同的I/O標(biāo)準(zhǔn)。目前最先進(jìn)的FPGA提供了十多個(gè)I/O bank,能夠提供靈活的I/O支持。

CLB 提供了邏輯性能,靈活的互連布線則負(fù)責(zé)在CLB和I/O之間傳遞信號(hào)。布線有幾種類(lèi)型,從設(shè)計(jì)用于專門(mén)實(shí)現(xiàn) CLB 互連(短線資源)、到器件內(nèi)的高速水平和垂直長(zhǎng)線(長(zhǎng)線資源)、再到時(shí)鐘與其它全局信號(hào)的全局低skew布線(全局性專用布線資源)。一般,各廠家設(shè)計(jì)軟件會(huì)將互連布線任務(wù)隱藏起來(lái),用戶根本看不到,從而大幅降低了設(shè)計(jì)復(fù)雜性。

內(nèi)嵌硬核單元包括RAM、DSP、DCM(數(shù)字時(shí)鐘管理模塊)及其它特定接口硬核等,F(xiàn)PGA器件內(nèi)部結(jié)構(gòu)如下示意圖。


da651cde-e19d-11ee-a297-92fbcf53809c.jpg

圖3 FPGA器件內(nèi)部結(jié)構(gòu)圖

一般來(lái)說(shuō),器件型號(hào)數(shù)字越大,表示器件能提供的邏輯資源規(guī)模越大。在FPGA器件選型時(shí),用戶需要對(duì)照此表格,根據(jù)業(yè)務(wù)對(duì)邏輯資源(CLB)、內(nèi)部BlockRAM、接口(高速Serdes對(duì)數(shù))、數(shù)字信號(hào)處理(DSP硬核數(shù))以及今后擴(kuò)展等多方面的需求,綜合考慮項(xiàng)目最合適的邏輯器件。

4

FPGA開(kāi)發(fā)流程

FPGA的設(shè)計(jì)流程就是利用EDA開(kāi)發(fā)軟件和編程工具對(duì)FPGA芯片進(jìn)行開(kāi)發(fā)的過(guò)程。FPGA的開(kāi)發(fā)流程一般如下圖所示,包括功能定義/器件選型、設(shè)計(jì)輸入、功能仿真、邏輯綜合、布局布線與實(shí)現(xiàn)、編程調(diào)試等主要步驟。

1、功能定義/器件選型:在FPGA設(shè)計(jì)項(xiàng)目開(kāi)始之前,必須有系統(tǒng)功能的定義和模塊的劃分,另外就是要根據(jù)任務(wù)要求,如系統(tǒng)的功能和復(fù)雜度,對(duì)工作速度和器件本身的資源、成本、以及連線的可布性等方面進(jìn)行權(quán)衡,選擇合適的設(shè)計(jì)方案和合適的器件類(lèi)型。

2、 設(shè)計(jì)輸入:設(shè)計(jì)輸入指使用硬件描述語(yǔ)言將所設(shè)計(jì)的系統(tǒng)或電路用代碼表述出來(lái)。最常用的硬件描述語(yǔ)言是Verilog HDL。

3、 功能仿真:功能仿真指在邏輯綜合之前對(duì)用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證。仿真前,需要搭建好測(cè)試平臺(tái)并準(zhǔn)備好測(cè)試激勵(lì),仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察各個(gè)節(jié)點(diǎn)信號(hào)的變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)修改邏輯設(shè)計(jì)。常用仿真工具有Model Tech公司的ModelSim、Sysnopsys公司的VCS等軟件。

4、 邏輯綜合:所謂綜合就是將較高級(jí)抽象層次的描述轉(zhuǎn)化成較低層次的描述。綜合優(yōu)化根據(jù)目標(biāo)與要求優(yōu)化所生成的邏輯連接,使層次設(shè)計(jì)平面化,供FPGA布局布線軟件進(jìn)行實(shí)現(xiàn)。就目前的層次來(lái)看,綜合優(yōu)化是指將設(shè)計(jì)輸入編譯成由與門(mén)、或門(mén)、非門(mén)、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實(shí)的門(mén)級(jí)電路。

真實(shí)具體的門(mén)級(jí)電路需要利用FPGA制造商的布局布線功能,根據(jù)綜合后生成的標(biāo)準(zhǔn)門(mén)級(jí)結(jié)構(gòu)網(wǎng)表來(lái)產(chǎn)生。為了能轉(zhuǎn)換成標(biāo)準(zhǔn)的門(mén)級(jí)結(jié)構(gòu)網(wǎng)表,HDL程序的編寫(xiě)必須符合特定綜合器所要求的風(fēng)格。常用的綜合工具有Synplicity公司的Synplify/Synplify Pro軟件以及各個(gè)FPGA廠家自己推出的綜合開(kāi)發(fā)工具。

5、布局布線與實(shí)現(xiàn):布局布線可理解為利用實(shí)現(xiàn)工具把邏輯映射到目標(biāo)器件結(jié)構(gòu)的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能鏈接的布線通道進(jìn)行連線,并產(chǎn)生相應(yīng)文件(如配置文件與相關(guān)報(bào)告);實(shí)現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的FPGA芯片上。由于只有FPGA芯片生產(chǎn)商對(duì)芯片結(jié)構(gòu)最為了解,所以布局布線必須選擇芯片開(kāi)發(fā)商提供的工具。

6、編程調(diào)試:設(shè)計(jì)的最后一步就是編程調(diào)試。芯片編程是指產(chǎn)生使用的數(shù)據(jù)文件(位數(shù)據(jù)流文件,Bitstream Generaon),將編程數(shù)據(jù)加載到FPGA芯片中;之后便可進(jìn)行上板測(cè)試。最后將FPGA文件(如.bit文件)從電腦下載到單板上的FPGA芯片中。

1. 面積與速度的平衡與互換

這里的面積指一個(gè)設(shè)計(jì)消耗FPGA/CPLD的邏輯資源的數(shù)量,對(duì)于FPGA可以用消耗的FF(觸發(fā)器)和LUT(查找表)來(lái)衡量,更一般的衡量方式可以用設(shè)計(jì)所占的等價(jià)邏輯門(mén)數(shù)。

面積和速度這兩個(gè)指標(biāo)貫穿FPGA/CPLD設(shè)計(jì)的時(shí)鐘,是設(shè)計(jì)質(zhì)量的評(píng)價(jià)的終極標(biāo)準(zhǔn) —— 面積和速度是一對(duì)對(duì)立統(tǒng)一的矛盾體。

要求一個(gè)同時(shí)具備設(shè)計(jì)面積最小、運(yùn)行頻率最高是不現(xiàn)實(shí)的。更科學(xué)的設(shè)計(jì)目標(biāo)應(yīng)該是在滿足設(shè)計(jì)時(shí)序要求(包括對(duì)設(shè)計(jì)頻率的要求)的前提下,占用最小的芯片面積。或者在所規(guī)定的面積下,是設(shè)計(jì)的時(shí)序余量更大、頻率跑的更高。這兩種目標(biāo)充分體現(xiàn)了面積和速度的平衡的思想。

作為矛盾的兩個(gè)組成部分,面積和速度的地位是不一樣的。相比之下,滿足時(shí)序、工作頻率的要求更重要一些,當(dāng)兩者沖突時(shí),采用速度優(yōu)先的準(zhǔn)則。

從理論上講,如果一個(gè)設(shè)計(jì)時(shí)序余量較大,所能跑的速度遠(yuǎn)遠(yuǎn)高于設(shè)計(jì)要求,那么就通過(guò)功能模塊的復(fù)用來(lái)減少整個(gè)設(shè)計(jì)消耗的芯片面積,這就是用速度的優(yōu)勢(shì)換取面積的節(jié)約。反之,如果一個(gè)設(shè)計(jì)的時(shí)序要求很高,普通方法達(dá)不到設(shè)計(jì)頻率,那么一般可以通過(guò)將數(shù)據(jù)流串并轉(zhuǎn)換,并行復(fù)制多個(gè)操作模塊,對(duì)整個(gè)設(shè)計(jì)采取乒乓操作和串并轉(zhuǎn)換的思想運(yùn)行。

2. 硬件原則

硬件原則主要針對(duì)HDL代碼編寫(xiě)而言:Verilog是采用了C語(yǔ)言形式的硬件的抽象,它的本質(zhì)作用在于描述硬件,它的最終實(shí)現(xiàn)結(jié)果是芯片內(nèi)部的實(shí)際電路。所以評(píng)判一段HDL代碼的優(yōu)劣的最終標(biāo)準(zhǔn)是:其描述并實(shí)現(xiàn)的硬件電路的性能,包括面積和速度兩個(gè)方面。

評(píng)價(jià)一個(gè)設(shè)計(jì)的代碼水平較高,僅僅是說(shuō)這個(gè)設(shè)計(jì)是由硬件想HDL代碼這種表現(xiàn)形式的轉(zhuǎn)換更加流暢、合理。而一個(gè)設(shè)計(jì)最終性能,在更大程度上取決于設(shè)計(jì)工程師所構(gòu)想的硬件實(shí)現(xiàn)方案的效率以及合理性。(HDL代碼僅僅是硬件設(shè)計(jì)的表達(dá)形式之一)

初學(xué)者片面追求代碼的整潔、簡(jiǎn)短,是錯(cuò)誤的,是與HDL的標(biāo)準(zhǔn)背道而馳的。正確的編碼方法,首先要做到對(duì)所需實(shí)現(xiàn)的硬件電路胸有成竹,對(duì)該部分的硬件的結(jié)構(gòu)和連接十分清晰,然后再用適當(dāng)?shù)腍DL語(yǔ)句表達(dá)出來(lái)即可。

另外,Verilog作為一種HDL語(yǔ)言,是分層次的。系統(tǒng)級(jí)--算法級(jí)--寄存器傳輸級(jí)--邏輯級(jí)--門(mén)級(jí)--開(kāi)關(guān)級(jí)。構(gòu)建優(yōu)先級(jí)樹(shù)會(huì)消耗大量的組合邏輯,所以如果能夠使用case的地方,盡量使用case代替if.....else......

3. 系統(tǒng)原則

系統(tǒng)原則包含兩個(gè)層次的含義:更高層面上看,是一個(gè)硬件系統(tǒng),一塊單板如何進(jìn)行模塊花費(fèi)和任務(wù)分配,什么樣的算法和功能適合放在FPGA里面實(shí)現(xiàn),什么樣的算法和功能適合放在DSP/CPU里面實(shí)現(xiàn),以及FPGA的規(guī)模估算數(shù)據(jù)接口設(shè)計(jì)等。具體到FPGA設(shè)計(jì)就要對(duì)設(shè)計(jì)的全局有個(gè)宏觀上的合理安排,比如時(shí)鐘域、模塊復(fù)用、約束、面積、速度等問(wèn)題,在系統(tǒng)上模塊的優(yōu)化最為重要。

一般來(lái)說(shuō)實(shí)時(shí)性要求高,頻率快的功能模塊適合FPGA實(shí)現(xiàn)。而FPGA和CPLD相比,更適合實(shí)現(xiàn)規(guī)模較大、頻率較高、寄存器較多的設(shè)計(jì)。使用FPGA/CPLD設(shè)計(jì)時(shí),應(yīng)該對(duì)芯片內(nèi)部的各種底層硬件資源,和可用的設(shè)計(jì)資源有一個(gè)較深刻的認(rèn)識(shí)。

比如FPGA一般觸發(fā)器資源豐富,CPLD的組合邏輯資源更加豐富。FPGA/CPLD一般是由底層可編程硬件單元、BRAM、布線資源、可配置IO單元、時(shí)鐘資源等構(gòu)成。

底層可編程硬件單元一般由觸發(fā)器和查找表組成。Xilinx的底層可編程硬件資源較SLICE,由兩個(gè)FF和2個(gè)LUT構(gòu)成。Altera的底層硬件資源叫LE,由1個(gè)FF和1個(gè)LUT構(gòu)成。使用片內(nèi)RAN可以實(shí)現(xiàn)單口RAM、雙口RAM、同步/異步FIFO、ROM、CAM等常用單元模塊。

一般的FPGA系統(tǒng)規(guī)劃的簡(jiǎn)化流程

4. 同步設(shè)計(jì)原則

異步電路的邏輯核心是用組合邏輯電路實(shí)現(xiàn),比如異步的FIFO/RAM讀寫(xiě)信號(hào),地址譯碼等電路。電路的主要信號(hào)、輸出信號(hào)等并不依賴于任何一個(gè)時(shí)鐘性信號(hào),不是由時(shí)鐘信號(hào)驅(qū)動(dòng)FF產(chǎn)生的。異步時(shí)序電路的最大缺點(diǎn)是容易產(chǎn)生毛刺,在布局布線后仿真和用邏輯分析儀觀測(cè)實(shí)際信號(hào)時(shí),這種毛刺尤其明顯。

同步時(shí)序電路的核心邏輯用各種各樣的觸發(fā)器實(shí)現(xiàn),電路的主要信號(hào)、輸出信號(hào)都是由某個(gè)時(shí)鐘沿驅(qū)動(dòng)觸發(fā)器產(chǎn)生出來(lái)的。同步時(shí)序電路可以很好的避免毛刺,布局布線后仿真,和用邏輯分析儀采樣實(shí)際工作信號(hào)都沒(méi)有毛刺。

是否時(shí)序電路一定比異步電路使用更多的資源呢?從單純的ASCI設(shè)計(jì)來(lái)看,大約需要7個(gè)門(mén)來(lái)實(shí)現(xiàn)一個(gè)D觸發(fā)器,而一個(gè)門(mén)即可實(shí)現(xiàn)一個(gè)2輸入與非門(mén),所以一般來(lái)說(shuō),同步時(shí)序電路比異步電路占用更大的面積。(FPGA/CPLD中不同,主要是因?yàn)閱卧獕K的計(jì)算方式)

如何實(shí)現(xiàn)同步時(shí)序電路的延時(shí)?異步電路產(chǎn)生延時(shí)的一般方法是插入一個(gè)Buffer、兩級(jí)與非門(mén)等,這種延時(shí)調(diào)整手段是不適用同步時(shí)序設(shè)計(jì)思想的。首先要明確一點(diǎn)HDL語(yǔ)法中的延時(shí)控制語(yǔ)法,是行為級(jí)的代碼描述,常用于仿真測(cè)試激勵(lì),但是在電路綜合是會(huì)被忽略,并不能啟動(dòng)延時(shí)作用。

5. 乒乓操作

“ 乒乓操作 ” 是一個(gè)常常應(yīng)用于數(shù)據(jù)流控制的處理技巧,乒乓操作的處理流程為:輸入數(shù)據(jù)流通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 將數(shù)據(jù)流等時(shí)分配到兩個(gè)數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖模塊可以為任何存儲(chǔ)模塊,比較常用的存儲(chǔ)單元為雙口 RAM(DPRAM) 、單口 RAM(SPRAM) 、 FIFO 等。

在第一個(gè)緩沖周期,將輸入的數(shù)據(jù)流緩存到 “ 數(shù)據(jù)緩沖模塊 1” ;在第 2 個(gè)緩沖周期,通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 的切換,將輸入的數(shù)據(jù)流緩存到 “ 數(shù)據(jù)緩沖模塊 2” ,同時(shí)將 “ 數(shù)據(jù)緩沖模塊 1” 緩存的第 1 個(gè)周期數(shù)據(jù)通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 的選擇,送到 “ 數(shù)據(jù)流運(yùn)算處理模塊 ” 進(jìn)行運(yùn)算處理;在第 3 個(gè)緩沖周期通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 的再次切換,將輸入的數(shù)據(jù)流緩存到 “ 數(shù)據(jù)緩沖模塊 1” ,同時(shí)將 “ 數(shù)據(jù)緩沖模塊 2” 緩存的第 2 個(gè)周期的數(shù)據(jù)通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 切換,送到 “ 數(shù)據(jù)流運(yùn)算處理模塊 ” 進(jìn)行運(yùn)算處理。如此循環(huán)。

6. 串并轉(zhuǎn)換設(shè)計(jì)技巧

串并轉(zhuǎn)換是 FPGA 設(shè)計(jì)的一個(gè)重要技巧,它是數(shù)據(jù)流處理的常用手段,也是面積與速度互換思想的直接體現(xiàn)。串并轉(zhuǎn)換的實(shí)現(xiàn)方法多種多樣,根據(jù)數(shù)據(jù)的排序和數(shù)量的要求,可以選用寄存器、 RAM 等實(shí)現(xiàn)。

前面在乒乓操作的圖例中,就是通過(guò) DPRAM 實(shí)現(xiàn)了數(shù)據(jù)流的串并轉(zhuǎn)換,而且由于使用了 DPRAM ,數(shù)據(jù)的緩沖區(qū)可以開(kāi)得很大,對(duì)于數(shù)量比較小的設(shè)計(jì)可以采用寄存器完成串并轉(zhuǎn)換。如無(wú)特殊需求,應(yīng)該用同步時(shí)序設(shè)計(jì)完成串并之間的轉(zhuǎn)換。比如數(shù)據(jù)從串行到并行,數(shù)據(jù)排列順序是高位在前,可以用下面的編碼實(shí)現(xiàn):prl_temp<={prl_temp,srl_in}。

其中, prl_temp 是并行輸出緩存寄存器, srl_in 是串行數(shù)據(jù)輸入。對(duì)于排列順序有規(guī)定的串并轉(zhuǎn)換,可以用 case 語(yǔ)句判斷實(shí)現(xiàn)。對(duì)于復(fù)雜的串并轉(zhuǎn)換,還可以用狀態(tài)機(jī)實(shí)現(xiàn)。串并轉(zhuǎn)換的方法比較簡(jiǎn)單,在此不必贅述。

7. 流水線操作設(shè)計(jì)思想

首先需要聲明的是,這里所講述的流水線是指一種處理流程和順序操作的設(shè)計(jì)思想,并非 FPGA 、 ASIC 設(shè)計(jì)中優(yōu)化時(shí)序所用的 “Pipelining” 。

流水線處理是高速設(shè)計(jì)中的一個(gè)常用設(shè)計(jì)手段。如果某個(gè)設(shè)計(jì)的處理流程分為若干步驟,而且整個(gè)數(shù)據(jù)處理是 “ 單流向 ” 的,即沒(méi)有反饋或者迭代運(yùn)算,前一個(gè)步驟的輸出是下一個(gè)步驟的輸入,則可以考慮采用流水線設(shè)計(jì)方法來(lái)提高系統(tǒng)的工作頻率。

8.流水線設(shè)計(jì)的結(jié)構(gòu)

流水線設(shè)計(jì)的結(jié)構(gòu)示意圖如圖所示。其基本結(jié)構(gòu)為:將適當(dāng)劃分的 n 個(gè)操作步驟單流向串聯(lián)起來(lái)。流水線操作的最大特點(diǎn)和要求是,數(shù)據(jù)流在各個(gè)步驟的處理從時(shí)間上看是連續(xù)的,如果將每個(gè)操作步驟簡(jiǎn)化假設(shè)為通過(guò)一個(gè) D 觸發(fā)器 ( 就是用寄存器打一個(gè)節(jié)拍 ) ,那么流水線操作就類(lèi)似一個(gè)移位寄存器組,數(shù)據(jù)流依次流經(jīng) D 觸發(fā)器,完成每個(gè)步驟的操作。

數(shù)據(jù)接口的同步方法數(shù)據(jù)接口的同步是 FPGA/CPLD 設(shè)計(jì)的一個(gè)常見(jiàn)問(wèn)題,也是一個(gè)重點(diǎn)和難點(diǎn),很多設(shè)計(jì)不穩(wěn)定都是源于數(shù)據(jù)接口的同步有問(wèn)題。在電路圖設(shè)計(jì)階段,一些工程師手工加入 BUFT 或者非門(mén)調(diào)整數(shù)據(jù)延遲,從而保證本級(jí)模塊的時(shí)鐘對(duì)上級(jí)模塊數(shù)據(jù)的建立、保持時(shí)間要求。

還有一些工程師為了有穩(wěn)定的采樣,生成了很多相差 90 度的時(shí)鐘信號(hào),時(shí)而用正沿打一下數(shù)據(jù),時(shí)而用負(fù)沿打一下數(shù)據(jù),用以調(diào)整數(shù)據(jù)的采樣位置。這兩種做法都十分不可取,因?yàn)橐坏┬酒聯(lián)Q代或者移植到其它芯片 組的芯片上,采樣實(shí)現(xiàn)必須重新設(shè)計(jì)。而且,這兩種做法造成電路實(shí)現(xiàn)的余量不夠,一旦外界條件變換 ( 比如溫度升高 ) ,采樣時(shí)序就有可能完全紊亂,造成電路癱瘓。

設(shè)計(jì)數(shù)據(jù)接口同步是否需要添加約束?建議最好添加適當(dāng)?shù)募s束,特別是對(duì)于高速設(shè)計(jì),一定要對(duì)周期、建立、保持時(shí)間等添加相應(yīng)的約束。這里附加約束的作用有兩點(diǎn):提高設(shè)計(jì)的工作頻率,滿足接口數(shù)據(jù)同步要求;獲得正確的時(shí)序分析報(bào)告。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉