chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MCU工程師須知的FPGA硬件屬性

姚小熊27 ? 來源:網(wǎng)絡(luò)整理 ? 2018-05-31 10:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MCU工程師須知的FPGA硬件屬性

簡單的FPGA構(gòu)造

集成電路領(lǐng)域人們經(jīng)常會(huì)聽到構(gòu)造(fabric)這個(gè)術(shù)語,它指的是FPGA器件的底層基礎(chǔ)結(jié)構(gòu)。(作為一個(gè)興趣點(diǎn),單詞“構(gòu)造”來自中世紀(jì)英語fabryke,意思是“建造的某些東西”)。下面讓我們從FPGA中的內(nèi)核可編程構(gòu)造開始吧……

如果我們仔細(xì)觀察FPGA封裝的內(nèi)部,我們將看到硅片(技術(shù)術(shù)語裸片)。可編程構(gòu)造表現(xiàn)為可編程邏輯塊陣列,如下圖所示。如果我們用放大鏡“放大查看”,我們可以看到這種構(gòu)造由沉浸于可編程互連“海洋”中的許多邏輯“島”(可編程邏輯塊)組成。

MCU工程師須知的FPGA硬件屬性

圖1:簡單的FPGA構(gòu)造

基本FPGA可編程構(gòu)造的一般性表示。是啊,我確實(shí)是用自己的雙手親自創(chuàng)作的這幅圖片,我因此感到非常自豪呢,非常感謝你加以關(guān)注。如果我們進(jìn)一步放大,我們可以看到,每個(gè)可編程模塊都包含有許多數(shù)字功能。在這個(gè)例子中,我們可以見到一個(gè)三輸入的查找表(LUT)、一個(gè)復(fù)用器和一個(gè)觸發(fā)器,但重要的是我們要認(rèn)識(shí)到,這些功能的數(shù)量和類型對(duì)不同系列的FPGA來說是會(huì)變化的。

觸發(fā)器可以被配置(編程)為寄存器或鎖存器;復(fù)用器可以被配置為選擇一個(gè)到邏輯塊的輸入或LUT的輸出;LUT可以被配置為代表任何所要求的邏輯功能。

更詳細(xì)地了解LUT:

上面所示的簡單例子包含一個(gè)三輸入的查找表(LUT)。在實(shí)際應(yīng)用中,即使最簡單的FPGA都會(huì)使用四輸入LUT,而一些更大更復(fù)雜的器件甚至?xí)Q使用六、七或八輸入的LUT,但為了簡單起見,我們還是討論三輸入版本。

我們會(huì)在以后的文章中討論各種類型的FPGA實(shí)現(xiàn)技術(shù)?,F(xiàn)在我們只需要知道,F(xiàn)PGA內(nèi)部的可編程單元可以用反熔絲、閃存單元或SRAM內(nèi)存單元來實(shí)現(xiàn)。先讓我們看一個(gè)用反熔絲技術(shù)創(chuàng)建的FPGA吧。這是一種一次性可編程(OTP)技術(shù),這意味著一旦你編程了這個(gè)FPGA,它將永遠(yuǎn)保持這個(gè)狀態(tài)而不再改變。

形象化介紹這種技術(shù)的最簡單方法是用下圖所示級(jí)聯(lián)的2:1復(fù)用器(MUX)。對(duì)基于反熔絲技術(shù)的FPGA來說,編程器件相當(dāng)于通過“硬件連線”將第一組復(fù)用器的輸入連接到實(shí)現(xiàn)目標(biāo)邏輯功能所需的正確0或1值。下圖中所示的值反映的實(shí)際結(jié)果是,我們使用這個(gè)LUT實(shí)現(xiàn)了前面那張圖隱含的公式y(tǒng)=(a & b)|c。在實(shí)際應(yīng)用中,復(fù)用器可以用場(chǎng)效應(yīng)管的分支“樹”來實(shí)現(xiàn),但我們?cè)谶@里真的不用擔(dān)心最底層的實(shí)現(xiàn)細(xì)節(jié)。

