[an error occurred while processing this directive]
Не дайте пропасть новичку, max+10.2 не хочет компилировать все операторы "wait for xx ns/us ..." С какой стороны тупой?
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено гоша 26 апреля 2004 г. 14:51


library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
library work;
use work.all;

ENTITY post_test_bench is
generic (WIDTH : integer := 16);
PORT (test : out std_logic);
END ENTITY post_test_bench;
--=============================================================================
ARCHITECTURE arch1_test_bench OF post_test_bench IS
component quad_top
port (
ChA : IN std_logic;
ChB : IN std_logic;
Clk : IN std_logic;
Rst : IN std_logic;
OE : IN std_logic;
Cnt : OUT std_logic;
Up_Down :OUT std_logic;
D : INOUT std_logic_vector (WIDTH -1 downto 0)
);
end component quad_top;

signal sig_D : STD_LOGIC_VECTOR (WIDTH - 1 downto 0);
signal sig_OE : STD_LOGIC := '0';
signal sig_Up_Down: STD_LOGIC := '0';
signal sig_Cnt: STD_LOGIC := '0';
signal sig_ChA: STD_LOGIC := '0';
signal sig_Rst: STD_LOGIC := '0';
signal sig_Chb: STD_LOGIC := '0';
signal sig_Clk: STD_LOGIC := '0';

--SHARED VARIABLE endsim : BOOLEAN := false;
--SHARED VARIABLE stimulus_quad : BOOLEAN := false;
--CONSTANT Clk_Period : TIME := 1 us;
--=============================================================================
BEGIN
inst_quad_top: quad_top
port map (ChA=> sig_ChA, ChB=> sig_ChB, Clk=> sig_Clk, Rst=> sig_Rst, OE=> sig_OE, Cnt=> sig_Cnt, Up_Down=> sig_Up_Down, D=> sig_D);
--=============================================================================
Clk_Generator: PROCESS
BEGIN
-- IF endsim = false THEN
sig_Clk <= '1';
WAIT FOR 500 ns;
sig_Clk <= '0';
WAIT FOR 500 ns;
-- ELSE
-- WAIT;
-- end if;
END PROCESS Clk_Generator;
--=============================================================================
quad_encoder: PROCESS
BEGIN
--IF stimulus_quad= true THEN
sig_ChA <= '0';
sig_ChB <= '0';
WAIT until sig_Clk = '0'; -- 4 us;
sig_ChA <= '1';
sig_ChB <= '0';
WAIT FOR 4 us;
sig_ChA <= '1';
sig_ChB <= '1';
WAIT FOR 4 us;
sig_ChA <= '0';
sig_ChB <= '1';
WAIT FOR 4 us;
-- ELSE
-- WAIT FOR 1 us;
-- END IF;
END PROCESS quad_encoder;
--=============================================================================
stimulus_process: PROCESS
BEGIN
sig_Rst <= '1';
WAIT FOR 100 ns;
sig_Rst <= '0';
WAIT FOR 100 ns;
sig_Rst <= '1';
WAIT FOR 100 ns;
sig_OE <= '0';
wait for 100 ns;
-- stimulus_quad := true;
-- wait for 10 ms;
-- stimulus_quad := false;
-- WAIT FOR 1 ms;
end process stimulus_process;
--=============================================================================
test <= sig_Clk;
end arch1_test_bench;



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru