w11 - vhd 0.794
W11 CPU core and support modules
Loading...
Searching...
No Matches
tbd_tba_ttcombo.vhd
Go to the documentation of this file.
1-- $Id: tbd_tba_ttcombo.vhd 1181 2019-07-08 17:00:50Z mueller $
2-- SPDX-License-Identifier: GPL-3.0-or-later
3-- Copyright 2007-2019 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4--
5------------------------------------------------------------------------------
6-- Module Name: tbd_tba_ttcombo - syn
7-- Description: rbtba_aif wrapper for test target
8--
9-- Dependencies: rbd_tester
10-- rbd_bram
11-- rbd_rbmon
12-- rb_sres_or_4
13--
14-- Test bench: tb/tb_rlink_tba_ttcombo
15--
16-- Target Devices: generic
17--
18-- Synthesised (xst):
19-- Date Rev ise Target flop lutl lutm slic t peri
20-- 2010-12-29 351 12.1 M53d xc3s1000-4 192 538 32 342 s 10.1
21-- 2010-12-23 347 12.1 M53d xc3s1000-4 78 204 32 133 s 8.1
22--
23-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.35
24--
25-- Revision History:
26-- Date Rev Version Comment
27-- 2019-06-02 1159 4.0.1 use rbaddr_ constants
28-- 2014-09-13 593 4.0 use new rlink v4 iface and 4 bit STAT; new addr
29-- 2014-08-15 583 3.5 rb_mreq addr now 16 bit
30-- 2011-11-22 432 3.1.2 now numeric_std clean
31-- 2010-12-29 351 3.1.1 moved in from rbus/rbd_ttcombo; port to rbtba_aif
32-- 2010-12-26 349 3.1 add rbd_bram and rbd_rbmon
33-- 2010-12-23 347 3.0 rename rrirp_ttcombo->rbd_ttcombo; essentially a
34-- rewrite, use rbd_tester;
35-- ---------- old V2 and V1 history removed
36-- 2007-08-16 74 1.0 Initial version
37------------------------------------------------------------------------------
38--
39-- address layout:
40--
41-- rbd_rbmon ffe8/8 -- default
42-- rbd_tester ffe0/8 -- default
43-- rbd_bram fe00/2
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.rbdlib.all;
53
54entity rbd_tba_ttcombo is -- rbtba_aif wrapper for test target
55 -- implements rbtba_aif
56 port (
57 CLK : in slbit; -- clock
58 RESET : in slbit; -- reset
59 RB_MREQ_aval : in slbit; -- rbus: request - aval
60 RB_MREQ_re : in slbit; -- rbus: request - re
61 RB_MREQ_we : in slbit; -- rbus: request - we
62 RB_MREQ_initt : in slbit; -- rbus: request - init; avoid name coll
63 RB_MREQ_addr : in slv16; -- rbus: request - addr
64 RB_MREQ_din : in slv16; -- rbus: request - din
65 RB_SRES_ack : out slbit; -- rbus: response - ack
66 RB_SRES_busy : out slbit; -- rbus: response - busy
67 RB_SRES_err : out slbit; -- rbus: response - err
68 RB_SRES_dout : out slv16; -- rbus: response - dout
69 RB_LAM : out slv16; -- rbus: look at me
70 RB_STAT : out slv4 -- rbus: status flags
71 );
72end entity rbd_tba_ttcombo;
73
74
75architecture syn of rbd_tba_ttcombo is
76
77 signal RB_SRES_TEST : rb_sres_type := rb_sres_init;
78 signal RB_SRES_BRAM : rb_sres_type := rb_sres_init;
79 signal RB_SRES_MON : rb_sres_type := rb_sres_init;
80
81 signal RB_MREQ : rb_mreq_type := rb_mreq_init;
82 signal RB_SRES : rb_sres_type := rb_sres_init;
83
84begin
85
86 RB_MREQ.aval <= RB_MREQ_aval;
87 RB_MREQ.re <= RB_MREQ_re;
88 RB_MREQ.we <= RB_MREQ_we;
89 RB_MREQ.init <= RB_MREQ_initt;
90 RB_MREQ.addr <= RB_MREQ_addr;
91 RB_MREQ.din <= RB_MREQ_din;
92
93 RB_SRES_ack <= RB_SRES.ack;
94 RB_SRES_busy <= RB_SRES.busy;
95 RB_SRES_err <= RB_SRES.err;
96 RB_SRES_dout <= RB_SRES.dout;
97
98 TEST: rbd_tester
99 generic map (
100 RB_ADDR => rbaddr_tester)
101 port map (
102 CLK => CLK,
103 RESET => RESET,
104 RB_MREQ => RB_MREQ,
106 RB_LAM => RB_LAM,
108 );
109
110 MON: rbd_rbmon
111 generic map (
112 RB_ADDR => rbaddr_rbmon,
113 AWIDTH => 9)
114 port map (
115 CLK => CLK,
116 RESET => RESET,
117 RB_MREQ => RB_MREQ,
120 );
121
122 BRAM: rbd_bram
123 generic map (
124 RB_ADDR => x"fe00")
125 port map (
126 CLK => CLK,
127 RESET => RESET,
128 RB_MREQ => RB_MREQ,
130 );
131
132 RB_SRES_OR : rb_sres_or_4
133 port map (
137 RB_SRES_4 => rb_sres_init,
139 );
140
141end syn;
in RB_SRES_2 rb_sres_type := rb_sres_init
in RB_SRES_3 rb_sres_type := rb_sres_init
out RB_SRES_OR rb_sres_type
in RB_SRES_1 rb_sres_type
in RB_SRES_4 rb_sres_type := rb_sres_init
in RESET slbit
Definition: rbd_bram.vhd:53
in CLK slbit
Definition: rbd_bram.vhd:52
in RB_MREQ rb_mreq_type
Definition: rbd_bram.vhd:54
RB_ADDR slv16 :=( others => '0')
Definition: rbd_bram.vhd:50
out RB_SRES rb_sres_type
Definition: rbd_bram.vhd:56
in RESET slbit
Definition: rbd_rbmon.vhd:98
RB_ADDR slv16 := rbaddr_rbmon
Definition: rbd_rbmon.vhd:94
AWIDTH natural := 9
Definition: rbd_rbmon.vhd:95
in CLK slbit
Definition: rbd_rbmon.vhd:97
in RB_MREQ rb_mreq_type
Definition: rbd_rbmon.vhd:99
out RB_SRES rb_sres_type
Definition: rbd_rbmon.vhd:100
in RB_SRES_SUM rb_sres_type
Definition: rbd_rbmon.vhd:102
rb_sres_type := rb_sres_init RB_SRES_BRAM
rb_sres_type := rb_sres_init RB_SRES_TEST
rb_mreq_type := rb_mreq_init RB_MREQ
rb_sres_type := rb_sres_init RB_SRES_MON
rb_sres_type := rb_sres_init RB_SRES
out RB_SRES_busy slbit
in RB_MREQ_we slbit
out RB_SRES_err slbit
out RB_SRES_dout slv16
out RB_SRES_ack slbit
in RB_MREQ_addr slv16
in RB_MREQ_aval slbit
in RB_MREQ_re slbit
in RB_MREQ_din slv16
in RB_MREQ_initt slbit
in RESET slbit
Definition: rbd_tester.vhd:66
RB_ADDR slv16 := rbaddr_tester
Definition: rbd_tester.vhd:63
out RB_STAT slv4
Definition: rbd_tester.vhd:71
out RB_LAM slv16
Definition: rbd_tester.vhd:69
in CLK slbit
Definition: rbd_tester.vhd:65
in RB_MREQ rb_mreq_type
Definition: rbd_tester.vhd:67
out RB_SRES rb_sres_type
Definition: rbd_tester.vhd:68
Definition: rblib.vhd:32
std_logic_vector( 3 downto 0) slv4
Definition: slvtypes.vhd:36
std_logic_vector( 15 downto 0) slv16
Definition: slvtypes.vhd:48
std_logic slbit
Definition: slvtypes.vhd:30