MCU工程師須知的FPGA硬件屬性

圖2:輸入值經(jīng)“硬件連接的”反熔絲型LUT(左),輸入從SRAM單元饋入的SRAM型LUT(右)

另外一種非常常見的FPGA實(shí)現(xiàn)技術(shù)是使用SRAM配置單元。同樣,我們會(huì)在以后的文章中討論更多的細(xì)節(jié)。這里我們所要知道的僅是當(dāng)電路板第一次上電時(shí),基于SRAM的FPGA會(huì)加載配置信息(我們可以把這個(gè)過程想像為器件的編程)。作為這種配置的一部分,用作LUT復(fù)用器輸入的SRAM單元會(huì)被加載進(jìn)上圖所示的目標(biāo)0或1值。

我沒有顯示0和1被加載進(jìn)SRAM單元的那種機(jī)制,因?yàn)槲也幌胱寙栴}變得復(fù)雜。出于這次討論的目的,我們真的無需擔(dān)心這種“魔術(shù)”是如何發(fā)生的。我在這里唯一要提的事(給你考慮的空間)是—使用一種被稱為部分再配置的技術(shù)—FPGA的一部分可以發(fā)起對(duì)另一部分進(jìn)行再配置(當(dāng)然反過來也行)。對(duì)于具有微控制器和/或軟件背景的讀者來說,我們可以將這種技術(shù)想象為相當(dāng)于自我修改代碼的硬件。這意味著這種技術(shù)是非常非常強(qiáng)大的,但也會(huì)帶來很難隔離和調(diào)試的問題。

通用的輸入和輸出

FPGA器件還包含有通用的輸入/輸出(GPIO)引腳和焊盤(圖1中沒有顯示)。通過配置單元,F(xiàn)PGA器件內(nèi)的互連部分可以被編程為這樣:將器件的主輸入連接到一個(gè)或多個(gè)可編程邏輯塊的輸入。任何邏輯塊的輸出也可以用來驅(qū)動(dòng)任何其它邏輯塊的輸入和/或FPGA器件的主輸出。另外,GPIO引腳可以被配置為支持種類廣泛的I/O標(biāo)準(zhǔn),包括電壓、終端阻抗、擺率等。

世界上第一塊FPGA與本文中討論的架構(gòu)非常類似。這塊FPGA就是賽靈思公司在1985年推出的XC2064(是用2um工藝節(jié)點(diǎn)制造的),它包含有8×8=64的邏輯塊陣列,每個(gè)邏輯塊包含一個(gè)四輸入LUT和其它一些簡單功能。從那以后,F(xiàn)PGA發(fā)展勢(shì)不可擋,正像我們看到的那樣……

復(fù)雜的FPGA架構(gòu)

正如我們?cè)谇懊嬲f的那樣,賽靈思公司在1985年推出的第一塊FPGA—XC2064包含8×8=64的邏輯塊陣列,每個(gè)邏輯塊包含一個(gè)四輸入查找表及其它一些簡單功能。由于它們的容量非常有限,因此早期的FPGA只用來執(zhí)行一些相對(duì)簡單的任務(wù),比如集中一些膠合邏輯,或?qū)崿F(xiàn)基本的狀態(tài)機(jī)。然而隨著時(shí)間的推移,事情開始改變……

隨著時(shí)間的推移和工藝節(jié)點(diǎn)的進(jìn)步,F(xiàn)PGA的容量和性能不斷得到提高,功耗卻不斷的下降。直到大約2006年以前廣泛使用的一直是四輸入查找表。事實(shí)上,在寫這篇文章之時(shí),較小的FPGA系列器件仍在使用四輸入的查找表,但一些高端器件可能使用六、七或八輸入的查找表。這些大家伙可能被用作一個(gè)大的查找表,或分裂成許多更小的功能,比如兩個(gè)四輸入的查找表或一個(gè)三輸入一個(gè)五輸入的查找表。在實(shí)際的高端器件中,這種可編程構(gòu)造可以描述相當(dāng)于百萬級(jí)(有時(shí)甚至千萬級(jí))的原始邏輯門。

