99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

一個(gè)簡單的FPGA設(shè)計(jì)Flow流程示意圖

電子工程師 ? 來源:lq ? 2018-12-20 13:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天再啰嗦點(diǎn)玄學(xué) - fpga的設(shè)計(jì)流程,因?yàn)椤傲鞒獭蔽覀儗W(xué)習(xí)任何一門技術(shù)都必須事先清楚的重要信息。

還是先劃一下重點(diǎn) - 我們應(yīng)該學(xué)什么?想一下如果你要去駕校學(xué)開車,什么是你的重點(diǎn)?開車的一系列要領(lǐng)和技術(shù)還是你用來學(xué)習(xí)駕駛的車的按鈕的操作?顯然是前者,雖然市場上的車有幾十上百個(gè)不同的型號,多數(shù)的駕校都用桑塔納來當(dāng)教練車,基于的前提就是所有的車支持你在路上行駛的功能(換擋、加速、剎車、后視鏡、方向盤)都是齊備的,主要的不同點(diǎn)在于這些功能按鈕擺放的位置不同。

因此當(dāng)你要駕駛一輛從未摸過的車,你心里并不緊張,因?yàn)槟阋呀?jīng)學(xué)會(huì)了駕駛,而且知道所有的車操作起來都大同小異,只要花5分鐘看一下說明書,熟悉一下各個(gè)功能的按鈕在哪里就可以上路了。

設(shè)計(jì)FPGA和畫PCB道理也是如此 - 我們要清楚地知道你需要掌握的技術(shù)是什么?運(yùn)用這些技術(shù)需要的步驟、流程是什么?包括哪些環(huán)節(jié)?把這些搞清楚了,無論你用哪家的平臺、哪家的工具,就像換一輛不同品牌的車一樣都可以在簡單地對應(yīng)之后從容操作。

因此,要學(xué)習(xí)設(shè)計(jì)FPGA,第一件要做的事情就是FPGA設(shè)計(jì)和使用要經(jīng)歷哪些環(huán)節(jié)、流程?每個(gè)環(huán)節(jié)的注意事項(xiàng)是什么?

下面是一個(gè)簡單的FPGA設(shè)計(jì)Flow(流程)示意圖。

我們來看看每一步都要做什么事情:

設(shè)計(jì)定義:雖然貌似跟器件還沒打交道,這一步卻是整個(gè)過程中最重要的,它是將你的需求轉(zhuǎn)化為具體的邏輯功能實(shí)現(xiàn)的過程。比如你要設(shè)計(jì)一個(gè)交通燈的控制邏輯,我建議你去馬路邊蹲十分鐘,仔細(xì)觀察十字路口的交通燈的變化方式,用你自己的語言把每個(gè)狀態(tài)以及各個(gè)狀態(tài)之間的轉(zhuǎn)換方式、導(dǎo)致這些轉(zhuǎn)換的條件等描述清楚,將這些用筆在紙上畫出來,不漏掉任何一個(gè)細(xì)節(jié),做到這點(diǎn),你的邏輯其實(shí)已經(jīng)出來了。后面的步驟都是工具要做的事情 - 將你腦子里的邏輯轉(zhuǎn)變成用FPGA芯片執(zhí)行的邏輯,并通過板子上的按鍵、LED指示燈等表現(xiàn)出來而已。復(fù)雜的任務(wù)就需要進(jìn)行分解,就像你有一個(gè)團(tuán)隊(duì),團(tuán)隊(duì)中的每一個(gè)角色承擔(dān)不同的職能,既要定義好每個(gè)角色的功能,又要定義好他們之間的關(guān)聯(lián)方式,也就是你需要將要實(shí)現(xiàn)的邏輯功能自上而下(Top Down)地分解為多個(gè)功能模塊(module),把每個(gè)模塊之間的接口信號及相應(yīng)的時(shí)序關(guān)系定義清楚;

告訴機(jī)器該怎么做:將你紙上畫好的邏輯關(guān)系用計(jì)算機(jī)工具軟件能夠理解的語言方式撰寫清楚,這個(gè)過程叫邏輯輸入,使用的方式可以是原理圖(最古老、直觀的方式)或者一些硬件描述語言 - Verilog、System Verilog、VHDL、System C等。在我們的教程中用的是Verilog這種硬件描述語言(HDL),做過PCB設(shè)計(jì)的同學(xué)肯定會(huì)覺得這個(gè)過程很類似繪制原理圖;

