在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2487|回复: 0

Package使用出错,附代码,急……

[复制链接]
发表于 2007-5-5 01:44:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
这是一个双向端口的代码

我总共定义了7个双向端口,为了方便我定义了自己的类型

type   LINKBUS  is array (7 downto 1) of std_logic_vector(7 downto 0);     --Gary add
使用的package方式,可以综合的时候出错,

请问各位大侠 有没有好的解决方法?

谢谢
红色这一行出错,应该是package调用的问题,可是不知道如何修改
Error (10482): VHDL error at BidirPort.vhd(15): object "std_logic" is used but not declared

代码:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

package MyDef is
type   LINKBUS  is array (7 downto 1) of std_logic_vector(7 downto 0);     --Gary add
end MyDef;

use work.MyDef.all;


entity BidirPort is
port(

  Dir   : in std_logic;
  Sel      : in std_logic_vector(2 downto 0);
  Dbus   : inout std_logic_vector(7 downto 0);
  Din      : in LINKBUS;
  Dout     : out LINKBUS
);
end BidirPort;

architecture BidirPort_a of BidirPort is

begin
process( Sel,Dbus,Dir,Din)
begin
if (Dir = '1') then  -- Dbus out
       if (Sel = "000") then
      for n in 1 to 7 loop
      Dout(n)<= Dbus;
      end loop;
    elsif(Sel <= "111") then
    Dout(CONV_INTEGER(Sel)) <= Dbus;
    end if;
    Dbus <= (others => 'Z');
else
  if (Sel >= "001" and Sel <= "111") then
    Dbus <= Din(CONV_INTEGER(Sel));
  end if;
  for n in 1 to 7 loop
    Dout(n) <= (others => 'Z');
  end loop;   
end if;
end process;

end BidirPort_a;

[ 本帖最后由 smattershi 于 2007-5-5 01:46 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 16:31 , Processed in 0.018229 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表