LF_FRAME_PLACER.vhd
158 lines
| 5.3 KiB
| text/x-vhdl
|
VhdlLexer
r129 | -- LF_FRAME_PLACER.vhd | ||
library IEEE; | |||
use IEEE.std_logic_1164.all; | |||
use IEEE.numeric_std.all; | |||
entity LF_FRAME_PLACER is | |||
generic(WordSize :integer := 8;WordCnt : integer := 144;MinFCount : integer := 64); | |||
port( | |||
clk : in std_logic; | |||
Wcount : in integer range 0 to WordCnt-1; | |||
Flag : out std_logic; | |||
LF1 : in std_logic_vector(15 downto 0); | |||
LF2 : in std_logic_vector(15 downto 0); | |||
LF3 : in std_logic_vector(15 downto 0); | |||
WordOut : out std_logic_vector(WordSize-1 downto 0) | |||
); | |||
end entity; | |||
architecture ar_LF_FRAME_PLACER of LF_FRAME_PLACER is | |||
begin | |||
process(clk) | |||
begin | |||
if clk'event and clk ='1' then | |||
case Wcount is | |||
when 5 => | |||
WordOut <= LF1(15 downto 8); | |||
Flag <= '1'; | |||
when 6 => | |||
WordOut <= LF1(7 downto 0); | |||
Flag <= '1'; | |||
r168 | when 7 => | ||
r129 | WordOut <= LF2(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 8 => | ||
r129 | WordOut <= LF2(7 downto 0); | ||
Flag <= '1'; | |||
r168 | when 9 => | ||
r129 | WordOut <= LF3(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 10 => | ||
r129 | WordOut <= LF3(7 downto 0); | ||
Flag <= '1'; | |||
when 29 => | |||
WordOut <= LF1(15 downto 8); | |||
Flag <= '1'; | |||
when 30 => | |||
WordOut <= LF1(7 downto 0); | |||
Flag <= '1'; | |||
r168 | when 31 => | ||
r129 | WordOut <= LF2(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 32 => | ||
r129 | WordOut <= LF2(7 downto 0); | ||
Flag <= '1'; | |||
r168 | when 33 => | ||
r129 | WordOut <= LF3(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 34 => | ||
r129 | WordOut <= LF3(7 downto 0); | ||
Flag <= '1'; | |||
when 53 => | |||
WordOut <= LF1(15 downto 8); | |||
Flag <= '1'; | |||
when 54 => | |||
WordOut <= LF1(7 downto 0); | |||
Flag <= '1'; | |||
r168 | when 55 => | ||
r129 | WordOut <= LF2(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 56 => | ||
r129 | WordOut <= LF2(7 downto 0); | ||
Flag <= '1'; | |||
r168 | when 57 => | ||
r129 | WordOut <= LF3(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 58 => | ||
r129 | WordOut <= LF3(7 downto 0); | ||
Flag <= '1'; | |||
when 77 => | |||
WordOut <= LF1(15 downto 8); | |||
Flag <= '1'; | |||
when 78 => | |||
WordOut <= LF1(7 downto 0); | |||
Flag <= '1'; | |||
r168 | when 79 => | ||
r129 | WordOut <= LF2(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 80 => | ||
r129 | WordOut <= LF2(7 downto 0); | ||
Flag <= '1'; | |||
r168 | when 81 => | ||
r129 | WordOut <= LF3(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 82 => | ||
r129 | WordOut <= LF3(7 downto 0); | ||
Flag <= '1'; | |||
when 101 => | |||
WordOut <= LF1(15 downto 8); | |||
Flag <= '1'; | |||
when 102 => | |||
WordOut <= LF1(7 downto 0); | |||
Flag <= '1'; | |||
r168 | when 103 => | ||
r129 | WordOut <= LF2(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 104 => | ||
r129 | WordOut <= LF2(7 downto 0); | ||
Flag <= '1'; | |||
r168 | when 105 => | ||
r129 | WordOut <= LF3(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 106 => | ||
r129 | WordOut <= LF3(7 downto 0); | ||
Flag <= '1'; | |||
when 125 => | |||
WordOut <= LF1(15 downto 8); | |||
Flag <= '1'; | |||
when 126 => | |||
WordOut <= LF1(7 downto 0); | |||
Flag <= '1'; | |||
r168 | when 127 => | ||
r129 | WordOut <= LF2(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 128 => | ||
r129 | WordOut <= LF2(7 downto 0); | ||
Flag <= '1'; | |||
r168 | when 129 => | ||
r129 | WordOut <= LF3(15 downto 8); | ||
Flag <= '1'; | |||
r168 | when 130 => | ||
r129 | WordOut <= LF3(7 downto 0); | ||
Flag <= '1'; | |||
when others => | |||
WordOut <= X"A5"; | |||
Flag <= '0'; | |||
end case; | |||
end if; | |||
end process; | |||
end ar_LF_FRAME_PLACER; |