女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

帶你深入了解FPGA開發流程

電子工程師 ? 來源:FPGA技術支持 ? 作者:FPGA技術支持 ? 2020-10-25 10:05 ? 次閱讀

FPGA的開發流程是遵循著ASIC的開發流程發展的,發展到目前為止,FPGA的開發流程總體按照下圖進行,有些步驟可能由于其在當前項目中的條件的寬度的允許,可以免去,比如靜態仿真過程,這樣來達到項目時間上的優勢。但是,大部分的流程步驟還是需要我們循規蹈矩的去做,因為這些步驟的輸入是上一個步驟的結果,輸出是下一個步驟的輸入的關系,這樣的步驟就必不可少了。

FPGA開發的具體難度,與軟件開發有輸入、編譯、鏈接、執行步驟對應的就是設計輸入、綜合、布局布線、下載燒寫,FPGA開發只是為了確保這核心實現主干路每一個環節的成功性加了其他的修飾(約束)和驗證而已。下面將以核心主干路為路線,介紹每個環節的物理含義和實現目標。

開發流程

設計輸入

1. 設計輸入方式

從FPGA開發流程圖中的主干線上分離出第一步設計輸入橫向環節,并做了進一步的細節的處理,如圖2,從圖上看到,設計輸入方式有三種形式,有IP核、原理圖、HDL,由此展開設計輸入方式的探討。

原理圖輸入

原始的數字系統電路的設計可能大家還不可能想象,是用筆和紙一個個邏輯門電路甚至晶體管搭建起來的,這樣的方式我們稱作原理圖的輸入方式。那個時候,硬件工程師們會圍繞的坐在一塊,拿著圖紙來討論電路。幸虧那時候的數字電路的還不是很復雜,要是放到今天,稍微大一點的系統,也算得上是浩大工程,稍微有點電路要修改的話,這個時候你要是一個沒耐心或是一個急性子的人可能就就會喪失對這個領域的興趣。話說回來,那個年代出來的老工程師們,電路基礎功夫確實很扎實。

事情總是朝著好的方向發展的,后來出現了大型計算機,工程師們開始將最原始的打孔的編程方式運用到數字電路設計當中,來記錄我們手工繪畫的電路設計,后來存儲設備也開始用上了,從卡片過度到了存儲文本文件了,那個時候網表文件大致是起于那個時候。

需要注意的問題是原理圖和網表文件的關系,原理圖是我們最開始方便我們設計的一個輸入方式,而網表文件是計算機傳遞原理圖信息給下一道流程或是給仿真平臺進行原理圖描述仿真用的。設計輸入方式不一樣,但是對于功能仿真來講,最終進度到仿真核心的應該是同一個文件,那么這個文件就是網表文件了。

有了計算機的輔助,數字電路設計起來可以說進步了一大截,但是如果依然全部是基于邏輯門晶體管的話,還是比較繁瑣。于是后來出現了符號庫,庫里包含一些常用的具有通行的器件,比如D觸發器類的等等,并隨著需求的發展,這些符號庫不斷的在豐富。與在原理圖里利用這些符號庫構建電路對應的是,由原理圖得到的這個網表文件的描述方式也相應的得到擴展,那么這里網表文件里對電路符號的描述就是最開始的原語了。

作為最原始的數字電路ASIC設計輸入的方式,并從ASIC設計流程延續到FPGA的設計流程,有著它與生俱來的優點,就是直觀性、簡潔性,以致目前依然還在使用。但是需要注意的是,這也是相對的,具體討論見下一小節。

HDL輸入

HDL全稱是硬件描述語言Hardware Description Language,這種輸入方式要追溯的話得到20世紀90年代初了。當時的數字電路的規模已足以讓按照當時的輸入方式進行門級抽象設計顧左顧不了右了,一不小心很容易出錯,而且得進行多層次的原理圖切割,最為關鍵的是如何能做到在更抽象的層次上描述數字電路。

于是一些EDA開始提供一種文本形式的,非常嚴謹,不易出錯的HDL輸入方式開始提供了。特別是在1980年的時候,美國軍方發起來超高速集成電路(Very-High-Speed Integrated Circuit)計劃,就是為了在部隊中裝備中大規模需求的數字電路的設計開發效率,那么這個VHSIC硬件描述語言就是我們現在的VHDL語言,它也是最早成為硬件描述語言的標準的。與之相對的是晚些時間民間發起的Verilog, 后來到1995年的時候,它的第一個版本的IEEE標準才出臺,但是沿用至今。

