parameter localparam define的区别
`define
语法格式
`define A 12 //注意不加;不能忘记" ` "
作用区域
在整个工程中均有效,因为它是可以跨模块的定义
parameter 和 localparam
语法格式
parameter A = 16'd2600 ; //不定义位宽的时候默认是32位 localparam A = 16'd2600; //同上
作用区域
parameter 、localparam 只在定义的本模块内有效。
两者的区别是 parameter 可以进行参数例化,而 localparam 则不可以。
参数传递我将举下面这个例子进行说明
首先定义了一个模块 led_driver ,并且定义了一个参数 DATA ,代表了 led 灯的个数,此处代表有 7 个 led 灯
module led_driver (clk ,rst_n,led ); parameter DATA = 7; //定义一个参数 input clk,rst_n; //输入 output [ DATA-1 : 0] led; //输出 ............ endmodule
当要在顶层模块例化 led_driver 这个模块时,假设由于工程需要,要将 led 个数改为 4 个,
第一个方法 led_driver 内的 parameter 参数直接改为 3 。
另一种方法 在例化 led_driver 时,将参数 DATA 也进行例化,方法如下面这个代码
led_driver //被调用的模块 #(.DATA(4)) // 参数例化 u_led_driver( //例化模块 .clk (clk),.rst_n(rst_n),.led (led) );
在实际应用中,如果想让 parameter 或 `define 作用于整个工程中,可以单独声明一个文件,并且用 `include 让每个文件都包含声明文件。
原文链接:http://www.cnblogs.com/aslmer/p/6022152.html
转载于:https://www.cnblogs.com/aslmer/p/6022152.html
parameter localparam define的区别相关推荐
- 如何巧妙的更改ip核中的参数 以及parameter localparameter,`define 的区别
通过直接调用IP核可以节省很多功夫,Quartus II自带的宏功能模块LPM是如此,但是有时因为配置的不同IP核可能只在某些参数上发生了变化.因此我们只需要更改一些参数就可以大大提高IP核的可移植性 ...
- parameter与define 区别
1.语法 声明: parameter xx = yy; `define XX YY 使用: xx `XX 2 .作用域 parameter 作用于声明的那个文件: `define 从编译器读到这条 ...
- const与define相比优点_const与#define的区别、优点
const与#define的区别 编译器处理方式不同 define宏是在预处理阶段展开. 补充:预处理器根据以#开头的命令,修改原始的程序.比如我们常见的#include 命令告诉处理器读取系统头文件 ...
- C++中typedef和define的区别
typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...
- typedef与#define宏区别
先让我们了解一下typedef的功能,typedef简单来说就是给类型取一个别名: 如 typedef int New 那么int就有一个别名叫New了,以后size就和int这个类型一共用法了. ...
- C语言-typedef与#define的区别
目录 1 typedef 1.1 将复杂的声明简单化 1.2 定义平台无关的类型 1.3 与struct的结合使用 1.4 typedef使用公式 2 typedef与#define的区别 2.1 执 ...
- C++ 中 const和define的区别
来源网址:http://wujiangping.blog.163.com/blog/static/195182011201255115125205/ 请区别用#define命令定义的符号常量和用con ...
- enum的介绍以及和#define的区别
在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是: 复制代码 #define MON 1 #define TUE 2 #define WED ...
- C语言typedef与#define的区别
typedef和#define define 没有参加编译,在预处理的时候就被替换掉了. typedef参加编译和链接.typedef是重命名,可以为枚举结构体等等重新命名,提高代码整洁. 一.typ ...
最新文章
- 2020年人工神经网络第二次作业-参考答案第三题
- response.getWriter().write 传递中文乱码
- .net 根据书签往word中插入数据_word目录制作技巧:快速生成文档总目录和章节下子目录...
- 物料信息记录中几个常见的数据表
- 从桌面向手机移植Silverlight应用
- CentOS安装jdk和tomcat
- 终于,我读懂了所有Java集合——List篇
- 关于Cocos2d-x发布游戏的时候遇到的问题和解决
- SQL Server将DataTable传入存储过程(Table Value Parameter)
- @Autowired与@Resource用法
- java 删除文件夹及文件夹中的子文件
- 教你用易语言编写一个简单的电脑病毒
- html调取android手机录音并保存,html5网页录音插件Recorder
- 动态爱心表白代码(绝对炫酷)
- 计算机启动到安全模式,电脑正常开机会进入安全模式怎么办
- 《数据库系统工程师》备考指南
- *********ADO接口简介*********
- 【zookeeper】Apache curator优点介绍
- 房讯房屋租赁管理软件新版上线 专为房东朋友定制
- 锐龙R5 4500 怎么样 相当于什么水平
热门文章
- ★Kali信息收集~3.子域名系列
- 以架构师的眼睛看世界-Architect Inside
- Java---类加载
- Android开发--真机调试出现device offline提示
- DAO模式多表联查案例
- java中对集合操作的易错点01
- 第二十二章:动画(八)
- 解决Unable to create group (name already exists)
- [2019HDU多校第一场][HDU 6590][M. Code]
- POJ 2251 Dungeon Master