在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Verilog HDL高級數(shù)字設(shè)計

FPGA研究院 ? 來源:FPGA研究院 ? 作者:FPGA研究院 ? 2022-11-03 09:02 ? 次閱讀

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

第一句話是:還沒學(xué)數(shù)電的先學(xué)數(shù)電。然后你可以選擇verilog或者VHDL,有C語言基礎(chǔ)的,建議選擇VHDL。因為verilog太像C了,很容易混淆,最后你會發(fā)現(xiàn),你花了大量時間去區(qū)分這兩種語言,而不是在學(xué)習(xí)如何使用它。當(dāng)然,你思維能轉(zhuǎn)得過來,也可以選verilog,畢竟在國內(nèi)verilog用得比較多。

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

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

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

二、獨立完成中小規(guī)模的數(shù)字電路設(shè)計。

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

三、掌握設(shè)計方法和設(shè)計原則。

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

四、學(xué)會提高開發(fā)效率。

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

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

五、增強理論基礎(chǔ)。

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

1、信號處理——信號與系統(tǒng)、數(shù)字信號處理、多采樣率信號處理、數(shù)字圖像處理、現(xiàn)代數(shù)字信號處理、盲信號處理、自適應(yīng)濾波器原理、雷達信號處理。

2、接口應(yīng)用——如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太網(wǎng)接口)、SATA、光纖、DisplayPort、HDMI。

3、無線通信——信號與系統(tǒng)、數(shù)字信號處理、通信原理、移動通信基礎(chǔ)、隨機過程、信息論與編碼。

4、CPU設(shè)計——計算機組成原理、單片機、計算機體系結(jié)構(gòu)、編譯原理、RISC-V。

5、儀器儀表——模擬電子技術(shù)、高頻電子線路、電子測量技術(shù)、智能儀器原理及應(yīng)用。

6、控制系統(tǒng)——自動控制原理、現(xiàn)代控制理論、過程控制工程、模糊控制器理論與應(yīng)用。

7、壓縮、編碼、加密——數(shù)論、抽象代數(shù)、現(xiàn)代編碼技術(shù)、信息論與編碼、數(shù)據(jù)壓縮導(dǎo)論、應(yīng)用密碼學(xué)、音頻信息處理技術(shù)、數(shù)字視頻編碼技術(shù)原理、H.265

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

六、學(xué)會使用MATLAB仿真。

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

七、足量的實踐。

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

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

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

1、Photoshop?;ㄒ弧芍艿臅r間學(xué)習(xí)PS,對圖像處理有個大概的了解,知道各種圖片格式、直方圖、色相、通道、濾鏡、拼接等基本概念,并能使用它。這部分是0基礎(chǔ),目的讓大家對圖像處理有個感性的認識,而不是一上來就各種各樣的公式推導(dǎo)。推薦《Photoshop CS6完全自學(xué)教程》。

2、基于MATLAB或OpenCV的圖像處理。有C/C++基礎(chǔ)的可以學(xué)習(xí)OpenCV,否則的話,建議學(xué)MATLAB。這個階段下,只要學(xué)會簡單的調(diào)用函數(shù)即可,暫時不用深究實現(xiàn)的細節(jié)。推薦《數(shù)字圖像處理matlab版》、《學(xué)習(xí)OpenCV》。

3、圖像處理的基礎(chǔ)理論。這部分的理論是需要高數(shù)、復(fù)變、線性代數(shù)、信號與系統(tǒng)、數(shù)字信號處理等基礎(chǔ),基礎(chǔ)不好的話,建議先補補基礎(chǔ)再來??床欢睦碚撘部梢詴簳r先放下,或許學(xué)到后面就自然而然地開竅了。推薦《數(shù)字圖像處理》。

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

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

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

九、數(shù)電的盡頭是模電

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

十、學(xué)無止境。

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

十一、其它問題。

a、為什么不推薦學(xué)習(xí)NIOS II和MicroBlaze等軟核?

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

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

3、軟核不開源,出現(xiàn)Bug的時候,不容易調(diào)試。

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

b、為什么不推薦0基礎(chǔ)學(xué)習(xí)ZYNQ或SOC?

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

2、入門應(yīng)該學(xué)習(xí)盡量簡單的東西,要么專心學(xué)習(xí)ARM,要么專心學(xué)習(xí)FPGA。這樣更容易有成就感,增強信心。

