久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8192|回復: 25
收起左側

FPGA學習及設計中的注意事項

  [復制鏈接]
回帖獎勵 18 黑幣 回復本帖可獲得 1 黑幣獎勵! 每人限 1 次
ID:69352 發表于 2014-12-20 14:35 | 顯示全部樓層 |閱讀模式
1.基礎問題
  FPGA的基礎就是數字電路和HDL語言,想學好FPGA的人,建議床頭都有一本數字電路的書,不管是哪個版本的,這個是基礎,多了解也有助于形成硬件設計的思想。 在語言方面,建議初學者學習Verilog語言,VHDL語言語法規范嚴格,調試起來很慢,Verilog語言容易上手,而且,一般大型企業都是用Verilog語言。
  2.EDA工具問題
  熟悉幾個常用的就可以的,開發環境QuartusII ,或ISE 就可以了,這兩個基本是相通的,會了哪一個,另外的那個也就很Easy了。功能仿真建議使用Modelsim ,如果你是做芯片的,就可以學學別的仿真工具,做FPGA的,Modelsim就足夠了。綜合工具一般用Synplify,初學先不用太關心這個,用Quartus綜合就OK了。
  3.硬件設計思想問題
  對于初學者,特別是從軟件轉過來的,設計的程序既費資源又速度慢,而且很有可能綜合不了,這就要求我們熟悉一些固定模塊的寫法,可綜合的模塊很多書上都有,語言介紹上都有,不要想當然的用軟件的思想去寫硬件。
  4.學習習慣問題
  FPGA學習要多練習,多仿真,signaltapII是很好的工具,可以看到每個信號的真實值,建議初學者一定要自己多動手,光看書是沒用的。 關于英文文檔問題,如果要學會Quartus II的所有功能,只要看它的handbook就可以了,很詳細,對于IT行業的人,大部分知識來源都是英文文檔,一定要耐心看,會從中收獲很多的。
  5.算法問題
  做FPGA的工程師,最后一般都是專攻算法了,這些基礎知識都是順手捏來的,如果你沒有做好搞理論的準備,學FPGA始終只能停留在初級階段上。 對于初學者,數字信號處理是基礎,應該好好理解,往更深的方向,不用什么都學,根據你以后從事的方向,比如說通信、圖像處理,雷達、聲納、導航定位等。

  不管你是一名邏輯設計師、硬件工程師或系統工程師,甚或擁有所有這些頭銜,只要你在任何一種高速和多協議的復雜系統中使用了FPGA,你就很可能需要努力解決好器件配置、電源管理、IP集成、信號完整性和其他的一些關鍵設計問題。不過,你不必獨自面對這些挑戰,因為在當前業內領先的FPGA公司里工作的應用工程師每天都會面對這些問題,而且他們已經提出了一些將令你的設計工作變得更輕松的設計指導原則和解決方案


回復

使用道具 舉報

ID:61484 發表于 2015-4-14 22:20 | 顯示全部樓層

回帖獎勵 +1 黑幣

學習一下
回復

使用道具 舉報

ID:87432 發表于 2015-8-1 23:58 | 顯示全部樓層

回帖獎勵 +1 黑幣

good 大同小異
回復

使用道具 舉報

ID:358187 發表于 2018-7-5 08:38 | 顯示全部樓層
加油;
回復

使用道具 舉報

ID:366599 發表于 2018-7-6 23:30 | 顯示全部樓層
剛接觸,學習了
回復

使用道具 舉報

ID:43336 發表于 2018-11-8 14:59 | 顯示全部樓層
好文章 值得一看
回復

使用道具 舉報

ID:411940 發表于 2018-11-13 16:49 | 顯示全部樓層
感謝樓主分享,很好的教程
回復

使用道具 舉報

ID:425251 發表于 2018-11-14 07:41 | 顯示全部樓層
這第五點,說起來是很深層次的意思,有沒有什么指引類的書。
回復

使用道具 舉報

ID:472634 發表于 2019-6-21 16:43 | 顯示全部樓層
感謝分享
回復

使用道具 舉報

