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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.5/] [rtl/] [vlib/] [rri/] [tb/] [tbu_rri_serport.vhd] - Blame information for rev 37

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

Line No. Rev Author Line
1 2 wfjm
-- $Id: tbu_rri_serport.vhd 314 2010-07-09 17:38:41Z mueller $
2
--
3
-- Copyright 2007-2010 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:    tbu_rri_serport - syn
16
-- Description:    Wrapper for rri_core plus rri_serport to avoid records. It
17
--                 has a port interface which will not be modified by xst
18
--                 synthesis (no records, no generic port).
19
--
20
-- Dependencies:   rri_core
21
--                 rri_serport
22
--
23
-- To test:        rri_serport
24
--
25
-- Target Devices: generic
26
--
27
-- Synthesized (xst):
28
-- Date         Rev  ise         Target      flop lutl lutm slic t peri
29
-- 2010-04-03   274  11.4   L68  xc3s1000-4   278  588   18  366 s 9.83
30
-- 2007-10-27    92  9.2.02 J39  xc3s1000-4   273  547   18    - t 9.65
31
-- 2007-10-27    92  9.1    J30  xc3s1000-4   273  545   18    - t 9.65
32
-- 2007-10-27    92  8.2.03 I34  xc3s1000-4   283  594   18  323 s 10.3
33
-- 2007-10-27    92  8.1.03 I27  xc3s1000-4   285  596   18    - s 9.32
34
--
35
-- Tool versions:  xst 8.1, 8.2, 9.1, 9.2, 11.4; ghdl 0.18-0.26
36
-- Revision History: 
37
-- Date         Rev Version  Comment
38
-- 2010-06-03   300   2.2.3  use default FAWIDTH for rri_core_serport
39
-- 2010-05-02   287   2.2.2  ren CE_XSEC->CE_INT,RP_STAT->RB_STAT,AP_LAM->RB_LAM
40
--                           drop RP_IINT from interfaces; drop RTSFLUSH generic
41
-- 2010-04-18   279   2.2.1  drop RTSFBUF generic for rri_serport
42
-- 2010-04-03   274   2.2    add CP_FLUSH, add rri_serport handshake logic
43
-- 2009-03-14   197   2.1    remove records in interface to allow _ssim usage
44
-- 2008-08-24   162   2.0    with new rb_mreq/rb_sres interface
45
-- 2007-11-24    98   1.1    added RP_IINT support
46
-- 2007-07-02    63   1.0    Initial version 
47
------------------------------------------------------------------------------
48
 
49
library ieee;
50
use ieee.std_logic_1164.all;
51
use ieee.std_logic_arith.all;
52
 
53
use work.slvtypes.all;
54
use work.rrilib.all;
55
 
56
entity tbu_rri_serport is               -- rri core+serport combo
57
  port (
58
    CLK  : in slbit;                    -- clock
59
    CE_INT : in slbit;                  -- rri ito time unit clock enable
60
    CE_USEC : in slbit;                 -- 1 usec clock enable
61
    CE_MSEC : in slbit;                 -- 1 msec clock enable
62
    RESET  : in slbit;                  -- reset
63
    RXSD : in slbit;                    -- receive serial data (board view)
64
    TXSD : out slbit;                   -- transmit serial data (board view)
65
    RB_MREQ_req : out slbit;            -- rbus: request - req
66
    RB_MREQ_we : out slbit;             -- rbus: request - we
67
    RB_MREQ_initt: out slbit;           -- rbus: request - init; avoid name coll
68
    RB_MREQ_addr : out slv8;            -- rbus: request - addr
69
    RB_MREQ_din : out slv16;            -- rbus: request - din
70
    RB_SRES_ack : in slbit;             -- rbus: response - ack
71
    RB_SRES_busy : in slbit;            -- rbus: response - busy
72
    RB_SRES_err : in slbit;             -- rbus: response - err
73
    RB_SRES_dout : in slv16;            -- rbus: response - dout
74
    RB_LAM : in slv16;                  -- rbus: look at me
75
    RB_STAT : in slv3                   -- rbus: status flags
76
  );
77
end entity tbu_rri_serport;
78
 
79
 
80
architecture syn of tbu_rri_serport is
81
 
82
  signal RB_MREQ : rb_mreq_type := rb_mreq_init;
83
  signal RB_SRES : rb_sres_type := rb_sres_init;
84
 
85
  signal CTS_N : slbit := '0';
86
  signal RTS_N : slbit := '0';
87
 
88
  signal CP_DI : slv9 := (others=>'0');
89
  signal CP_ENA : slbit := '0';
90
  signal CP_BUSY : slbit := '0';
91
  signal CP_DO : slv9 := (others=>'0');
92
  signal CP_VAL : slbit := '0';
93
  signal CP_HOLD : slbit := '0';
94
  signal CP_FLUSH : slbit := '0';
95
 
96
begin
97
 
98
  RB_MREQ_req  <= RB_MREQ.req;
99
  RB_MREQ_we   <= RB_MREQ.we;
100
  RB_MREQ_initt<= RB_MREQ.init;
101
  RB_MREQ_addr <= RB_MREQ.addr;
102
  RB_MREQ_din  <= RB_MREQ.din;
103
 
104
  RB_SRES.ack  <= RB_SRES_ack;
105
  RB_SRES.busy <= RB_SRES_busy;
106
  RB_SRES.err  <= RB_SRES_err;
107
  RB_SRES.dout <= RB_SRES_dout;
108
 
109
  CORE : rri_core
110
    port map (
111
      CLK      => CLK,
112
      CE_INT   => CE_INT,
113
      RESET    => RESET,
114
      CP_DI    => CP_DI,
115
      CP_ENA   => CP_ENA,
116
      CP_BUSY  => CP_BUSY,
117
      CP_DO    => CP_DO,
118
      CP_VAL   => CP_VAL,
119
      CP_HOLD  => CP_HOLD,
120
      CP_FLUSH => CP_FLUSH,
121
      RB_MREQ  => RB_MREQ,
122
      RB_SRES  => RB_SRES,
123
      RB_LAM   => RB_LAM,
124
      RB_STAT  => RB_STAT
125
    );
126
 
127
  SERPORT : rri_serport
128
    generic map (
129
      CPREF    => "1000",
130
      CDWIDTH  => 13,
131
      CDINIT   =>  1)        -- NOTE: change also CLKDIV in tbd_rri_serport !!
132
    port map (
133
      CLK      => CLK,
134
      CE_USEC  => CE_USEC,
135
      CE_MSEC  => CE_MSEC,
136
      RESET    => RESET,
137
      RXSD     => RXSD,
138
      TXSD     => TXSD,
139
      CTS_N    => CTS_N,
140
      RTS_N    => RTS_N,
141
      CP_DI    => CP_DI,
142
      CP_ENA   => CP_ENA,
143
      CP_BUSY  => CP_BUSY,
144
      CP_DO    => CP_DO,
145
      CP_VAL   => CP_VAL,
146
      CP_HOLD  => CP_HOLD,
147
      CP_FLUSH => CP_FLUSH
148
    );
149
 
150
end syn;

powered by: WebSVN 2.1.0

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