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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2458|回复: 4

FPGA实现双向管脚???

[复制链接]
发表于 2004-5-27 21:15:34 | 显示全部楼层 |阅读模式

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

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

x
我在VHDL中把I(15 DOWNTO 0)设置为INOUT,程序中我用I输入,I(0)输出,I(0)输出正确,输入I(15 DOWNTO 0),但是I(0)都为0,其他位都对,不知道为何???(I在不输入和不输出时为三态)
XC2S15 + ISE6.1
发表于 2004-5-27 21:39:33 | 显示全部楼层

FPGA实现双向管脚???

没明白你说的意思
把源代码贴出来
 楼主| 发表于 2004-5-28 10:04:44 | 显示全部楼层

FPGA实现双向管脚???

se IEEE.STD_LOGIC_UNSIGNED.ALL;
--  Uncomment the following lines to use the declarations that are
--  provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;
entity XC2S15 is
Port (
      I: INOUT STD_LOGIC_VECTOR(15 DOWNTO 0)   --D0-D15
     );
end XC2S15;
architecture Behavioral of XC2S15 is
SIGNAL ADD    : STD_LOGIC_VECTOR (13 DOWNTO 0);
SIGNAL OUTPUT : STD_LOGIC_VECTOR (10 DOWNTO 0);
begin
           ADD(13)<=A(10); --  \
ADD(12)<=A(9);  --   |
ADD(11)<=A(8);  --   |
ADD(10)<=A(7);  --   |
ADD(9)<=A(6);   --   |
ADD(8)<=A(5);   --   |
ADD(7)<=A(4);   --    > ADD
ADD(6)<=A(3);   --   |
ADD(5)<=A(2);   --   |
ADD(4)<=A(1);   --   |
ADD(3)<=A(0);   --   |
ADD(2)<=IOR1;   --   |
ADD(1)<=IOW1;   --   |
ADD(0)<=AEN1; --  /
  
  OUTPUT<="00000111100" WHEN ADD="01100000000010" ELSE --0X300   --read BUFX tatus
          "00001111100" WHEN ADD="01100000010100" ELSE --0X302   --write stages
          "00000111111" ;
  
    Y5<=OUTPUT(5);
    Y4<=OUTPUT(4);   
    Y3<=OUTPUT(3);   
    Y2<=OUTPUT(2);         
    Y1<=OUTPUT(1);   
    IO16<=OUTPUT(0);  
  PROCESS(OUTPUT)  
  BEGIN   
    CASE OUTPUT IS
      WHEN "00000111100" =>       --READ BUF STATUS  0X300
          I(0)<=BUF2;
      WHEN "00001111100" =>   --WRITE STAGE
          STAGESBUF2<=I; --0X302
      WHEN OTHERS=>
          I<="ZZZZZZZZZZZZZZZ";
    END CASE;
  END PROCESS;
I是ISA总线,I(0)读出的数据是对的,但写到STAGESBUF2的最低位始终为0,其他位正确。??
发表于 2004-5-28 16:30:09 | 显示全部楼层

FPGA实现双向管脚???

     WHEN "00000111100" =>       --READ BUF STATUS  0X300
         I(0)<=BUF2;
         I(15 DOWNTO 1) <="ZZZZZZZZZZZZZZ"; --加上它可以吗
 楼主| 发表于 2004-5-31 08:37:35 | 显示全部楼层

FPGA实现双向管脚???

谢谢,高人,可以!!!
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-8 20:33 , Processed in 0.018893 second(s), 8 queries , Gzip On, Redis On.

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