国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

Verilog HDL高級數字設計

FPGA研究院 ? 來源:FPGA研究院 ? 作者:FPGA研究院 ? 2022-11-03 09:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、入門首先要掌握HDL(HDL=verilog+VHDL)。

第一句話是:還沒學數電的先學數電。然后你可以選擇verilog或者VHDL,有C語言基礎的,建議選擇VHDL。因為verilog太像C了,很容易混淆,最后你會發現,你花了大量時間去區分這兩種語言,而不是在學習如何使用它。當然,你思維能轉得過來,也可以選verilog,畢竟在國內verilog用得比較多。

接下來,首先找本實例抄代碼。抄代碼的意義在于熟悉語法規則和編譯器(又叫綜合器),常用的集成開發環境有:IntelQuartus、Xilinx的ISE和Vivado、Design Compiler、Synopsys的VCS、Linux下的iverilog、Lattice的Diamond、Microchip的Libero、Synplify pro,然后再模仿著寫,最后不看書也能寫出來。編譯完代碼,就打開RTL圖,看一下綜合出來是什么樣的電路。

HDL是硬件描述語言,突出硬件這一特點,所以要用數電的思維去思考HDL,而不是用C語言或者其它高級語言,如果不能理解這句話的,可以看《什么是硬件以及什么是軟件》。在這一階段,推薦的教材是《Verilog HDL高級數字設計》或者是《用于邏輯綜合的VHDL》。不看書也能寫出個三段式狀態機就可以進入下一階段了。

此外,你手上必須準備Verilog或者VHDL的官方文檔,《verilog_IEEE官方標準手冊-2005_IEEE_P1364》、《IEEE Standard VHDL Language_2008》,以便遇到一些語法問題的時候能查一下。

二、獨立完成中小規模的數字電路設計。

現在,你可以設計一些數字電路了,像交通燈、電子琴、DDS等等,推薦的教材是《Verilog HDL應用程序設計實例精講》。在這一階段,你要做到的是:給你一個指標要求或者時序圖,你能用HDL設計電路去實現它。這里你需要一塊開發板,可以選Altera的cyclone IV系列,或者Xilinx的Spantan 6。還沒掌握HDL之前千萬不要買開發板,因為你買回來也沒用。這里你沒必要每次編譯通過就下載代碼,咱們用modelsim仿真(此外還有QuestaSim、NC verilog、Diamond的Active-HDL、VCS、Debussy/Verdi等仿真工具),如果仿真都不能通過那就不用下載了,肯定不行的。在這里先掌握簡單的testbench就可以了。推薦的教材是《WRITING TESTBENCHES Functional Verification of HDL Models》。

三、掌握設計方法和設計原則。

你可能發現你綜合出來的電路盡管沒錯,但有很多警告。這個時候,你得學會同步設計原則、優化電路,是速度優先還是面積優先,時鐘樹應該怎樣設計,怎樣同步兩個異頻時鐘等等。推薦的教材是《FPGA權威指南》、《Altera FPGA/CPLD設計》第二版的基礎篇和高級篇兩本。學會加快編譯速度(增量式編譯、LogicLock),靜態時序分析(timequest),嵌入式邏輯分析儀(signaltap)就算是通關了。如果有不懂的地方可以暫時跳過,因為這部分還需要足量的實踐,才能有較深刻的理解。

四、學會提高開發效率。

因為Quartus和ISE的編輯器功能太弱,影響了開發效率。所以建議使用Sublime text編輯器中代碼片段的功能,以減少重復性勞動。Modelsim也是常用的仿真工具,學會TCL/TK以編寫適合自己的DO文件,使得仿真變得自動化,推薦的教材是《TCL/TK入門經典》。你可能會手動備份代碼,但是專業人士都是用版本控制器Git的,可以提高工作效率。文件比較器Beyond Compare也是個比較常用的工具,Git也有比較功能。此外,你也可以使用System Verilog來替代testbench,這樣效率會更高一些。如果你是做IC驗證的,就必須掌握System Verilog和驗證方法學(UVM)。推薦的教材是《Writing Testbenches using SystemVerilog》、《The UVM Primer》、《System Verilog1800-2012語法手冊》。

掌握了TCL/TK之后,可以學習虛擬Jtag(ISE也有類似的工具)制作屬于自己的調試工具,此外,有時間的話,最好再學個python。腳本,意味著一勞永逸。

五、增強理論基礎。

這個時候,你已經會使用FPGA了,但是還有很多事情做不了(比如,FIR濾波器、PID算法、OFDM等),因為理論沒學好。我大概地分幾個方向供大家參考,后面跟的是要掌握的理論課。

