aaab01
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2260回复:8

一个失败的例子,在此请教!

楼主#
更多 发布于:2003-04-22 16:27
entity tr_i is
    port(en :in std_logic;
          b :out std_logic);
end tr_i;

architecture behave of tr_i is
begin

  Process(en)
  begin
if(en =\'0\')then
b <= \'1\';
else
b <= \'Z\';
end if;
  end Process;

end behave;
编译不能通过。出错:
Else Clause following a Clock edge must hold the state of signal \"b\".
wangjisheng
驱动小牛
驱动小牛
  • 注册日期2002-11-06
  • 最后登录2011-07-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-23 16:44
你把process(en)改为process就可以了,不加敏感信号
lilitdl
驱动小牛
驱动小牛
  • 注册日期2002-10-09
  • 最后登录2005-04-14
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-04-24 23:01
b out std_logic
是一位二进制的,只能为0或1,
你却设为Z
aaab01
驱动牛犊
驱动牛犊
  • 注册日期2002-03-12
  • 最后登录2008-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-04-25 17:56
entity tr_i is
  port(clk : in std_logic;
         a : in std_logic;
         b : out std_logic);
end tr_i;

architecture behave of tr_i is
begin

Process(clk)
begin
if(clk\'event and clk =\'0\')then
  if(a=\'1\')then
    b <= \'1\';
  else
    b <= \'Z\';
  end if;
end if;
end Process;
那这样为什么又编译通不过呢呢?如果将Z改为0或1就可以,
出错为:\'473\'can only drive logic if connected a BIDIR pin.
mysunkeyer
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2005-05-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-07 08:34
你的程序好象除了末尾少个end外,没有问题,我编译通过了:

library ieee;
use ieee.std_logic_1164.all;
entity tr_i is
port(
clk : in std_logic;
a : in std_logic;
b : out std_logic);
end tr_i;

architecture behave of tr_i is
begin

Process(clk)
begin
if(clk\'event and clk =\'0\')then
if(a=\'1\')then
b <= \'1\';
else
b <= \'Z\';
end if;
end if;
end Process;
end;
每天郁闷无数次! 哎!
lilitdl
驱动小牛
驱动小牛
  • 注册日期2002-10-09
  • 最后登录2005-04-14
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-08 21:09
我觉得最后一个END是多余的
SlientRiver
驱动牛犊
驱动牛犊
  • 注册日期2002-11-13
  • 最后登录2003-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-10 19:35
为什么不加库文件呢?

除此之外,没有错误...

[color=blue]想轻拥你的双肩,摇落你眼中的泪花......[/color]
cherial
驱动牛犊
驱动牛犊
  • 注册日期2004-04-28
  • 最后登录2007-12-27
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-20 11:48
我也遇到同样的问题,是不是maxplus的问题,楼主的问题解决了吗
chenjj79
驱动牛犊
驱动牛犊
  • 注册日期2004-12-24
  • 最后登录2004-12-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-12-24 10:34
程序改成如下旧可以了:

library ieee;
use ieee.std_logic_1164.all;
entity tr_i is
port(

a : in std_logic;
en: in std_logic;
b : inout std_logic
);
end tr_i;

architecture behave of tr_i is
begin

Process(en,a)
begin

if(en='1')then
b <= a;
else
b <= 'Z';
end if;

end Process;
end;

游客

返回顶部