打印
[VHDL]

一个语法问题

[复制链接]
802|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
       是这样,我原来用的芯片是Spartan-3AN 系列的XC3S700AN,现在换成了Spartan6 系列的XC6SLX16。换了之后原来在
XC3S700AN的跑的好好的程序现在编译不过去了,出现了如下图所示的错误:
  
        acc0 和 val10 这两个变量都是std_logic_vector类型的,不同的是acc0 是32位的,而val10是16位的,所以这个错误是不是
由于我把32位的数据赋值给了一个16位的变量造成的,如果是该怎么修改呢。

相关帖子

沙发
FreeCountry|  楼主 | 2017-9-8 14:23 | 只看该作者
没人理我

使用特权

评论回复
板凳
FreeCountry|  楼主 | 2017-9-8 14:25 | 只看该作者
问题处理好了,VHDL里面不同位长的变量是不能直接进行赋值运算的,得绕电路,比如用个‘&’什么的。

使用特权

评论回复
地板
玄德| | 2017-9-8 14:27 | 只看该作者

试试就知道。


使用特权

评论回复
5
FreeCountry|  楼主 | 2017-9-8 14:30 | 只看该作者

恩  试过了,好久前的帖子了。现在重新回来随便把贴结了

使用特权

评论回复
6
FreeCountry|  楼主 | 2017-9-8 14:32 | 只看该作者

不懂是不是还不太熟悉VHDL的原因,感觉VHDL用起来各种局限.

使用特权

评论回复
7
玄德| | 2017-9-8 14:34 | 只看该作者

我用verilog,印象里这种情况只会告警,不会报错。
VHDL不清楚了。

可能主要是平台的关系吧。

使用特权

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

本版积分规则

4

主题

18

帖子

0

粉丝