亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

FPGA到底是什么 FPGA的構(gòu)成要素 FPGA怎么選型

2023-08-31 11:22:08 來源:硬件王國(guó)

理解FPGA內(nèi)部結(jié)構(gòu)所需的基礎(chǔ)知識(shí)

邏輯電路基礎(chǔ)邏輯/布爾代數(shù)真值表組合邏輯電路時(shí)序邏輯電路同步電路基礎(chǔ)FF(觸發(fā)器)建立時(shí)間保持時(shí)間時(shí)序分析(STA)單相時(shí)鐘同步電路

注:


(資料圖片僅供參考)

1、fpga是一種可通過重新編程來實(shí)現(xiàn)用戶所需要的邏輯電路的半導(dǎo)體器件。

2、構(gòu)成數(shù)字邏輯最重要的部件是組合邏輯和時(shí)序邏輯,所以作為實(shí)現(xiàn)數(shù)字邏輯功能的FPGA的最重要組成部分就是組合邏輯和時(shí)序邏輯電路。

3、Flip Flop是一種只能存儲(chǔ)1個(gè)二進(jìn)制位的存儲(chǔ)單元,在時(shí)鐘邊沿將輸入信號(hào)送至輸出端。

4、為了正確的從輸入讀取數(shù)據(jù),并正確的將數(shù)據(jù)輸出,F(xiàn)PGA內(nèi)所有FF都要遵守建立和保持時(shí)間(理解D觸發(fā)器的內(nèi)部電路可以更好地理解建立時(shí)間和保持時(shí)間)。

5、FPGA的性能評(píng)估主要采用靜態(tài)時(shí)序分析(STA),時(shí)序分析必須檢查所有路徑上邏輯延遲和布線延遲的時(shí)序裕量,確保滿足建立和保持時(shí)間約束。

6、單相時(shí)鐘同步:同一時(shí)鐘、同一邊沿、同步動(dòng)作的電路類型

有以上數(shù)字電路基礎(chǔ),對(duì)理解FPGA底層結(jié)構(gòu)很有幫助,不理解也沒有太大關(guān)系,F(xiàn)PGA開發(fā)不需要理解其底層詳細(xì)架構(gòu),但肯定有助于理解和優(yōu)化電路設(shè)計(jì)。

FPGA到底是什么

FPGA(Field Programmable Gate Array):

門陣列可”編程”現(xiàn)場(chǎng)

FPGA:作為一種包含大量邏輯門陣列的芯片,可以在使用現(xiàn)場(chǎng)通過編程改變自身的硬件邏輯,并在理論上可以實(shí)現(xiàn)任何數(shù)字電路的功能。

注釋:

1、邏輯門是數(shù)字電路的基本單元。

2、邏輯門進(jìn)行排列組合-->編程改變其邏輯結(jié)構(gòu)-->不同功能的芯片。

3、FPGA可以通過在現(xiàn)場(chǎng)進(jìn)行重新配置來實(shí)現(xiàn)邏輯的修改、優(yōu)化和調(diào)整,而無需更改硬件電路設(shè)計(jì)。這種靈活性使得FPGA在各種應(yīng)用中具有廣泛的應(yīng)用前景,尤其是在需要快速開發(fā)和驗(yàn)證新硬件系統(tǒng)的應(yīng)用場(chǎng)景中。

如上圖所示,最基本的邏輯門經(jīng)過組合后構(gòu)成一個(gè)帶進(jìn)位的加法器。

先抽象理解FPGA可構(gòu)成任何數(shù)字電路,基于什么原理構(gòu)成,請(qǐng)繼續(xù)學(xué)習(xí)下文。

FPGA的構(gòu)成要素

邏輯要素(可配置邏輯塊-CLB)輸入/輸出要素(IO塊)布線要素(開關(guān)塊、連接塊、布線通道)其他要素(存儲(chǔ)器塊、PLL等硬核)

島形結(jié)構(gòu)

注:

1、前三種為主要的三大要素。

