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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.7/] [rtl/] [bplib/] [fx2rlink/] [fx2rlinklib.vhd] - Blame information for rev 22

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

Line No. Rev Author Line
1 22 wfjm
-- $Id: fx2rlinklib.vhd 525 2013-07-06 12:19:39Z mueller $
2 20 wfjm
--
3
-- Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4
--
5
-- This program is free software; you may redistribute and/or modify it under
6
-- the terms of the GNU General Public License as published by the Free
7
-- Software Foundation, either version 2, or at your option any later version.
8
--
9
-- This program is distributed in the hope that it will be useful, but
10
-- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
11
-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12
-- for complete details.
13
--
14
------------------------------------------------------------------------------
15
-- Package Name:   fx2rlinklib
16
-- Description:    Definitions for rlink + fx2 interface combos
17
--
18
-- Dependencies:   -
19
-- Tool versions:  xst 13.3; ghdl 0.29
20
--
21
-- Revision History: 
22
-- Date         Rev Version  Comment
23
-- 2013-04-20   509   1.0    Initial version 
24
------------------------------------------------------------------------------
25
 
26
library ieee;
27
use ieee.std_logic_1164.all;
28
use ieee.numeric_std.all;
29
 
30
use work.slvtypes.all;
31
use work.rblib.all;
32
use work.rlinklib.all;
33
use work.serportlib.all;
34
use work.fx2lib.all;
35
 
36
package fx2rlinklib is
37
 
38
--
39
-- core + fx2 interface combo
40
--
41
 
42
component rlink_sp1c_fx2 is             -- rlink_core8+serport_1clk+fx2_ic combo
43
  generic (
44
    ATOWIDTH : positive :=  5;          -- access timeout counter width
45
    ITOWIDTH : positive :=  6;          -- idle timeout counter width
46
    CPREF : slv4 := c_rlink_cpref;      -- comma prefix
47
    IFAWIDTH : natural :=  5;           -- ser input fifo addr width  (0=none)
48
    OFAWIDTH : natural :=  5;           -- ser output fifo addr width (0=none)
49
    PETOWIDTH : positive := 10;         -- fx2 packet end time-out counter width
50
    CCWIDTH :   positive :=  5;         -- fx2 chunk counter width
51
    ENAPIN_RLMON : integer := sbcntl_sbf_rlmon;  -- SB_CNTL for rlmon (-1=none)
52
    ENAPIN_RBMON : integer := sbcntl_sbf_rbmon;  -- SB_CNTL for rbmon (-1=none)
53
    CDWIDTH : positive := 13;           -- clk divider width
54
    CDINIT : natural   := 15);          -- clk divider initial/reset setting
55
  port (
56
    CLK  : in slbit;                    -- clock
57
    CE_USEC : in slbit;                 -- 1 usec clock enable
58
    CE_MSEC : in slbit;                 -- 1 msec clock enable
59
    CE_INT : in slbit := '0';           -- rri ito time unit clock enable
60
    RESET  : in slbit;                  -- reset
61
    ENAXON : in slbit;                  -- enable xon/xoff handling
62
    ENAESC : in slbit;                  -- enable xon/xoff escaping
63
    ENAFX2 : in slbit;                  -- enable fx2 usage
64
    RXSD : in slbit;                    -- receive serial data      (board view)
65
    TXSD : out slbit;                   -- transmit serial data     (board view)
66
    CTS_N : in slbit := '0';            -- clear to send   (act.low, board view)
67
    RTS_N : out slbit;                  -- request to send (act.low, board view)
68
    RB_MREQ : out rb_mreq_type;         -- rbus: request
69
    RB_SRES : in rb_sres_type;          -- rbus: response
70
    RB_LAM : in slv16;                  -- rbus: look at me
71
    RB_STAT : in slv3;                  -- rbus: status flags
72
    RL_MONI : out rl_moni_type;         -- rlink_core: monitor port
73
    RLB_MONI : out rlb_moni_type;       -- rlink 8b: monitor port
74
    SER_MONI : out serport_moni_type;   -- ser: monitor port
75
    FX2_MONI : out fx2ctl_moni_type;    -- fx2: monitor port
76
    I_FX2_IFCLK : in slbit;             -- fx2: interface clock
77
    O_FX2_FIFO : out slv2;              -- fx2: fifo address
78
    I_FX2_FLAG : in slv4;               -- fx2: fifo flags
79
    O_FX2_SLRD_N : out slbit;           -- fx2: read enable    (act.low)
80
    O_FX2_SLWR_N : out slbit;           -- fx2: write enable   (act.low)
81
    O_FX2_SLOE_N : out slbit;           -- fx2: output enable  (act.low)
82
    O_FX2_PKTEND_N : out slbit;         -- fx2: packet end     (act.low)
83
    IO_FX2_DATA : inout slv8            -- fx2: data lines
84
  );
85
end component;
86
 
87
component ioleds_sp1c_fx2               -- io activity leds for rlink_sp1c_fx2
88
  port (
89
    CLK  : in slbit;                    -- clock
90
    CE_USEC : in slbit;                 -- 1 usec clock enable
91
    RESET  : in slbit;                  -- reset
92
    ENAFX2 : in slbit;                  -- enable fx2 usage
93
    RB_SRES : in rb_sres_type;          -- rbus: response
94
    RLB_MONI : in rlb_moni_type;        -- rlink 8b: monitor port
95
    SER_MONI : in serport_moni_type;    -- ser: monitor port
96
    IOLEDS : out slv4                   -- 4 bit IO monitor (e.g. for DSP_DP)
97
  );
98
end component;
99
 
100
end package fx2rlinklib;

powered by: WebSVN 2.1.0

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