97国产精品一区二区视频_国产午夜毛片色哟哟_惠民福利国产91精品看黄网站在线观看_搡老熟女老女人一区二区三区_国产做a∨在线视频观看免费_日韩 综合 婷婷 图_成人黄色一级毛片片_萧山本地第一网络媒体_亚洲国产精品无码久久久曰_亚洲欧美日韩岛国色图

快捷導(dǎo)航

5個步驟帶你入門FPGA設(shè)計流程

2024-5-31 15:28| 發(fā)布者: admin| 查看: 250| 評論: 0
摘要: 導(dǎo)讀:最近幾年,F(xiàn)PGA越來越火。微軟甚至曾表示要數(shù)據(jù)中心里,使用FPGA“代替”CPU。FPGA英文全稱是Field Programmable Gate Array,即現(xiàn)場可編程門陣列。本文就為你科普一下FPGA的一般設(shè)計流程。作者:汪文祥 邢金 ...

導(dǎo)讀:最近幾年,F(xiàn)PGA越來越火。微軟甚至曾表示要數(shù)據(jù)中心里,使用FPGA“代替”CPU。FPGA英文全稱是Field Programmable Gate Array,即現(xiàn)場可編程門陣列。本文就為你科普一下FPGA的一般設(shè)計流程。

作者:汪文祥 邢金璋

來源:華章科技


5個步驟帶你入門FPGA設(shè)計流程

FPGA是一種特殊的集成電路,這意味著它首先是一種集成電路。現(xiàn)在的集成電路絕大多數(shù)都是晶體管集成電路,大家日常接觸最多的是CMOS晶體管集成電路。

晶體管集成電路是什么?通俗來說,就是用金屬導(dǎo)線把許許多多由晶體管構(gòu)成的邏輯門、存儲單元連接成一個電路,具備一定的邏輯功能。

不過,各位讀者設(shè)計數(shù)字邏輯電路時,是否進(jìn)行過用導(dǎo)線連接晶體管的實驗?顯然沒有。大家一般是用一種硬件描述語言(比如VerilogHDL)寫寫代碼,然后運行綜合軟件(比如Vivado),電路就設(shè)計出來了。

這一流程并不是各類課程實驗中所獨有的,它其實與現(xiàn)在工業(yè)界常見的ASIC設(shè)計流程是一致的。FPGA的設(shè)計流程一般有5個步驟:

  1. 電路設(shè)計。
  2. 代碼編寫。
  3. 功能仿真。
  4. 綜合實現(xiàn)。
  5. 上板調(diào)試。

5個步驟帶你入門FPGA設(shè)計流程

01 電路設(shè)計

首先,需要根據(jù)需求規(guī)格制定電路設(shè)計方案。例如,需求是設(shè)計一個MIPS CPU,我們要把這個需求一步步分解、細(xì)化,得到一個能夠滿足需求的電路設(shè)計方案。

我們要決定分成幾個流水級,這里放幾個觸發(fā)器,那里放幾個運算器,它們之間怎么連接,整個電路的狀態(tài)轉(zhuǎn)換行為是怎樣的,等等。

通常,我們將電路設(shè)計細(xì)化到寄存器傳輸級(Register Transfer Level,RTL)就可以了,無須精確到邏輯門級別或是晶體管級別。

02 代碼編寫

代碼編寫階段的工作是把第1步中完成的電路設(shè)計方案用硬件描述語言(Hardware Description Language,HDL)表述出來,成為一種EDA工具能夠看得懂的形式。

03 功能仿真

功能仿真階段的工作是對第2步中用HDL語言描述出來的設(shè)計進(jìn)行功能仿真驗證。所謂功能仿真驗證,就是通過軟件仿真模擬的方式查看電路的邏輯功能行為是否符合最初的設(shè)計需求。

通常我們給電路輸入指定的激勵,觀察電路輸出是否符合預(yù)期,如果不符合則表明電路邏輯功能有錯誤。這種錯誤要么是因為第1步的電路設(shè)計就有錯誤,要么是第2步編寫的代碼不符合電路設(shè)計。

發(fā)現(xiàn)功能錯誤后需要返回前面相應(yīng)的步驟進(jìn)行修正,然后再按照流程一步步推進(jìn)。如此不斷迭代,直到不再發(fā)現(xiàn)錯誤,就可以進(jìn)入下一階段了。