前面提到HDL語言具有不同層次上的抽象,這些抽象層有開關級、邏輯門級、RTL級、行為級和系統級,如圖3。其中開關級、邏輯門級又叫結構級,直接反映的是結構上的特性,大量的使用原語調用,很類似最開始原理圖轉成門級網表。RTL級又可稱為功能級。

HDL語言除了前面提到的兩種外,歷史上也出現了其他的HDL語言,有ABEL、AHDL、硬件C語言(System C語言、Handle-C)、System verilog等。其中ABEL和AHDL算是早期的語言,因為相比前面兩種語言來講,或多或少都有些致命的缺陷而在小范圍內使用或者直接淘汰掉了。而因為VHDL和Verilog在仿真方面具有仿真時間長的缺陷,System verilog和硬件C語言產生了,從圖3看,System Verilog是在系統級和行為級上為Verilog做補充,同時硬件C語言產生的原因還有就是有種想把軟件和硬件設計整合到一個平臺下的思想。

IP(Intellectual Property)核

什么是IP核?任何實現一定功能的模塊叫做IP(Intellectual Property)。這里把IP核作為一種輸入方式單獨列出來,主要考慮到完全用IP核確實是可以形成一個項目。它的產生可以說是這樣的一個逆過程。

在隨著數字電路的規模不斷擴大的時候,面對一個超級大的工程,工程師們可能是達到一種共識,將這規模巨大而且復雜的設計經常用到的具有一定通用性的功能給獨立出來,可以用來其他設計。當下一次設計的時候,發現這些組裝好的具有一定功能的模塊確實挺好用的,于是越來越多的這種具有一定功能的模塊被提取出來,甚至工程師之間用來交換,慢慢大家注意到它的知識產權,于是一種叫做IP知識產權的東西出來了,于是集成電路一個全新領域(IP設計)產生了。

IP按照來源的不同可以分為三類,第一種是來自前一個設計的內部創建模塊,第二種是FPGA廠家,第三種就是來自IP廠商;后面兩種是我們關注的,這是我們進行零開發時考慮的現有資源問題,先撇開成本問題,IP方式的開發對項目周期非常有益的,這也是在FPGA應用領域章節陳列相關FPGA廠家IP資源的原因。

FPGA廠家和IP廠商可以在FPGA開發的不同時期提供給我們的IP。我們暫且知道他們分別是未加密的RTL級IP、加密的RTL級IP、未經布局布線的網表級IP、布局布線后的網表級IP。他們的含義在后面陸續介紹FPGA的開發步驟的時候,相信大家能夠恍然大悟。需要說明的是,越是FPGA靠前端步驟的時候提供的IP,他的二次開發性就越好,但是它的性能可能是個反的過程,同時也越貴,畢竟任何一個提供者也不想將自己的源碼程序提供給他者,但是為了不讓客戶走向其他商家,只能提高價賣了,同時加上一些法律上的協議保護。那么越朝FPGA開發步驟的后端,情況就相反了,越是后端,IP核就會進一步做優化,性能就越好,但是一些客戶不要的功能就不好去了。

FPGA廠商提供一般常用的IP核,畢竟為了讓大家用他們家的芯片,但是一些特殊需要的IP核還是需要付費的。當然這里需要說明的是FPGA廠商的IP是很少可以交叉用的,這一點很容易想,對廠家來講不會做這種給競爭者提供服務事情的。IP廠商一般會高價的提供未加密的RTL級源碼,有時FPGA廠商為了擴大芯片市場占有率,會購買第三方的IP做進一步的處理后免費提給該FPGA芯片使用者的。

2. 輸入方式使用探討

在上面我們介紹了三種輸入方式,有些地方會講到第四種輸入方式,就是門級網表文件輸入的形式,我們這里并沒有把它歸為一種輸入方式,原因在于,本身這些門級網表文件的產生還是源于介紹的三種輸入方式中的一種或是幾種混合的方式。所以這里沒有把它歸為一類。

