FPGA實戰(zhàn)開發(fā)技巧(4)
5.3.2 基于ISE的仿真
在代碼編寫完畢后,需要借助于測試平臺來驗證所設(shè)計的模塊是否滿足要求。ISE 提供了兩種測試平臺的建立方法,一種是使用HDL Bencher 的圖形化波形編輯功能編寫,另一種就是利用HDL 語言,相對于前者使用簡單、功能強大。下面介紹基于Verilog 語言建立測試平臺的方法。
本文引用地址:http://www.ex-cimer.com/article/201710/365618.htm首先在工程管理區(qū)將“Sources for”設(shè)置為Behavioral SimulaTIon,在任意位置單擊鼠標(biāo)右鍵,并在彈出的菜單中選擇“New Source”命令,然后選中“Verilog Test Fixture”類型,輸入文件名為“test_test”,再點擊“Next”進(jìn)入下一頁。這時,工程中所有Verilog Module 的名稱都會顯示出來,設(shè)計人員需要選擇要進(jìn)行測試的模塊。
用鼠標(biāo)選中test,點擊“Next”后進(jìn)入下一頁,直接點擊“Finish”按鍵,ISE 會在源代碼編輯區(qū)自動顯示測試模塊的代碼:
`TImescale 1ns / 1ps
module test_test_v;
// Inputs
reg clk;
reg [7:0] din;
// Outputs
wire [7:0] dout;
// InstanTIate the Unit Under Test (UUT)
test uut (
.clk(clk),
.din(din),
.dout(dout)
);
iniTIal begin
// Initialize Inputs
clk = 0;
din = 0;
// Wait 100 ns for global reset to finish
#100;
// Add stimulus here
end
endmodule
由此可見,ISE 自動生成了測試平臺的完整架構(gòu),包括所需信號、端口聲明以及模塊調(diào)用的完成。所需的工作就是在initial…end 模塊中的“// Add stimulus here”后面添加測試向量生成代碼。添加的測試代碼如下:
forever begin
#5;
clk = !clk;
if(clk == 1)
din = din + 1;
else
din = din;
end
完成測試平臺后。在工程管理區(qū)將“Sources for”選項設(shè)置為Behavioral Simulation,這時在過程管理區(qū)會顯示與仿真有關(guān)的進(jìn)程,如圖5-7 所示。
圖5-7 仿真過程示意圖
選中圖5-7 中Xilinx ISE Simulator 下的Simulate Behavioral Model 項,點擊鼠標(biāo)右鍵,選擇彈出菜單的Properties項,會彈出如圖5-8 所示的屬性設(shè)置對話框,最后一行的Simulation Run Time 就是仿真時間的設(shè)置,可將其修改為任意時長,本例采用默認(rèn)值。
圖5-8 仿真屬性設(shè)置對話框
仿真參數(shù)設(shè)置完后,就可以進(jìn)行仿真了,直接雙擊ISE Simulator 軟件中的Simulate Behavioral Model,則ISE 會自動啟動ISE Simulator 軟件,并得到如圖5-9所示的仿真結(jié)果,從中可以看到設(shè)計達(dá)到了預(yù)計目標(biāo)。
圖5-9 test模塊的仿真結(jié)果
評論