需要指出的是,由于我們對電路是在RTL級建模,因此功能仿真階段不考慮電路的延遲。


5個步驟帶你入門FPGA設(shè)計流程

04 綜合實現(xiàn)

綜合實現(xiàn)階段完成從HDL代碼到真實芯片電路的轉(zhuǎn)換過程。這個過程類似于編譯器把高級語言轉(zhuǎn)換成目標(biāo)機器的二進(jìn)制代碼的過程。

這個階段分為綜合和實現(xiàn)兩個子階段。

  • 綜合階段將HDL描述的設(shè)計編譯為由基本邏輯單元連接而成的邏輯網(wǎng)表,不過此時的網(wǎng)表還不是最終的門級電路網(wǎng)表。
  • 實現(xiàn)階段才會將綜合出的邏輯網(wǎng)表映射為FPGA中的具體電路,即將邏輯網(wǎng)表中的基本邏輯單元映射到FPGA芯片內(nèi)部固有的硬件邏輯模塊上(稱為“布局”)。隨后,基于布局的拓?fù)洌肍PGA芯片內(nèi)部的連線資源,將各個映射后的邏輯模塊連接起來(稱為“布線”)。

如果整個綜合實現(xiàn)過程沒有發(fā)生異常,EDA工具將生成一個比特流(Bitstream)文件。通俗來說,這個比特流文件描述的就是最終的電路,但這個文件只有FPGA芯片能讀得懂。

05 上板調(diào)試

俗話說:“是騾子是馬拉出來遛遛”。不管功能仿真得多正確,最終還是要看實際電路能否正常工作。

在上板調(diào)試階段,首先要將綜合實現(xiàn)階段生成的比特流文件下載到FPGA芯片中,隨后運行電路觀察其工作是否正常,如果發(fā)生問題就要調(diào)試、定位出錯的原因。


5個步驟帶你入門FPGA設(shè)計流程

小結(jié)一下,上面介紹的FPGA一般設(shè)計流程給出了總的脈絡(luò),以便讀者先建立一個正確的整體概念。FPGA設(shè)計流程中還包含很多細(xì)節(jié),可參考《CPU設(shè)計實戰(zhàn)》一書。


關(guān)于作者:汪文祥,工學(xué)博士,龍芯中科技術(shù)股份有限公司首席工程師,中國科學(xué)院大學(xué)崗位教授。主要研究方向為處理器體系結(jié)構(gòu)設(shè)計、處理器驗證及計算機系統(tǒng)性能分析優(yōu)化等,參與了多項國家“核高基”、863 和 973 項目,在國內(nèi)外各種期刊會議發(fā)表文章十余篇,申請專利數(shù)十項,授權(quán)專利十余項。

邢金璋,碩士畢業(yè)于中國科學(xué)院計算技術(shù)研究所,2015年加入龍芯中科技術(shù)股份有限公司,從事處理器核結(jié)構(gòu)設(shè)計工作,是龍芯小、中系列處理器核演進(jìn)版本的主要結(jié)構(gòu)設(shè)計者之一。近年來,積極參與“龍芯杯”全國大學(xué)生計算機系統(tǒng)能力培養(yǎng)大賽的技術(shù)支持、培訓(xùn)等工作。

本文摘編自《CPU設(shè)計實戰(zhàn)》,經(jīng)出版方授權(quán)發(fā)布。


5個步驟帶你入門FPGA設(shè)計流程

延伸閱讀《CPU設(shè)計實戰(zhàn)》

推薦語:深入剖析CPU設(shè)計與開發(fā)的關(guān)鍵環(huán)節(jié);從零開始逐步構(gòu)建一個功能完善的CPU;全面培養(yǎng)CPU設(shè)計的工程化思維與實戰(zhàn)能力。


鮮花

握手

雷人

路過

雞蛋

關(guān)注我們:東遠(yuǎn)物聯(lián)

抖音

微信咨詢

咨詢電話:

199-2833-9866

D-Think | 廣州東遠(yuǎn)智能科技有限公司

地址:廣州市白云區(qū)北太路1633號廣州民營科技園科創(chuàng)中心2棟16樓

電話:+86 020-87227952 Email:[email protected]

Copyright  ©2020  東遠(yuǎn)科技  粵ICP備2024254589號

免責(zé)申明:部分圖文表述來自于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系作者刪除!