<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                verilog中可以使用paramter定義參數,這種參數我們在調用模塊是可以設置該參數,將參數傳遞到模塊中,實現設置該參數。 ## 方式一,例化時直接傳入 ``` module_name #( parameter1, parameter2) inst_name( port_map); ``` 如下: m2.v ```verilog module m2( input clk, input rst_n ); parameter N = 3; reg [2:0]st; always@(posedge clk)begin if(!rst_n) st <= 0; else st <= (st>= N) ? 0: st + 1; end endmodule ``` m1.v中例化m2.v并傳遞參數 ```verilog module m1( input clk, input rst_n ); reg [7:0]m1_cnt; always@(posedge clk) begin m1_cnt <= rst_n ? m1_cnt + 1 : 0; end //將m2的參數N設置為6 m2 #(.N(6))m2_inst( clk, rst_n ); endmodule ``` ## 方式二,使用defparam傳遞 此時m1.v文件要改為如下所示: ```verilog module m1( input clk, input rst_n ); reg [7:0]m1_cnt; always@(posedge clk) begin m1_cnt <= rst_n ? m1_cnt + 1 : 0; end defparam m2_inst.N = 5; //將參數5傳給m2的N m2 m2_inst( clk, rst_n ); endmodule ``` ## 當調用模塊中要訪問模塊內部的reg或者wire時可以使用 .符號來訪問 ``` `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 ******************/ m1 tm( .clk(clk), .rst_n(rst) ); wire flag; assign flag = (tm.m1_cnt == 5) ? 1'b1: 1'b0; wire m2_f; assign m2_f =(tm.m2_inst.st == 2)?1:0; ``` <br/> 模塊調用的層次 ![](https://img.kancloud.cn/64/ab/64ab7874752fb11dec970b3c0cc8f5dc_208x183.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>

                              哎呀哎呀视频在线观看