集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 16197|回复: 25

有关寄存器类型和线网类型经验reg & wire的区别

[复制链接]
ICE 发表于 2010-6-26 02:32:10 | 显示全部楼层 |阅读模式
我刚刚看到有人在讲reg wire
那我就把我几年有关寄存器类型和线网类型经验拿出来和大家分享吧:
注意:
1寄存器类型变量只能用过程赋值语句赋值。
2在具体实现时,整数(inteter)类型的变量至少用32为,时间(time)类型的变量至少用64为寄存器。
3 存储器类型数组中的每个元素作为整体可以进行读或写操作,如果要单独访问数组中某个元素的个别位,则必须先把这个元素的内容赋值到某个位数相同的寄存器变量中才能进行。
4Realtime类型寄存器变量是verilog语言新增加的变量类型,目前还没有任何工具支持这种类型的变量。
5有符号和无符号值的概念,在不同版本的Verilog中和用不同厂家的仿真器时,并不是完全一致,因此,当使用位宽大于32位的有符号数或矢量时要特别注意。<br>

可综合性问题:
1.在描述组合逻辑的always块中,寄存器被综合成wire型;如果存在不完整赋值的情况,则被综合成锁存器,
2.在描述时序逻辑的always块中,寄存器根据块内语句的内容被综合成连线(wire)或者触发器。
3.运用目前的综合工具,整数被综合成32位,其值用二进制数表示,负数则用其二进制补码表示。
4.根据所用语句,存贮器数组会被综合成触发器或连线,而不会被综合成RAM或ROM的器件。
提示
运用reg类型变量来描述寄存器逻辑,integer类型变量用于循环变量和计数,real类型变量用于系统模块,time和realtime类型变量用于测试模块中记录仿真时刻
2每个端口不但要声明是输出、输入、还是双向端口,而且还要声明是连线(wire)还是寄存器(reg)类型,如果没声明,则会隐含地认为该端口是连线(wire)类型,且其位宽与相应地端口一致。如果某端口已被声明为一矢量,则其端口的方向和类型两个声明中的位宽必须一致。
3 输入和双向端口不能声明为寄存器类型。
encounter 发表于 2010-6-26 03:34:43 | 显示全部楼层
好贴!!!
interige 发表于 2010-6-26 04:24:31 | 显示全部楼层
是呀!我最近也在搞这块,就只知道一个输入一个输出!<br>
现在还好看到这么多!不错!
HANG 发表于 2010-6-26 05:05:32 | 显示全部楼层
多谢楼主共享
FFT 发表于 2010-6-26 06:10:49 | 显示全部楼层
归纳得不错
CHA 发表于 2010-6-26 06:28:32 | 显示全部楼层
归纳的很好,谢谢
VVC 发表于 2010-6-26 08:11:06 | 显示全部楼层
恩,不错,赞一个
HANG 发表于 2010-6-26 09:18:28 | 显示全部楼层
还是不知道wire型是做啥用的!!
CCIE 发表于 2010-6-26 10:24:13 | 显示全部楼层
支持支持,好贴啊
ATA 发表于 2010-6-26 10:52:14 | 显示全部楼层
支持好贴!
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-27 18:39 , Processed in 0.066980 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表