如果某個(gè)邏輯功能(比方說計(jì)數(shù)器)是用FPGA的可編程構(gòu)造實(shí)現(xiàn)的,那么這個(gè)功能可以被說成“軟功能”。相比之下,如果某個(gè)功能是直接用芯片實(shí)現(xiàn)的,則被說成“硬功能”。(隨著這些功能變得越來越大越來越復(fù)雜,我們一般稱它們?yōu)閮?nèi)核)。軟內(nèi)核的優(yōu)勢(shì)在于,你可以讓它們做你想讓它們做的任何事。硬內(nèi)核的優(yōu)勢(shì)是它們占用較少的硅片面積,具有較高的性能,并且功耗較低。最優(yōu)的解決方案是混合使用軟內(nèi)核(用可編程構(gòu)造實(shí)現(xiàn))和硬內(nèi)核(直接用硅片實(shí)現(xiàn))。這樣,除了基于查找表的可編程構(gòu)造外,今天的FPGA可以利用以下介紹的各種硬內(nèi)核進(jìn)行性能增強(qiáng):

MCU工程師須知的FPGA硬件屬性

圖3:更復(fù)雜的FPGA架構(gòu)

舉例來說,該器件可能包含數(shù)千個(gè)加法器、乘法器和數(shù)字信號(hào)處理(DSP)功能;數(shù)兆位的片上內(nèi)存,大量的高速串行互連(SERDES)收發(fā)器模塊,以及眾多的其它功能。

嵌入式處理器的FPGA

這是真正讓人興奮的事情……你可以用FPGA中的普通可編程構(gòu)造做的事情之一是,使用其中的一部分實(shí)現(xiàn)一個(gè)或多個(gè)軟處理器內(nèi)核。當(dāng)然,你可以實(shí)現(xiàn)不同規(guī)模的處理器。舉例來說,你可以創(chuàng)建一個(gè)或多個(gè)8位的處理器,加上一個(gè)或多個(gè)16位或32位的軟處理器—所有處理器都在同一器件中。

如果FPGA供應(yīng)商希望提供一個(gè)占用較少硅片面積、消耗較低功率但性能更高的處理器,解決方案是將它實(shí)現(xiàn)為硬內(nèi)核。一個(gè)非常令人興奮的開發(fā)成果是Altera和賽靈思等公司最近推出的SoC FPGA??紤]下面所示這個(gè)例子:

MCU工程師須知的FPGA硬件屬性

圖4:一種新的SoC FPGA

