在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2520|回复: 7

verilog 请教!!

[复制链接]
发表于 2009-2-16 22:57:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我是verilog的初学者,最近在编写一些程序。
在用到parameter时有错,但不知是怎么回事,急!!
请高手指点:
parameter IDLE=3'b000,A=3'b001,B=3'b010,
WORD_WIDTH=8,HEAD=8'B1010_0101;
reg[3*WORD_WIDTH-1:0]counter;
为什么通过testbesh仿真加到wave中counter为counter【5:0】?
是怎么回事呀?我的用法对吗?
如果只定义一个参数如:
parameter WORD_WIDTH=8;
reg[3*WORD_WIDTH-1:0]counter;
仿真后就是正确的!!
到底怎么回事??
发表于 2009-2-17 12:27:42 | 显示全部楼层
那就一个Parameter定义一个参数不就可以了吗,没有必要钻牛角尖,怎么合适怎么用
 楼主| 发表于 2009-2-17 22:19:53 | 显示全部楼层
多谢 多谢!!
问题找到了
是因为在testbench中映射端口名时,将多个parameter的值同时引入,导致出错。
xx   DUT #(A,B,IDLE,HEAD,WORD_WIDTH)(.(),.()......);
如果将 ##(A,B,IDLE,HEAD,WORD_WIDTH)去掉,就正确。
发表于 2009-2-17 23:37:06 | 显示全部楼层
最开始学习写verilog的时候,除了语法以外还要注意风格的培养啊
发表于 2009-2-18 13:12:08 | 显示全部楼层
就是就是 风格很重要
发表于 2009-2-19 04:41:00 | 显示全部楼层
风格。。。好抽象。。。
发表于 2009-2-22 08:43:05 | 显示全部楼层

风格很重要

风格很重要
发表于 2009-2-22 12:35:44 | 显示全部楼层

回复

楼主说的这个错误,我还没有碰到过。不过我在用parameter定义参数是,不会将不同数据类型的参数定义在一个parameter中。楼主应该注意代码风格的问题了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-23 06:04 , Processed in 0.029757 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表