在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 編寫高效的測試設(shè)計(testbenches)

            編寫高效的測試設(shè)計(testbenches)

            作者: 時間:2008-06-26 來源:電子開發(fā)網(wǎng) 收藏

              VHDL進程塊和Verilog初始塊與設(shè)計文件中的其他的進程塊或初始塊同時執(zhí)行。然而,在每一個進程塊或初始塊中,事件是按照書寫的順序有序的規(guī)劃的。這說明在仿真時間零點并發(fā)的每一個塊激勵的順序。多模塊應(yīng)該被用來將復雜的激勵順序分解為有 更好的可讀性和方便維護的代碼。

            本文引用地址:http://www.biyoush.com/article/84843.htm

               顯示結(jié)果

              在verilog中推薦使用關(guān)鍵字$display 和 $monitor 顯示結(jié)果。雖然vhdl沒有等效的顯示指令,它提供了std_textio標準文本輸入輸出程序包。它允許文件的i/o重定向到顯示終端窗口(作為這個技術(shù)的示例,參看下面的自較驗查驗證設(shè)計)

              下面是verilog示例,它將在終端屏幕上顯示一些值。

              // pipes the ASCII results to the terminal or text editor

              initial begin

              $timeformat(-9,1,"ns",12);

              $display(" Time Clk Rst Ld SftRg Data Sel");

              $monitor("%t %b %b %b %b %b %b", $realtime,

              clock, reset, load, shiftreg, data, sel);

              end

              關(guān)鍵字 $display在終端屏幕上輸出引用的附加的說明文字(“。。。”).關(guān)鍵字$monitor操作不同。因為它的輸出是事件驅(qū)動的。例中的變量$ realtime(由用戶賦值到當前的仿真時間)用于觸發(fā)信號列表中值的顯示。信號表由變量 $realtime開始,跟隨其他將要顯示的信號名(clock, reset, load等)。以%開始的關(guān)鍵字包含一個格式描述的表,用來控制如何格式化顯示信號列表中的每個信號的值。格式列表是位置確定的。每個格式說明有序地與信號列表中的信號順序相關(guān)。比如%t說明規(guī)定了$realtime的值是時間格式。并且第一個%b說明符格式化clock的值是二進制形式。verilog 提供附加的格式說明,比如%h用于說明十六進制,%d說明十進制,%c說明顯示為八進制。(參見verilog準則了解完整的關(guān)鍵字及格式描述符)

               簡單的設(shè)計

              簡單的設(shè)計實例化用戶設(shè)計,然后提供相應(yīng)的激勵。輸出被圖形化顯示在仿真器的波形窗口里或者作為文本發(fā)送到用戶的終端或者是管道輸出文本。

              以下是一個簡單的用Verilog實現(xiàn)的設(shè)計,它實現(xiàn)了一個移位寄存器的功能。

              module shift_reg (clock, reset, load, sel, data, shiftreg);

              input clock;

              input reset;

              input load;

              input [1:0] sel;

              input [4:0] data;

              output [4:0] shiftreg;

              reg [4:0] shiftreg;

              always @ (posedge clock)

              begin

              if (reset)

              shiftreg = 0;

              else if (load)

              shiftreg = data;

              else

              case (sel)

              2’b00 : shiftreg = shiftreg;

              2’b01 : shiftreg = shiftreg << 1;

              2’b10 : shiftreg = shiftreg >> 1;

              default : shiftreg = shiftreg;

              endcase

              end

              endmodule
             
              以下是簡單的測試設(shè)計示例移位寄存器設(shè)計的例子,verilog描述。

              module testbench; // declare testbench name

              reg clock;

              reg load;

              reg reset; // declaration of signals

              wire [4:0] shiftreg;

              reg [4:0] data;

              reg [1:0] sel;

              // instantiation of the shift_reg design below

              shift_reg dut(.clock (clock),

              .load (load),

              .reset (reset),

              .shiftreg (shiftreg),

              .data (data),

              .sel (sel));

              //this process block sets up the free running clock

              initial begin

              clock = 0;

              forever #50 clock = ~clock;

              end

              initial be gin// this process block specifies the stimulus.



            關(guān)鍵詞: 測試 HLL

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