1、信號處理——信號與系統、數字信號處理、多采樣率信號處理、數字圖像處理、現代數字信號處理、盲信號處理、自適應濾波器原理、雷達信號處理。

2、接口應用——如:UART、SPI、IIC、USBCAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太網接口)、SATA、光纖、DisplayPort、HDMI

3、無線通信——信號與系統、數字信號處理、通信原理、移動通信基礎、隨機過程、信息論與編碼。

4、CPU設計——計算機組成原理、單片機、計算機體系結構、編譯原理、RISC-V

5、儀器儀表——模擬電子技術、高頻電子線路、電子測量技術、智能儀器原理及應用。

6、控制系統——自動控制原理、現代控制理論、過程控制工程、模糊控制器理論與應用。

7、壓縮、編碼、加密——數論、抽象代數、現代編碼技術、信息論與編碼、數據壓縮導論、應用密碼學、音頻信息處理技術、數字視頻編碼技術原理、H.265

現在你發現,原來FPGA會涉及到那么多知識,你可以選一個感興趣的方向,但是工作中很有可能用到其中幾個方向的知識,所以理論還是學得越多越好。如果你要更上一層,數學和英語是不可避免的。

六、學會使用MATLAB仿真。

設計FPGA算法的時候,多多少少都會用到MATLAB,比如CRC的系數矩陣、FFT、數字濾波器系數、各種表格和文本處理等。此外,MATLAB還能用于調試HDL(用MATLAB的計算結果跟用HDL算出來的一步步對照,可以知道哪里出問題)。推薦的教材是《MATLAB寶典》和杜勇的《數字濾波器的MATLAB與FPGA實現》。

七、足量的實踐。

這個時候你至少讀過幾遍芯片手冊(官網有),然后可以針對自己的方向,做一定量的實踐了(期間要保持良好的代碼風格,增加元件例化語句的可讀性,繪制流程圖/時序圖,撰寫文檔的習慣)。比如:通信類的可以做調制解調算法,儀表類的可以做總線分析儀等等。不過這些算法,在書上只是給了個公式、框圖而已,跟實際的差距很大,你甚至會覺得書上的東西都很膚淺。那么,你可以在知網、百度文庫、EETOP論壇、opencores、ChinaAET、SCI-HUB、Q群共享、博客上面找些相關資料(校外的朋友可以在淘寶買個知網賬號)。其實,當你到了這個階段,你已經達到了職業級水平,有空就多了解一些前沿技術,這將有助于你的職業規劃。

在工作當中,或許你需要關注很多協議和行業標準,協議可以在EETOP上面找到,而標準(如:國家標準GB和GB/T,國際標準ISO)就推薦《標準網》和《標準分享網》。

八、圖像處理。(這部分只寫給想學圖像處理的朋友,也是由淺入深的路線)

1、Photoshop。花一、兩周的時間學習PS,對圖像處理有個大概的了解,知道各種圖片格式、直方圖、色相、通道、濾鏡、拼接等基本概念,并能使用它。這部分是0基礎,目的讓大家對圖像處理有個感性的認識,而不是一上來就各種各樣的公式推導。推薦《Photoshop CS6完全自學教程》。

2、基于MATLAB或OpenCV的圖像處理。有C/C++基礎的可以學習OpenCV,否則的話,建議學MATLAB。這個階段下,只要學會簡單的調用函數即可,暫時不用深究實現的細節。推薦《數字圖像處理matlab版》、《學習OpenCV》。

3、圖像處理的基礎理論。這部分的理論是需要高數、復變、線性代數、信號與系統、數字信號處理等基礎,基礎不好的話,建議先補補基礎再來。看不懂的理論也可以暫時先放下,或許學到后面就自然而然地開竅了。推薦《數字圖像處理》。

4、基于FPGA的圖像處理。把前面學到的理論運用到FPGA上面,如果這時你有前面第七個階段的水平,你將輕松地獨立完成圖像算法設計(圖像處理是離不開接口的,上面第五個階段有講)。如果你沒有開發板,請參考《Verilog讀取bmp圖片》。推薦《基于FPGA的嵌入式圖像處理系統設計》、《基于FPGA的數字圖像處理原理及應用》。

5、進一步鉆研數學。要在算法上更上一層,必然需要更多的數學,所以這里建議學習實分析、泛涵分析、小波分析等。

下面這兩個階段是給感興趣的朋友介紹的。

九、數電的盡頭是模電

現在FPGA內部的事情是難不到你的,但是信號出了FPGA,你就沒法控制了。這個時候必須學好模電。比如:電路分析模擬電子技術、高頻電子線路、PCB設計EMC、SI、PI等等,能設計出一塊帶兩片DDR3的FPGA開發板,就算通關了。

十、學無止境。

能到這個境界,說明你已經很厲害了,但是還有很多東西要學的,因為FPGA常常要跟CPU交互,也就是說你得經常跟軟件工程師交流,所以也得懂點軟件方面的知識。比如ARM(Xilinx的ZYNQ和Altera的SOC會用到ARM的硬核,請參考本博客的《如何學習嵌入式軟件》)、DSP、Linux、安卓、上位機(QT、C#JAVA)都可以學一下,反正學無止境的。

十一、其它問題。

a、為什么不推薦學習NIOS II和MicroBlaze等軟核?

1、性價比不高,一般的軟核性能大概跟Cortex M3或M4差不多,用FPGA那么貴的東西去做一個性能一般的CPU,在工程上是非常不劃算的。不如另外加一塊M3。

2、加上軟核,可能會影響到其它的邏輯的功能。這是在資源并不十分充足的情況下,再加上軟核,導致布局布線變得相當困難。

3、軟核不開源,出現Bug的時候,不容易調試。

4、工程上很少使用,極有可能派不上用場。

b、為什么不推薦0基礎學習ZYNQ或SOC?

1、容易讓人有傍同心理。傍同心理是指一個人通過渲染與自己有親近關系的人的杰出,來掩蓋和彌補自己在這方面的不足,從而獲得心理上的平衡。自己在學習很厲害的東西,然后也感覺自己很厲害,但這只是錯覺而已。

2、入門應該學習盡量簡單的東西,要么專心學習ARM,要么專心學習FPGA。這樣更容易有成就感,增強信心。

3、ZYNQ和SOC的應用領域并不廣,還有很多人沒聽過這種東西,導致求職的不利。

4、開發工具編譯時間長,浪費較多時間。

5、絕大多數工作,都只是負責一方面,也就是說另一方面,很有可能派不上用場。

c、為什么已經存在那么多IP核,仍然需要寫HDL?

1、問這種問題的,一般是學生,他們沒有做過產品,沒有遇到過工程上的問題。

2、IP核并非萬能,不能滿足所有需求。

3、盡量少用閉源IP核,一旦出問題,這種黑匣子很可能讓產品難產。

4、深入理解底一層次,可以更好地使用高一層次。該法則可以適用于所有編程語言。

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

    關注

    30

    文章

    1374

    瀏覽量

    114518
  • HDL
    HDL
    +關注

    關注

    8

    文章

    332

    瀏覽量

    48972
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51588

原文標題:如何學習FPGA?

文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Verilog HDL語法學習筆記

    Verilog HDL 語 言 最 初 是 作為 Gateway Design Automation 公 司 ( Gateway DesignAutomation 公司后來被著名的 Cadence Design Systems 公司收購)模擬器產品開發的硬件建模語言。
    的頭像 發表于 03-04 15:04 ?1374次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>語法學習筆記

    汽車級數字全極性開關霍爾效應傳感器 DRV5033-Q1 深度解析

    汽車級數字全極性開關霍爾效應傳感器 DRV5033-Q1 深度解析 在汽車電子領域,傳感器的性能和可靠性至關重要。今天我們要深入探討的是德州儀器(TI)推出的 DRV5033-Q1 汽車級數字全極性
    的頭像 發表于 02-25 11:15 ?132次閱讀

    DRV5023-Q1:汽車級數字開關霍爾效應傳感器的深度解析

    DRV5023-Q1:汽車級數字開關霍爾效應傳感器的深度解析 在汽車電子領域,傳感器的性能和可靠性至關重要。今天我們要深入探討的是德州儀器(TI)的DRV5023-Q1汽車級數字開關霍爾效應傳感器
    的頭像 發表于 02-25 11:10 ?116次閱讀

    MAX14987:2.5A 八通道五級數字脈沖發生器的深度解析

    MAX14987:2.5A 八通道五級數字脈沖發生器的深度解析 在電子工程領域,超聲系統的性能提升一直是大家關注的焦點。而其中,脈沖發生器作為關鍵組件,其性能直接影響著超聲成像的質量。今天,我們就來
    的頭像 發表于 02-04 15:35 ?130次閱讀

    汽車級數字隔離器ISO733x-Q1:特性、應用與設計要點

    汽車級數字隔離器ISO733x-Q1:特性、應用與設計要點 在電子工程師的日常設計中,數字隔離器是保障系統安全、穩定運行的關鍵組件之一。今天,我們就來深入探討一下ISO7330-Q1
    的頭像 發表于 01-23 10:30 ?275次閱讀

    FPGA 入門必看:Verilog 與 VHDL 編程基礎解析!

    很多開發者第一次接觸FPGA,都會有同樣的疑問:FPGA是硬件,不是軟件,怎么寫程序?答案就是用硬件描述語言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門,搞清楚FPGA編程
    的頭像 發表于 01-19 09:05 ?445次閱讀
    FPGA 入門必看:<b class='flag-5'>Verilog</b> 與 VHDL 編程基礎解析!

    DLPC23x-Q1汽車級數字微鏡器件控制器:技術解析與應用指南

    DLPC23x-Q1汽車級數字微鏡器件控制器:技術解析與應用指南 在汽車電子產品不斷發展的今天,對于高性能、高可靠性的顯示和照明解決方案的需求日益增長。DLPC23x-Q1汽車級數字微鏡器件(DMD
    的頭像 發表于 12-11 16:30 ?926次閱讀

    【產品介紹】Modelsim:HDL語言仿真軟件

    概述ModelSim是業界最優秀的HDL語言仿真軟件,它能提供友好的仿真環境,是業界唯一的單內核支持VHDL和Verilog混合仿真的仿真器。它采用直接優化的編譯技術、Tcl/Tk技術、和單一內核
    的頭像 發表于 11-13 11:41 ?495次閱讀
    【產品介紹】Modelsim:<b class='flag-5'>HDL</b>語言仿真軟件

    如何利用Verilog HDL在FPGA上實現SRAM的讀寫測試

    本篇將詳細介紹如何利用Verilog HDL在FPGA上實現SRAM的讀寫測試。SRAM是一種非易失性存儲器,具有高速讀取和寫入的特點。在FPGA中實現SRAM讀寫測試,包括設計SRAM接口模塊
    的頭像 發表于 10-22 17:21 ?4338次閱讀
    如何利用<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>在FPGA上實現SRAM的讀寫測試

    使用Simulink自動生成浮點運算HDL代碼(Part 1)

    引言 想要實現浮點運算功能,如果自己寫Verilog代碼,需要花費較多的時間和精力。好在Simulink HDL Coder工具箱提供了自動代碼生成技術。下圖展示了HDL Coder如何生成浮點運算
    發表于 10-22 06:48

    華盛昌真有效值工業級數字鉗形表系列的應用案例

    華盛昌真有效值工業級數字鉗形表以DT-9180H/9181H/9182 400A真有效值工業級數字鉗形表、DT-9280/9281/9282 600A真有效值工業級數字鉗形表、DT-9380A
    的頭像 發表于 06-26 10:23 ?1195次閱讀

    慧明SM60/SM68演出級數字調音臺介紹

    在舞臺與聲音的世界里,調音臺是關鍵。而慧明SM60/SM68演出級數字調音臺,憑借其獨特的設計理念和卓越的性能,將創新技術與用戶友好設計完美結合,打造國產數字調音臺的新標桿。
    的頭像 發表于 05-26 15:22 ?2630次閱讀

    車規級數字功放電感VSAD-T 助力汽車音響音質革命性升級

    在汽車智能座艙體驗升級的浪潮中,高品質車載音響已成為汽車用戶的核心訴求之一。為滿足現代汽車對車載數字功放高音質、低失真、小體積等設計需求,科達嘉推出了VSAD-T系列二合一車規級數字功放電感,以創新設計及卓越電氣性能打破傳統D類功放的技術桎梏,為汽車音響系統注入高保真基因
    的頭像 發表于 05-10 17:59 ?825次閱讀
    車規<b class='flag-5'>級數字</b>功放電感VSAD-T 助力汽車音響音質革命性升級

    FPGA Verilog HDL語法之編譯預處理

    Verilog HDL語言和C語言一樣也提供了編譯預處理的功能。“編譯預處理”是Verilog HDL編譯系統的一個組成部分。Verilog
    的頭像 發表于 03-27 13:30 ?1432次閱讀
    FPGA <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>語法之編譯預處理

    一文詳解Verilog HDL

    Verilog HDL(Hardware Description Language)是一種硬件描述語言,用于從算法級、門級到開關級的多種抽象設計層次的數字系統建模。現實生活中多用于專用集成電路
    的頭像 發表于 03-17 15:17 ?4290次閱讀
    一文詳解<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>