好了,在上面三種輸入方式介紹的基礎上,我們來探討一下這令人眼花繚亂的輸入方式,探討的目的就是為了讓我們更好的使用他們。

首先,來總結一下三者的優缺點,其實是兩種,因為IP核不管是哪個層次,或者在原理圖中被以符號的形式被例化,或者在HDL中被模塊例化。所以這里集中探討的是原理圖和HDL的優缺點。原理圖的優點就是結構直觀性,HDL的優點是嚴密性、支持甚寬的抽象描述層次、易于移植、方便仿真調試等等,缺點就是不具備對方的優點。當時出現HDL的時候,人們確實是想著原理圖該退出歷史舞臺了,但是到現在它還依然存在著。存在即是有道理的,存在就得用它,但是又得使用HDL,于是存在一種混合編程的形式。除了頂層模塊用原理圖之外,其他的內部子模塊全部使用HDL來描述,HDL描述的模塊可以通過工具轉換成符號,然后在頂層模塊中引用這些符號,這就完成混合編程。

在接觸的很多FPGA的初學者很容易被原理圖的輸入方式給迷惑,甚至愛的深沉,加上本身其他輸入方式的繁瑣的輸入的厭惡,更是愛的無法自拔。當開始強制性要求開始時養成多用HDL輸入的習慣的時候,有些甚至有著痛心疾首般的痛苦,但是隨著學習的深入,做的東西越來越大,嘗到HDL輸入方式帶來的甜頭的時候,就會覺得那個苦沒有白吃。 我覺得原理圖輸入方式從現在的一些線索看來,在今后的某一天將會終結。首先是找到了原理圖自身帶有優勢的替代品,那就是主流FPGA集成環境中的綜合器和第三方綜合器都具有RTL視圖生成功能,這個視圖完全展示了項目的結構組成,可以上下分層,最大的好處就是可以檢查核實寫的RTL級代碼的綜合后電路情況。

還有一條線索是,大家用的仿真軟件Modelsim并沒有提供原理圖輸入的支持,是原理圖的設計必須在集成環境成轉換成RTL級代碼或是綜合成網表形式來做仿真,也是一件繁瑣的事。原理圖的離開只是時間問題。 至于目前HDL選擇哪一種比較好,這個問題放到開始將HDL基礎語法知識的地方進行探討。這里要說明的是,并不是我們這里講Verilog使用就否定其他的HDL語言。各種HDL的爭端從未停止過,現在還是依然存在四種開發人,第一種是使用Verilog/System Verilog的人,第二種是使用VHDL的人,第三種就是使用System C的人,第四種是混合型的人,到底哪種好,也有也許是時間問題吧,時間證明一切。

綜合

不管是采用單一的輸入方式,還是采用的是混合編程(這種在很多跨公司合作項目中會碰見,也許A公司用的是VHDL,B公司用的是Verilog,那這個項目中很大可能采用混合型),我們統稱得到設計輸入后,都得把設計輸入得到一個可以和FPGA硬件資源相匹配的一個描述。假設FPGA是基于LUT結構的,那么我們就得到一個基于LUT結構門級網表。在這個過程中,又可以分為如圖兩個步驟

需要說明的是在Altera的開發流程中,將編譯、映射過程按照我們敘述的合稱綜合,而在Xilinx開發流程中,由設計輸入得到門級網表的過程叫做綜合,而映射過程歸結到其叫做實現的某一子步驟中。但是整體的流程還是遵循這個順序的,只是叫法一些外表性的不一樣而已。

Synthesis

1. 編譯

原理圖、HDL、IP核這些都將通過編譯后生成門級的網表,這里生成門級網表的過程其實是早期ASIC的步驟,直接生成門電路網表。這個時候的網表文件和具體的器件無關,也就是說,生成的門電路網表也是一種平臺移植的媒質。

2. 映射

