Verilog带参数的module实例化的方式
来源:互联网 发布:虚拟币交易所源码 编辑:程序博客网 时间:2024/06/09 15:11
类似VHDL的Generic语句,Verilog也可以在例化时传递参数
例子见http://sutherland-hdl.com/online_verilog_ref_guide/vlog_ref_top.html#8.0%20Module%20Instances
传递的参数是子模块中定义的parameter。
传递的方法:
1、module_name #( parameter1, parameter2) inst_name( port_map);
2、module_name #( .parameter_name(para_value), .parameter_name(para_value)) inst_name (port map);
用#方法和port map的写法差不多
3、defparam
defparam heirarchy_path.parameter_name = value;
这种方法与例化分开,参数需要写绝对路径来指定。
参数型常数常用于定义延迟时间和变量宽度,在模块和实例引用时,可通过参数传递改变在被引用模块或实例中已定义的参 数。参数传递的方法如下例子:首先定义一个Adder_16(sum,a,b)实例,然后定义两个参数型常量time_delay和 time_count,然后在顶层模块中调用的时候,可以通过参数传递改变参数型常量的值,从而更为灵活的调用子模块。
例子见http://sutherland-hdl.com/online_verilog_ref_guide/vlog_ref_top.html#8.0%20Module%20Instances
传递的参数是子模块中定义的parameter。
传递的方法:
1、module_name #( parameter1, parameter2) inst_name( port_map);
2、module_name #( .parameter_name(para_value), .parameter_name(para_value)) inst_name (port map);
用#方法和port map的写法差不多
3、defparam
defparam heirarchy_path.parameter_name = value;
这种方法与例化分开,参数需要写绝对路径来指定。
参数型常数常用于定义延迟时间和变量宽度,在模块和实例引用时,可通过参数传递改变在被引用模块或实例中已定义的参 数。参数传递的方法如下例子:首先定义一个Adder_16(sum,a,b)实例,然后定义两个参数型常量time_delay和 time_count,然后在顶层模块中调用的时候,可以通过参数传递改变参数型常量的值,从而更为灵活的调用子模块。
- module adder_16(sum,a,b);
- parameter time_delay=5,time_count=10;
- ......
- endmodule
- module top;
- wire[2:0] a1,b1;
- wire[3:0] a2,b2,sum1;
- wire[4:0] sum2;
- adder_16 #(4,8) AD1(sum1,a1,b1);//time_delay=4,time_count=8
- adder_16 #(12) AD2(sum2,a2,b2);//time_delay=12,time_count=10
- endmodule
阅读全文
0 0
- Verilog带参数的module实例化的方式
- Verilog实例化时的参数传递
- [Linux] 如何编写简单Module及带参数的Module?
- 关于类的实例化后面带参数的用法
- 实现带参数的多线程的方式
- 带参数的多线程的方式
- 用带参数的构造函数实例化javabean
- 怎么通过带参数的构造方法实例化Bean
- 带参数的中断程序实例
- 带参数的中断程序实例
- 生成带参数的二维码接口实例
- Verilog例化时的参数传递
- Verilog模块的参数传递
- url带参数的实现方式
- verilog 顶层模块的实例
- system verilog中module和program的区别
- Verilog testbench 与module建議的coding style(SOC) (Verilog)
- Java反射,根据类名创建带参数的实例
- 11.How can Machine Learn Better?
- 指定TensorFlow使用哪一个GPU
- Linux操作小结
- oracle的事务和隔离级别
- c/c++面向对象编程之共用数据的保护
- Verilog带参数的module实例化的方式
- hosts文件里面做域名映射
- iOS数据存储方法介绍
- JDK部分源码阅读与理解
- P1114 “非常男女”计划(数论,线性结构)
- 14. 机器学习基石-How can Machine Learn Better?
- 南阳理工_50爱摘苹果的小明
- 10.13课堂讲解——正则表达式
- Specs satisfying the `Alamofire` dependency were found, but they required a higher minimum deploymen