2、邏輯塊利用查找表和數(shù)據(jù)選擇器實(shí)現(xiàn)任意邏輯函數(shù),不同的FPGA供應(yīng)商叫法不同,xilinx:CLB,altera:LAB。(下文有詳細(xì)介紹)。

3、IO塊負(fù)責(zé)器件的I/O引腳與邏輯塊之間的接口部分(除專用電源、時(shí)鐘外)。

4、布線結(jié)構(gòu)類型主流島型結(jié)構(gòu),開關(guān)塊位于橫向和縱向布線通道的交叉處,通過可編程開關(guān)來控制布線路徑。連接塊是連接布線通道和邏輯塊的輸入/輸出。需要對(duì)開關(guān)數(shù)量和連線自由度進(jìn)行權(quán)衡。

5、其他要素主要包含F(xiàn)PGA內(nèi)部嵌入的各種硬核資源。

FPGA—邏輯塊之基本要素

可配置邏輯塊:xilinx稱為CLB(configurable logicblock),Altera稱為L(zhǎng)AB(logic array block), CLB是FPGA內(nèi)的基本邏輯單元,是實(shí)現(xiàn)FPGA邏輯的基礎(chǔ)。主要包括以下基本要素:

實(shí)現(xiàn)組合邏輯電路的查找表實(shí)現(xiàn)時(shí)序電路的觸發(fā)器數(shù)據(jù)選擇器在存儲(chǔ)單元M0的控制下決定直接輸出查找表的值還是輸出觸發(fā)器中存的值

注:

1、查找表:實(shí)現(xiàn)組合邏輯。

2、FPGA中多使用4/6輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有4位地址線的16x1的RAM(LUT詳細(xì)說明見下文)

3、當(dāng)用戶描述了一個(gè)邏輯電路以后,F(xiàn)PGA開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。(當(dāng)看完下文的LUT,如果能理解本段話,說明你已經(jīng)理解了FPGA的本質(zhì))

主流FPGA的邏輯塊除最基本邏輯要素外,還有其他附加邏輯,比如進(jìn)位、算術(shù)、移位、存儲(chǔ)等。結(jié)構(gòu)上包含多個(gè)基本邏輯要素,如7系列xilinx,一個(gè)CLB包含2個(gè)slice,一個(gè)slice包含4個(gè)LUTs。

FPGA—邏輯塊之LUT

LUT(Look Up Table):通過將邏輯函數(shù)的真值表存放在少量?jī)?nèi)存單元中來實(shí)現(xiàn)組合邏輯電路功能的模塊。也可以簡(jiǎn)單理解為實(shí)現(xiàn)真值表所定義的功能的電路稱為查找表。LUT可以實(shí)現(xiàn)任意的布爾邏輯功能。

內(nèi)存單元:主流SRAM輸入可看作為SRAM地址信號(hào)輸出可看作為該地址內(nèi)存單元的1位數(shù)據(jù)

邏輯功能根據(jù)需要被重新編程寫在SRAM里,從而實(shí)現(xiàn)不同的邏輯功能

注:

1、上圖假設(shè)為一個(gè)實(shí)際4輸入1輸出的邏輯電路,對(duì)應(yīng)LUT的實(shí)現(xiàn)方式。

2、FPGA中多使用4/6輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有4位地址線的16x1的RAM。當(dāng)用戶描述了一個(gè)邏輯電路以后,F(xiàn)PGA開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。

3、亦可總結(jié)為:在LUT中,輸入數(shù)據(jù)通過一組可編程的存儲(chǔ)單元(通常為SRAM)進(jìn)行存儲(chǔ),并在邏輯運(yùn)算時(shí)被查找

FPGA內(nèi)部資源示例

除三大構(gòu)成要素外,還有完整的時(shí)鐘管理,嵌入式塊RAM,內(nèi)嵌的底層功能單元和專用硬件模塊等。主流FPGA逐漸變得越來越復(fù)雜,但仍是基于查找表技術(shù),只是遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能。xilinx V7為例說明

