FPGA頂層模塊對下層模塊的例化注意事項


1、頂層模塊的輸入輸出包括那些?

答:頂層模塊的輸入,是所有底層模塊的輸入的總和。頂層模塊的輸出,是所有底層模塊的總和。

2、頂層模塊對無初始值的子模塊的例化格式是什么?

答:子模塊名   u_子模塊名(

  .子模塊輸入1      ( 值或者是其他模塊的時序信號,或者是其他模塊的輸出或輸入),

       .子模塊輸入2      ( 值或者是其他模塊的時序信號,或者是其他模塊的輸出或輸入),

  .子模塊輸入3        (),

       .子模塊輸出1      ( 值,或者是 子模塊本身的變量)

       );

      例如:module key_debounce(

                 input    mod_clk,

      input    mod_rst_n,

      input    key,

      output   reg   key_flag,

      output   reg  key_value

    );

 

    頂層模塊例化:

    key_debounce  u_key_debounce(

    .mod_clk    (sys_clk),  //頂層模塊定義的輸入變量

    .mod_rst_n   (sys_rst_n),   //同上

    .key      (key),             //子模塊本身的輸入

    .key_flag    (key_flag),    //子模塊本身的輸出

    .key_flag    (1'b1)           //強制輸出為1,可能引起編譯不通過

    .key_value   (key_value)   //子模塊本身的輸出

3、頂層模塊對含有parameter參數的子模塊的例化方式是什么?

答:在子模塊中定義了parameter   MAX = 25000 ;

          parameter MIN = 10000;

       如果頂層模塊將其重新賦值並覆蓋子模塊的賦值,則

        time_count  #(//與其他輸入輸出不同之處在於是#還是u_子模塊名

  .MAX             (50000),

  .MIN    (10000)    

  )  

   u_time_count(

    子模塊輸入輸出例化,

  );

  頂層模塊也可以不用管該parameter,該parameter會使用子模塊定義的值

4、頂層模塊還可以被例化嗎?

   頂層模塊也是模塊,可以在更上一層的頂層模塊例化,像普通模塊一樣被例化。因此設計的時候,可以分模塊設計。

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM