基于IP核的FPGA 設計方法
一個核首先要有核的功能描述文件, 用于說明該核的功能、時序要求等, 如圖2所示, 其次還要包括設計實現(xiàn)和設計驗證兩個方面的文件, 即不但要有實現(xiàn)核功能的寄存器傳輸級(RTL ) 源碼或網(wǎng)表, 還要有用于核實現(xiàn)后驗證邏輯功能正確性的仿真模型和測試向量。硬核的實現(xiàn)較簡單, 類似于PCB 設計中IC 芯片的使用, 軟核的使用情況較為復雜, 實現(xiàn)后的性能與使用者的具體實現(xiàn)方式有關(guān), 為保證軟核的性能, 軟核提供者一般還提供綜合描述文件, 用于指導軟核的綜合, 固核的使用介于上述二者之間。
圖2 核由設計實現(xiàn)和設計驗證組成 很多核提供者都提供核的評價環(huán)境和演示、開發(fā)板,便于用戶了解核的功能和使用。
核基FPGA 設計流程如圖3所示。設計輸入部分包括:
1) 用戶設計邏輯、軟核、固核或硬核仿真模型的輸入,
2) 功能仿真,
3) 邏輯綜合。其中仿真模型是一個行為級模型, 只用作功能仿真, 不進行綜合。
圖3 核基FPGA 設計流程
設計的輸入一般是采用HDL 語言, 如VHDL、V erilog 等, 輸入完設計和仿真模型后就可進行功能仿真, 當功能仿真完成后, 就可進行邏輯電路的綜合。
用戶邏輯和軟核的綜合應加合理的時序約束, 以滿足設計的要求, 約束條件可由綜合文件(Synthesis Script ) 給出。完成設計輸入后進入設計實現(xiàn)階段,在此階段固核的網(wǎng)表和設計約束文件, 用戶綜合出的網(wǎng)表和設計約束文件一起輸入給FPGA 布局布線工具, 完成FPGA 的最后實現(xiàn), 并產(chǎn)生時序文件用于時序仿真和功能驗證。最后進入設計驗證階段,用靜態(tài)時序分析判定設計是否達到性能要求, 對比功能仿真結(jié)果和時序仿真結(jié)果, 驗證設計的時序和功能是否正確。若設計的性能不能達到要求, 需找出影響性能的關(guān)鍵路徑, 并返回延時信息, 修改約束文件, 對設計進行重新綜合和布局布線, 如此重復多次直到滿足設計要求
為止。若重復多次還不能達到設計要求, 則需修改設計或采用其它實現(xiàn)技術(shù)。
3 軟核的設計及使用
由于FPGA 的硬件技術(shù)迅速發(fā)展, 硬件資源越來越豐富, 速度越來越快, 使軟核資源利用率不高、工作速度較低等不足得到很大的彌補, 軟核在核基設計中作用越來越大。其主要優(yōu)點是功能與實現(xiàn)技術(shù)無關(guān), 使用靈活。這樣我們可以很方便地在不同的實現(xiàn)技術(shù)下使用軟核。如用X IL INX FPGA 實現(xiàn)的軟核, 不需改動設計, 重新綜合后就可以用ACTEL FPGA 實現(xiàn), 設計實現(xiàn)的靈活性大為提高。但軟核的性能受實現(xiàn)技術(shù)影響還是很大, 怎樣保證軟核達到預想的性能是目前需要解決的難題。國外近年提出了與實現(xiàn)技術(shù)無關(guān)的可綜合軟核的思想, 希望通過對編制軟核的HDL 源碼的某種限制, 并結(jié)合綜合工具的時序約束功能, 達到部分控制軟核性能的目的。如限制軟核只能采用嚴格的同步邏輯設計, 沒有反饋環(huán)路、多時鐘路徑、三態(tài)邏輯、鎖存器和異步置位復位觸發(fā)器, 只使用D 觸發(fā)器和邏輯門。這樣借助于綜合工具, 可有效地控制軟核關(guān)鍵路徑的延時,并預測具體實現(xiàn)技術(shù)中軟核的性能。當然這是以犧牲一定的FPGA 邏輯資源為代價的, 但隨著硅技術(shù)的發(fā)展, 硬件資源十分豐富, 用一定的硬件資源浪費去換取設計靈活性提高是值得的, 正如在PC 機軟件設計中, 現(xiàn)在已很少有人過多考慮程序占用的存儲空間一樣。
本文作者按照上述軟核設計思想, 采用全同步邏輯設計, 只使用D 觸發(fā)器和邏輯門, 實現(xiàn)了與PIC16C57兼容的8位微控制器的設計。頂層結(jié)構(gòu)如圖4, 采用哈佛結(jié)構(gòu), 取指和指令執(zhí)行并行工作, 除少數(shù)幾條程序跳轉(zhuǎn)指令外, 全部為單時鐘周期指令。程序存儲器ROM 一般放在FPGA 外, 若ROM 中指令較少, 也可放在FPGA 內(nèi)。數(shù)據(jù)總線采用多路選擇器形式, 以適應不同的實現(xiàn)技術(shù)。指令寄存器和特殊功能寄存器, 包括IO 端口寄存器、狀態(tài)寄存器、程序計數(shù)器等, 都由D 觸發(fā)器構(gòu)成, 通用寄存器采用了FPGA 的RAM 模塊, 指令譯碼和算數(shù)邏輯單元由組合邏輯門構(gòu)成。
圖4 8位微控制器頂層結(jié)構(gòu)圖
fpga相關(guān)文章:fpga是什么
評論