w11 - vhd 0.794
W11 CPU core and support modules
Loading...
Searching...
No Matches
tbd_rlink_direct.vhd
Go to the documentation of this file.
1-- $Id: tbd_rlink_direct.vhd 1181 2019-07-08 17:00:50Z mueller $
2-- SPDX-License-Identifier: GPL-3.0-or-later
3-- Copyright 2007-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4--
5------------------------------------------------------------------------------
6-- Module Name: tbd_rlink_direct - syn
7-- Description: Wrapper for rlink_core to avoid records. It has a port
8-- interface which will not be modified by xst synthesis
9-- (no records, no generic port).
10--
11-- Dependencies: rlink_core
12-- rbus/rb_mon
13-- rlink/rlink_mon
14--
15-- To test: rlink_core
16--
17-- Target Devices: generic
18--
19-- Synthesized (xst):
20-- Date Rev ise Target flop lutl lutm slic t peri
21-- 2007-11-24 92 8.1.03 I27 xc3s1000-4 143 309 0 166 s 7.64
22-- 2007-10-27 92 9.2.02 J39 xc3s1000-4 148 320 0 - t 8.34
23-- 2007-10-27 92 9.1 J30 xc3s1000-4 148 315 0 - t 8.34
24-- 2007-10-27 92 8.2.03 I34 xc3s1000-4 153 302 0 162 s 7.65
25-- 2007-10-27 92 8.1.03 I27 xc3s1000-4 138 306 0 - s 7.64
26--
27-- Tool versions: xst 8.1-14.7; ghdl 0.18-0.31
28--
29-- Revision History:
30-- Date Rev Version Comment
31-- 2014-09-19 594 4.0 now rlink v4.0 iface, 4 bit STAT
32-- 2014-08-15 583 3.5 rb_mreq addr now 16 bit
33-- 2010-12-25 348 3.0.2 drop RL_FLUSH, add RL_MONI for rlink_core
34-- 2010-12-24 347 3.0.1 rename: CP_*->RL->*
35-- 2010-12-05 343 3.0 rri->rlink renames; port to rbus V3 protocol;
36-- 2010-05-02 287 2.2.1 ren CE_XSEC->CE_INT,RP_STAT->RB_STAT,AP_LAM->RB_LAM
37-- drop RP_IINT signal from interfaces
38-- 2010-04-03 274 2.2 add CP_FLUSH for rri_core, add CE_USEC
39-- 2009-03-14 197 2.1 remove records in interface to allow _ssim usage
40-- 2008-08-24 162 2.0 with new rb_mreq/rb_sres interface
41-- 2007-11-25 98 1.1 added RP_IINT support; use entity rather arch
42-- name to switch core/serport
43-- 2007-07-02 63 1.0 Initial version
44------------------------------------------------------------------------------
45
46library ieee;
47use ieee.std_logic_1164.all;
48use ieee.numeric_std.all;
49
50use work.slvtypes.all;
51use work.rblib.all;
52use work.rlinklib.all;
53
54entity tbd_rlink_direct is -- rlink_core only tb design
55 -- generic: ATOWIDTH=5; ITOWIDTH=6
56 -- implements tbd_rlink_gen
57 port (
58 CLK : in slbit; -- clock
59 CE_INT : in slbit; -- rlink ito time unit clock enable
60 CE_USEC : in slbit; -- 1 usec clock enable
61 RESET : in slbit; -- reset
62 RL_DI : in slv9; -- rlink: data in
63 RL_ENA : in slbit; -- rlink: data enable
64 RL_BUSY : out slbit; -- rlink: data busy
65 RL_DO : out slv9; -- rlink: data out
66 RL_VAL : out slbit; -- rlink: data valid
67 RL_HOLD : in slbit; -- rlink: data hold
68 RB_MREQ_aval : out slbit; -- rbus: request - aval
69 RB_MREQ_re : out slbit; -- rbus: request - re
70 RB_MREQ_we : out slbit; -- rbus: request - we
71 RB_MREQ_initt : out slbit; -- rbus: request - init; avoid name coll
72 RB_MREQ_addr : out slv16; -- rbus: request - addr
73 RB_MREQ_din : out slv16; -- rbus: request - din
74 RB_SRES_ack : in slbit; -- rbus: response - ack
75 RB_SRES_busy : in slbit; -- rbus: response - busy
76 RB_SRES_err : in slbit; -- rbus: response - err
77 RB_SRES_dout : in slv16; -- rbus: response - dout
78 RB_LAM : in slv16; -- rbus: look at me
79 RB_STAT : in slv4; -- rbus: status flags
80 TXRXACT : out slbit -- txrx active flag
81 );
82end entity tbd_rlink_direct;
83
84
85architecture syn of tbd_rlink_direct is
86
87 signal RL_MONI : rl_moni_type := rl_moni_init;
88 signal RB_MREQ : rb_mreq_type := rb_mreq_init;
89 signal RB_SRES : rb_sres_type := rb_sres_init;
90
91begin
92
93 RB_MREQ_aval <= RB_MREQ.aval;
94 RB_MREQ_re <= RB_MREQ.re;
95 RB_MREQ_we <= RB_MREQ.we;
97 RB_MREQ_addr <= RB_MREQ.addr;
98 RB_MREQ_din <= RB_MREQ.din;
99
100 RB_SRES.ack <= RB_SRES_ack;
101 RB_SRES.busy <= RB_SRES_busy;
102 RB_SRES.err <= RB_SRES_err;
103 RB_SRES.dout <= RB_SRES_dout;
104
105 UUT : rlink_core
106 generic map (
107 BTOWIDTH => 5,
108 RTAWIDTH => 11,
109 SYSID => x"76543210",
110 ENAPIN_RLMON => sbcntl_sbf_rlmon,
111 ENAPIN_RBMON => sbcntl_sbf_rbmon)
112 port map (
113 CLK => CLK,
114 CE_INT => CE_INT,
115 RESET => RESET,
116 RL_DI => RL_DI,
117 RL_ENA => RL_ENA,
118 RL_BUSY => RL_BUSY,
119 RL_DO => RL_DO,
120 RL_VAL => RL_VAL,
121 RL_HOLD => RL_HOLD,
122 RL_MONI => RL_MONI,
123 RB_MREQ => RB_MREQ,
124 RB_SRES => RB_SRES,
125 RB_LAM => RB_LAM,
127 );
128
129 TXRXACT <= '0';
130
131end syn;
Definition: rblib.vhd:32
std_logic_vector( 3 downto 0) slv4
Definition: slvtypes.vhd:36
std_logic_vector( 8 downto 0) slv9
Definition: slvtypes.vhd:41
std_logic_vector( 15 downto 0) slv16
Definition: slvtypes.vhd:48
std_logic slbit
Definition: slvtypes.vhd:30