Nov 1, 2006

Xilinx 8.x + ModelSim 6.x ...小小筆記

@設定Xilinx的Intergate Tool



Edit - Preference,找modelsim執行檔的位置
0.jpg
先寫個檔案

dynamicHazard.v:
module hazard_dynamic(w,x,y,z,f);

input w,x,y,z;
output f;

//internal declaration
wire a,b,c,d,e;

//logic circuit body
nand #5 nand1(b,x,w);
not #5 n1(a,w);
nand #5 nand2(c,a,y);
nand #5 nand3(d,b,c);
nand #5 nand4(e,w,z);
nand #5 nand5(f,d,e);
endmodule

隨便找個地方放。

@啟動Xilinx

@File - New Project

project name:dynamicHazard

21.jpg

@Add Existing Source

把dynamicHazard.v加進去

41.jpg

project開好了

5.jpg
@ RTL View

下面窗格,View RTL Schematic點兩下,右邊會開出來。

右邊再點兩下可以切換view level。

6.jpg



波形模擬

需要testbench

@Creat New Source

7.jpg
@Verilog Test Fixture(這樣是用自己寫的testbench)

如果選Test Bench Waveform,自訂的彈性很差。

File Name : dynamicHazard_tb

8.jpg

接下來選source,選擇要測試的module

@貼上自己寫的test bench

`timescale 1ns / 10ps


module dynamicHazard_tb_v;

// Inputs
reg w;
reg x;
reg y;
reg z;

// Outputs
wire f;

// Instantiate the Unit Under Test (UUT)
hazard_dynamic uut (
.w(w),
.x(x),
.y(y),
.z(z),
.f(f)
);

initial begin

w=1'b0; x=1'b0; y=1'b0; z=1'b0;
#5 x=1'b1; y=1'b1; z=1'b1;
#20 w=1'b0;
#30 w=1'b1;
#190 $finish;

end

endmodule

儲存testbench

@ Implement Design

切換source到Synthesis/Implementation

9.jpg

點下面Translate的加號 - 點兩下Generate Post-Translate Simulation Model

同樣的把Post-Map, Post-Route simulation model都執行

10.jpg

@丟到ModelSim產生波形

切換source。要模擬哪個階段,就切換到那一個source
11.jpg

@processes會切換到對應的source,點選dynamicHazard_tb之後,下面才會跳出Simulate選項

121.jpg

@Simulate Post-Translate Model點兩下

接下來就交給ModelSim了


喔喔~有錯誤

13.jpg

上面說找不到simprims_ver這個library,手動加進去。

-File - New - Library,name輸入simprims_ver

-Compile - Compile

-Library改成 simprims_ver

-搜尋位置:C:\Xilinx\verilog\src,加入glbl.v。Compile

進入C:\Xilinx\verilog\src\simprims,Ctrl-A全選。Compile

Done

- 關掉ModelSim,從Xilinx再呼叫一次

右邊的紅圈:把波形圖放大。

左邊的紅圈:調整zoom成觀看整個波形

(一定要調.....否則會看起來一片平坦...以為是做錯了)

14.jpg

就這樣...還有很多要學

just begining....


0 comments:

Post a Comment