打印

加法器

[复制链接]
1831|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
成成|  楼主 | 2007-4-9 10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在QuartusII下编译以下程序:

-- 工程名称:ADDER_CTRL.qpf
-- 文件名称:ADDER_CTRL.vhd
-- 带控制端口的加法器
--          ┌──────┐
--  in1>──┤            │
--          │    adder   ├──> pout
--  in2>──┤            │
--          └──┬───┘  
--  cnt1 >────┘
-------------------------------
-- library include
-------------------------------
library ieee;
library work;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
USE work.all;

entity adder_ctrl is
port(
    in1 : in bit_vector(0 to 3);
    in2 : in bit_vector(0 to 3);
    cnt1: in bit;
    pout: out bit_vector(0 to 3));
end adder_ctrl;

architecture func of adder_ctrl is
begin
    process(cnt1)
    begin
        if(cnt1='1')then
            pout <= in1 + in2;
        end if;
    end process;
end func;

编译时出现以下错误:
Error: VHDL error at adder_ctrl.vhd(34): 
can't determine definition of operator ""+"" -- found 0 possible definitions
不知道错在哪里。

相关帖子

沙发
hideid| | 2007-4-14 06:29 | 只看该作者

加2个库文件就行了

use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;

使用特权

评论回复
板凳
hideid| | 2007-4-14 06:52 | 只看该作者

补充:

刚才没看清楚,还有1个问题:
原来你用的是bit类型,那库都是std_logic的,当然不行。所以要把你的端口定义,换成是std_logic和std_logic_vector;



使用特权

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

本版积分规则

13

主题

56

帖子

0

粉丝