加入收藏 设为首页 帮助中心
 
论坛首页
用户登录 | 用户注册 | 最新悬赏 | 最新贴子 | 会员中心 | 贴子搜索 | 网站地图 | 帮助中心 | 联系我们
站内搜索:
现在位置 > 维库电子开发网论坛 > EDA > Quartus II 7.2编译总出错,急!!!(...
帖子主题: Quartus II 7.2编译总出错,急!!!(高手请进)
你还没有登录,无法发表回复,请首先 登录.. [注 册]
积分:594 coolfrog9149
发表于:2008-5-8 10:57:00 楼主
级别:五星
积分:594分
注册:2006年08月13日
Quartus II 7.2编译总出错,急!!!(高手请进)

自己刚开始学习VHDL和Quartus II 7.2,写了下面一段程序后编译总是出错,希望高手指点一下,在下先谢谢了!

程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity adder is
   port(a1:  in bit_vector;
        a2:  in bit_vector;
        cnt1: in bit;
        pout: out bit_vector);
   end adder;
architecture func of adder is
begin
   cale:process(cnt1)
       begin
             if(cnt1='1')then pout <= a1 + a2;
             end if;
   end process;
end func;

其实就是一个很简单的加法器,可是编译不通过,显示错误信息如下:

Error (10327): VHDL error at adder.vhd(14): can't determine definition of operator ""+"" -- found 0 possible definitions

希望高手帮忙解答!!!
谢谢!

 
积分:148 result8342
发表于:2008-5-8 10:57:00 1 楼
级别:二星
积分:148分
注册:2006年08月13日
11

呵呵
use ieee.numeric_std.all;
或者use ieee.numeric_bit.all;试一试~

这个QUARTUS里面我在IEEE下没发现std_logic_unsigned啊~

呵呵~

 
积分:462 lujun55883641
发表于:2008-5-8 10:57:00 2 楼
级别:四星
积分:462分
注册:2006年08月13日
非常感谢!

试了一下,呵呵...
还是编译不通过,同样的错误提示,唉!真不知道怎么办了...

不过,还是感谢楼上的!

 
积分:1026 小小公民5659
发表于:2008-5-8 10:57:00 3 楼
级别:一钻
积分:1026分
注册:2006年08月13日
我也遇到这个问题

不知道出什么问题了

 
积分:801 89c51rx2976
发表于:2008-5-8 10:57:00 4 楼
级别:一钻
积分:801分
注册:2006年08月13日
in bit_vector

首先位矢量必须制定位宽  其次位矢量不能进行加法运算

改bit_vector为std_logic_vector  并且制定位宽

 
积分:931 参天小树8746
发表于:2008-5-8 10:57:00 5 楼
级别:一钻
积分:931分
注册:2006年08月13日
bit和bit_vector只能做逻辑运算和算术左移右移等运算

请参照VHDL操作符的说明

 
积分:473 wxj7976466
发表于:2008-5-8 10:57:00 6 楼
级别:四星
积分:473分
注册:2006年08月13日
再参照一下IEEE库类型转换函数表

STD_LOGIC_1164

由bit_vector类型转换为std_logic_vector
由std_logic_vector类型转换为bit_vector
由bit类型转换为std_logic
由std_logic类型转换为bit

STD_LOGIC_UNSIGNED
由std_logic_vector类型转换为integer


没有bit和bit_vector转换为integer类型

而只有integer类型可以进行加减运算

所以bit和bit_vector是无法直接进行加减运算

 
积分:672 talos6608
发表于:2008-5-8 10:57:00 7 楼
级别:五星
积分:672分
注册:2006年08月13日
非常感谢!

非常感谢风中的舞者,问题解决!



 
积分:125 shenzhou_n4187
发表于:2008-5-8 10:57:00 8 楼
级别:二星
积分:125分
注册:2006年08月13日
学习

 

 
积分:262 dandywang3641
发表于:2008-5-8 10:57:00 9 楼
级别:三星
积分:262分
注册:2006年08月13日
:为什么找不到std_logic_unsigned 程序包

在Quartus II 7.2的安装目标下的IEEE库中,我怎么也找不到std_logic_unsigned 程序包。

将上面的bit_vector改为std_logic_vector后,能正确仿真,但这种矢量相加需要std_logic_unsigned程序包支持啊,怎么在IEEE库中就找不到这个程序包呢?

还望大虾不吝赐教。 

 
快速回复:
用户名: 密码:  验证码,看不清楚?请点击刷新验证码 注册新帐号?
上传图片格式(jpg/gif/png)和文件格式(rar/pdf)
 
 
网站简介广告服务网站地图帮助信息联系方式问题报告
Copyright 2007 - 2008 bbs.weeqoo.com
Powered By weeqoo Version 8.0.0