FPGA開發流程


開始學習FPGA,想盡快上手FPGA開發,那么先來了解一下FPGA的開發流程。

FPGA開發流程概述

1、需求分析到模塊划分

需求說明文檔;器件選擇(邏輯資源、功耗、IO數量、封裝等等);配置電路考慮;開發工具選擇;電路板的可拓展性考慮;在線調試和板級調試考慮;分模塊設計。

2、設計輸入到綜合優化

設計輸入:原理圖、Verilog、VHDL

綜合:指的是將較高層次的電路描述轉化成較為低層的電路描述。就是將設計代碼轉成底層的與門、非門、RAM觸發器等基本邏輯單元相互連接而成的網表,綜合工具使用Synplicity的Synplify,也可使用器件廠商提供的開發工具進行實現(實現指的是:翻譯、映射、布局布線)。

代碼設計完成后,最好先使用開發工具進行語法檢測,之后進行功能仿真,此處仿真不涉及時序上的延時。仿真工具首推ModelTech公司的ModelSim,也可以用ISE的Quartus 2進行簡單仿真。

3、實現到時序收斂

實現:

翻譯---將綜合后的結果轉化成所選器件的底層模塊和硬件原語;

映射---將翻譯的結果映射到具體器件上;

布局布線---根據用戶的設計約束,進行布局布線,完成FPGA內部邏輯的連接;

時序收斂:(設計關鍵,必須滿足時序收斂)

工具的最紅布局布線滿足設計者輸入的時序約束要求。

4、仿真到板級調試

FPGA開發流程概述

仿真和板級調試用於主要的驗證。FPGA的板級調試一個很大的問題在於同步觀察接口信號數量受限,很難觀測內部信號節點的狀態,假若純板級調試,就消耗太大的人力物力了。

FPGA仿真很重要,但是和其他軟件開發中的仿真概念不大一樣。時序電路,邏輯的每一步變化都是由時終沿來觸發的,調試時控制時鍾頻率顯然不能達到單步的效果。

開發團隊一般不會嚴格地執行所有的三次仿真,一般做行為仿真和時序仿真,當我們熟練的可以編寫可綜合的代碼,我們只需要進行功能仿真,時序仿真也一般不做,我們會花時間去做深入細致的時序約束,通過時序報告分析解決時序問題。

關於FPGA的調試有很多種方法,借助示波器和邏輯分析儀的調試方法最常用。如ISE的Chipscope、Quartus 2、SignalTap 2。練習的時候可以使用Quartus 2 。

關於Quaryus 2的開發流程,在該軟件的help---PDF_Tutorials---Verilog HDL users

FPGA開發流程概述

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) ---- 配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM