FPGA開發流程概述
開始學習FPGA,想盡快上手FPGA開發,那么先來了解一下FPGA的開發流程。
1、需求分析到模塊劃分
需求說明文檔;器件選擇(邏輯資源、功耗、IO數量、封裝等等);配置電路考慮;開發工具選擇;電路板的可拓展性考慮;在線調試和板級調試考慮;分模塊設計。
2、設計輸入到綜合優化
設計輸入:原理圖、Verilog、VHDL
綜合:指的是將較高層次的電路描述轉化成較為低層的電路描述。就是將設計代碼轉成底層的與門、非門、RAM、觸發器等基本邏輯單元相互連接而成的網表,綜合工具使用Synplicity的Synplify,也可使用器件廠商提供的開發工具進行實現(實現指的是:翻譯、映射、布局布線)。
代碼設計完成后,最好先使用開發工具進行語法檢測,之后進行功能仿真,此處仿真不涉及時序上的延時。仿真工具首推ModelTech公司的ModelSim,也可以用ISE的Quartus 2進行簡單仿真。
3、實現到時序收斂
實現:
翻譯---將綜合后的結果轉化成所選器件的底層模塊和硬件原語;
映射---將翻譯的結果映射到具體器件上;
布局布線---根據用戶的設計約束,進行布局布線,完成FPGA內部邏輯的連接;
時序收斂:(設計關鍵,必須滿足時序收斂)
工具的最紅布局布線滿足設計者輸入的時序約束要求。
4、仿真到板級調試
仿真和板級調試用于主要的驗證。FPGA的板級調試一個很大的問題在于同步觀察接口信號數量受限,很難觀測內部信號節點的狀態,假若純板級調試,就消耗太大的人力物力了。
FPGA仿真很重要,但是和其他軟件開發中的仿真概念不大一樣。時序電路,邏輯的每一步變化都是由時終沿來觸發的,調試時控制時鐘頻率顯然不能達到單步的效果。
開發團隊一般不會嚴格地執行所有的三次仿真,一般做行為仿真和時序仿真,當我們熟練的可以編寫可綜合的代碼,我們只需要進行功能仿真,時序仿真也一般不做,我們會花時間去做深入細致的時序約束,通過時序報告分析解決時序問題。
關于FPGA的調試有很多種方法,借助示波器和邏輯分析儀的調試方法最常用。如ISE的Chipscope、Quartus 2、SignalTap 2。練習的時候可以使用Quartus 2 。
關于Quaryus 2的開發流程,在該軟件的help---PDF_Tutorials---Verilog HDL users:
Quartus 2的工程建立、使用、編譯,在此就不一一贅述,但是要明白Task窗口的編譯步驟:
Compile Design ---- 使用說明
Analysis & Synthesis ---- 分析綜合
Fitter(Place & Route) ---- 適配(布局布線)
Assembler(Generate programming files)---- 產生相應的編程下載配置的文件,一般是 bit數據流,sof/pof格式
TimeQuest Timing Analysis ---- 時序分析
EDA Netlist Writer ---- 給 Quartus 2 支持的第三方提供網表
Program Derice (Open Programmer) ---- 配置
-
FPGA
+關注
關注
1643文章
21923瀏覽量
612340 -
FPGA開發
+關注
關注
1文章
43瀏覽量
15287
發布評論請先 登錄
適用于Versal的AMD Vivado 加快FPGA開發完成Versal自適應SoC設計

FPGA設計調試流程

評論