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