我們通過編譯得到一張門級網表之后,與早先ASIC開發流程中在這個門級網表布線后去做掩膜不同,接下來就得考慮如何與我們選擇的硬件平臺結合起來,畢竟我們使用的硬件平臺是由一個一個的LUT(假設這類FPGA)組成的。那么這個結合的過程就是映射過程。 這個過程其實很復雜,首先需要把形成的網表邏輯門給規劃成一些小的組合,然后再去映射到LUT中,這個過程中規劃按照一定的算法和章程進行。不同的算法和章程就會得到不同的映射,不同的映射就會為后面的過程提供不同的選擇,最終生成性能不一樣的電路了。 我們把講基于SRAM技術的FPGA的二選一多路器拿出來舉個例子,如下圖,可以按照紅色線將二選一多路器完全劈成兩邊,原來的一個表就可以規劃到其他兩個表或表內容中,因為被劈成的兩部分可單獨成表,也可以被規劃到其他電路形成的表里。

映射的工程比較復雜,運算量也很大,也是為什么FPGA開發過程中,一直存在的一個問題,形成最終的可配置二進制文件的時間非常長,特別是一些大一點的項目,時間消耗比較長的一個點就是映射了,至于具體的映射算法就超出了書的范圍了。再強調的是,映射是和器件有關的,即使是同一個系列,不同型號的FPGA內部就夠也是有區別的,好比從外觀看都是一個單元樓內的單元房,但是每個單元房內裝修、家具擺設等都是不一樣的。

原文標題:帶你深入了解FPGA開發設計之設計輸入&綜合

文章出處:【微信公眾號:FPGA技術支持】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21946

    瀏覽量

    613543
  • asic
    +關注

    關注

    34

    文章

    1242

    瀏覽量

    121932
  • HDL
    HDL
    +關注

    關注

    8

    文章

    330

    瀏覽量

    47792

原文標題:帶你深入了解FPGA開發設計之設計輸入&綜合

