『壹』 vivado中怎麼把源碼轉變成加密網表
步驟一:
在工程中,將需要封裝的模塊(包括子模塊)設置為頂層模塊,例如top為工程的頂層模塊,top調用了A和B,B又調用了C和D,需要將B模塊以及下面的模塊整體加密,也就是封裝為網表,那麼需要將B設置為頂層模塊。
步驟二:設置綜合條件
1、在Flatten hierarchy選擇為full。
2、在more options中輸入-mode out_of_context
步驟三:綜合
在工程中運行綜合步驟,在綜合完成後,打開綜合。
步驟四:生成edf
這里和quartus不一樣,這里需要通過輸入腳本的方式生成。
假設網表文件中沒有調用IP,那麼輸入如下指令:
write_edif F:/FPGA/abc.edf
如果調用了IP,輸入如下指令:
write_edif -security_mode all F:/FPGA/abc.edf
步驟五:生成調用v文件
假設vivado的版本在2017.4以前,輸入如下指令:
write_verilog -mode port F:/FPGA/abc_stub.v
2018.1以後:
write_verilog -mode synth_stub F:/FPGA/abc_stub.v
『貳』 利用system generator 生成vivado ip—以低通濾波器舉例
利用System Generator生成Vivado IP的實例,特別是針對低通濾波器設計,能顯著提升數字信號處理的開發效率。以下步驟將引導你完成一個1MHz通帶和1.2MHz阻帶的低通濾波器IP創建。
首先,確保安裝了System Generator,通過Matlab命令行啟動Simulink。創建一個新的模型,添加信號源模塊,設置采樣率,例如3.84Mcps的WCDMA碼速率。
進入設計,選擇Gateway In作為IP輸入,保持Register默認設置,濾波器部分是關鍵。打開FDA Tool,設計一個1MHz截止頻率,1.2MHz阻帶起點的低通濾波器。接著,使用FIR Compiler設置濾波器參數,如16位量化,並選擇跟隨FDATool量化。
進行截斷處理時,注意控制IP輸出位寬。勾選Provide enable port以引入截斷使能信號,原始32位輸出經截斷後降為16位,可能影響精度,但可以減小數據傳輸量。查看數據位寬,點擊Model菜單的Display > signals&Ports > Ports Data Type。
在System Generator中,匹配目標FPGA晶元類型,為IP配置輸入時鍾,例如3.84MHz。連接所有模塊後,進行模擬,觀察波形和頻譜,如需關注雙邊譜,對比理論衰減。
實驗結果顯示,盡管單級低通濾波器將信號源的無限帶寬限制在1MHz,實際衰減與理論預測有差距,可能是由於信號復雜性或濾波器設計的不完全匹配。最後,生成IP,將其存放在指定文件夾,Vivado導入IP的教程網上資源豐富,這里不再詳述。