這個(gè)漂亮的小東西整合了一個(gè)完全以硬內(nèi)核方式實(shí)現(xiàn)的雙路ARM Cortex-A9微控制器子系統(tǒng)(運(yùn)行時(shí)鐘高達(dá)1GHz,包含浮點(diǎn)引擎,片上緩存,計(jì)數(shù)器,定時(shí)器等),以及種類廣泛的硬內(nèi)核接口功能(SPI,I2C,CAN等),還有一個(gè)硬內(nèi)核的動(dòng)態(tài)內(nèi)存控制器,所有這些組件都利用大量傳統(tǒng)的可編程構(gòu)造和大量的通用輸入輸出(GPIO)引腳進(jìn)行了性能增強(qiáng)。(即將在16nm節(jié)點(diǎn)推出的一款SoC FPGA據(jù)稱包含四內(nèi)核的64位ARM Cortex-A53處理器,雙內(nèi)核32位ARM Cortex-R5實(shí)時(shí)處理器,以及一個(gè)ARM Mali-400MP圖形處理器。這些可不是你祖母時(shí)候的FPGA哦?。?/p>

傳統(tǒng)的嵌入式系統(tǒng)架構(gòu)師可能將其中一個(gè)器件放置在電路板上,并將它用作傳統(tǒng)的高性能雙內(nèi)核ARM Cortex-A9微控制器。當(dāng)電路板上電時(shí),硬微控制器內(nèi)核立即啟動(dòng),并在任何可編程構(gòu)造完成配置之前就可用了。這樣可以節(jié)省時(shí)間和精力,并讓軟件開發(fā)人員和硬件設(shè)計(jì)師同時(shí)開始開發(fā)。

一種情形是軟件開發(fā)人員捕獲他們的代碼,在SoC FPGA的Cortex-A9處理器上運(yùn)行這些代碼,然后通過分析識(shí)別任何可能嚴(yán)重影響性能并成為瓶頸的功能。這些功能隨后可能就轉(zhuǎn)交給硬件設(shè)計(jì)工程師用可編程構(gòu)造來實(shí)現(xiàn),它們(這些功能,不是設(shè)計(jì)工程師)將使用較低的時(shí)鐘頻率提供明顯更高的性能,而且功耗更低。

前面我們說過,硬內(nèi)核實(shí)現(xiàn)的功能(圖4所示的ARM Cortex-A9就是一種硬內(nèi)核)與等效的軟內(nèi)核相比具有更高的性能和更低的功耗。但現(xiàn)在我們又說如果在硬內(nèi)核處理器上運(yùn)行的軟件功能是個(gè)瓶頸,我們可以用可編程構(gòu)造來實(shí)現(xiàn),這樣它就能……你理解的沒錯(cuò),提供更高的性能和更低的功耗。

FPGA開發(fā)流程

原理圖和HDL(Hardwaredescriptionlanguage,硬件描述語言)是兩種最常用的數(shù)字硬件電路描述方法,其中HDL設(shè)計(jì)法具有更好的可移植性、通用性和模塊劃分與重用性的特點(diǎn),在目前的工程設(shè)計(jì)中被廣泛使用,下面對(duì)FPGA設(shè)計(jì)熟悉電路時(shí)的開發(fā)流程是基于HDL的。

MCU工程師須知的FPGA硬件屬性

圖6FPGA的開發(fā)流程

1)系統(tǒng)功能設(shè)計(jì)

在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行的是方案論證、系統(tǒng)設(shè)計(jì)和FPGA芯片選擇等準(zhǔn)備工作。系統(tǒng)工程師根據(jù)任務(wù)要求,如系統(tǒng)的指標(biāo)和復(fù)雜度,對(duì)工作速度和芯片本身的各種資源、成本等方面進(jìn)行權(quán)衡,選擇合理的設(shè)計(jì)方案和合適的器件類型。一般都采用自頂向下的設(shè)計(jì)方法,把系統(tǒng)分成若干個(gè)基本單元,然后再把每個(gè)基本單元?jiǎng)澐譃橄乱粚哟蔚幕締卧?,一直這樣做下去,直到可以直接使用EDA元件庫為止。

2)RTL級(jí)HDL設(shè)計(jì)

RTL級(jí)(RegisterTransferLevel,寄存器傳輸級(jí))指不關(guān)注寄存器和組合邏輯的細(xì)節(jié)(如使用了多少個(gè)邏輯門、邏輯門的連接拓?fù)浣Y(jié)構(gòu)等),通過描述數(shù)據(jù)在寄存器之間的流動(dòng)和如何處理、控制這些數(shù)據(jù)流動(dòng)的模型的HDL設(shè)計(jì)方法。RTL級(jí)比門級(jí)更抽象,同時(shí)也更簡單和高效。RTL級(jí)的最大特點(diǎn)是可以直接用綜合工具將其綜合成為門級(jí)網(wǎng)表,其中RTL級(jí)設(shè)計(jì)直接決定著系統(tǒng)的功能和效率。

3)RTL級(jí)仿真

也稱為功能(行為)仿真,或是綜合前仿真,是在編譯之前對(duì)用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒有延遲信息,僅對(duì)初步的功能進(jìn)行檢測(cè)。仿真前,要先利用波形編輯器和HDL等建立波形文件和測(cè)試向量(即將所關(guān)心的輸入信號(hào)組合成序列),仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察各個(gè)節(jié)點(diǎn)信號(hào)的變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)修改邏輯設(shè)計(jì)。常用的工具有ModelTech公司的ModelSim、Sysnopsys公司的VCS和Cadence公司的NC-Verilog以及NC-VHDL等軟件。雖然功能仿真不是FPGA開發(fā)過程中的必需步驟,但卻是系統(tǒng)設(shè)計(jì)中最關(guān)鍵的一步。

