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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10960|回复: 16

verilog reg变量问题

[复制链接]
发表于 2008-4-9 10:07:35 | 显示全部楼层 |阅读模式

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

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

x
我正在看夏语文的verilog设计
看到那并行数据流转换为串行数据流的设计
里面程序
他在初始化定义变量时候
为何出现了
reg scl,link_sda,sdabuf;
reg [3:0] databuf;
reg [7:0] state;
assign sda=link_sda?sdabuf:1'bz;//link_sda控制sdabuf输出到串行总线上
为何要定义link_sda,sdabuf和databuf,这些变量在系统图都看不到啊
还有在verilog中什么时候要定义reg变量呢
初学者还弄不清这个问题
有人知道吗,谢谢
发表于 2008-4-9 11:04:14 | 显示全部楼层

个人观点

个人观点,达人指正!!
按小弟自己的理解,如果按仿真语义理解:被定义为reg的量被赋值时都有敏感事件表,当定义为reg的量被右侧表达式赋值时,如果右侧表达式中的变量
                                                                  都包含在敏感事件列表里,则是组合逻辑;右边的表达式中的变量不在或不全,则可能为锁存器或寄存器。
您问的问题本人觉得是verilog中最有深度的问题,我上面的理解也不知对不对,希望有版主,巨牛级别的人物来指正或讨论!!
发表于 2008-4-9 11:08:14 | 显示全部楼层
顺便说下,verilog是中用在计算机中跑的语言,却又是专门描述物理硬件行为的语言,所以有软件语言的特点(什么左值,右值,表达式。。。。)
但又有硬件电路的特点,确实很让人混淆!!!
 楼主| 发表于 2008-4-9 17:33:42 | 显示全部楼层
还是不太明白
这问题确实有点恼火
发表于 2008-4-9 18:45:33 | 显示全部楼层
can you show us the whole design?
发表于 2008-4-10 07:56:15 | 显示全部楼层
简单说吧,用always去赋值的都要定义成reg,用assign去赋值的都要定义成wire,可综合的代码基本就用两个。
至于testbench中的initial中的信号要定义成reg。task中的好象也要定义成reg。反正写好code后拿语法检查工具一看就知道了。呵呵
发表于 2008-4-10 12:53:32 | 显示全部楼层
没弄明白
发表于 2008-4-10 20:10:49 | 显示全部楼层
reg是寄存器,组合逻辑中是不用的
发表于 2008-4-21 18:41:42 | 显示全部楼层
学习中
发表于 2008-4-21 22:01:44 | 显示全部楼层
我来谈谈我对于这个问题的理解:
1:首先针对可综合的verilog或者VHDL语言(有些verilog或者VHDL语言的语法不具有可综合的代码风格,比如“%”,但是他们用来作function 的simulation或者是做testbench时却是非常方便的),我们在coding的时候,要做到心中有circuit。是先在大脑中设计好电路然后再用代码来实现电路,那么此时我们应该对设计中那些变量应该作为wire,那些变量作为reg就有了一个初步和比较清晰的概念,这个是定义reg变量最核心的一条,需要很多的设计经验或者参考好的设计范例,包括对整个ic design flow的了解。
关于第一点,我体会最深的就是我们的算法设计人员设计出来的电路往往是行不通的。。

2:针对于同步设计中,我们对于数据流和控制流的同步问题,是通过添加reg来控制的。

3:对于之后的complie时,便于我们做更好的constrain,需要对设计的partation做考虑,这时候我们一般考虑reg in \reg out的port定义。也就是我们看到一些参考范例输入输出做  reg变量的原因。

4:就是我们考虑area和speed 的blance问题,一句话就是“big area high speed”,对于复杂的运算,我们可能会将一级运算打断变成两级(原来1个clock的工作变成2个clock完成),来优化我们的面积。此时也是用reg记录中间变量来作的。

以上就是我暂时能够想到的对于  reg变量的理解,总之一句话:做ICdesign 心中要无时无刻 装着电路!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-23 17:34 , Processed in 0.027972 second(s), 10 queries , Gzip On, MemCached On.

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