日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 技術學院 > 技術前線
[導讀]Modelsim仿真沒有想象的那么難,我一直沒想著仔細研究一下,本來想著請教別人的,但是最后還是決定找資料,自己好好做一下。

我原先都是調試C語言程序,然后直接用硬件驗證的,沒有注意到仿真的重要性。在FPGA上面,仿真占了很大的一部分。在我們實際驗證之前,就采用仿真來排除可能出現(xiàn)的錯誤,能夠節(jié)省很多時間。仿真過程中也可以讓我們更加深入的思考所設計的系統(tǒng)。因此Modelsim就顯得很重要了。

最初都是使用quartus進行直接調用的,對modelsim的整個操作流程還是不了解,后來直接用modelsim調用編寫的程序。

Modelsim也可以編譯verilog的程序的,我們可以建立一個空的工程進行編譯的。我們這里使用的方法是在quartus里面進行編譯。這兩種方法我都測試過,都是可以的。

下面現(xiàn)在列出具體的方法。

// 注意一點,最后我們仿真需要兩個文件,一個是我們的源文件.V文件,另外一個就是我們的testbench文件。我們最后仿真的時候,其實仿真的是testbench文件。

(1),使用quartus編寫源文件,此處以38譯碼器為例。

/*

decode38

*/

module decode_38(keyin,led,clk);

input clk;

input [2:0]keyin;

output [7:0]led;

reg [2:0]read_key;

reg [7:0]led;

always@(keyin)

begin

read_key=keyin;

case(read_key)

3'd0: led=8'b1111_1110;

3'd1: led=8'b1111_1101;

3'd2: led=8'b1111_1011;

3'd3: led=8'b1111_0111;

3'd4: led=8'b1110_1111;

3'd5: led=8'b1101_1111;

3'd6: led=8'b1011_1111;

3'd7: led=8'b0111_1111;

default:

led=8'b1111_1111;

endcase

end

endmodule

(2)編寫testbench文件

`timescale 1 ns/ 1 ps

module decode_38_vlg_tst();

reg clk;

reg [2:0] keyin;

// wires

wire [7:0] led;

reg [3:0]invect;

initial

begin

#10 clk=1'b0;

forever

#10 clk=~clk;

end

initial

begin

for(invect=0;invect<8;invect=invect+1)

begin

keyin=invect[3:0];

#10 $display($time," clk=%b,keyin=%b,led=%b",clk,keyin,led);

end

end

initial

begin

#120 $stop;

end

decode_38 i1 (

// port map - connection between master ports and signals/registers

.clk(clk),

.keyin(keyin),

.led(led)

);

endmodule

(3)啟動modelsim ,F(xiàn)ile->New->Project,建立工程

modelsim仿真教程

(4)保存新建的工程

modelsim仿真教程

(5)添加項目到建立的工程之中。此處選擇Add Existing File(因為要仿真的文件我們已經編譯好了)

modelsim仿真教程

(6)選擇編譯好的文件。需要加載我們的.V文件,以及testbench文件,一次可以加載多個文件的。

modelsim仿真教程

modelsim仿真教程

(7)在“Project”選項卡中顯示剛才加載的文件,此時Status狀態(tài)欄顯示“?”,因為我們現(xiàn)在還沒有對其進行編譯呢

modelsim仿真教程

(8)選擇菜單欄Complie進行全編譯

modelsim仿真教程

modelsim仿真教程

(9)打開Library選項卡中的work庫,找到我們加載的兩個文件(.v .vt)。

modelsim仿真教程

(10)選中testbench文件,并右擊鼠標,準備simulate

modelsim仿真教程

(11)右擊我們的testbench文件,選中Add->To Wave-> All items in region

modelsim仿真教程

(12)設置仿真時間,我們這里設置10ms

modelsim仿真教程

(13)在最下面的命令行窗口輸入”run”,或者選中Simulate->Run-All

modelsim仿真教程

(14)得到仿真結果

modelsim仿真教程

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