zoukankan      html  css  js  c++  java
  • 模块调用时对参数值的更改

        当某个模块被另一个模块调用后,调用模块可以对被调用模块内的参数值进行更改由此可以通过

        更改参数值来对被调用模块实现的功能进行控制。比如说我们可以设计一个加法器模块,该加法

        器的位数由模块内的参数指定。这样,在对这个加法器模块进行调用时,我们只需要在调用时进行

        一下参数更改就可以交同一加法器模块作为8位、16位、32位等任意位的加法器。

        对参数值更改的两种方式:

        1、使用带有参数值的模块实例语句;

        格式如下:

        #(<参数值1>,<参数值2>,。。。<参数值n>)

        如果只有一个参数,括号可省  “#<参数值>”

        例:

          module multibits_multiplier(data1, data2, out);

            parameter WIDE1 = 4;

          parameter WIDE2 = 4;

          input [WIDE1 -1 : 0] data1;

          input [WIDE2 - 1 : 0] data2;

          output [WIDE1 + WIDE2 - 1 : 0] out;

          assign out = data1 * data2;

        endmodule

        通过调用上面的模块并修改参数,我们可以得到一个8X8的乘法器模块

        module eight_bits_multiplier(a, b, result);

          input [7 : 0] a, b;

          output [15 : 0] result;

          multibits_multiplier #(8, 8) U1(a, b, result);

        endmodule

        2、使用参数重定义语句(defparam语句)。

        格式如下:

        defparam <参数名1> = <参数值1>,

             <参数名2> = <参数值2>,

              ......

             <参数名n> = <参数值n>;

        例:

        module multibits_multiplier(data1, data2, out);

          parameter WIDE1 = 4;

          parameter WIDE2 = 4;

          input [WIDE1 -1 : 0] data1;

          input [WIDE2 - 1 : 0] data2;

          output [WIDE1 + WIDE2 - 1 : 0] out;

          assign out = data1 * data2;

        endmodule

        通过模块调用,实现一个8*8的乘法器

        module eight_bits_multiplier(a, b, result);

          input [7 : 0] a, b;

          output [15 : 0] result;

          defparam U1.WIDE1 = 8,

               U1.WIDE2 = 8;

          multibits_multiplier U1(a, b, result);

        endmodule

     

  • 相关阅读:
    dom4j读写XML文件
    Spring的javaMail邮件发送(带附件)
    PayPal网站付款标准版(for PHP)
    SpringMVC整合TaskExecutor线程池的配置/使用
    SELECT INTO和INSERT INTO SELECT(SQL Server)
    java简单的数据库查询(SQLServer数据库)
    oracle导入TYPE对象报错ORA-02304
    mysql将字符串转化为数字
    asp.net应用发布到IIS无法链接到oracle数据库
    使用js获取数组中最大、最小的数字
  • 原文地址:https://www.cnblogs.com/zhongguo135/p/2634220.html
Copyright © 2011-2022 走看看