FPGA学习需要的基础能力
1.1.FPGA基礎
入門階段主要技能有:硬件和計算機基礎,開發環境配置和開發流程,Verilog基礎語法(設計和驗證,至少到狀態機),資料獲取(科學上網,官方文檔讀取)
進階技能:接口通信小項目,常用IP核,上板驗證波形圖讀取,硬件映射思維,高效工具使用
1.1.1.電子基礎
數電,計算機基礎,其他知識邊學邊補
1.1.2.語法
verilog和VHDL,官方語法手冊
1.1.3.開發環境
Vivado+modelsim
Sublime text編輯器中代碼片段的功能,以減少重復性勞動
學會TCL/TK以編寫適合自己的DO文件,使得仿真變得自動化
《TCL/TK入門經典》
Git版本控制
使用System Verilog來替代testbench
1.1.4.掌握設計原則
消滅警告
同步設計原則、優化電路,是速度優先還是面積優先,時鐘樹應該怎樣設計,怎樣同步兩個異頻時鐘
《FPGA權威指南》、《Altera FPGA/CPLD設計》第二版的基礎篇和高級篇
學會加快編譯速度(增量式編譯、LogicLock),靜態時序分析(timequest),嵌入式邏輯分析儀(signaltap)
1.1.5.MATLAB仿真
MATLAB還能用于調試HDL,《數字濾波器的MATLAB與FPGA實現》
1.1.6.常用簡單接口認識
RS485 接口:通過 485A 和 485B 兩個端口與外部 RS485 設備進行通信
CAN 接口:通過 CANH 和 CANL 兩個端口與外部 CAN 設備就行通信
AD/DA(模數/數模轉換):使用I2C 總線與 FPGA 進行通信
以太網(RJ45)
下載接口(JTAG):下載器通過該接口與開發板連接,用于程序的下載、固化及調試。
SPI - FLASH :使用 SPI 協議實現 FPGA 芯片與 Flash 存儲器的通信
排針:
HDMI 接口:(高清多媒體接口),該接口可與 HDMI 顯示器相連接
SDRAM:同步動態隨機存儲器。存儲音視頻數據。
USB:
RS232:串口通信
EEPROM:系統配置參數
……
1.2.文檔閱讀與資料獲取
瀏覽器,知乎,CSDN搜大致描述,搜官方文檔名字
DocNav中查看
官方文檔要用關鍵詞搜索,學會常見英文單詞,需要一個官方文檔索引
1.2.1.芯片數據數據手冊閱讀
先看芯片特性、應用場合、內部框圖,有一個宏觀的了解。
重點關注芯片參數,同時參考手冊給出的參數圖。
選定器件后,研究管腳定義、推薦的PCB layout。內部寄存器,時序圖必須研究透徹。數據手冊中的note,都必須仔細閱讀,是把芯片用好的關鍵所在。
特點:
只是說明書,干條條,語句不連貫,當成字典來搜
長句多,不要糾結于語法連貫,就當成代碼來讀
1.3.IP核使用方法
Xilinx系列:
點擊“IP Catalog”,選擇要使用的IP,雙擊3處配置IP。
點擊左上角可以閱讀官方的IP說明手冊、IP更新信息、常見問題及解決方式。根據實際的需求配置IP的參數,如工作時鐘等。
點擊“Product Guide”可以轉到Xilinx的DocNav中,查看、閱讀、下載各FPGA器件手冊、開發板資料、IP手冊。Xilinx官方手冊和配套例程是最具參考價值的資料,沒有其他。雖然是英文版,但是借助翻譯軟件及關鍵詞查找,還是能夠進行閱讀。
黑色欄顯示最近打開的文件,右鍵第一個選項打開文件,如果下載后文件無法顯示的話,可以說使用第二項和第三項,在瀏覽器打開和在pdf閱讀器打開,第四個選項打開pdf文件所在的文件夾
選擇OOC編譯,等編譯完成后,右鍵“ Open IP Example Design”,打開IP對應配置下的測試工程,選擇指定路徑,自動打開新生成的測試工程。
工程中包含了時鐘、復位及輸入輸出、AXI總線協議等必要的配置,包含TestBench仿真測試文件,閱讀分析源碼,仿真查看波形,通過少量更改可以下板測試,ILA監測,參考示例工程,在實際應用中即可使用。
選擇“Include Shared Logic inExample Design”(推薦方式),則在IP核外部的示例工程中生成時鐘、復位等必要邏輯,且這些邏輯作為共享邏輯,加入使用多個IP核時,可以共享一些復位等信號,且這些時鐘、復位可以被使用者修改;
選中“Include Shared Logic in Core”(簡單)選項時,時鐘、復位、GT收發器配置是包含在IP核內部,對其他的IP不可見,這些邏輯也不能被修改(Read-Only),不對外呈現。
運行仿真即可查看波形,加入內部信號的波形到窗口,可以分析內部的信號,包括物理層PHY、協議層LOG等多個信號。(加入內部信號的方式可以參考matlab與FPGA數字濾波器設計(6)—— Vivado 中使用 Verilog 實現并行 FIR 濾波器/截位操作)
總結
以上是生活随笔為你收集整理的FPGA学习需要的基础能力的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lj245a引脚功能图_a3120光耦各
- 下一篇: 编程人员必读书籍推荐-最具有影响力书籍