為了提高功能仿真的效率,需要建立測(cè)試平臺(tái)testbench,其測(cè)試激勵(lì)一般使用行為級(jí)HDL語言描述,其中RTL級(jí)模塊是可綜合的,它是行為級(jí)模塊的一個(gè)子集合。

4)綜合

所謂綜合就是將較高級(jí)抽象層次的描述轉(zhuǎn)化成較低層次的描述。綜合優(yōu)化根據(jù)目標(biāo)與要求優(yōu)化所生成的邏輯連接,使層次設(shè)計(jì)平面化,供FPGA布局布線軟件進(jìn)行實(shí)現(xiàn)。就目前的層次來看,綜合優(yōu)化(Synthesis)是指將設(shè)計(jì)輸入編譯成由與門、或門、非門、RAM、觸發(fā)器等基本邏輯單元組成的邏輯連接網(wǎng)表,而并非真實(shí)的門級(jí)電路。真實(shí)具體的門級(jí)電路需要利用FPGA制造商的布局布線功能,根據(jù)綜合后生成的標(biāo)準(zhǔn)門級(jí)結(jié)構(gòu)網(wǎng)表來產(chǎn)生。為了能轉(zhuǎn)換成標(biāo)準(zhǔn)的門級(jí)結(jié)構(gòu)網(wǎng)表,HDL程序的編寫必須符合特定綜合器所要求的風(fēng)格。由于門級(jí)結(jié)構(gòu)、RTL級(jí)的HDL程序的綜合是很成熟的技術(shù),所有的綜合器都可以支持到這一級(jí)別的綜合。常用的綜合工具有Synplicity公司的Synplify/SynplifyPro軟件以及各個(gè)FPGA廠家自己推出的綜合開發(fā)工具。

5)門級(jí)仿真

也稱為綜合后仿真,綜合后仿真檢查綜合結(jié)果是否和原設(shè)計(jì)一致。在仿真時(shí),把綜合生成的標(biāo)準(zhǔn)延時(shí)文件反標(biāo)注到綜合仿真模型中去,可估計(jì)門延時(shí)帶來的影響。但這一步驟不能估計(jì)線延時(shí),因此和布線后的實(shí)際情況還有一定的差距,并不十分準(zhǔn)確。目前的綜合工具較為成熟,對(duì)于一般的設(shè)計(jì)可以省略這一步,但如果在布局布線后發(fā)現(xiàn)電路結(jié)構(gòu)和設(shè)計(jì)意圖不符,則需要回溯到綜合后仿真來確認(rèn)問題之所在。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。

6)布局布線

實(shí)現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的FPGA芯片上,將工程的邏輯和時(shí)序與器件的可用資源匹配。布局布線是其中最重要的過程,布局將邏輯網(wǎng)表中的硬件原語和底層單元合理地配置到芯片內(nèi)部的固有硬件結(jié)構(gòu)上,并且往往需要在速度最優(yōu)和面積最優(yōu)之間作出選擇。布線根據(jù)布局的拓?fù)浣Y(jié)構(gòu),利用芯片內(nèi)部的各種連線資源,合理正確地連接各個(gè)元件。也可以簡單地將布局布線理解為對(duì)FPGA內(nèi)部查找表和寄存器資源的合理配置,布局可以被理解挑選可實(shí)現(xiàn)設(shè)計(jì)網(wǎng)表的最優(yōu)的資源組合,而布線就是將這些查找表和寄存器資源以最優(yōu)方式連接起來。