文章出處:【微信號:HK-FPGA_Dep,微信公眾號:FPGA技術支持】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    深入了解U8g2與LVGL圖形庫

    在單片機開發領域,圖形顯示功能變得越來越重要。無論是工業控制界面、智能家居設備,還是手持儀器儀表,都需要一個高效且易用的圖形庫來實現豐富的可視化效果。U8g2 和 LVGL 就是其中兩款備受關注的圖形庫,它們各有特點,適用于不同的應用場景。今天,我們就來深入了解這兩個圖形
    的頭像 發表于 02-13 11:01 ?1578次閱讀

    深入了解 PCB 制造技術:銑削

    了 PCB 銑削的復雜性、銑削工藝、其優勢、挑戰和應用。 了解 PCB 銑削 PCB 銑削涉及從覆銅板上機械去除材料,以創建電氣隔離并形成電路圖案。與使用化學溶液溶解不需要的銅的傳統蝕刻方法不同,銑削使用精確控制的銑削鉆頭來物理雕刻出所需的痕跡。該過程通
    的頭像 發表于 01-26 21:25 ?454次閱讀
    <b class='flag-5'>深入了解</b> PCB 制造技術:銑削

    Arm帶你了解2025年及未來在不同技術市場的關鍵技術方向

    Arm 對未來技術的發展方向及可能出現的趨勢有著廣泛而深刻的洞察。在上周的文章中,我們預測了 AI 和芯片設計方面的未來趨勢,本期將帶你深入了解 2025 年及未來在不同技術市場的關鍵技術方向
    的頭像 發表于 01-24 16:14 ?1216次閱讀

    深入了解渦街流量計 原理及內部構造

    渦街流量計是一種常用的流量測量儀表,LUB系列渦街流量計的內部構造與原理密切相關,共同構成了其高精度、寬量程比和穩定運行的基礎。本文將深入介紹渦街流量計的原理及內部構造,以便更好地了解渦街流量計
    的頭像 發表于 01-06 15:17 ?602次閱讀

    如何為不同的電機選擇合適的驅動芯片?納芯微帶你深入了解

    在現代生活中,電機廣泛使用在家電產品、汽車電子、工業控制等眾多應用領域,每一個電機的運轉都離不開合適的驅動芯片。納芯微提供豐富的電機驅動產品選擇,本期技術分享將重點介紹常見電機種類與感性負載應用,幫助大家更深入了解如何選擇合適的電機驅動芯片。
    的頭像 發表于 12-23 09:58 ?888次閱讀
    如何為不同的電機選擇合適的驅動芯片?納芯微<b class='flag-5'>帶你</b><b class='flag-5'>深入了解</b>!

    深入了解光伏逆變器測試系統

    的交流電(AC)。隨著太陽能發電的廣泛應用,確保光伏逆變器的可靠性和效率變得至關重要,這也使得光伏逆變器測試系統的作用愈發凸顯。 一、光伏逆變器的工作原理 要深入理解光伏逆變器測試系統的必要性,首先需要了解逆變器的
    的頭像 發表于 10-24 14:59 ?575次閱讀
    <b class='flag-5'>深入了解</b>光伏逆變器測試系統

    深入了解PCI轉XMC載板轉接卡

    電子發燒友網站提供《深入了解PCI轉XMC載板轉接卡.docx》資料免費下載
    發表于 09-06 14:35 ?0次下載

    深入了解基于CANoe的VIO系統應用

    VIO System是Vector推出的一款適用于前期單板級測試使用的硬件系統,不僅可以進行總線通訊測試,也可以同時進行I/O信號測試,可以讓工程師在ECU或者傳感器開發前期就發現問題,能夠盡早排查解決,極大降低了人力物力開發成本。
    的頭像 發表于 09-01 16:21 ?3364次閱讀
    <b class='flag-5'>深入了解</b>基于CANoe的VIO系統應用

    萊迪思Propel工具套件加速FPGA應用開發

    許多嵌入式系統的開發者都對使用基于FPGA的SoC系統感興趣,但是基于傳統HDL硬件描述語言的FPGA開發工具和復雜流程往往會令他們望而卻步
    的頭像 發表于 08-30 17:23 ?1266次閱讀

    深入了解 MEMS 振蕩器 溫度補償 MEMS 振蕩器 TC-MO

    深入了解 MEMS 振蕩器/溫度補償 MEMS 振蕩器(TC-MO)-μPower MO1534/MO1569/MO1576/MO8021
    的頭像 發表于 07-30 16:38 ?940次閱讀
    <b class='flag-5'>深入了解</b> MEMS 振蕩器 溫度補償 MEMS 振蕩器 TC-MO

    深入了解表面貼裝晶體諧振器DSX1210A

    深入了解表面貼裝晶體諧振器DSX1210A
    的頭像 發表于 07-25 14:27 ?696次閱讀
    <b class='flag-5'>深入了解</b>表面貼裝晶體諧振器DSX1210A

    深入了解恒溫晶體振蕩器DC5032AS

    深入了解恒溫晶體振蕩器DC5032AS
    的頭像 發表于 07-25 10:37 ?537次閱讀
    <b class='flag-5'>深入了解</b>恒溫晶體振蕩器DC5032AS

    帶你深入了解BLE藍牙模塊工作模式

    藍牙是一種新興無線通訊技術是一個標準的無線通訊協議,可實現無線數據和語音通信。基于低成本設備的收發器芯片,可做近距離的無線連接,為固定和移動設備監理通信環境的一種近距離無線連接技術。其中,BLE藍牙模塊憑借工業級,低功耗,高性能的特性在民用領域物聯網各類設備中穩占一席。 BLE藍牙模塊 BLE藍牙模塊:ZXW BLE藍牙模塊根據藍牙標準分為4.0BLE藍牙模塊、4.2BLE藍牙模塊、5.0BLE藍牙模塊、5.2BLE藍牙模塊,目前基于BLE藍牙模塊的成熟方案
    的頭像 發表于 07-16 13:54 ?1724次閱讀
    <b class='flag-5'>帶你</b><b class='flag-5'>深入了解</b>BLE藍牙模塊工作模式

    FPGA的學習筆記---FPGA開發流程

    與通常的單片機應用開發不同,FPGA有自己的開發流程。但具體上怎樣操作,作為初學者,沒有一點經驗。網站獎勵的清華FPGA需要的
    發表于 06-23 14:47

    小熊派官網正式上線 可深入了解小熊派的各款開發套件

    我們為每一款開發板打造一個開源社區,讓每一位開發者都能在這里找到歸屬感和靈感。通過官網對硬件、軟件、案例和教程的開源,大家可以深入了解小熊派的各款開發套件。
    的頭像 發表于 06-13 08:42 ?1391次閱讀
    小熊派官網正式上線 可<b class='flag-5'>深入了解</b>小熊派的各款<b class='flag-5'>開發</b>套件