日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

1 引言

之前大多數(shù)軟件都是與它們各自的硬件一起發(fā)布,沒有辦法對其進(jìn)行更改。但隨著技術(shù)的成熟,制造商找到了在現(xiàn)有硬件上更新軟件以增加附加功能的方法。

現(xiàn)在,想象一下未來硬件更新也成為可能——不是很有趣嗎?

那么,這種可編程硬件,其子系統(tǒng)配置甚至在制造后也可以修改,屬于可重構(gòu)系統(tǒng)的范疇。而支持可重構(gòu)計(jì)算的最主要的集成電路是FPGA,即可編程門陣列的縮寫。

FPGA使您可以編程產(chǎn)品功能,適應(yīng)新標(biāo)準(zhǔn),并在產(chǎn)品安裝在現(xiàn)場后針對特定應(yīng)用重新配置硬件——因此稱為“現(xiàn)場可編程”。而“門陣列”指的是其架構(gòu)中存在的二維邏輯門陣列。

所有現(xiàn)代個(gè)人計(jì)算機(jī),包括臺(tái)式機(jī)、筆記本、智能手機(jī)和平板電腦,都是通用計(jì)算機(jī)的例子。通用計(jì)算采用“馮·諾依曼”方法,即指令獲取和數(shù)據(jù)操作不能同時(shí)發(fā)生。因此,它們是順序機(jī)器,其性能也受到限制。

另一方面,我們有應(yīng)用特定集成電路(ASIC),這些電路是為特定任務(wù)定制的,例如數(shù)字語音記錄器或高效的比特幣礦工。ASIC使用空間方法來實(shí)現(xiàn)只實(shí)現(xiàn)一個(gè)特定應(yīng)用程序,并將電路中的元件針對該應(yīng)用程序進(jìn)行了高度優(yōu)化,提供了最大的性能。但是由于ASIC的電路結(jié)構(gòu)非常專門化,它只能用于執(zhí)行被設(shè)計(jì)的特定任務(wù),不能用于其他任務(wù)。

那么,為了獲得ASIC的高性能,是否需要犧牲通用處理器的靈活性呢?

實(shí)際上FPGA處于這兩種架構(gòu)范式之間,具有一定的靈活性和可重構(gòu)性!

雖然FPGA具有可重新編程和相對較低的NRE(非重復(fù)性工程)成本等優(yōu)勢,但與ASIC相比,F(xiàn)PGA的能源效率較低(指在完成特定計(jì)算任務(wù)時(shí)所消耗的能量與計(jì)算任務(wù)完成的速度之比),且不適用于大規(guī)模生產(chǎn)。

因此,ASIC和FPGA具有不同的優(yōu)勢和價(jià)值主張。通常,大多數(shù)設(shè)備制造商會(huì)使用FPGA進(jìn)行原型設(shè)計(jì),因?yàn)樗鼈兛梢钥焖俚蜏y試不同的設(shè)計(jì),且具有一定的靈活性。而在確定了最終的設(shè)計(jì)之后,制造商通常會(huì)使用ASIC進(jìn)行大規(guī)模生產(chǎn),以獲得更高的性能和更低的成本。

過去,F(xiàn)PGA通常被用于較低速度和復(fù)雜設(shè)計(jì),因?yàn)镕PGA的電路結(jié)構(gòu)相對復(fù)雜處理速度相對較低;且其可編程性和靈活性使FPGA更適用于那些需要實(shí)現(xiàn)較為復(fù)雜設(shè)計(jì)的場合。但是現(xiàn)在隨著FPGA技術(shù)的不斷發(fā)展和改進(jìn),F(xiàn)PGA已經(jīng)能夠?qū)崿F(xiàn)更高的處理速度和更優(yōu)化的電路結(jié)構(gòu)。目前,F(xiàn)PGA已經(jīng)可以輕松地實(shí)現(xiàn)超過500MHz的處理性能基準(zhǔn)。

2 FPGA的內(nèi)部架構(gòu)

1985年,一家名為Xilinx的半導(dǎo)體制造公司發(fā)明了第一個(gè)商業(yè)化的FPGA芯片XC2064。另一家在2015年被英特爾收購的公司Altera也推動(dòng)了市場的發(fā)展,并與Xilinx一起推動(dòng)了FPGA技術(shù)的發(fā)展。

FPGA起源于相對較簡單的技術(shù),如可編程只讀存儲(chǔ)器(PROM)和可編程邏輯器件(PLD),如PAL、PLA或復(fù)雜PLD(CPLD)。

FPGA由三個(gè)主要部分組成:

  • 可配置邏輯塊 - 實(shí)現(xiàn)邏輯功能。
  • 可編程互聯(lián) - 實(shí)現(xiàn)路由功能。
  • 可編程輸入/輸出塊 - 與外部元件連接。

邏輯塊實(shí)現(xiàn)設(shè)計(jì)所需的邏輯功能,由各種組件組成,例如晶體管對、查找表(LUT)、觸發(fā)器和多路復(fù)用器。

您可以將邏輯塊視為單獨(dú)的模塊,就像樂高積木一樣,并且可以并行操作。但與樂高積木不同的是,邏輯塊是可配置的,即其內(nèi)部狀態(tài)可以進(jìn)行控制,并且可以通過編程互聯(lián)將它們連接在一起以構(gòu)建有意義的東西。

可編程互聯(lián)的層次結(jié)構(gòu)用于在可配置邏輯塊(CLB)之間分配資源;其中路由路徑包含可通過反熔絲或基于存儲(chǔ)器的技術(shù)連接的具有不同長度的電線段。