目前,F(xiàn)PGA的結(jié)構(gòu)非常復(fù)雜,特別是在有時(shí)序約束條件時(shí),需要利用時(shí)序驅(qū)動(dòng)的引擎進(jìn)行布局布線。布線結(jié)束后,軟件工具會(huì)自動(dòng)生成報(bào)告,提供有關(guān)設(shè)計(jì)中各部分資源的使用情況。由于只有FPGA芯片生產(chǎn)商對(duì)芯片結(jié)構(gòu)最為了解,所以布局布線必須選擇芯片開發(fā)商提供的工具。

7)時(shí)序仿真

是指將布局布線的延時(shí)信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中來檢測(cè)有無時(shí)序違規(guī)(即不滿足時(shí)序約束條件或器件固有的時(shí)序規(guī)則,如建立時(shí)間、保持時(shí)間等)現(xiàn)象。時(shí)序仿真包含的延遲信息最全,也最精確,能較好地反映芯片的實(shí)際工作情況。由于不同芯片的內(nèi)部延時(shí)不一樣,不同的布局布線方案也給延時(shí)帶來不同的影響。因此在布局布線后,通過對(duì)系統(tǒng)和各個(gè)模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)系統(tǒng)性能,以及檢查和消除競(jìng)爭(zhēng)冒險(xiǎn)是非常有必要的。

8)FPGA板級(jí)調(diào)試

通過編程器將布局布線后的配置文件下載至FPGA中,對(duì)其硬件進(jìn)行編程。配置文件一般為.pof或.sof文件格式,下載的方式包括AS(主動(dòng))、PS(被動(dòng))、JTAG(邊界掃描)等方式。

邏輯分析儀(LogicAnalyzer,LA)是FPGA設(shè)計(jì)的主要調(diào)試工具,但需要引出大量的測(cè)試管腳,且LA價(jià)格昂貴。目前,主流的FPGA芯片生產(chǎn)商都提供了內(nèi)嵌的在線邏輯分析儀(如XilinxISE中的ChipScope、AlteraQuartusII中的SignalTapII以及SignalProb)來解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實(shí)用價(jià)值。

FPGA總體設(shè)計(jì)的硬件考慮

FPGA在項(xiàng)目開始階段需要考慮的設(shè)計(jì)主要有3大方面:一個(gè)是硬件做板相關(guān)的FPGA升級(jí)電路的設(shè)計(jì)以及外圍IO設(shè)計(jì);一個(gè)是與軟件配合相關(guān)的軟硬件接口設(shè)計(jì);一個(gè)是FPGA內(nèi)部的邏輯功能規(guī)劃。本文先針對(duì)硬件設(shè)計(jì)相關(guān)進(jìn)行闡述:

升級(jí)電路的設(shè)計(jì):FPGA的好處就是產(chǎn)品發(fā)布后還能進(jìn)行功能升級(jí)以及功能修改,但在客戶那里應(yīng)該沒有人會(huì)愿意打開機(jī)箱進(jìn)行升級(jí),這時(shí)就要設(shè)計(jì)可靠的升級(jí)通路。

1)板上有配置器件:如果上電后FPGA需要快速配置,這時(shí)一般會(huì)采用SPIFLASH的配置方式,這時(shí)我們就要設(shè)計(jì)一個(gè)電路如何更新SPIFLASH,如果板上有CPU,可以直接寫SPIFLASH,這種一般即使寫錯(cuò)了,校驗(yàn)后重新寫就好了。如果板上沒有CPU,那FPGA內(nèi)部或者配套的CPLD就要預(yù)留寫FLASH的通路。這個(gè)通路實(shí)際上就是設(shè)計(jì)一個(gè)用戶接口到SPI接口的橋接器,xilinx7系列以后的器件官方都提供了參考設(shè)計(jì),而且支持SPIFlash中存入2個(gè)映像,其中一個(gè)是升級(jí)失敗后起機(jī)的golden映像(否則升級(jí)文件寫錯(cuò),板就變成磚頭了),雖然xilinx提供參考設(shè)計(jì),但那只是針對(duì)SPIFLASH的操作,用戶還要設(shè)計(jì)預(yù)留通道與這個(gè)控制器對(duì)接,比如以太、SPI之類。這時(shí)配合的軟件就要考慮丟包、錯(cuò)包這些影響,要保證文件都正確寫入FLASH。Altera公司應(yīng)該也是提供類似東西,原理上總是相通的。但quartus能寫入的一般都是自己的FLASH,否則就需要外接一個(gè)CPLD做配置電路,注意這個(gè)CPLD必須Altera自己的,否則不能用他的配置IP。