通過驗(yàn)證確保機(jī)器的理解跟你想的一致:在用這些機(jī)器語言表述你的邏輯的時(shí)候你要確保機(jī)器理解的跟你自己理解的是一致的,如何才能做到這一點(diǎn)?我們聰明的工程師發(fā)明了“Simulation(仿真)”這么個(gè)過程,給出一些輸入條件,看機(jī)器理解的結(jié)果是不是如你預(yù)期的一樣,如果有出入,那就是你們之間的溝通有問題,也就是你用它的語言表述的不夠清晰、準(zhǔn)確,你需要進(jìn)行調(diào)整;類比PCB設(shè)計(jì),這個(gè)過程類似你設(shè)計(jì)了一個(gè)模擬電路之后需要運(yùn)行Spice工具對你設(shè)計(jì)的電路以及相應(yīng)的參數(shù)進(jìn)行驗(yàn)證一樣。很多人省去了這個(gè)過程,把風(fēng)險(xiǎn)留給了后面;

讓機(jī)器生成一個(gè)“它”理解的邏輯,這一步叫邏輯綜合,當(dāng)然得到的結(jié)果是機(jī)器能夠理解的抽象的關(guān)系圖,基于這個(gè)關(guān)系圖機(jī)器就可以在下一步自動(dòng)根據(jù)FPGA的內(nèi)部資源進(jìn)行具體的功能分配了。到現(xiàn)在為止還沒有跟具體的FPGA器件發(fā)生任何關(guān)系,這就類似PCB設(shè)計(jì)中基于繪制的原理圖生成了Netlist一樣。

針對具體的FPGA器件進(jìn)行資源分配 - 我們叫Implementation,也可以叫Place & Route(中文意思是布局布線,跟PCB中的過程類似)。這個(gè)過程就與你選用的哪家的器件、哪個(gè)類別的器件、哪個(gè)型號的器件,乃至哪個(gè)速度等級的器件都有關(guān)系了,在資源分配的過程中你一定要給出讓計(jì)算機(jī)分配資源的約束條件,除了你選用的具體的器件本身的資源限制以外,你要指定在邏輯中的哪個(gè)信號對應(yīng)在哪個(gè)管腳上,從一個(gè)管腳到另一個(gè)管腳之間的最大延時(shí)是多少等等,這就類似PCB布局布線的時(shí)候你一定要根據(jù)加工廠提供的需求設(shè)定每根走線的寬度、線間距、過孔的大小等design rule一樣。道理都是一致的,面對具體的器件,你不能隨心所欲。

每次完成布局布線,因?yàn)椴煌瑥S商的不同型號的器件其內(nèi)部的構(gòu)成架構(gòu)是不同的,因此需要再次驗(yàn)證將你的邏輯映射到具體的器件的具體資源里面以后,它干的活是不是滿足你的要求,不僅要求其實(shí)現(xiàn)你需要的功能,更要要求其滿足你要求的性能,也就是說內(nèi)部的這些功能塊乃至每個(gè)門之間的時(shí)序配合要滿足你的要求,否則在實(shí)際的系統(tǒng)中就會(huì)出亂子的。這就像國慶閱兵,每個(gè)部隊(duì)在拉到長安街之前要經(jīng)過嚴(yán)格的演練,要做各種演習(xí),驗(yàn)證你的每一個(gè)環(huán)節(jié)都配合得天衣無縫。

一切都完美 - perfect,生成一個(gè)最高指示 - bit stream,發(fā)送到你選中的fpga芯片配置的PROM中,每次FPGA加上電以后就調(diào)用這些PROM中的最高指示,將其內(nèi)部的資源配置成最高指示想要的模樣,任勞任怨地干活唄。

這個(gè)流程清楚了吧?每家的FPGA都得遵循這個(gè)過程,無論是其中的貴族還是貧民,因?yàn)樵O(shè)計(jì)的規(guī)則都是一樣的。

還是那話,無論是Lattice的Diamond,IntelQuartus,亦或是Xilinx的Vivado,都是“大同”的 - 都要具備這些功能,都要遵循這些流程,不同的就是有的搞得簡約一些,有得搞得華麗一些,每個(gè)按鈕點(diǎn)一點(diǎn),每個(gè)輸出的結(jié)果看一看,就清楚他們之間的“小異”了。

