你可能發現你綜合出來的電路儘管沒錯,但有很多警告。這個時候,你得學會同步設計原則、優化電路,是速度優先還是面積優先,時鐘樹應該怎樣設計,怎樣同步兩個異頻時鐘等等。推薦的教材是《FPGA權威指南[26]》、《Altera FPGA/CPLD設計》第二版的基礎篇[27]和高級篇[28]兩本。學會加快編譯速度(增量式編譯、LogicLock),靜態時序分析[29](timequest[30]),嵌入式邏輯分析儀(signaltap[31])就算是通關了。如果有不懂的地方可以暫時跳過,因為這部分還需要足量的實踐,才能有較深刻的理解。
現在你發現,原來FPGA會涉及到那麼多知識,你可以選一個感興趣的方向,但是工作中很有可能用到其中幾個方向的知識,所以理論還是學得越多越好。如果你要更上一層,數學和英語是不可避免的。
現在FPGA內部的事情是難不到你的,但是信號出了FPGA,你就沒法控制了。這個時候必須學好模電。比如:電路分析、模擬電子技術、高頻電子線路、PCB設計、EMC、SI、PI等等,能設計出一塊帶兩片DDR3的FPGA開發板,就算通關了。具體的學習路線可以參考本博客的《如何學習硬體設計——理論篇[86]》和《如何學習硬體設計——實踐篇[87]》。
能到這個境界,說明你已經很厲害了,但是還有很多東西要學的,因為FPGA常常要跟CPU交互,也就是說你得經常跟軟體工程師交流,所以也得懂點軟體方面的知識。比如ARM(Xilinx的ZYNQ和Altera的SOC會用到ARM的硬核,請參考本博客的《如何學習嵌入式軟體[88]》)、DSP[89]、Linux、安卓[90]、上位機(QT[91]、C#、JAVA)都可以學一下,反正學無止境的。
[1]數電: http://bbs.eetop.cn/thread-157244-1-1.html
[2]Quartus: http://blog.csdn.net/k331922164/article/details/46275247
[3]ISE: http://bbs.eetop.cn/thread-451518-1-1.html
[4]Vivado: http://bbs.eetop.cn/thread-598057-1-1.html
[5]Design Compiler: http://bbs.eetop.cn/thread-558981-1-1.html
[6]Synopsys: http://www.synopsys.com/Tools/Implementation/FPGAImplementation/Pages/default.aspx
[7]VCS: http://bbs.eetop.cn/thread-412008-1-1.html
[8]Lattice: http://www.latticesemi.com/Products.aspx
[9]Diamond: http://blog.csdn.net/k331922164/article/details/51379364
[10]Microchip: https://www.microchip.com/design-centers/fpgas-and-plds
[11]Libero: https://www.microsemi.com/product-directory/design-resources/1751-libero-ide#downloads
[12]Synplify pro: http://bbs.eetop.cn/thread-578576-1-1.html
[13]什麼是硬體以及什麼是軟體: http://blog.csdn.net/k331922164/article/details/46730523
[14]Verilog HDL高級數字設計: http://bbs.eetop.cn/thread-281674-1-1.html
[15]用於邏輯綜合的VHDL: http://search.dangdang.com/?key=%20%D3%C3%D3%DA%C2%DF%BC%AD%D7%DB%BA%CF%B5%C4VHDL&act=input
[16]verilog_IEEE官方標準手冊-2005_IEEE_P1364: http://bbs.eetop.cn/thread-556080-1-1.html
[17]IEEE Standard VHDL Language_2008: http://bbs.eetop.cn/thread-436703-1-1.html
[18]Verilog HDL應用程式設計實例精講: http://bbs.eetop.cn/viewthread.php?tid=587313
[19]Altera: https://www.altera.com/support/literature/lit-index.smartphone.html
[20]Xilinx: http://china.xilinx.com/support.html
[21]modelsim仿真: http://blog.csdn.net/k331922164/article/details/47988847
[22]QuestaSim: http://bbs.eetop.cn/thread-452999-1-1.html
[23]NC verilog: http://bbs.eetop.cn/thread-471086-1-1.html
[24]Verdi: http://wenku.baidu.com/link?url=1cMQfcz0XQVXzvk2bOj_hLCfy6EAZR8KmlmRl-7pMnq-BCz8bLzYhfmQXcV9aqxVO0EB9rfV0X1nXgEpUUmUOQFv682BHIUB8HFUwOGfNoO
[25]WRITING TESTBENCHES Functional Verification of HDL Models: http://bbs.eetop.cn/thread-413725-1-1.html
[26]FPGA權威指南: http://bbs.eetop.cn/thread-335134-1-1.html
[27]基礎篇: http://bbs.eetop.cn/thread-236729-1-1.html?tid=236729&extra=page%3D1&page=1
[28]高級篇: http://bbs.eetop.cn/thread-429297-1-1.html
[29]時序分析: http://blog.csdn.net/k331922164/article/details/48687161
[30]timequest: http://wenku.baidu.com/link?url=f55u1aL6d5XKysDuD4keltciKNk46aUXn39IF0hINNjaTqHxOeh34PfZDkudvU3JuI1RuwT9DPsow_kRFe9qhWYZbG7uWVo-AoAAylvlLP3
[31]signaltap: http://blog.csdn.net/k331922164/article/details/47623501
[32]Sublime text編輯器: http://blog.csdn.net/k331922164/article/details/48092291
[33]DO文件: http://blog.csdn.net/k331922164/article/details/50001035
[34]TCL/TK入門經典: http://www.jb51.net/books/304937.html
[35]Git: https://www.runoob.com/git/git-tutorial.html
[36]Beyond Compare: http://www.beyondcompare.cc/xiazai.html
[37]System Verilog: http://bbs.eetop.cn/thread-387263-1-4.html
[38]Writing Testbenches using SystemVerilog: http://bbs.eetop.cn/thread-587167-1-1.html
[39]The UVM Primer: http://bbs.eetop.cn/thread-479340-1-1.html
[40]System Verilog1800-2012語法手冊: http://bbs.eetop.cn/thread-387263-1-1.html
[41]虛擬Jtag: http://blog.csdn.net/k331922164/article/details/52093292
[42]PID算法: http://blog.csdn.net/k331922164/article/details/51146507
[43]信號與系統: https://blog.csdn.net/k331922164/article/details/55006763
[44]多採樣率信號處理: http://product.dangdang.com/20495314.html
[45]UART: http://blog.csdn.net/k331922164/article/details/51429544
[46]SPI: https://wenku.baidu.com/view/1d162f7187c24028915fc3da.html?from=search
[47]IIC: https://wenku.baidu.com/view/8f9df95f804d2b160b4ec0b3.html?from=search
[48]USB: http://blog.csdn.net/k331922164/article/details/53349360
[49]CAN: https://wenku.baidu.com/view/f6cf8081d4d8d15abe234ecb.html
[50]PCIE: http://bbs.eetop.cn/thread-600329-1-1.html
[51]Rapid IO: http://www.rapidio.org/
[52]DDR: https://wenku.baidu.com/view/c1609388d4d8d15abe234e6f.html
[53]TCP/IP: http://www.jb51.net/books/66960.html
[54]SPI4.2: https://wenku.baidu.com/view/8093e3edf8c75fbfc77db296.html
[55]SATA: http://bbs.eetop.cn/thread-594135-1-1.html
[56]DisplayPort: http://bbs.eetop.cn/thread-315534-1-1.html
[57]單片機: http://blog.csdn.net/k331922164/article/details/44681093
[58]RISC-V: https://riscv.org/risc-v-cores/
[59]H.265: http://bbs.eetop.cn/thread-599982-1-1.html
[60]CRC: http://blog.csdn.net/k331922164/article/details/51648707
[61]MATLAB寶典: http://www.jb51.net/books/104042.html
[62]數字濾波器的MATLAB與FPGA實現: http://search.dangdang.com/?key=%CA%FD%D7%D6%C2%CB%B2%A8%C6%F7%B5%C4MATLAB%D3%EBFPGA%CA%B5%CF%D6&act=input
[63]官網: https://www.altera.com/support/literature/lit-index.html
[64]代碼風格: http://blog.csdn.net/k331922164/article/details/52166038
[65]增加元件例化語句的可讀性: http://blog.csdn.net/k331922164?viewmode=list
[66]流程圖/時序圖: http://blog.csdn.net/k331922164/article/details/50541541
[67]撰寫文檔: http://blog.csdn.net/k331922164/article/details/50539863
[68]知網: http://www.cnki.net/
[69]百度文庫: http://wenku.baidu.com/
[70]EETOP論壇: http://bbs.eetop.cn/
[71]opencores: http://opencores.org/projects
[72]ChinaAET: http://blog.chinaaet.com/
[73]SCI-HUB: http://tool.yovisun.com/scihub/
[74]標準網: http://www.biaozhuns.com/
[75]標準分享網: http://www.bzfxw.com/
[76]Photoshop CS6完全自學教程: http://www.jb51.net/books/100972.html
[77]數字圖像處理matlab版: http://bbs.eetop.cn/thread-305112-1-1.html
[78]學習OpenCV: http://www.jb51.net/books/86684.html
[79]數字圖像處理: http://bbs.eetop.cn/thread-252932-1-1.html
[80]Verilog讀取bmp圖片: https://blog.csdn.net/k331922164/article/details/108655028
[81]基於FPGA的嵌入式圖像處理系統設計: https://www.amazon.cn/dp/B00BPXFUVK/ref=wl_it_dp_o_pd_nS_ttl?_encoding=UTF8&colid=1KD25DEC6Q598&coliid=I1BCWMH1TX87Q5
[82]基於FPGA的數字圖像處理原理及應用: http://product.dangdang.com/24171633.html#preface
[83]實分析: http://blog.csdn.net/k331922164/article/details/52842206
[84]泛涵分析: http://product.dangdang.com/23598130.html
[85]小波分析: http://wenku.baidu.com/link?url=sIxDcV7Aju1bNj0eqZj1-1zJrs0P1ZCg558bXfyO5NDNo6oRWz5QHl3fcAoe41yxi_oH9k0DuPy_7qznsF7QLEMNUh8ELJR-cFuzpZavrve
[86]如何學習硬體設計——理論篇: http://blog.csdn.net/k331922164/article/details/45102489
[87]如何學習硬體設計——實踐篇: http://blog.csdn.net/k331922164/article/details/46844339
[88]如何學習嵌入式軟體: http://blog.csdn.net/k331922164/article/details/50629131
[89]DSP: http://blog.csdn.net/k331922164/article/details/78734859
[90]安卓: https://blog.csdn.net/k331922164/article/details/103204387
[91]QT: http://blog.csdn.net/k331922164/article/details/52729675
[92]微電子教學視頻--Silicon Run等: https://blog.csdn.net/k331922164/article/details/85047746