2)板上如果沒有配置器件,那CPU直接通過被動(dòng)配置方式進(jìn)行配置,就是控制programe、status、DIN那幾根線,CPU照時(shí)序做就好,缺點(diǎn)是CPU必須起來后才能進(jìn)行配置。

3)目前還有一種配置就是通過PCIE接口,這個(gè)設(shè)計(jì)在電路上有一定要求,F(xiàn)PGA只需要掛接一個(gè)很小的SPIFLASH保存PCIE硬核的設(shè)置就好,起機(jī)后再把其他的功能映像從CPU端載入,這種一般再新的器件會(huì)支持,需要查看手冊(cè)詳細(xì)說明,不同器件再PCIE的復(fù)位以及其他引腳設(shè)計(jì)上還有要求。

這種配置一般用在PCIE的加速卡中,因?yàn)樯想姾笙到y(tǒng)會(huì)對(duì)PCIE設(shè)備進(jìn)行掃描,一種好的做法就是通過SPIFLASH快速載入PCIE相關(guān)的映像,讓枚舉軟件看到FPGA,CPU完全起機(jī)后,再把需要的功能配置進(jìn)去。

硬件相關(guān)的第2個(gè)設(shè)計(jì)是外圍IO的設(shè)計(jì),包括VCCIO的電源連接、IO位置的分配、serdes的連接等。

