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

Subversion Repositories udp_ip__core

[/] [udp_ip__core/] [trunk/] [UDP_IP_CORE/] [UDP_IP_CORE__Virtex5/] [UDP_IP_Core.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 NikosAl
-----------------------------------------------------------------------------------------
2
-- Copyright (C) 2010 Nikolaos Ch. Alachiotis                                                                                                           --
3
--                                                                                                                                                                                                                                      --
4
-- Engineer:                            Nikolaos Ch. Alachiotis                                                                                                         --
5
--                                                                                                                                                                                                                                      --
6
-- Contact:                                     alachiot@cs.tum.edu                                                                                                                     --
7
--                                                              n.alachiotis@gmail.com                                                                                                          --
8
--                                                                                                                                                                                                                              --
9
-- Create Date:                 15:29:59 02/07/2010                                                                                                             --
10
-- Module Name:                 UDP_IP_Core                                                                                                                                             --
11
-- Target Devices:              Virtex 5 FPGAs                                                                                                                          --
12
-- Tool versions:               ISE 10.1                                                                                                                                                        --
13
-- Description:                         This component can be used to transmit and receive UDP/IP      --
14
--                                                              Ethernet Packets (IPv4).                                                                                                        --
15
-- Additional Comments: The core has been area-optimized and is suitable for direct    --
16
--                                          PC-FPGA communication at Gigabit speed.                        --
17
--                                                                                                                                                                                                                                      --
18
-----------------------------------------------------------------------------------------
19
 
20
 
21
library IEEE;
22
use IEEE.STD_LOGIC_1164.ALL;
23
use IEEE.STD_LOGIC_ARITH.ALL;
24
use IEEE.STD_LOGIC_UNSIGNED.ALL;
25
 
26
---- Uncomment the following library declaration if instantiating
27
---- any Xilinx primitives in this code.
28
--library UNISIM;
29
--use UNISIM.VComponents.all;
30
 
31
entity UDP_IP_Core is
32
    Port ( rst : in  STD_LOGIC;                -- active-high
33
           clk_125MHz : in  STD_LOGIC;
34
 
35
                          -- Transmit signals
36
                          transmit_start_enable : in  STD_LOGIC;
37
           transmit_data_length : in  STD_LOGIC_VECTOR (15 downto 0);
38
                          usr_data_trans_phase_on : out STD_LOGIC;
39
           transmit_data_input_bus : in  STD_LOGIC_VECTOR (7 downto 0);
40
           start_of_frame_O : out  STD_LOGIC;
41
                          end_of_frame_O : out  STD_LOGIC;
42
                          source_ready : out STD_LOGIC;
43
                          transmit_data_output_bus : out STD_LOGIC_VECTOR (7 downto 0);
44
 
45
                          --Receive Signals
46
                          rx_sof : in  STD_LOGIC;
47
           rx_eof : in  STD_LOGIC;
48
           input_bus : in  STD_LOGIC_VECTOR(7 downto 0);
49
           valid_out_usr_data : out  STD_LOGIC;
50
           usr_data_output_bus : out  STD_LOGIC_VECTOR (7 downto 0)
51
                          );
52
end UDP_IP_Core;
53
 
54
architecture Behavioral of UDP_IP_Core is
55
 
56
component IPV4_PACKET_TRANSMITTER is
57
    Port ( rst : in  STD_LOGIC;
58
           clk_125MHz : in  STD_LOGIC;
59
           transmit_start_enable : in  STD_LOGIC;
60
           transmit_data_length : in  STD_LOGIC_VECTOR (15 downto 0);
61
                          usr_data_trans_phase_on : out STD_LOGIC;
62
           transmit_data_input_bus : in  STD_LOGIC_VECTOR (7 downto 0);
63
           start_of_frame_O : out  STD_LOGIC;
64
                          end_of_frame_O : out  STD_LOGIC;
65
                          source_ready : out STD_LOGIC;
66
                          transmit_data_output_bus : out STD_LOGIC_VECTOR (7 downto 0)
67
                          );
68
end component;
69
 
70
component IPv4_PACKET_RECEIVER is
71
    Port ( rst : in  STD_LOGIC;
72
           clk_125Mhz : in  STD_LOGIC;
73
           rx_sof : in  STD_LOGIC;
74
           rx_eof : in  STD_LOGIC;
75
           input_bus : in  STD_LOGIC_VECTOR(7 downto 0);
76
           valid_out_usr_data : out  STD_LOGIC;
77
           usr_data_output_bus : out  STD_LOGIC_VECTOR (7 downto 0));
78
end component;
79
 
80
begin
81
 
82
IPV4_PACKET_TRANSMITTER_port_map: IPV4_PACKET_TRANSMITTER
83
    Port Map
84
         ( rst => rst,
85
      clk_125MHz => clk_125MHz,
86
      transmit_start_enable => transmit_start_enable,
87
      transmit_data_length => transmit_data_length,
88
                usr_data_trans_phase_on => usr_data_trans_phase_on,
89
      transmit_data_input_bus => transmit_data_input_bus,
90
      start_of_frame_O => start_of_frame_O,
91
                end_of_frame_O => end_of_frame_O,
92
                source_ready => source_ready,
93
                transmit_data_output_bus => transmit_data_output_bus
94
        );
95
 
96
 
97
IPv4_PACKET_RECEIVER_port_map: IPv4_PACKET_RECEIVER
98
    Port Map
99
         ( rst => rst,
100
      clk_125Mhz => clk_125Mhz,
101
      rx_sof => rx_sof,
102
      rx_eof => rx_eof,
103
      input_bus => input_bus,
104
      valid_out_usr_data => valid_out_usr_data,
105
      usr_data_output_bus => usr_data_output_bus
106
        );
107
 
108
end Behavioral;
109
 

powered by: WebSVN 2.1.0

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