赞
踩
原文地址:http://blog.sina.com.cn/s/blog_5f9b3de40100f6gi.html
作者:飘雨
版权申明:博客版权属于原作者,此处转载仅用于学习
wire和reg的概念:
wire:表示直通,即输入有变化,输出马上无条件地反映(如与、非门的简单连接)。
reg:表示一定要有触发,输出才会反映输入的状态。
reg相当于存储单元,wire相当于物理连线。reg表示一定要有触发,没有输入的时候可以保持原来的值,但不直接实际的硬件电路对应。
1, 寄存器型数据保持最后一次的赋值,而线型数据需要持续的驱动。wire使用在连续赋值语句中,而reg使用在过程赋值语句中。
3, 在过程赋值语句中,表达式右侧的计算结果在某种条件的触发下放到一个变量当中,而这个变量可以声明成reg类型的。根据触发条件的不同,过程赋值语句可以建模不同的硬件结构:
a,如果这个条件是时钟的上升沿或下降沿,那么这个硬件模型就是一个触发器;
b,如果这个条件是某一信号的高电平或低电平,那么这个硬件模型就是一个锁存器;
c,如果这个条件是赋值语句右侧任意操作数的变化,那么这个硬件模型就是一个组合逻辑。
5,wire只能被assign连续赋值,reg只能在initial和always中赋值。
端口与wire和reg的关系:
2, 若输出端口在过程块中赋值则为reg型,若在过程块外赋值则为net型。
3, 用关键词inout声明一个双向端口,inout端口不能声明为reg类型,只能是wire类型。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。