不要再宣稱我只會(huì)用Xilinx的Vivado、我只會(huì)用Altium的AD,這只能說明你沒有真正掌握設(shè)計(jì)的核心。

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

    關(guān)注

    1645

    文章

    22049

    瀏覽量

    618333
  • 機(jī)器
    +關(guān)注

    關(guān)注

    0

    文章

    790

    瀏覽量

    41282
  • 機(jī)器語言
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    10908

原文標(biāo)題:從概念到FPGA邏輯實(shí)現(xiàn)的設(shè)計(jì)流程

文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    氯離子結(jié)構(gòu)示意圖和鈉離子結(jié)構(gòu)示意圖

    氯離子結(jié)構(gòu)示意圖和鈉離子結(jié)構(gòu)示意圖
    發(fā)表于 05-28 22:34 ?5.6w次閱讀
    氯離子結(jié)構(gòu)<b class='flag-5'>示意圖</b>和鈉離子結(jié)構(gòu)<b class='flag-5'>示意圖</b>

    電腦鍵盤示意圖,計(jì)算機(jī)鍵盤示意圖

    電腦鍵盤示意圖,計(jì)算機(jī)鍵盤示意圖
    發(fā)表于 03-10 10:51 ?12.8w次閱讀

    飛機(jī)示意圖

    飛機(jī)示意圖
    發(fā)表于 05-26 15:47 ?2431次閱讀

    失會(huì)聚示意圖

    失會(huì)聚示意圖
    發(fā)表于 07-31 12:13 ?1178次閱讀

    順序傳輸制示意圖

    順序傳輸制示意圖
    發(fā)表于 07-31 12:18 ?971次閱讀

    混合動(dòng)力汽車示意圖

    混合動(dòng)力汽車示意圖插入式混合動(dòng)力汽車結(jié)構(gòu)示意圖
    發(fā)表于 11-21 14:45 ?2217次閱讀

    Altera公司的FPGA選擇示意圖資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Altera公司的FPGA選擇示意圖資料免費(fèi)下載。
    發(fā)表于 05-25 08:00 ?21次下載
    Altera公司的<b class='flag-5'>FPGA</b>選擇<b class='flag-5'>示意圖</b>資料免費(fèi)下載

    螺栓示意圖下載

    螺栓示意圖下載
    發(fā)表于 01-10 14:15 ?12次下載

    個(gè)電子馬達(dá)啟動(dòng)電路的示意圖

    圖中是個(gè)電子馬達(dá)啟動(dòng)電路的示意圖。該電機(jī)啟動(dòng)器可保護(hù)單相電機(jī)免受電壓波動(dòng)和過載的影響。其突出的功能是操作簡單的軟開/關(guān)電子開關(guān)。
    的頭像 發(fā)表于 07-02 09:42 ?6136次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>電子馬達(dá)啟動(dòng)電路的<b class='flag-5'>示意圖</b>

    5X35023 參考示意圖

    5X35023 參考示意圖
    發(fā)表于 03-14 19:28 ?0次下載
    5X35023 參考<b class='flag-5'>示意圖</b>

    9ZX21901 參考示意圖

    9ZX21901 參考示意圖
    發(fā)表于 03-21 19:17 ?0次下載
    9ZX21901 參考<b class='flag-5'>示意圖</b>

    9ZX21201 參考示意圖

    9ZX21201 參考示意圖
    發(fā)表于 03-21 19:17 ?0次下載
    9ZX21201 參考<b class='flag-5'>示意圖</b>

    9FGV1006 參考示意圖

    9FGV1006 參考示意圖
    發(fā)表于 05-19 18:40 ?0次下載
    9FGV1006 參考<b class='flag-5'>示意圖</b>

    9DBL0455 參考示意圖

    9DBL0455 參考示意圖
    發(fā)表于 07-05 18:50 ?0次下載
    9DBL0455 參考<b class='flag-5'>示意圖</b>

    9FGV1004 參考示意圖

    9FGV1004 參考示意圖
    發(fā)表于 07-07 19:15 ?1次下載
    9FGV1004 參考<b class='flag-5'>示意圖</b>