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

Subversion Repositories fade_ether_protocol

[/] [fade_ether_protocol/] [trunk/] [stable_jumbo_frames_version/] [fpga/] [src/] [pkt_desc_pkg.vhd] - Blame information for rev 44

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 15 wzab
library ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.numeric_std.all;
4
package pkt_desc_pkg is
5
 
6
type pkt_desc is record
7
    pkt : unsigned(31 downto 0);
8
    seq : unsigned(15 downto 0);
9
    valid : std_logic;
10
    confirmed : std_logic;
11
    sent : std_logic;
12 18 wzab
    flushed : std_logic;
13 15 wzab
end record;
14
 
15 18 wzab
constant pkt_desc_width : integer := 52;
16 15 wzab
 
17
function pkt_desc_to_stlv(
18
  constant din : pkt_desc)
19
  return std_logic_vector;
20
 
21
function stlv_to_pkt_desc(
22
  constant din : std_logic_vector)
23
  return pkt_desc;
24
 
25
end pkt_desc_pkg;
26
 
27
package body pkt_desc_pkg is
28
 
29
function pkt_desc_to_stlv(
30
  constant din : pkt_desc)
31
  return std_logic_vector is
32 18 wzab
  variable res : std_logic_vector(51 downto 0);
33 15 wzab
begin
34
  res(31 downto 0) := std_logic_vector(din.pkt);
35
  res(47 downto 32) := std_logic_vector(din.seq);
36
  res(48) := din.valid;
37
  res(49) := din.confirmed;
38
  res(50) := din.sent;
39 18 wzab
  res(51) := din.flushed;
40 15 wzab
  return res;
41
end pkt_desc_to_stlv;
42
 
43
function stlv_to_pkt_desc(
44
  constant din : std_logic_vector)
45
  return pkt_desc is
46
  variable res : pkt_desc;
47
begin
48
  res.pkt:=unsigned(din(31 downto 0));
49
  res.seq:=unsigned(din(47 downto 32));
50
  res.valid := din(48);
51
  res.confirmed := din(49);
52
  res.sent := din(50);
53 18 wzab
  res.flushed := din(51);
54 15 wzab
  return res;
55
end stlv_to_pkt_desc;
56
 
57
end pkt_desc_pkg;

powered by: WebSVN 2.1.0

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