打印

vhdl语法问题

[复制链接]
1994|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yfm1202|  楼主 | 2007-10-29 16:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下:
signal    cc:     STD_LOGIC_vector(4 downto 0);

if cc=48 then
    cc<="00000";
else
     cc<=cc+1;
end if;

问:我认为:cc占5位,2^5 = 32,即:cc最大数是32。
  如果我是正确的,那么,为什么有if cc=48? 
  如果我的不正确,那么代码中的 if cc=48 是正确的吗?

相关帖子

沙发
alice84| | 2007-10-29 16:03 | 只看该作者

我也觉得cc最大数是32!48???

使用特权

评论回复
板凳
风中De舞者| | 2007-10-29 16:49 | 只看该作者

CC范围是0 to 31 但是语句中写的是

if cc=48 then...  超出范围  是应该出现提示的  应该是错的  
  所以应该修改将清0的条件改为 if cc="11111" then ...  

使用特权

评论回复
地板
yfm1202|  楼主 | 2007-10-29 17:06 | 只看该作者

我初学VHDL

逻辑错误?
这是我买的板子带的光盘上的源码,经过调试的,没想到,经过调试的商业代码也有语言错误。嘻嘻哈哈。
谢过前面两位啦。

使用特权

评论回复
5
alice84| | 2007-10-29 17:08 | 只看该作者

不用谢我!我也是乱说的!

使用特权

评论回复
6
风中De舞者| | 2007-10-29 17:51 | 只看该作者

你编译的时候不提示错误吗?

使用特权

评论回复
7
vfdff| | 2007-10-30 03:10 | 只看该作者

语法

对呀,为什么不在软件上试试呢?

使用特权

评论回复
8
yfm1202|  楼主 | 2007-10-30 13:01 | 只看该作者

编译通过

在软件上试了一下,可以编译,连warning都没有。

使用特权

评论回复
9
风中De舞者| | 2007-10-30 14:11 | 只看该作者

不是吧 我这过不了啊 可以的话你把项目发过来我试试

deadend1984@163.com

使用特权

评论回复
10
风中De舞者| | 2007-10-30 16:08 | 只看该作者

有WARNING

我截了图  你可以看一下  首先我要说我也不是高手 也是菜鸟  刚从事这一行没多久  个人认为CC应该是占了6个寄存器  FS应该也是  因为这俩个信号的情况一样  CC[4] 用做双向  因为它也是作为一个进程的敏感信号来触发进程了  既然编译器都说这是对的那这就应该是符合语法规则的  用INTEGER来表示信号如果没有指定范围的话可能会使用16个寄存器储存信号  造成资源浪费  我个人认为还是不要这样写的好  
从功能上看应该是一个红绿灯控制器吧

使用特权

评论回复
11
风中De舞者| | 2007-10-30 16:17 | 只看该作者

帖子没白看啊 也算学到了点知识。。。

用INTEGER表示确实是不会提示  我改成2100都可以过  我想唯一的区别就在内部资源的占用上了  我的水平也很菜  所以也不能给你一个满意的答案了。。。

使用特权

评论回复
12
yfm1202|  楼主 | 2007-10-30 17:02 | 只看该作者

to 风中De舞者


我是点击 Processing / Analyze Current File 来对VHDL文件进行分析,没有warning。你好像不是这样做,你是如何对VHDL进行编译的? 在MaxPlusII内,又如何对VHDL的逻辑功能进行调试?
你讲的INTEGER占资源,有意思啦,你调到2100,我对cc = 100000000试后,得出:等号右边的数和左边没有关系啦。
我是菜的,没学过VHDL语言,困难重重,不过,有你的帮助,就好多了。

使用特权

评论回复
13
风中De舞者| | 2007-10-30 17:13 | 只看该作者

呵呵 我也很菜的 共同进步嘛

使用特权

评论回复
14
yfm1202|  楼主 | 2007-10-31 12:22 | 只看该作者

这是 VGA显示 例子

使用特权

评论回复
15
yfm1202|  楼主 | 2007-11-5 11:26 | 只看该作者

to amtek

你的好意心领了,我在长沙,如果来长沙玩,我导游喽.
yfm1202@163.com

使用特权

评论回复
16
liuxiqing| | 2007-11-7 14:41 | 只看该作者

信号不能这样负值吧, 用:=

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

15

帖子

0

粉丝