seabird0813
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1587回复:2

请教一个CPLD的编程问题(VHDL语言)50分

楼主#
更多 发布于:2004-11-09 21:23
我想编一个逻辑电路,实现总线选择功能:输入为DATAIN[11..0],输出为两组OUTA[11..0],OUTB[11..0],总线选择线SEL
当SEL为0时OUTA与DATAIN接通,当SEL为1时OUTB与DATAIN接通,
编程如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY inmux IS
    PORT(
         datain            : IN STD_LOGIC_VECTOR (11 downto 0);
         sel,clk           : IN STD_LOGIC;
         dataouta,dataoutb : OUT STD_LOGIC_VECTOR (11 downto 0)
        );
END inmux;
ARCHITECTURE a OF inmux IS
    BEGIN
    PROCESS(clk,sel)
     BEGIN
      IF(clk'event and clk='1')THEN
        IF(sel='0')THEN
          dataouta<=datain;
          dataoutb<="ZZZZZZZZZZZZ";
        ELSE
          dataoutb<=datain;
          dataouta<="ZZZZZZZZZZZZ";
        END IF;
      END IF;
    END PROCESS;
END a;
但编译通不过,请问改如何编程?
ljc0329dn
驱动牛犊
驱动牛犊
  • 注册日期2004-11-10
  • 最后登录2010-07-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-10 15:30
你的问题主要是和选用的目标器件有关,很多器件并不支持高阻态,我编译过了,如果只做功能综合编译或选用支持高阻态的器件是可以通过的,但选用不支持高阻态的器件是通不过的。如果你用的是MAX+PLUS II的话,请看我给你的附件
附件名称/大小 下载次数 最后更新
2004-11-10_cpld_help.rar (54KB)  0
seabird0813
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-11-15 21:15
问题已经解决,谢谢了,不是因为不支持高阻态的问题。
游客

返回顶部