`define、parameter、localparam三者的区别(转)
`define:
可以跨模块的定义,写在模块名称上面,在整个设计工程都有效。一旦‘define指令被编译,其在整个编译过程中都有效。例如,通过另一个文件中的`define指令,定义的常量可以被其他文件中被调用。直到遇到 ‘undef;
`define data 8’d14
使用时则为
`data
parameter:
本module内有效的定义,可用于参数传递;
在模块内部定义时无法进行参数传递,
若在模块名后照下面这样写则可以进行传递
module rxtx
#(parameter baud = 9600,
mhz = 25
)
(
clk,
rst,
rx
);
调用此模块的时候可以像端口信号传递一样进行参数传递
rxtx
#( .baud ( 9600 ),
.mhz ( 50 )
)
u_uart (
.clk(clk_50m),
.rst(~HRST_N),
.rx(rx)
);
localparam:
本module内有效的定义,不可用于参数传递;localparamcannot be used within the module port parameter list.
一般情况下,状态机的参数都是用localparam的。
reference:https://www.cnblogs.com/bixiaopengblog/p/6675578.html
`define、parameter、localparam三者的区别(转)的更多相关文章
- `define、parameter、localparam三者的区别
`define: 可以跨模块的定义,写在模块名称上面,在整个设计工程都有效.一旦'define指令被编译,其在整个编译过程中都有效.例如,通过另一个文件中的`define指令,定义的常量可以被其他文件 ...
- Verilog基础知识0(`define、parameter、localparam三者的区别及举例)
1.概述 `define:作用 -> 常用于定义常量可以跨模块.跨文件; 范围 -> 整个工程; parameter: 作用 -> 常用于模块间参数传递; 范围 -> ...
- 面试问题5:const 与 define 宏定义之间的区别
问题描述:const 与 define 宏定义之间的区别 (1) 编译器处理方式不同 define宏是在预处理阶段展开: const常量是编译运行阶段使用: (2) 类型和安全检查不同 ...
- string、Empty和null三者的区别
string.Empty和null三者的区别 本文转自 http://www.bitscn.com/pdb/dotnet/201003/181883.html 时间:2010-03-01 00:00 ...
- android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
android Activity类中的finish().onDestory()和System.exit(0) 三者的区别 Activity.finish() Call this when your a ...
- 菜鸟,大牛和教主三者的区别(转自hzwer)
菜鸟,大牛和教主,三者的区别 对菜鸟来说题目有三种:会算法且能AC的,会算法但不能AC的,不会做的 对大牛来说题目有两种:会做的,不会做的 对教主来说题目有两种:能AC的,数据有错的 菜鸟提交WA了, ...
- UIColor,CGColor,CIColor三者的区别和联系
UIColor,CGColor,CIColor三者的区别和联系((转)) 最近看了看CoreGraphics的东西,看到关于CGColor的东西,于是就想着顺便看看UIColor,CIColor,弄清 ...
- parameter和argument的区别
根据网上一些资料,对parameter和argument的区别,做如下的简单说明.1. parameter是指函数定义中参数,而argument指的是函数调用时的实际参数.2. 简略描述为:param ...
- /storage/sdcard, /sdcard, /mnt/sdcard 三者的区别
原文地址: /storage/sdcard, /sdcard, /mnt/sdcard 三者的区别 - petercao - 博客园 http://www.cnblogs.com/bluestorm/ ...
随机推荐
- [mybatis-spring] Transaction 事务/事务处理/事务管理器
使用mybatis-spring的主要原因之一就是: mybatis-spring允许mybatis参与到spring 事务中. mybatis-spring leverage[use (someth ...
- 使用visual studio把xsd文件转成xml格式文件
使用visual studio把xsd文件转成xml格式文件 最近一段时间都在做Amazon的mws api的对接工作,mws api的描述文件都是使用的xsd文件来进行的,之前确实也没有接触过,也花 ...
- LeetCode--326--3的幂
问题描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27 输出: true 示例 2: 输入: 0 输出: false 示例 3: 输入: 9 输出: true 示 ...
- Luffy之Xadmin以及首页搭建(轮播图,导航)
1. 首页 1.1 轮播图 admin站点配置支持图片上传 pip install Pillow 默认情况下,Django会将上传的图片保存在本地服务器上,需要配置保存的路径.我们可以将上传的文件保存 ...
- bzoj2431
题意:求有多少个逆序对为k的排列 题解:\(dp[i][j]\)表示1~i的排列中有j个逆序对的方案数,转移就是把i放在1~i-1的排列中的第几位,\(dp[i][j]=\sum_{x=0}^{min ...
- spring boot 2.0(一)权威发布spring boot2.0
Spring Boot2.0.0.RELEASE正式发布,在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误,然后Spring ...
- win7 64安装msyql
https://www.cnblogs.com/orrz/p/5456247.html 1:下载安装包,等待等待的过程,OK,在短暂的等待后,下载完成,解压先,简单起见,解压到D盘吧,D:\mysql ...
- 移动端rem适配 flex.js
(function() { document.addEventListener('DOMContentLoaded', function () { var html = document.docume ...
- ubuntu 安装国际qq
下载地址::http://pan.baidu.com/s/1nt1Nu6P 解压后,输入终端:suao dpkg -i 解压的文件名称.deb 如果你前面安装过qq,你可以输入sudo dpkg -P ...
- linux平台的oracle11201借用expdp定时备份数据库
备份脚本如下: #!/bin/bashexport ORACLE_BASE=/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db ...