圖1、FPGA設計流程
任何專案開始都始於專案的需求評估,在著手實際FPGA程式碼開發工作之前,要儘可能完整和準確的定義FPGA系統引數要求。比如該設計的功能、介面、效能指標以及目標平臺。在FPGA開發前期,需求越清晰越有利於有效的開發,測試。
FPGA開發通常採用自上而下的方法,即先進行FPGA頂層設計和引數介面定義,再確定底層模組功能。在這個階段主要完成各個模組功能劃分、模組介面定義,模組時鐘域劃分,確定資料流走向。
該階段主要進行VerilogHD程式碼編寫、軟體綜合、行為級模擬、佈局佈線以及時序模擬等內容。在編寫FPGA程式碼時要遵循一定的程式碼規範,以保證FPGA綜合工具可以針對自家器件進行最佳的佈局佈線,增大時序餘量。
在除錯驗證階段,通常我們會採用FPGA廠家的線上邏輯分析儀進行程式碼功能分析,探測FPGA內部關鍵點訊號流。另外,在板級設計時預留的FPGA I/O測試點也可以加速我們進行設計的除錯驗證。
圖1、FPGA設計流程
1.需求定義階段任何專案開始都始於專案的需求評估,在著手實際FPGA程式碼開發工作之前,要儘可能完整和準確的定義FPGA系統引數要求。比如該設計的功能、介面、效能指標以及目標平臺。在FPGA開發前期,需求越清晰越有利於有效的開發,測試。
2.系統架構設計階段FPGA開發通常採用自上而下的方法,即先進行FPGA頂層設計和引數介面定義,再確定底層模組功能。在這個階段主要完成各個模組功能劃分、模組介面定義,模組時鐘域劃分,確定資料流走向。
3.設計實現階段該階段主要進行VerilogHD程式碼編寫、軟體綜合、行為級模擬、佈局佈線以及時序模擬等內容。在編寫FPGA程式碼時要遵循一定的程式碼規範,以保證FPGA綜合工具可以針對自家器件進行最佳的佈局佈線,增大時序餘量。
4.除錯驗證階段在除錯驗證階段,通常我們會採用FPGA廠家的線上邏輯分析儀進行程式碼功能分析,探測FPGA內部關鍵點訊號流。另外,在板級設計時預留的FPGA I/O測試點也可以加速我們進行設計的除錯驗證。