ID:452731 發表于 2019-7-8 12:40 | 顯示全部樓層
這個建議倒是不錯,值得我們還沒入門的小白參考
回復

使用道具 舉報

ID:541246 發表于 2019-9-5 21:55 | 顯示全部樓層
從stm32轉學FPGA,加油
回復

使用道具 舉報

ID:425084 發表于 2019-9-27 16:43 | 顯示全部樓層
我現在都是畫電路的,感覺畫電路比Verilog難
回復

使用道具 舉報

ID:845573 發表于 2020-11-18 20:44 | 顯示全部樓層
師傅領進門修行靠個人
回復

使用道具 舉報

ID:571541 發表于 2020-11-24 16:36 | 顯示全部樓層
多謝樓主分享經驗!
回復

使用道具 舉報

ID:491589 發表于 2021-12-25 17:47 | 顯示全部樓層
樓主說得到位,需要注意這幾個方面的區別。
回復

使用道具 舉報

ID:294886 發表于 2022-1-5 15:24 | 顯示全部樓層
謝謝分享,為什么都是作者可見?
回復

使用道具 舉報

ID:474981 發表于 2022-12-7 11:31 | 顯示全部樓層
所以FPGA學習就是數電、verilog。然后不斷的看別人代碼,然后寫代碼是嗎?
回復

使用道具 舉報

ID:1057191 發表于 2023-1-22 20:53 | 顯示全部樓層
我也很想學習FPGA,但是太小白了,學著痛苦
回復

使用道具 舉報

ID:878801 發表于 2023-2-1 16:27 | 顯示全部樓層
FPGA學習中,謝謝
回復

使用道具 舉報

ID:1064792 發表于 2023-3-1 16:01 | 顯示全部樓層
通過實際的例子更能加快學習進度
回復

使用道具 舉報

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

接下來,首先找本實例抄代碼。抄代碼的意義在于熟悉語法規則和編譯器(又叫綜合器),常用的集成開發環境有:Intel的Quartus、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。腳本,意味著一勞永逸。
回復

使用道具 舉報

ID:773324 發表于 2023-4-20 23:16 | 顯示全部樓層
加油學吧
回復

使用道具 舉報

ID:1073340 發表于 2023-4-22 10:46 | 顯示全部樓層
可以參考數字系統設計與VerilogHDL這本書進行學習
回復

使用道具 舉報

ID:930401 發表于 2024-9-11 09:41 | 顯示全部樓層
受益匪淺
回復

使用道具 舉報

ID:1136867 發表于 2024-11-19 20:44 | 顯示全部樓層
樓主說的很好哇,就我個人而言,如果要快速上手,先掌握組合邏輯門和狀態機就可以寫一些簡單的程序了。我個人用的是Xilinx的vivado,硬件平臺用的是basys3。個人感覺硬件設計(模塊)自上而下,軟件設計自下而上。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产人免费人成免费视频 | 一区二区三区国产好 | 久久精品国产久精国产 | 国产美女永久免费无遮挡 | 一级片av| 亚洲一区二区日韩 | 自拍视频在线观看 | 日韩av高清| 国产高清精品一区二区三区 | 日本午夜精品一区二区三区 | 韩日精品视频 | 日韩免费看视频 | 欧美一区二区三区精品免费 | 中文字幕日本一区二区 | 精品综合久久久 | a免费视频| 国产999精品久久久久久 | 日韩欧美电影在线 | 精品中文在线 | 国产一区亚洲 | 久久成人精品视频 | 亚洲免费一区二区 | 91在线精品秘密一区二区 | 久久久男人的天堂 | 天天看天天干 | 激情av在线| 国产精品久久久亚洲 | 久久狠狠| 欧美日韩在线观看一区二区三区 | 日本高清精品 | 91精品国产一二三 | av免费网站在线观看 | 黄网站涩免费蜜桃网站 | 欧美成人高清视频 | 日日夜夜免费精品视频 | 国产探花在线精品一区二区 | 国产精品久久久久无码av | 成人亚洲精品久久久久软件 | 亚洲综合二区 | 久久人人爽人人爽 | 国产一区二区三区四区在线观看 |