注:

1、FPGA芯片內(nèi)部包含多種硬核資源,這些資源可以實(shí)現(xiàn)各種不同的功能和任務(wù),如上圖所示:

數(shù)字信號(hào)處理 (DSP) 器件:可實(shí)現(xiàn)高速數(shù)字信號(hào)處理、濾波器和調(diào)制/解調(diào)器等應(yīng)用。

快速片上存儲(chǔ)器(Block RAM):可以作為存儲(chǔ)器或FIFO使用。

數(shù)字時(shí)鐘管理器(MMCM):可用于時(shí)鐘的生成、延遲、相位調(diào)整和頻率合成。

通用串行收發(fā)器(Serdes):用于實(shí)現(xiàn)高速串行通信,如PCI Express、SATA、USB3.0等。

2、隨著不同用戶的需求,最新工藝的變化等,F(xiàn)PGA芯片逐漸變得越來越復(fù)雜

FPGA—怎么設(shè)置工作狀態(tài)

FPGA是由存放在片內(nèi)的RAM來設(shè)置其工作狀態(tài)的,因此工作時(shí)需要對(duì)片內(nèi)RAM進(jìn)行編程

配置模式主要包含兩種:

主模式:自加載FPGA配置模式FPGA外部非易失性存儲(chǔ)FPGA控制配置過程

以xilinx 7系列為例,SPI flash存儲(chǔ)位流較為常用

從模式外部控制加載(處理器、MCU等)位流可隨意存放

外部處理器控制加載位流

注:

1、FPGA市場(chǎng)占有率最高的兩大公司Xilinx和Altera(目前已分別被AMDintel收購(gòu))生產(chǎn)的FPGA都是基于SRAM工藝的,需要在使用時(shí)外接一個(gè)片外存儲(chǔ)器以保存程序。上電時(shí),F(xiàn)PGA將外部存儲(chǔ)器中的數(shù)據(jù)讀入片內(nèi)RAM,完成配置后,進(jìn)入工作狀態(tài);掉電后FPGA恢復(fù)為白片,內(nèi)部邏輯消失。

FPGA怎么選型

確定設(shè)計(jì)需求:首先需要明確設(shè)計(jì)的需求,包括設(shè)計(jì)功能、性能和時(shí)序要求等,這將對(duì)FPGA資源的選擇和使用產(chǎn)生重要影響。估算資源需求:根據(jù)設(shè)計(jì)需求,可以通過計(jì)算和仿真等手段估算所需的FPGA資源,如LUT、FF、RAM、DSP等,這些資源可以通過FPGA廠商提供的設(shè)計(jì)工具進(jìn)行估算。分析FPGA資源:選擇合適的FPGA芯片后,需要分析FPGA資源的規(guī)格書,了解FPGA內(nèi)部的硬核資源數(shù)量和性能,以及可用于自定義邏輯的邏輯單元數(shù)量等信息。進(jìn)行綜合和布局布線:在使用FPGA設(shè)計(jì)工具進(jìn)行綜合和布局布線后,可以得到FPGA資源利用率的估計(jì),以及所需資源與實(shí)際可用資源的比較,通過這個(gè)比較可以初步評(píng)估FPGA資源是否足夠。進(jìn)行仿真和驗(yàn)證:在綜合和布局布線后,需要進(jìn)行邏輯仿真和時(shí)序驗(yàn)證,以確保FPGA資源的使用是正確和穩(wěn)定的。

總的來說,評(píng)估FPGA資源是否足夠需要考慮多個(gè)因素,包括設(shè)計(jì)需求、FPGA資源規(guī)格、綜合和布局布線結(jié)果以及仿真驗(yàn)證等,通過這些手段可以進(jìn)行初步的資源評(píng)估和調(diào)整。

標(biāo)簽:

上一篇:如何評(píng)估MCU滿足項(xiàng)目需求?STM32系列單片機(jī)如何選型?
下一篇:最后一頁