每個(gè)CLB都與交換矩陣相結(jié)合,以訪問通用路由結(jié)構(gòu)。交換矩陣提供可編程的多路復(fù)用器,用于選擇給定路由通道中的信號(hào),并因此連接垂直和水平線。

最后,輸入/輸出塊(IOB)用于將CLB和路由架構(gòu)與外部元件接口。

在早期的FPGA芯片中,沒有處理器來運(yùn)行任何軟件,實(shí)現(xiàn)應(yīng)用程序意味著從頭設(shè)計(jì)電路。因此,我們可以將FPGA配置得像OR門一樣簡單,也可以像多核處理器一樣復(fù)雜。

但是自XC2064以來,F(xiàn)PGA的基本架構(gòu)已經(jīng)通過添加更多專門的可編程功能塊(如ALU、塊RAM、多路復(fù)用器、DSP-48和微處理器)而得到發(fā)展。

3 FPGA設(shè)計(jì)流程

設(shè)計(jì)流程描述了在物理板上實(shí)現(xiàn)和編程任何給定邏輯的流程。于該流程與軟件開發(fā)生命周期(SDLC)類比,我將其稱為 FPGA 開發(fā)生命周期(FDLC)。

FPGA架構(gòu)設(shè)計(jì)流程包括設(shè)計(jì)輸入、邏輯綜合、設(shè)計(jì)實(shí)現(xiàn)、設(shè)備編程和設(shè)計(jì)驗(yàn)證等步驟。然而,具體步驟因制造商而異。

4 設(shè)計(jì)輸入

邏輯的描述可以使用原理圖編輯器、有限狀態(tài)機(jī)(FSM)編輯器或硬件描述語言(HDL)來制作。這是通過從給定庫中選擇組件并將設(shè)計(jì)函數(shù)直接映射到所選的計(jì)算塊來完成的。

當(dāng)設(shè)計(jì)具有大量功能時(shí),圖形化管理變得困難,此時(shí)可以使用HDL以結(jié)構(gòu)化或行為方式捕捉設(shè)計(jì)。除了已經(jīng)成為最常用的HDL語言之一的VHDL和Verilog之外,還有一些類似于C語言的HDL語言可供選擇,如Handel-C、Impulse C和SystemC等。

使用HDL進(jìn)行設(shè)計(jì)描述,可以更直觀地表達(dá)設(shè)計(jì)的結(jié)構(gòu)和行為,并方便設(shè)計(jì)的復(fù)用和修改。同時(shí),HDL還可以進(jìn)行仿真驗(yàn)證,確保設(shè)計(jì)的正確性和可靠性。因此,HDL在FPGA設(shè)計(jì)中具有廣泛的應(yīng)用價(jià)值。

5 邏輯綜合

這個(gè)過程將上述VHDL代碼翻譯成設(shè)備網(wǎng)表格式,以描述具有邏輯元素的完整電路。綜合過程涉及檢查代碼語法和分析設(shè)計(jì)體系結(jié)構(gòu)的層次結(jié)構(gòu)。接下來是將代碼與優(yōu)化一起編譯,并將生成的網(wǎng)表保存為.ngc文件。

6 設(shè)計(jì)實(shí)現(xiàn)

設(shè)計(jì)實(shí)現(xiàn)過程包括以下步驟:

  • 翻譯:合并所有輸入網(wǎng)表到邏輯設(shè)計(jì)文件中,生成 .ngd 文件。用戶約束文件為端口指定物理元素。
  • 映射:將.ngd文件中定義的邏輯映射到FPGA器件的組件上,并生成 .ncd 文件。
  • 布局布線:按照約束條件,將上述過程中的子塊放置到邏輯塊中,然后連接這些塊。

7 設(shè)備編程

將上述路由好的設(shè)計(jì)加載并轉(zhuǎn)換為FPGA支持的格式。將路由好的.ncd文件傳遞給BitGen程序,生成一個(gè)包含所有FPGA編程信息的比特流文件。

8 設(shè)計(jì)驗(yàn)證

這個(gè)過程是與設(shè)計(jì)流程一起完成的,以確保邏輯行為符合預(yù)期。這個(gè)過程涉及以下仿真:

  • 行為仿真(RTL仿真)
  • 功能仿真
  • 靜態(tài)時(shí)序仿真

通過為設(shè)計(jì)提供各種輸入測試模式,并觀察輸出,這些仿真可以模擬設(shè)計(jì)的行為,從而驗(yàn)證其正確性和可靠性。設(shè)計(jì)驗(yàn)證過程是確保設(shè)計(jì)質(zhì)量的關(guān)鍵步驟,可以在設(shè)計(jì)實(shí)現(xiàn)之前或之后進(jìn)行。

9 FPGA的未來

產(chǎn)業(yè)趨勢將FPGA推向在異構(gòu)計(jì)算范例中越來越重要的作用。這里的異構(gòu)計(jì)算是指使用多種類型的處理器來執(zhí)行各自的專門處理能力的系統(tǒng)。而所有這些不同的處理器,包括FPGA,都可以通過OpenCL進(jìn)行編程——這是一個(gè)行業(yè)標(biāo)準(zhǔn)的開發(fā)平臺(tái)。

FPGA提供了成本效益的并行計(jì)算能力,適用于快速原型制作。在測試神經(jīng)網(wǎng)絡(luò)時(shí),F(xiàn)PGA有時(shí)也能夠超越GPU。雖然GPU對于訓(xùn)練來說可能很好,但當(dāng)涉及實(shí)時(shí)應(yīng)用時(shí),F(xiàn)PGA更加適應(yīng)。微軟已經(jīng)在通過Microsoft Azure云服務(wù)加速AI時(shí)使用了英特爾Stratix FPGA。

分享到:
標(biāo)簽:FPGA
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定