FPGA的設計流程就是利用EDA開發軟件和編程工具對FPGA芯片進行開發的過程。下面粵嵌嵌入式培訓帶你了解一下FPGA開發的基本流程。
功能定義/器件選型。在FPGA設計項目開始之前,必須有系統功能的定義和模塊的劃分,另外就是要根據任務要求。一般都采用自頂向下的設計方法,把系統分成若干個基本單元,然后再劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。
設計輸入。常用的方法有硬件描述語言(HDL)和原理圖輸入方法等。原理圖輸入方法雖然直觀并易于仿真,但效率很低,且不易維護,不利于模塊構造和重用。更主要的缺點是可移植性差,當芯片升級后,所有的原理圖都需要作一定的改動。
功能仿真。仿真前,要先利用波形編輯器和HDL等建立波形文件和測試向量,仿真結果將會生成報告文件和輸出信號波形,從中便可以觀察各個節點信號的變化。如果發現錯誤,則返回設計修改邏輯設計。
綜合優化。就目前的層次來看,綜合優化是指將設計輸入編譯成由與門、或門、非門、RAM、觸發器等基本邏輯單元組成的邏輯連接網表,而并非真實的門級電路。真實具體的門級電路需要利用FPGA制造商的布局布線功能,根據綜合后生成的標準門級結構網表來產生。
綜合后仿真。在仿真時,把綜合生成的標準延時文件反標注到綜合仿真模型中去,可估計門延時帶來的影響。目前的綜合工具較為成熟,對于一般的設計可以省略這一步,但如果在布局布線后發現電路結構和設計意圖不符,則需要回溯到綜合后仿真來確認問題所在。
實現與布局布線。目前,FPGA的結構非常復雜,特別是在有時序約束條件時,需要利用時序驅動的引擎進行布局布線。布線結束后,軟件工具會自動生成報告,提供有關設計中各部分資源的使用情況。由于只有FPGA芯片生產商對芯片結構為了解,所以布局布線必須選擇芯片開發商提供的工具。
時序仿真。在布局布線后,通過對系統和各個模塊進行時序仿真,分析其時序關系,估計系統性能,以及檢查和消除競爭冒險是非常有必要的。在功能仿真中介紹的軟件工具一般都支持綜合后仿真。
板級仿真與驗證。板級仿真主要應用于高速電路設計中,對高速系統的信號完整性、電磁干擾等特征進行分析,一般都以第三方工具進行仿真和驗證。
芯片編程與調試。目前,主流的FPGA芯片生產商都提供了內嵌的在線邏輯分析儀來解決上述矛盾,它們只需要占用芯片少量的邏輯資源,具有很高的實用價值。
以上是粵嵌嵌入式培訓FPGA開發的基本流程。想了解更多的FPGA開發信息,可以來粵嵌咨詢!