[an error occurred while processing this directive]
при синтезе в Foundation 3.3 генерит ошибку (+)
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

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

Отправлено Elresearch 26 ноября 2002 г. 12:51

Error L49/C0 : #0 Error: Tried to use a synchronized value in call to '<=' called from cntdec line 49

Ругается на Q<=Qint;
Помогите разобраться.
Исходник писАл на Active-HDL 5.1 sp3
Заранее благодарен.

---==========cntdec=============---
library ieee;
use ieee.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity cntdec is
port(
clr: in std_logic;
clk: in std_logic;
ce: in std_logic;
op_mode: in std_logic_vector( 1 downto 0 );
str: in std_logic_vector( 1 downto 0 );
next_str: in std_logic;
--------------------------------------------------------
fin: in std_logic;
fout: inout std_logic;
--------------------------------------------------------
--q: inout INTEGER range 0 to 15
Q: out std_logic_vector( 3 downto 0 )
);
end cntdec;

architecture cntdec_1 of cntdec is
begin
process (clk, clr)
variable Qint: STD_LOGIC_VECTOR (3 downto 0);
begin
if clr='1' then
Qint := "0000";
fout <= '0';
elsif clk='1' and clk'event then

if ce='1' then
if ((fout='1') and (fin='1')) or (next_str='1') then
Qint := "0000";
fout <= '0';
elsif fin='1' then
Qint := Qint + 1;
end if; -- end if;
end if;

if op_mode(1)='0' and str(0)='0' and Qint = 9 and fout='0' then
fout <= '1';
end if;
if op_mode(1)='0' and str(0)='1' and Qint = 15 and fout='0' then
fout <= '1';
end if;
end if;
Q<=Qint;
end process;
end cntdec_1;

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru