搜索
bottom↓
回复: 6

请教一个VHDL语言的问题

[复制链接]

出0入0汤圆

发表于 2011-3-22 13:43:20 | 显示全部楼层 |阅读模式
我学的是veirlog。刚看了一段vhdl的代码,看得我很晕。
这段代码:
                                        IF (fifowraddr>=fifowraddr'high) THEN
                                                fifowraddr<=0;
                                        ELSE
                                                fifowraddr<=fifowraddr+1;
                                        END IF;
其中的变量是这样定义的SIGNAL fifowraddr    : NATURAL RANGE 0 TO (FIFOLENTH-1) ;

这个fifowraddr'high是不是就是11111111··啊。如果是这样的话,上面的代码不就多余了么,直接+1就可以了么。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-3-22 14:23:58 | 显示全部楼层
我看可以直接+1

出0入0汤圆

发表于 2011-3-22 16:04:19 | 显示全部楼层
FIFOLENTH-1这个是1111111吗?

出0入0汤圆

发表于 2011-3-22 16:15:41 | 显示全部楼层
220和255 都是8位,但220不是“11111111”

FIFOLENTH-1不"1111"应该是常量

出0入0汤圆

 楼主| 发表于 2011-3-22 16:47:23 | 显示全部楼层
回复【3楼】40130064  博德之门IV
-----------------------------------------------------------------------

参量FIFOLENTH=1024。
VHDL中'high是什么意思啊,是该变量的最大值么。

出0入0汤圆

发表于 2011-3-22 17:00:16 | 显示全部楼层
回复【4楼】francol
-----------------------------------------------------------------------

从通常看,FIFOLENTH是FIFO深度,如果是2的幂,那我前面说的直接加1可以的,否则按别人意见办

出0入0汤圆

发表于 2011-3-22 19:39:30 | 显示全部楼层
预定义属性函数HIGH[n]
'high返回类型或子类型的上限值,用于数组时N表示数组的行序号
fifowraddr'high 因为你这个地址不是数组,所以就是fifowraddr的最大值1023。

FIFOLENTH是常量的话修改方便 大概就是这样写的原因吧
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 15:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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