可利用复位来赋值.如下:
library ieee;
use ieee.std_logic_1164.all;
--use ieee.std_logic_unsigned.all;
--use ieee.std_logic_signed.all;
entity example is
port(qin:in std_logic;
reset : in std_logic;
qout ut std_logic);
end example;
architecture exam of example is
signal workstate:std_logic :='0';
begin
process(qin,reset,workstate)
begin
if(reset = '0') then workstate <= '0';
else
case workstate is
when '0'=>qout<='1';
when '1'=>qout<='0';
end case;
workstate<=not workstate;
end if; -- reset
end process;
end exam;作者: erra168@sina.co 时间: 2003-8-31 15:55
下面是我用VHDL编的一个程序,在信号赋值判断时出现了错误,导致无信号输出。
如何给workstate这个信号赋上初值????
程序如下:
library ieee;
use ieee.std_logic_1164.all;
--use ieee.std_logic_unsigned.all;
--use ieee.std_logic_signed.all;
entity example is
port(qin:in std_logic;
qout ut std_logic);
end example;
architecture exam of example is
signal workstate:std_logic :='0';
begin
process(qin)
begin
case workstate is
when '0'=>qout<='1';
when '1'=>qout<='0';
end case;
workstate<=not workstate;
end process;
end exam;
是不是workstate信号没有被赋上初值?象这样的程序应该怎么改?谢谢!!作者: erra168@sina.co 时间: 2003-8-31 16:01