<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] > # 基本仿真步驟 **啟動ModelSim SE, 首先看到在在ModelSim SE右邊的窗口有ModelSim> 這樣的提示符。在提示符后,順序運行以下命令:**</br> **vlib work** :? 該命令的作用是在該目錄下建立一個work目錄,請注意不要用操作系統來新建一個work的文件夾,因為用操作系統建立的work文件夾并沒有ModelSim SE自動生成的_info文件。</br> **vmap work work**? :?? 該命令的作用是將目前的邏輯工作庫work和實際工作庫work映射對應。</br> **vlog camera.v? camera_tb.v**? : 該命令的作用是編譯這些文件,要注意的是文件可以單獨分開編譯,但是一定要先編譯被調用的文件。假如是VHDL文件就可以用vcom file1,file2命令來編譯。</br> **vsim?camera_tb**? : 仿真命令, 注意后面的參數必須為camera_tb.v文件中的模塊名。</br> **add wave/camera_tb/ \*** : 該命令的作用是將testbench文件camera_tb.v中模塊camera_tb下所有的信號變量加到波形文件中去,注意在“\*”前要加空格。這時候你也可以看到wave文件被打開。當然也可以單個信號的添加,例如添加時鐘:add wave clk 等等。</br> **run 2000**? : 該命令的作用是運行2000個單位時間的仿真。也可以用run –all命令來一直仿真下去。</br> 這時候就可以在wave窗口文件中看到你的仿真結果。 ??? 當然也可以觀察其它窗口的結果,用view命令顯示????? ???? view \* 觀察包括signals、wave、dataflow等窗口文件。也可以分別打開。例如用view signals來觀察信號變量。 ??? quit -f/-force/-sim? 該命令分別是退出ModelSim(-f/-force)和退出仿真(-sim)。 > # 使用do文件方式 do文件是上面這些命令保存的文件,可以理解為執行的腳本,我們有`tb.v`文件。其類容如下: ```verilog `timescale 1ns / 1ps module tb ; reg clk,rst; //生成始時鐘 parameter NCLK = 4; initial begin clk=0; forever clk=#(NCLK/2) ~clk; end /****************** BEGIN ADD module inst ******************/ //Modulenamme top (rst,clk); /****************** BEGIN END module inst ******************/ initial begin $dumpfile("wave.lxt2"); $dumpvars(0, tb); //dumpvars(深度, 實例化模塊1,實例化模塊2,.....) end initial begin rst = 1; #(NCLK) rst=0; #(NCLK) rst=1; //復位信號 repeat(10) @(posedge clk)begin end $display("hello running!"); $dumpflush; //$finish; $stop; end endmodule ``` **編寫仿真的do文件,run.do** ``` # 退出上次仿真 quit -sim vlib work vmap work work vlog tb.v # 開始仿真 vsim tb # 將需要查看的波形添加到wave窗口 add wave -color Yellow tb/clk add wave -color Red tb/rst view * run -all ``` 使用`do run.do`運行自動化仿真 仿真波形如圖所示: ![](https://img.kancloud.cn/7f/3a/7f3a9a87f93593f5c8e800d6b60073c0_1233x427.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看