雖然FPGA號(hào)稱IO可以支持多種標(biāo)準(zhǔn)電平,但也不是可以隨心所欲,特別是用到DDR3這些接口時(shí)。一種就是使勁看DS,但個(gè)人覺得太慢。好的做法是,建立一個(gè)demo工程,例化那些可能用到的外圍IOIP,比如DDR,PCIE,以太接口等,把這些examle放在一個(gè)代碼中不被優(yōu)化掉,編譯通過的話,一般IO分配就沒問題了,有問題再看文檔修改。編譯通過后從工程導(dǎo)出IO配置的CSV文件,xilinx的會(huì)比較詳細(xì)說明每個(gè)引腳的連接方式,包括端接等。Altera在工程目錄下有個(gè).pin文件,似乎也有類似說明。有了這個(gè)文件基本上可以保證做板不會(huì)范大錯(cuò)了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1650

    文章

    22205

    瀏覽量

    626835
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3532

    瀏覽量

    68396
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    電子工程師須知道的幾個(gè)技術(shù)問題

    ` 本帖最后由 gk320830 于 2015-3-7 22:30 編輯 電子工程師須知道的幾個(gè)技術(shù)問題`
    發(fā)表于 08-20 21:41

    誠招FPGA、硬件、模擬電路工程師

    周立功旗下廣州致遠(yuǎn)電子股份有限公司(www.zlg.cn)專業(yè)制造高端測(cè)量與分析儀器,比如,高精度功率分析儀、電能質(zhì)量分析儀,誠招FPGA開發(fā)工程師(1-3年經(jīng)驗(yàn))、硬件工程師(2年以
    發(fā)表于 08-09 03:48

    誠聘FPGA硬件與模擬電路工程師

    周立功旗下廣州致遠(yuǎn)電子股份有限公司(www.zlg.cn)專業(yè)制造高端測(cè)量與分析儀器,比如,高精度功率分析儀、電能質(zhì)量分析儀,誠招FPGA開發(fā)工程師(1-3年經(jīng)驗(yàn))、硬件工程師(2年以
    發(fā)表于 08-09 03:50

    招聘:軟件工程師(數(shù)字信號(hào)處理方向-FPGA)、硬件工程師

    公司行業(yè):航天航空公司性質(zhì):國企公司規(guī)模:1000人招聘:軟件工程師(數(shù)字信號(hào)處理方向)、硬件工程師軟件工程師:1)通信、電子、計(jì)算機(jī)專業(yè),碩士及以上學(xué)歷;2)具有XILINX/ACT
    發(fā)表于 04-25 21:02

    誠聘硬件研發(fā)工程師FPGA

    獵頭職位:硬件研發(fā)工程師FPGA)【北京】崗位職責(zé):1、基于FPGA技術(shù)實(shí)現(xiàn)計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì); 2、利用可編程邏輯設(shè)計(jì)技術(shù)進(jìn)行產(chǎn)品設(shè)計(jì)與實(shí)現(xiàn); 3、分析確認(rèn)設(shè)計(jì)需求,評(píng)估芯片選型,
    發(fā)表于 11-14 15:33

    MCU工程師詳解FPGA硬件屬性

    來源 網(wǎng)絡(luò)我的許多朋友都是經(jīng)驗(yàn)豐富的嵌入式設(shè)計(jì)工程師,但他們都是微控制器(MCU)背景,因此對(duì)于FPGA是什么以及FPGA能做什么只有一個(gè)模糊的概念。如果問急了,他們會(huì)說“你可以通過配
    發(fā)表于 09-26 15:13

    MCU工程師詳解FPGA硬件屬性

    我的許多朋友都是經(jīng)驗(yàn)豐富的嵌入式設(shè)計(jì)工程師,但他們都是微控制器(MCU)背景,因此對(duì)于FPGA是什么以及FPGA能做什么只有一個(gè)模糊的概念。如果問急了,他們會(huì)說“你可以通過配置
    發(fā)表于 08-27 09:17

    如何給MCU工程師詳解FPGA硬件屬性

    我的許多朋友都是經(jīng)驗(yàn)豐富的嵌入式設(shè)計(jì)工程師,但他們都是微控制器(MCU)背景,因此對(duì)于FPGA是什么以及FPGA能做什么只有一個(gè)模糊的概念。如果問急了,他們會(huì)說“你可以通過配置
    發(fā)表于 09-18 08:30

    FPGA開發(fā)工程師、硬件開發(fā)工程師各一名

    FPGA開發(fā)工程師崗位職責(zé):1、根據(jù)系統(tǒng)需求,完成FPGA器件選型和方案設(shè)計(jì);2、負(fù)責(zé)FPGA的Verilog語言編寫、仿真、調(diào)試;3、負(fù)責(zé)FPGA
    發(fā)表于 10-22 11:03

    電子工程師須知

     電子工程師一般分為 硬件工程師和軟件工程師 硬件與軟件是不可分離的,硬件需要軟件來執(zhí)行其程序?qū)?/div>
    發(fā)表于 05-10 14:05 ?3254次閱讀

    MCU工程師詳解FPGA硬件屬性

    我的許多朋友都是經(jīng)驗(yàn)豐富的嵌入式設(shè)計(jì)工程師,但他們都是微控制器(MCU)背景,因此對(duì)于FPGA是什么以及FPGA能做什么只有一個(gè)模糊的概念。如果問急了,他們會(huì)說“你可以通過配置
    發(fā)表于 02-08 15:56 ?626次閱讀
    給<b class='flag-5'>MCU</b><b class='flag-5'>工程師</b>詳解<b class='flag-5'>FPGA</b><b class='flag-5'>硬件</b><b class='flag-5'>屬性</b>

    MCU工程師需要了解的FPGA硬件屬性

    事實(shí)上,MCU對(duì)有些任務(wù)來說是很適合的,但對(duì)其它一些任務(wù)來說可能做的并不好。舉例來說,當(dāng)需要并行執(zhí)行大量計(jì)算任務(wù)時(shí),FPGA可能會(huì)讓你喜出望外。
    發(fā)表于 07-03 14:52 ?738次閱讀
    <b class='flag-5'>MCU</b><b class='flag-5'>工程師</b>需要了解的<b class='flag-5'>FPGA</b><b class='flag-5'>硬件</b><b class='flag-5'>屬性</b>