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

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

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

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(因為要仿真的文件我們已經(jīng)編譯好了)

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文件,并右擊鼠標(biāo),準(zhǔn)備simulate

modelsim仿真教程

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

modelsim仿真教程

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

modelsim仿真教程

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

modelsim仿真教程

(14)得到仿真結(jié)果

modelsim仿真教程

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