Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
объявление процедуры в VHDL xilinx.
Отправлено
sk2art 30 апреля 2008 г. 14:58
вот кусок проги для декодера М2. решил попробовать испоз\льзовать процкдуры чтоб вызывать их дальше в нужных местах проги. компилер ругается на на то что procedure INIT не объявлена. вопрос: куда и как надо объявлять процедуры чтоб они были видны для всех процедур/ф-ий/процессов проги далее??? заранее большое спс)))
entity Decoder_MII_v2 is
Port ( W : in STD_LOGIC;
MII : in STD_LOGIC;
ERR : out STD_LOGIC_VECTOR (3 downto 0);
DOUT : out STD_LOGIC_VECTOR (7 downto 0));
-- ERR3 = start err, ERR2 = 1 bit err, ERR1 = 0 bit err, ERR0 = stop err --
-- DATA NRZ OUT 7-0 --
end Decoder_MII_v2;
architecture Behavioral of Decoder_MII_v2 is
signal START_BIT : std_logic;
signal STOP_BIT : std_logic;
signal C, L, Q : std_logic;
signal DOUT_BUF : std_logic_vector (7 downto 0);
SHARED variable Nw0 : integer;
SHARED variable Nw1 : integer;
SHARED variable Nf2 : integer;
SHARED variable Count_bit : integer;
-- procedure INIT (std_logic);
begin
-- procedure init --
procedure INIT (signal start_bit_chk : std_logic) is
begin
if start_bit_chk = '0' then
return Q <= '1' & Nw0 := 0 & Nw1 := 0 & Nf2 := 0 & L <= '1' & START_BIT <= '0';
end if;
end procedure INIT;
-- procedure if L = 0 or N /= 8 --
procedure LNULL is
begin
if MII = '1' then
Nw0 := 0;
if Nw1 > 4 then
ERR <= "0100";
procedure INIT (START_BIT);
---- ... ----
end if;
end if;
end procedure LNULL;
Составить ответ | Вернуться на конференцию
Ответы