[an error occurred while processing this directive]
|
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: info@telesys.ru