3、ZYNQ和SOC的應(yīng)用領(lǐng)域并不廣,還有很多人沒聽過這種東西,導(dǎo)致求職的不利。

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

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

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

1、問這種問題的,一般是學(xué)生,他們沒有做過產(chǎn)品,沒有遇到過工程上的問題。

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

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

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

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

    關(guān)注

    28

    文章

    1364

    瀏覽量

    111461
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    330

    瀏覽量

    47717
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1652

    瀏覽量

    49729

原文標題:如何學(xué)習(xí)FPGA?

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

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA Verilog HDL語法之編譯預(yù)處理

    Verilog HDL語言和C語言一樣也提供了編譯預(yù)處理的功能?!熬幾g預(yù)處理”是Verilog HDL編譯系統(tǒng)的一個組成部分。Verilog
    的頭像 發(fā)表于 03-27 13:30 ?339次閱讀
    FPGA <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>語法之編譯預(yù)處理

    一文詳解Verilog HDL

    Verilog HDL(Hardware Description Language)是一種硬件描述語言,用于從算法級、門級到開關(guān)級的多種抽象設(shè)計層次的數(shù)字系統(tǒng)建?!,F(xiàn)實生活中多用于專用集成電路
    的頭像 發(fā)表于 03-17 15:17 ?1269次閱讀
    一文詳解<b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>

    淺談Verilog和VHDL的區(qū)別

    Verilog和VHDL是兩種廣泛使用的硬件描述語言(HDL),它們用于描述和模擬數(shù)字電路系統(tǒng)的行為和結(jié)構(gòu)。這兩種語言的主要作用是幫助工程師設(shè)計、仿真和驗證集成電路(IC)和系統(tǒng)級芯片(SoC)中的硬件模塊。
    的頭像 發(fā)表于 02-17 14:20 ?817次閱讀
    淺談<b class='flag-5'>Verilog</b>和VHDL的區(qū)別

    Verilog 電路仿真常見問題 Verilog 在芯片設(shè)計中的應(yīng)用

    在現(xiàn)代電子設(shè)計自動化(EDA)領(lǐng)域,Verilog作為一種硬件描述語言,已經(jīng)成為數(shù)字電路設(shè)計和驗證的標準工具。它允許設(shè)計師以高級抽象的方式定義電路的行為和結(jié)構(gòu),從而簡化了從概念到硅片的整個設(shè)計流程
    的頭像 發(fā)表于 12-17 09:53 ?931次閱讀

    Verilog 與 ASIC 設(shè)計的關(guān)系 Verilog 代碼優(yōu)化技巧

    Verilog與ASIC設(shè)計的關(guān)系 Verilog作為一種硬件描述語言(HDL),在ASIC設(shè)計中扮演著至關(guān)重要的角色。ASIC(Application Specific Integrated
    的頭像 發(fā)表于 12-17 09:52 ?746次閱讀

    如何使用 Verilog 進行數(shù)字電路設(shè)計

    使用Verilog進行數(shù)字電路設(shè)計是一個復(fù)雜但有序的過程,它涉及從概念設(shè)計到實現(xiàn)、驗證和優(yōu)化的多個階段。以下是一個基本的步驟指南,幫助你理解如何使用Verilog來設(shè)計數(shù)字電路: 1.
    的頭像 發(fā)表于 12-17 09:47 ?963次閱讀

    Verilog與VHDL的比較 Verilog HDL編程技巧

    Verilog 與 VHDL 比較 1. 語法和風(fēng)格 VerilogVerilog 的語法更接近于 C 語言,對于有 C 語言背景的工程師來說,學(xué)習(xí)曲線較平緩。它支持結(jié)構(gòu)化編程,代碼更直觀,易于
    的頭像 發(fā)表于 12-17 09:44 ?1223次閱讀

    數(shù)字系統(tǒng)設(shè)計與Verilog HDL

    數(shù)字系統(tǒng)設(shè)計與Verilog HDL 1.兼職職位 ,不坐班,等待公司分配任務(wù),時間自由 2.薪資: 200-5000不等可具體協(xié)商 3.要求:國內(nèi)985/211院校在讀或畢業(yè),或者國外前100的院校 4.英語水平:四級500+
    發(fā)表于 11-06 17:57

    Verilog硬件描述語言參考手冊

    一. 關(guān)于 IEEE 1364 標準二. Verilog簡介三. 語法總結(jié)四. 編寫Verilog HDL源代碼的標準五. 設(shè)計流程
    發(fā)表于 11-04 10:12 ?4次下載

    Verilog HDL的基礎(chǔ)知識

    本文繼續(xù)介紹Verilog HDL基礎(chǔ)知識,重點介紹賦值語句、阻塞與非阻塞、循環(huán)語句、同步與異步、函數(shù)與任務(wù)語法知識。
    的頭像 發(fā)表于 10-24 15:00 ?936次閱讀
    <b class='flag-5'>Verilog</b> <b class='flag-5'>HDL</b>的基礎(chǔ)知識

    FPGA Verilog HDL代碼如何debug?

    ,共同進步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:Verilog代碼如何debug?最近學(xué)習(xí)fpga,寫了不少verilog,開始思考如何debug的問題!c語言是順序執(zhí)行,而
    發(fā)表于 09-24 19:16

    FPGA Verilog HDL有什么奇技巧?

    相加去乘? A:硬件乘法器具有重要意義,主要體現(xiàn)在以下幾個方面: 速度優(yōu)勢:在數(shù)字電路中,直接使用移位相加的方法實現(xiàn)乘法在速度上通常比通過軟件或簡單的邏輯運算(如在 Verilog 中直接寫 a * b
    發(fā)表于 09-12 19:10

    工業(yè)級數(shù)字鉗形表的選型要點和用途

    數(shù)字鉗形表由于無需斷開電路即可直接測量電路交直流電流這一特性,成為電氣工程師、電工師傅以及相關(guān)行業(yè)從業(yè)者的必備工具。工業(yè)級數(shù)字鉗形表則具有更高的精度、更強的抗干擾能力,能夠應(yīng)對更惡劣更復(fù)雜的工業(yè)測量環(huán)境。
    的頭像 發(fā)表于 07-15 14:29 ?1463次閱讀
    工業(yè)<b class='flag-5'>級數(shù)字</b>鉗形表的選型要點和用途

    芯盾時代中標金龍魚,助力食品制造行業(yè)升級數(shù)字安全防線

    芯盾時代中標金龍魚,助力食品制造行業(yè)升級數(shù)字安全防線
    的頭像 發(fā)表于 05-21 14:05 ?433次閱讀
    芯盾時代中標金龍魚,助力食品制造行業(yè)升<b class='flag-5'>級數(shù)字</b>安全防線

    FPGA設(shè)計中 Verilog HDL實現(xiàn)基本的圖像濾波處理仿真

    今天給大俠帶來FPGA設(shè)計中用Verilog HDL實現(xiàn)基本的圖像濾波處理仿真,話不多說,上貨。 1、用matlab代碼,準備好把圖片轉(zhuǎn)化成Vivado Simulator識別的格式,即每行一
    發(fā)表于 05-20 16:44
    主站蜘蛛池模板: 欧美.亚洲.日本一区二区三区 | 男女交黄 | 欧美特黄一区二区三区 | 午夜嘿嘿 | 午夜福利国产一级毛片 | 亚洲人成网站在线在线 | 国产女人水多白浆 | 特色一级黄色片 | 在线网站黄 | 99色在线| 黄视频国产 | 岛国一级毛片 | 久久国产乱子伦精品免费午夜 | 日本一区二区不卡视频 | 爽好舒服快受不了了老师 | 一个色中文字幕 | 人人骚| 亚洲成人高清在线观看 | 亚洲天天更新 | 国产欧美日韩在线人成aaaa | 国产精品久久久久免费 | 国产成人乱码一区二区三区 | 免费可以看黄的视频 s色 | 亚洲一区中文 | 特黄特a级特别特级特毛片 特黄特色大片免费播放路01 | 天天操天天射天天 | 五月激情啪啪网 | 日本一级黄色毛片 | 视频在线二区 | 爽爽爽爽爽爽a成人免费视频 | 免费黄色大片 | 日本黄网站高清色大全 | 一区二区三区四区在线视频 | 狠狠色婷婷七月色综合 | 人人叉人人 | 老师啊灬啊灬用力啊快224视频 | 天天干网站 | 毛片爽爽爽免费看 | 国产成人小视频 | 2017天天干 | 亚洲人色大成年网站在线观看 |