OpenCores
URL https://opencores.org/ocsvn/pc_fpga_com/pc_fpga_com/trunk

Subversion Repositories pc_fpga_com

[/] [pc_fpga_com/] [trunk/] [UDP_IP_CORE_FLEX_Spartan3/] [OVERRIDE_LUT_CONTROL.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 NikosAl
----------------------------------------------------------------------------------
2
-- Company: 
3
-- Engineer: 
4
-- 
5
-- Create Date:    15:09:25 11/30/2009 
6
-- Design Name: 
7
-- Module Name:    OVERRIDE_LUT_CONTROL - Behavioral 
8
-- Project Name: 
9
-- Target Devices: 
10
-- Tool versions: 
11
-- Description: 
12
--
13
-- Dependencies: 
14
--
15
-- Revision: 
16
-- Revision 0.01 - File Created
17
-- Additional Comments: 
18
--
19
----------------------------------------------------------------------------------
20
library IEEE;
21
use IEEE.STD_LOGIC_1164.ALL;
22
use IEEE.STD_LOGIC_ARITH.ALL;
23
use IEEE.STD_LOGIC_UNSIGNED.ALL;
24
 
25
---- Uncomment the following library declaration if instantiating
26
---- any Xilinx primitives in this code.
27
--library UNISIM;
28
--use UNISIM.VComponents.all;
29
 
30
entity OVERRIDE_LUT_CONTROL is
31
    Port ( clk : in  STD_LOGIC;
32
                input_addr : in  STD_LOGIC_VECTOR (5 downto 0);
33
           sel_total_length_MSBs : out  STD_LOGIC;
34
                          sel_total_length_LSBs : out  STD_LOGIC;
35
                          sel_header_checksum_MSBs : out  STD_LOGIC;
36
                          sel_header_checksum_LSBs : out  STD_LOGIC;
37
                          sel_length_MSBs : out  STD_LOGIC;
38
                          sel_length_LSBs : out  STD_LOGIC
39
           );
40
end OVERRIDE_LUT_CONTROL;
41
 
42
architecture Behavioral of OVERRIDE_LUT_CONTROL is
43
 
44
component comp_6b_equal is
45
  port (
46
    qa_eq_b : out STD_LOGIC;
47
    clk : in STD_LOGIC := 'X';
48
    a : in STD_LOGIC_VECTOR ( 5 downto 0 );
49
    b : in STD_LOGIC_VECTOR ( 5 downto 0 )
50
  );
51
end component;
52
 
53
constant total_length_addr1 : std_logic_vector(5 downto 0):="010000";
54
constant total_length_addr2 : std_logic_vector(5 downto 0):="010001";
55
 
56
constant header_checksum_addr1 : std_logic_vector(5 downto 0):="011000";
57
constant header_checksum_addr2 : std_logic_vector(5 downto 0):="011001";
58
 
59
constant length_addr1 : std_logic_vector(5 downto 0):="100110";
60
constant length_addr2 : std_logic_vector(5 downto 0):="100111";
61
 
62
 
63
signal sel_header_checksum_MSBs_tmp : std_logic;
64
signal sel_total_length_MSBs_tmp : std_logic;
65
signal sel_length_MSBs_tmp : std_logic;
66
 
67
begin
68
 
69
TARGET_TOTAL_LENGTH_1 : comp_6b_equal port map (sel_total_length_MSBs_tmp,clk,input_addr,total_length_addr1);
70
 
71
process(clk)
72
begin
73
if clk'event and clk='1' then
74
        sel_total_length_LSBs<=sel_total_length_MSBs_tmp;
75
end if;
76
end process;
77
sel_total_length_MSBs<=sel_total_length_MSBs_tmp;
78
 
79
--TARGET_TOTAL_LENGTH_2 : comp_6b_equal port map (sel_total_length_LSBs,clk,input_addr,total_length_addr2);
80
 
81
TARGET_HEADER_CHECKSUM_1 : comp_6b_equal port map (sel_header_checksum_MSBs_tmp,clk,input_addr,header_checksum_addr1);
82
process(clk)
83
begin
84
if clk'event and clk='1' then
85
        sel_header_checksum_LSBs<=sel_header_checksum_MSBs_tmp;
86
end if;
87
end process;
88
 
89
sel_header_checksum_MSBs<=sel_header_checksum_MSBs_tmp;
90
 
91
 
92
 
93
--TARGET_HEADER_CHECKSUM_2 : comp_6b_equal port map (sel_header_checksum_LSBs,clk,input_addr,header_checksum_addr2);
94
 
95
TARGET_LENGTH_1 : comp_6b_equal port map (sel_length_MSBs_tmp,clk,input_addr,length_addr1);
96
 
97
process(clk)
98
begin
99
if clk'event and clk='1' then
100
        sel_length_LSBs<=sel_length_MSBs_tmp;
101
end if;
102
end process;
103
 
104
sel_length_MSBs<=sel_length_MSBs_tmp;
105
--TARGET_LENGTH_2 : comp_6b_equal port map (sel_length_LSBs,clk,input_addr,length_addr2);
106
 
107
end Behavioral;
108
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.