FPGA 是一種以數(shù)字電路為主的集成芯片,于 1985 年由 Xilinx 創(chuàng)始人之一 Ross Freeman 發(fā)明,屬于可編程邏輯器件(Programmable Logic Device,PLD)的一種。
FPGA 比 CPLD 早幾年問(wèn)世,與 CPLD 并稱為高密度可編程邏輯器件,但它們有著本質(zhì)的區(qū)別。FPGA 芯片的內(nèi)部架構(gòu)并沒(méi)有沿用類似 PLA 的結(jié)構(gòu),而是采用了邏輯單元陣列(Logic Cell Array,LCA)這樣一個(gè)概念,改變了以往 PLD 器件大量使用與門、非門的思想,主要使用查找表和寄存器。
除此之外,F(xiàn)PGA 和 CPLD 在資源類型、速度等方面也存在差異,如下表所示。
FPGA 的類型從內(nèi)部實(shí)現(xiàn)機(jī)理來(lái)講,可以分為基于 SRAM 技術(shù)、基于反熔絲技術(shù)、基于 EEPROM/Flash 技術(shù)。就電路結(jié)構(gòu)來(lái)講,F(xiàn)PGA 可編程是指三個(gè)方面的可編程:可編程邏輯塊、可編程 I/O、可編程布線資源。可編程邏輯塊是 FPGA 可編程的核心,我們上面提到的三種技術(shù)也是針對(duì)可編程邏輯塊的技術(shù)。
FPGA 的結(jié)構(gòu)圖如圖 所示。
FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)是一種可編程邏輯器件,具有靈活性和可重構(gòu)性,通常用于數(shù)字電路設(shè)計(jì)和實(shí)現(xiàn)。FPGA的基本結(jié)構(gòu)包括以下幾個(gè)主要部分:
1. 邏輯單元(Logic Blocks):邏輯單元是 FPGA 中的基本邏輯單元,用于實(shí)現(xiàn)各種邏輯功能。邏輯單元通常包括查找表(Look-Up Table,LUT)、寄存器、加法器等,可以根據(jù)需要配置不同的邏輯功能。
2. 可編程互聯(lián)網(wǎng)絡(luò)(Programmable Interconnect):可編程互聯(lián)網(wǎng)絡(luò)連接了邏輯單元之間的信號(hào)傳輸路徑。通過(guò)配置互聯(lián)網(wǎng)絡(luò),可以實(shí)現(xiàn)邏輯單元之間的靈活連接,實(shí)現(xiàn)各種復(fù)雜邏輯功能。
3. 輸入/輸出模塊(IO Blocks):輸入/輸出模塊用于與外部系統(tǒng)進(jìn)行通信,包括輸入輸出引腳、時(shí)鐘管理單元等。IO Blocks 提供了 FPGA 與外部系統(tǒng)進(jìn)行數(shù)據(jù)交換的接口。
4. 時(shí)鐘管理單元(Clock Management):時(shí)鐘管理單元用于生成各種時(shí)鐘信號(hào),并對(duì)時(shí)鐘信號(hào)進(jìn)行分頻、延遲、對(duì)齊等操作,以確保設(shè)計(jì)的穩(wěn)定性和性能滿足要求。
5. 存儲(chǔ)單元(Memory Blocks):存儲(chǔ)單元包括片上存儲(chǔ)器等,用于存儲(chǔ)配置信息、中間結(jié)果數(shù)據(jù)和其他需要的存儲(chǔ)內(nèi)容,提供了額外的存儲(chǔ)資源。
6. 配置存儲(chǔ)器(Configuration Memory):配置存儲(chǔ)器用于存儲(chǔ) FPGA 的配置位流(Configuration Bitstream),即描述 FPGA 邏輯功能和互聯(lián)的配置信息,通過(guò)加載配置位流實(shí)現(xiàn)對(duì) FPGA 的編程和配置。
7. 全局時(shí)鐘網(wǎng)絡(luò)(Global Clock Network):全局時(shí)鐘網(wǎng)絡(luò)為 FPGA 提供整體的時(shí)鐘分配和管理功能,確保設(shè)計(jì)中的時(shí)序要求得到滿足。
fpga主要性能指標(biāo)
FPGA 的性能指標(biāo)主要包括以下幾個(gè)方面:
1. 邏輯容量(Logic Capacity):邏輯容量指的是 FPGA 中可用于實(shí)現(xiàn)邏輯功能的邏輯單元數(shù)量。它決定了 FPGA 可以實(shí)現(xiàn)的復(fù)雜度和規(guī)模,通常以邏輯單元數(shù)或等效門數(shù)(Equivalent Logic Cells)來(lái)衡量。
2. 時(shí)鐘頻率(Clock Frequency):時(shí)鐘頻率表示 FPGA 設(shè)備能夠支持的最高工作時(shí)鐘頻率,決定了 FPGA 設(shè)備在工作時(shí)能夠達(dá)到的最高速度。時(shí)鐘頻率通常以赫茲(Hz)為單位。
3. 資源利用率(Resource Utilization):資源利用率表示 FPGA 中邏輯單元、存儲(chǔ)單元等資源的使用情況,包括邏輯單元使用率、存儲(chǔ)塊利用率等,用于評(píng)估設(shè)計(jì)在 FPGA 中的資源占用情況。
4. 時(shí)序性能(Timing Performance):時(shí)序性能包括各種時(shí)序相關(guān)的指標(biāo),如最長(zhǎng)組合邏輯延遲、時(shí)序收斂等,決定了 FPGA 設(shè)備能夠滿足的時(shí)序約束和穩(wěn)定工作的能力。
5. 功耗(Power Consumption):功耗是衡量 FPGA 設(shè)備能耗的重要指標(biāo),通常分為靜態(tài)功耗和動(dòng)態(tài)功耗兩部分,影響 FPGA 在實(shí)際應(yīng)用場(chǎng)景中的能耗和熱管理需求。
6. 輸入/輸出資源(IO Resources):輸入/輸出資源包括 FPGA 設(shè)備提供的輸入輸出引腳數(shù)目、支持的通信協(xié)議和標(biāo)準(zhǔn)、不同類型的輸入輸出模式等,影響 FPGA 在與外部系統(tǒng)、芯片或器件連接時(shí)的靈活性和適用性。
7. 可編程性(Programmability):可編程性指的是 FPGA 設(shè)備在配置、重配置和部署時(shí)的靈活性和便利性,包括配置速度、配置接口、支持的配置技術(shù)(如SRAM、FLASH等)等。
8. 硬核功能(Hard IP):硬核功能是 FPGA 芯片內(nèi)置的專用功能模塊,如硬核處理器、乘法器、DSP單元等,用于特定應(yīng)用場(chǎng)景或性能需求,對(duì)于特定領(lǐng)域的應(yīng)用具有重要意義。
審核編輯:黃飛
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602966 -
cpld
+關(guān)注
關(guān)注
32文章
1248瀏覽量
169332 -
寄存器
+關(guān)注
關(guān)注
31文章
5336瀏覽量
120224 -
可編程邏輯器件
+關(guān)注
關(guān)注
5文章
139瀏覽量
30308 -
時(shí)鐘網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
16瀏覽量
6568
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論