georgepcb 发表于 2013-12-3 22:15:35

初学VHDL,请教一个问题

用VHDL做设计,时钟信号为:CLK,有个中间信号 Signal StartLED : Std_logic;


entity Test is
Port (
                CLK : in Std_Logic;
                Inp1: in Std_Logic;
                ...
                LED : out Std_Logic
      );
end Test;

architecture Behavioral of Test is
Signal StartLED : Std_Logi;
....
begin
        Process (Inp1)
        begin
                if Inp1='1' then
                        StartLED<='1';
                        ...
                end if;
                ...
        end process;

        Process(CLK)
        begin
                if CLK'EVENT and CLK='1' then
                        if Start='1' then
                                LED<='1';
                                   StartLED<='0';   --在这里出错
                        end if;
                end if;
        end process;

end Behavioral;

在编译的时候会说:Error (10028): Can't resolve multiple constant drivers for net "StartLED" at Test.vhd(120)
请问该如何实现如上功能呢?
谢谢!

wyeth 发表于 2013-12-4 10:19:30

说你的StartLED变量在两个process被赋值。你可以在多个process中去判断这个StartLED变量,但不能在在多个process中赋值的。

lans0625 发表于 2013-12-4 10:52:57

楼上正解。。。。{:smile:}{:smile:}
页: [1]
查看完整版本: 初学VHDL,请教一个问题