伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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
    +關注

    關注

    1662

    文章

    22480

    瀏覽量

    638546
  • asic
    +關注

    關注

    34

    文章

    1277

    瀏覽量

    124905
  • HDL
    HDL
    +關注

    關注

    8

    文章

    332

    瀏覽量

    49038

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    深入了解ACE1101:適用于低功耗應用的算術控制器引擎

    深入了解ACE1101:適用于低功耗應用的算術控制器引擎 在當今對功耗要求日益嚴苛的電子應用領域,低功耗高性能的微控制器顯得尤為重要。Fairchild Semiconductor推出
    的頭像 發表于 04-10 14:45 ?92次閱讀

    深入了解MAXQ2000低功耗LCD微控制器:特性、應用與設計要點

    深入了解MAXQ2000低功耗LCD微控制器:特性、應用與設計要點 在電子設計領域,低功耗、高性能的微控制器一直是工程師們追求的目標。MAXQ2000低功耗LCD微控制器憑借其獨特的特性和廣泛
    的頭像 發表于 04-09 17:10 ?537次閱讀

    深入了解MC9S08GB/GT系列微控制器

    深入了解MC9S08GB/GT系列微控制器 在電子工程領域,微控制器的性能和功能對于產品的設計和開發至關重要。今天,我們將深入探討Freescale Semiconductor(現NXP
    的頭像 發表于 04-09 14:35 ?95次閱讀

    深入解析IGLOO2 FPGA與SmartFusion2 SoC FPGA:性能、特性與應用

    、高性能和低功耗等優勢,在眾多領域得到了廣泛應用。今天,我們就來詳細探討Microsemi公司的IGLOO2 FPGA和SmartFusion2 SoC FPGA深入了解它們的特性、性能以及在實際應用中
    的頭像 發表于 04-07 11:55 ?153次閱讀

    深入了解Maxim產品命名規則

    深入了解Maxim產品命名規則 電子工程師在進行產品設計時,常常需要與各種不同的電子元件打交道。而熟悉這些元件的命名規則,對于我們準確選擇和使用產品至關重要。今天,就讓我們一起來詳細了解Maxim
    的頭像 發表于 04-02 14:55 ?126次閱讀

    深入了解LM25066I/A:全方位的系統電源管理與保護方案

    深入了解LM25066I/A:全方位的系統電源管理與保護方案 在當前復雜的電子系統中,高效且可靠的電源管理與保護至關重要。Texas Instruments的LM25066I和LM25066IA作為
    的頭像 發表于 02-28 11:20 ?235次閱讀

    深入了解Renesas E1/E20 Emulator:從規范到應用

    深入了解Renesas E1/E20 Emulator:從規范到應用 引言 在微控制器(MCU)的開發過程中,調試工具起著至關重要的作用。Renesas的E1/E20 Emulator就是一款強大
    的頭像 發表于 02-10 15:25 ?255次閱讀

    深入了解 LM4881 雙聲道 200mW 耳機放大器:特性、參數與應用設計

    深入了解 LM4881 雙聲道 200mW 耳機放大器:特性、參數與應用設計 在電子設備日新月異的今天,音頻放大器作為眾多設備中不可或缺的一部分,其性能和特點對整個系統的音效體驗起著至關重要的作用
    的頭像 發表于 02-04 16:50 ?793次閱讀

    深入了解LM5111:高性能雙路柵極驅動器的技術剖析

    深入了解LM5111:高性能雙路柵極驅動器的技術剖析 在電子工程師的日常工作中,選擇合適的柵極驅動器至關重要。它直接影響著電路的性能和穩定性。今天,我們就來深入探討一款性能卓越的雙路柵極驅動器
    的頭像 發表于 01-11 18:00 ?1181次閱讀

    深入了解 S32K312EVB-Q172 開發板:硬件特性與使用指南

    深入了解 S32K312EVB-Q172 開發板:硬件特性與使用指南 在嵌入式開發領域,一款優秀的開發板能夠極大地提升開發效率和項目的成功率
    的頭像 發表于 12-25 09:30 ?358次閱讀

    深入了解SRF7038A系列共模扼流圈

    深入了解SRF7038A系列共模扼流圈 在電子設計的領域中,共模扼流圈是解決電磁干擾(EMI)問題的關鍵元件之一。今天,我們就來詳細探討一下BOURNS的SRF7038A系列共模扼流圈,看看它有
    的頭像 發表于 12-22 14:10 ?485次閱讀

    是德科技VPS如何用高精度仿真和AI工具重塑安全氣囊開發流程

    精度,更加速創新,幫助制造商在智能化浪潮中搶占先機。本文將帶你深入了解,是德科技VPS如何用高精度仿真和AI工具,重塑安全氣囊開發流程
    的頭像 發表于 11-17 10:52 ?701次閱讀
    是德科技VPS如何用高精度仿真和AI工具重塑安全氣囊<b class='flag-5'>開發</b><b class='flag-5'>流程</b>

    深入了解X-ray自動設備的核心優勢與應用領域

    。面對復雜多變的工業環境和嚴格的品質標準,企業如何借助自動化X射線檢測設備優化生產流程、提升檢測準確度?本文將圍繞X-ray自動設備的核心優勢與應用領域展開詳盡解讀,幫助您深入了解該技術帶來的變革與價值。無論您是工廠質量管
    的頭像 發表于 11-04 14:34 ?330次閱讀

    深入了解API:詳解應用程序接口的作用和原理

    引言:在現代軟件開發領域中, API(Application Programming Interface,應用程序接口)扮演著至關重要的角色。無論是在Web開發、移動應用還是大型軟件系統中,API
    的頭像 發表于 11-03 09:37 ?501次閱讀

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

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