VHDL 程序编译出现prevent further process
原程序如下,求各位高手帮忙看下啊,急用!!!libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsign...
原程序如下,求各位高手帮忙看下啊,急用!!!
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jifeiqi is
port(clk:in std_logic;
ql:in std_logic;
model:in std_logic;
y0:out std_logic_vector(3 downto 0);
y1:out std_logic_vector(3 downto 0);
j:out std_logic_vector(3 downto 0));
end jifeiqi;
architecture ss of jifeiqi is
begin
process(model,clk,ql)
variable a:std_logic_vector(5 downto 0);
variable yy0:std_logic_vector(3 downto 0);
variable yy1:std_logic_vector(3 downto 0);
variable jj:std_logic_vector(3 downto 0);
begin
if ql=1 jj:="0000";yy1:="0000";yy0:="0000";a:="000000";
else if clk'event and clk='1'
if model=1 then jj:="0010";
if a<"111011" then a:=a+1;
else a:="000000";
if jj<"1001" then jj:=jj+1;
elsif yy0<"1001" then jj:="0000";yy0:=yy0+1;
elsif yy1<"1001" then jj:="0000";yy0:="0000";yy1:=yy1+1;
else jj:="0000";yy0:="0000";yy1:="0000";
end if;
end if;
else jj:="0011";
if a<"111011" then a:=a+1;
else a:="000000";
if jj+3<"1001" then jj:=jj+3;
elsif yy0<"1001" then jj:=jj-6;yy0:=yy0+1;
elsif yy1<"1001" then jj:=jj-6;yy0:="0000";yy1:=yy1+1;
else jj:="0000";yy0:="0000";yy1:="0000";
end if;
end if;
end if;
end if;
end if;
j<=jj;y1<=yy1;y0<=yy0;
end process;
end ss; 展开
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jifeiqi is
port(clk:in std_logic;
ql:in std_logic;
model:in std_logic;
y0:out std_logic_vector(3 downto 0);
y1:out std_logic_vector(3 downto 0);
j:out std_logic_vector(3 downto 0));
end jifeiqi;
architecture ss of jifeiqi is
begin
process(model,clk,ql)
variable a:std_logic_vector(5 downto 0);
variable yy0:std_logic_vector(3 downto 0);
variable yy1:std_logic_vector(3 downto 0);
variable jj:std_logic_vector(3 downto 0);
begin
if ql=1 jj:="0000";yy1:="0000";yy0:="0000";a:="000000";
else if clk'event and clk='1'
if model=1 then jj:="0010";
if a<"111011" then a:=a+1;
else a:="000000";
if jj<"1001" then jj:=jj+1;
elsif yy0<"1001" then jj:="0000";yy0:=yy0+1;
elsif yy1<"1001" then jj:="0000";yy0:="0000";yy1:=yy1+1;
else jj:="0000";yy0:="0000";yy1:="0000";
end if;
end if;
else jj:="0011";
if a<"111011" then a:=a+1;
else a:="000000";
if jj+3<"1001" then jj:=jj+3;
elsif yy0<"1001" then jj:=jj-6;yy0:=yy0+1;
elsif yy1<"1001" then jj:=jj-6;yy0:="0000";yy1:=yy1+1;
else jj:="0000";yy0:="0000";yy1:="0000";
end if;
end if;
end if;
end if;
end if;
j<=jj;y1<=yy1;y0<=yy0;
end process;
end ss; 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询