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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [rtl/] [vlib/] [rlink/] [rlink_sp1c.vhd] - Blame information for rev 24

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 19 wfjm
-- $Id: rlink_sp1c.vhd 476 2013-01-26 22:23:53Z mueller $
2 16 wfjm
--
3
-- Copyright 2011- 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
-- Module Name:    rlink_sp1c - syn
16
-- Description:    rlink_core8 + serport_1clock combo
17
--
18
-- Dependencies:   rlink_core8
19
--                 serport/serport_1clock
20
--
21
-- Test bench:     -
22
--
23
-- Target Devices: generic
24
-- Tool versions:  xst 13.1; ghdl 0.29
25
--
26
-- Synthesized (xst):
27
-- Date         Rev  ise         Target      flop lutl lutm slic t peri ifa ofa
28
-- 2011-12-09   437 13.1    O40d xc3s1000-4   337  733   64  469 s  9.8   -   -
29
--
30
-- Revision History: 
31
-- Date         Rev Version  Comment
32
-- 2011-12-09   437   1.0    Initial version 
33
------------------------------------------------------------------------------
34
 
35
library ieee;
36
use ieee.std_logic_1164.all;
37
use ieee.numeric_std.all;
38
 
39
use work.slvtypes.all;
40
use work.rblib.all;
41
use work.rlinklib.all;
42 19 wfjm
use work.serportlib.all;
43 16 wfjm
 
44
entity rlink_sp1c is                    -- rlink_core8+serport_1clock combo
45
  generic (
46
    ATOWIDTH : positive :=  5;          -- access timeout counter width
47
    ITOWIDTH : positive :=  6;          -- idle timeout counter width
48
    CPREF : slv4 := c_rlink_cpref;      -- comma prefix
49
    IFAWIDTH : natural :=  5;           -- input fifo address width  (0=none)
50
    OFAWIDTH : natural :=  5;           -- output fifo address width (0=none)
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
    RXSD : in slbit;                    -- receive serial data      (board view)
64
    TXSD : out slbit;                   -- transmit serial data     (board view)
65
    CTS_N : in slbit := '0';            -- clear to send   (act.low, board view)
66
    RTS_N : out slbit;                  -- request to send (act.low, board view)
67
    RB_MREQ : out rb_mreq_type;         -- rbus: request
68
    RB_SRES : in rb_sres_type;          -- rbus: response
69
    RB_LAM : in slv16;                  -- rbus: look at me
70
    RB_STAT : in slv3;                  -- rbus: status flags
71
    RL_MONI : out rl_moni_type;         -- rlink_core: monitor port
72
    SER_MONI : out serport_moni_type    -- serport: monitor port
73
  );
74
end entity rlink_sp1c;
75
 
76
 
77
architecture syn of rlink_sp1c is
78
 
79
  signal RLB_DI : slv8 := (others=>'0');
80
  signal RLB_ENA : slbit := '0';
81
  signal RLB_BUSY : slbit := '0';
82
  signal RLB_DO : slv8 := (others=>'0');
83
  signal RLB_VAL : slbit := '0';
84
  signal RLB_HOLD : slbit := '0';
85
 
86
begin
87
 
88
  CORE : rlink_core8
89
    generic map (
90
      ATOWIDTH     => ATOWIDTH,
91
      ITOWIDTH     => ITOWIDTH,
92
      CPREF        => CPREF,
93
      ENAPIN_RLMON => ENAPIN_RLMON,
94
      ENAPIN_RBMON => ENAPIN_RBMON)
95
    port map (
96
      CLK        => CLK,
97
      CE_INT     => CE_INT,
98
      RESET      => RESET,
99
      RLB_DI     => RLB_DI,
100
      RLB_ENA    => RLB_ENA,
101
      RLB_BUSY   => RLB_BUSY,
102
      RLB_DO     => RLB_DO,
103
      RLB_VAL    => RLB_VAL,
104
      RLB_HOLD   => RLB_HOLD,
105
      RL_MONI    => RL_MONI,
106
      RB_MREQ    => RB_MREQ,
107
      RB_SRES    => RB_SRES,
108
      RB_LAM     => RB_LAM,
109
      RB_STAT    => RB_STAT
110
    );
111
 
112
  SERPORT : serport_1clock
113
    generic map (
114
      CDWIDTH   => CDWIDTH,
115
      CDINIT    => CDINIT,
116
      RXFAWIDTH => IFAWIDTH,
117
      TXFAWIDTH => OFAWIDTH)
118
    port map (
119
      CLK      => CLK,
120
      CE_MSEC  => CE_MSEC,
121
      RESET    => RESET,
122
      ENAXON   => ENAXON,
123
      ENAESC   => ENAESC,
124
      RXDATA   => RLB_DI,
125
      RXVAL    => RLB_ENA,
126
      RXHOLD   => RLB_BUSY,
127
      TXDATA   => RLB_DO,
128
      TXENA    => RLB_VAL,
129
      TXBUSY   => RLB_HOLD,
130
      MONI     => SER_MONI,
131
      RXSD     => RXSD,
132
      TXSD     => TXSD,
133
      RXRTS_N  => RTS_N,
134
      TXCTS_N  => CTS_N
135
    );
136
 
137
end syn;

powered by: WebSVN 2.1.0

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