w11 - vhd
0.794
W11 CPU core and support modules
Toggle main menu visibility
Main Page
Packages
Package List
Design Units
Design Unit List
Design Unit Index
Design Unit Hierarchy
Design Unit Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions/Procedures/Processes
b
c
d
e
g
h
i
n
o
p
r
s
t
w
x
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Files
File List
File Members
All
t
Variables
t
▼
w11 - vhd
►
Packages
►
Design Units
▼
Files
►
File List
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Loading...
Searching...
No Matches
ibdr_minisys.vhd
Go to the documentation of this file.
1
-- $Id: ibdr_minisys.vhd 1181 2019-07-08 17:00:50Z mueller $
2
-- SPDX-License-Identifier: GPL-3.0-or-later
3
-- Copyright 2008-2019 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4
--
5
------------------------------------------------------------------------------
6
-- Module Name: ibdr_minisys - syn
7
-- Description: ibus(rem) devices for minimal system:SDR+KW+DL+RK
8
--
9
-- Dependencies: ib_rlim_gen
10
-- ibdr_sdreg
11
-- ibd_kw11l
12
-- ibdr_dl11
13
-- ibdr_rk11
14
-- ib_sres_or_4
15
-- ib_intmap
16
-- Test bench: -
17
-- Target Devices: generic
18
-- Tool versions: ise 8.2-14.7; viv 2014.4-2017.2; ghdl 0.18-0.35
19
--
20
-- Synthesized (xst):
21
-- Date Rev ise Target flop lutl lutm slic t peri
22
-- 2010-10-17 333 12.1 M53d xc3s1000-4 128 469 16 265 s 7.8
23
-- 2010-10-17 314 12.1 M53d xc3s1000-4 122 472 16 269 s 7.6
24
--
25
-- Revision History:
26
-- Date Rev Version Comment
27
-- 2019-04-23 1136 1.1.5 add CLK port to ib_intmap
28
-- 2019-04-14 1131 1.1.4 ib_rlim_gen has CPUSUSP port; RLIM_CEV now slv8
29
-- 2019-04-07 1129 1.1.3 ibdr_dl11: use RLIM_CEV, drop CE_USEC
30
-- 2011-11-18 427 1.1.2 now numeric_std clean
31
-- 2010-10-23 335 1.1.1 rename RRI_LAM->RB_LAM;
32
-- 2010-06-11 303 1.1 use IB_MREQ.racc instead of RRI_REQ
33
-- 2009-07-12 233 1.0.7 reorder ports, add CE_USEC; add RESET and CE_USEC
34
-- to _dl11
35
-- 2009-05-31 221 1.0.6 add RESET to kw11l;
36
-- 2009-05-24 219 1.0.5 _rk11 uses now CE_MSEC
37
-- 2008-08-22 161 1.0.4 use iblib, ibdlib
38
-- 2008-05-09 144 1.0.3 use EI_ACK with _kw11l, _dl11
39
-- 2008-04-18 136 1.0.2 add RESET port, use for ibdr_sdreg
40
-- 2008-01-20 113 1.0.1 RRI_LAM now vector
41
-- 2008-01-20 112 1.0 Initial version
42
------------------------------------------------------------------------------
43
--
44
-- mini system setup
45
--
46
-- ibbase vec pri slot attn device name
47
--
48
-- 177546 100 6 4 - KW11-L
49
-- 177400 220 5 3 4 RK11
50
-- 177560 060 4 2 1 DL11-RX 1st
51
-- 064 4 1 ^ DL11-TX 1st
52
-- 177570 - - - - sdreg
53
--
54
55
library
ieee
;
56
use
ieee.std_logic_1164.
all
;
57
use
ieee.numeric_std.
all
;
58
59
use
work.
slvtypes
.
all
;
60
use
work.
iblib
.
all
;
61
use
work.
ibdlib
.
all
;
62
63
-- ----------------------------------------------------------------------------
64
entity
ibdr_minisys
is
-- ibus(rem) minimal sys:SDR+KW+DL+RK
65
port
(
66
CLK
:
in
slbit
;
-- clock
67
CE_USEC
:
in
slbit
;
-- usec pulse
68
CE_MSEC
:
in
slbit
;
-- msec pulse
69
RESET
:
in
slbit
;
-- reset
70
BRESET
:
in
slbit
;
-- ibus reset
71
RB_LAM
:
out
slv16_1
;
-- remote attention vector
72
IB_MREQ
:
in
ib_mreq_type
;
-- ibus request
73
IB_SRES
:
out
ib_sres_type
;
-- ibus response
74
EI_ACKM
:
in
slbit
;
-- interrupt acknowledge (from master)
75
EI_PRI
:
out
slv3
;
-- interrupt priority (to cpu)
76
EI_VECT
:
out
slv9_2
;
-- interrupt vector (to cpu)
77
DISPREG
:
out
slv16
-- display register
78
)
;
79
end
ibdr_minisys
;
80
81
architecture
syn
of
ibdr_minisys
is
82
83
constant
conf_intmap
:
intmap_array_type
:=
84
(
intmap_init
,
-- line 15
85
intmap_init
,
-- line 14
86
intmap_init
,
-- line 13
87
intmap_init
,
-- line 12
88
intmap_init
,
-- line 11
89
intmap_init
,
-- line 10
90
intmap_init
,
-- line 9
91
intmap_init
,
-- line 8
92
intmap_init
,
-- line 7
93
intmap_init
,
-- line 6
94
intmap_init
,
-- line 5
95
(
8#100#
,
6
)
,
-- line 4 KW11-L
96
(
8#220#
,
5
)
,
-- line 3 RK11
97
(
8#060#
,
4
)
,
-- line 2 DL11-RX
98
(
8#064#
,
4
)
,
-- line 1 DL11-TX
99
intmap_init
-- line 0
100
)
;
101
102
signal
RB_LAM_DL11
:
slbit
:=
'
0
'
;
103
signal
RB_LAM_RK11
:
slbit
:=
'
0
'
;
104
105
signal
IB_SRES_SDREG
:
ib_sres_type
:=
ib_sres_init
;
106
signal
IB_SRES_KW11L
:
ib_sres_type
:=
ib_sres_init
;
107
signal
IB_SRES_DL11
:
ib_sres_type
:=
ib_sres_init
;
108
signal
IB_SRES_RK11
:
ib_sres_type
:=
ib_sres_init
;
109
110
signal
EI_REQ
:
slv16_1
:=
(
others
=
>
'
0
'
)
;
111
signal
EI_ACK
:
slv16_1
:=
(
others
=
>
'
0
'
)
;
112
113
signal
EI_REQ_KW11L
:
slbit
:=
'
0
'
;
114
signal
EI_REQ_DL11RX
:
slbit
:=
'
0
'
;
115
signal
EI_REQ_DL11TX
:
slbit
:=
'
0
'
;
116
signal
EI_REQ_RK11
:
slbit
:=
'
0
'
;
117
118
signal
EI_ACK_KW11L
:
slbit
:=
'
0
'
;
119
signal
EI_ACK_DL11RX
:
slbit
:=
'
0
'
;
120
signal
EI_ACK_DL11TX
:
slbit
:=
'
0
'
;
121
signal
EI_ACK_RK11
:
slbit
:=
'
0
'
;
122
123
signal
RLIM_CEV
:
slv8
:=
(
others
=
>
'
0
'
)
;
124
125
begin
126
127
RLIM :
ib_rlim_gen
128
port
map
(
129
CLK
=>
CLK
,
130
CE_USEC
=>
CE_USEC
,
131
RESET
=> '0',
132
CPUSUSP
=> '0',
133
RLIM_CEV
=>
RLIM_CEV
134
)
;
135
136
SDREG :
ibdr_sdreg
137
port
map
(
138
CLK
=>
CLK
,
139
RESET
=>
RESET
,
140
IB_MREQ
=>
IB_MREQ
,
141
IB_SRES
=>
IB_SRES_SDREG
,
142
DISPREG
=>
DISPREG
143
)
;
144
145
KW11L :
ibd_kw11l
146
port
map
(
147
CLK
=>
CLK
,
148
CE_MSEC
=>
CE_MSEC
,
149
RESET
=>
RESET
,
150
BRESET
=>
BRESET
,
151
CPUSUSP
=> '0',
152
IB_MREQ
=>
IB_MREQ
,
153
IB_SRES
=>
IB_SRES_KW11L
,
154
EI_REQ
=>
EI_REQ_KW11L
,
155
EI_ACK
=>
EI_ACK_KW11L
156
)
;
157
158
DL11 :
ibdr_dl11
159
port
map
(
160
CLK
=>
CLK
,
161
RESET
=>
RESET
,
162
BRESET
=>
BRESET
,
163
RLIM_CEV
=>
RLIM_CEV
,
164
RB_LAM
=>
RB_LAM_DL11
,
165
IB_MREQ
=>
IB_MREQ
,
166
IB_SRES
=>
IB_SRES_DL11
,
167
EI_REQ_RX
=>
EI_REQ_DL11RX
,
168
EI_REQ_TX
=>
EI_REQ_DL11TX
,
169
EI_ACK_RX
=>
EI_ACK_DL11RX
,
170
EI_ACK_TX
=>
EI_ACK_DL11TX
171
)
;
172
173
RK11 :
ibdr_rk11
174
port
map
(
175
CLK
=>
CLK
,
176
CE_MSEC
=>
CE_MSEC
,
177
BRESET
=>
BRESET
,
178
RB_LAM
=>
RB_LAM_RK11
,
179
IB_MREQ
=>
IB_MREQ
,
180
IB_SRES
=>
IB_SRES_RK11
,
181
EI_REQ
=>
EI_REQ_RK11
,
182
EI_ACK
=>
EI_ACK_RK11
183
)
;
184
185
SRES_OR :
ib_sres_or_4
186
port
map
(
187
IB_SRES_1
=>
IB_SRES_SDREG
,
188
IB_SRES_2
=>
IB_SRES_KW11L
,
189
IB_SRES_3
=>
IB_SRES_DL11
,
190
IB_SRES_4
=>
IB_SRES_RK11
,
191
IB_SRES_OR
=>
IB_SRES
192
)
;
193
194
INTMAP :
ib_intmap
195
generic
map
(
196
INTMAP
=>
conf_intmap
)
197
port
map
(
198
CLK
=>
CLK
,
199
EI_REQ
=>
EI_REQ
,
200
EI_ACKM
=>
EI_ACKM
,
201
EI_ACK
=>
EI_ACK
,
202
EI_PRI
=>
EI_PRI
,
203
EI_VECT
=>
EI_VECT
204
)
;
205
206
EI_REQ
(
4
)
<=
EI_REQ_KW11L
;
207
EI_REQ
(
3
)
<=
EI_REQ_RK11
;
208
EI_REQ
(
2
)
<=
EI_REQ_DL11RX
;
209
EI_REQ
(
1
)
<=
EI_REQ_DL11TX
;
210
211
EI_ACK_KW11L
<=
EI_ACK
(
4
)
;
212
EI_ACK_RK11
<=
EI_ACK
(
3
)
;
213
EI_ACK_DL11RX
<=
EI_ACK
(
2
)
;
214
EI_ACK_DL11TX
<=
EI_ACK
(
1
)
;
215
216
RB_LAM
(
1
)
<=
RB_LAM_DL11
;
217
RB_LAM
(
2
)
<=
'
0
'
;
-- for 2nd DL11
218
RB_LAM
(
3
)
<=
'
0
'
;
-- for DZ11
219
RB_LAM
(
4
)
<=
RB_LAM_RK11
;
220
RB_LAM
(
15
downto
5
)
<=
(
others
=
>
'
0
'
)
;
221
222
end
syn
;
ib_intmap
Definition:
ib_intmap.vhd:40
ib_intmap.EI_PRI
out EI_PRI slv3
Definition:
ib_intmap.vhd:48
ib_intmap.INTMAP
INTMAP intmap_array_type := intmap_array_init
Definition:
ib_intmap.vhd:42
ib_intmap.EI_VECT
out EI_VECT slv9_2
Definition:
ib_intmap.vhd:50
ib_intmap.CLK
in CLK slbit
Definition:
ib_intmap.vhd:44
ib_intmap.EI_REQ
in EI_REQ slv16_1
Definition:
ib_intmap.vhd:45
ib_intmap.EI_ACK
out EI_ACK slv16_1
Definition:
ib_intmap.vhd:47
ib_intmap.EI_ACKM
in EI_ACKM slbit
Definition:
ib_intmap.vhd:46
ib_rlim_gen
Definition:
ib_rlim_gen.vhd:39
ib_rlim_gen.RESET
in RESET slbit
Definition:
ib_rlim_gen.vhd:43
ib_rlim_gen.CE_USEC
in CE_USEC slbit
Definition:
ib_rlim_gen.vhd:42
ib_rlim_gen.CLK
in CLK slbit
Definition:
ib_rlim_gen.vhd:41
ib_rlim_gen.CPUSUSP
in CPUSUSP slbit
Definition:
ib_rlim_gen.vhd:44
ib_rlim_gen.RLIM_CEV
out RLIM_CEV slv8
Definition:
ib_rlim_gen.vhd:46
ib_sres_or_4
Definition:
ib_sres_or_4.vhd:30
ib_sres_or_4.IB_SRES_2
in IB_SRES_2 ib_sres_type := ib_sres_init
Definition:
ib_sres_or_4.vhd:33
ib_sres_or_4.IB_SRES_3
in IB_SRES_3 ib_sres_type := ib_sres_init
Definition:
ib_sres_or_4.vhd:34
ib_sres_or_4.IB_SRES_OR
out IB_SRES_OR ib_sres_type
Definition:
ib_sres_or_4.vhd:37
ib_sres_or_4.IB_SRES_4
in IB_SRES_4 ib_sres_type := ib_sres_init
Definition:
ib_sres_or_4.vhd:35
ib_sres_or_4.IB_SRES_1
in IB_SRES_1 ib_sres_type
Definition:
ib_sres_or_4.vhd:32
ibd_kw11l
Definition:
ibd_kw11l.vhd:42
ibd_kw11l.EI_REQ
out EI_REQ slbit
Definition:
ibd_kw11l.vhd:52
ibd_kw11l.RESET
in RESET slbit
Definition:
ibd_kw11l.vhd:47
ibd_kw11l.BRESET
in BRESET slbit
Definition:
ibd_kw11l.vhd:48
ibd_kw11l.CLK
in CLK slbit
Definition:
ibd_kw11l.vhd:45
ibd_kw11l.IB_MREQ
in IB_MREQ ib_mreq_type
Definition:
ibd_kw11l.vhd:50
ibd_kw11l.CPUSUSP
in CPUSUSP slbit
Definition:
ibd_kw11l.vhd:49
ibd_kw11l.IB_SRES
out IB_SRES ib_sres_type
Definition:
ibd_kw11l.vhd:51
ibd_kw11l.EI_ACK
in EI_ACK slbit
Definition:
ibd_kw11l.vhd:54
ibd_kw11l.CE_MSEC
in CE_MSEC slbit
Definition:
ibd_kw11l.vhd:46
ibdlib
Definition:
ibdlib.vhd:43
ibdr_dl11
Definition:
ibdr_dl11.vhd:51
ibdr_dl11.RESET
in RESET slbit
Definition:
ibdr_dl11.vhd:56
ibdr_dl11.EI_ACK_TX
in EI_ACK_TX slbit
Definition:
ibdr_dl11.vhd:66
ibdr_dl11.EI_ACK_RX
in EI_ACK_RX slbit
Definition:
ibdr_dl11.vhd:64
ibdr_dl11.BRESET
in BRESET slbit
Definition:
ibdr_dl11.vhd:57
ibdr_dl11.RB_LAM
out RB_LAM slbit
Definition:
ibdr_dl11.vhd:59
ibdr_dl11.CLK
in CLK slbit
Definition:
ibdr_dl11.vhd:55
ibdr_dl11.EI_REQ_RX
out EI_REQ_RX slbit
Definition:
ibdr_dl11.vhd:62
ibdr_dl11.IB_MREQ
in IB_MREQ ib_mreq_type
Definition:
ibdr_dl11.vhd:60
ibdr_dl11.IB_SRES
out IB_SRES ib_sres_type
Definition:
ibdr_dl11.vhd:61
ibdr_dl11.RLIM_CEV
in RLIM_CEV slv8
Definition:
ibdr_dl11.vhd:58
ibdr_dl11.EI_REQ_TX
out EI_REQ_TX slbit
Definition:
ibdr_dl11.vhd:63
ibdr_minisys.syn
Definition:
ibdr_minisys.vhd:81
ibdr_minisys.syn.EI_REQ_DL11RX
slbit := '0' EI_REQ_DL11RX
Definition:
ibdr_minisys.vhd:114
ibdr_minisys.syn.EI_REQ_KW11L
slbit := '0' EI_REQ_KW11L
Definition:
ibdr_minisys.vhd:113
ibdr_minisys.syn.IB_SRES_DL11
ib_sres_type := ib_sres_init IB_SRES_DL11
Definition:
ibdr_minisys.vhd:107
ibdr_minisys.syn.IB_SRES_SDREG
ib_sres_type := ib_sres_init IB_SRES_SDREG
Definition:
ibdr_minisys.vhd:105
ibdr_minisys.syn.EI_REQ_RK11
slbit := '0' EI_REQ_RK11
Definition:
ibdr_minisys.vhd:116
ibdr_minisys.syn.EI_REQ_DL11TX
slbit := '0' EI_REQ_DL11TX
Definition:
ibdr_minisys.vhd:115
ibdr_minisys.syn.RB_LAM_RK11
slbit := '0' RB_LAM_RK11
Definition:
ibdr_minisys.vhd:103
ibdr_minisys.syn.IB_SRES_KW11L
ib_sres_type := ib_sres_init IB_SRES_KW11L
Definition:
ibdr_minisys.vhd:106
ibdr_minisys.syn.EI_ACK_KW11L
slbit := '0' EI_ACK_KW11L
Definition:
ibdr_minisys.vhd:118
ibdr_minisys.syn.EI_ACK_RK11
slbit := '0' EI_ACK_RK11
Definition:
ibdr_minisys.vhd:121
ibdr_minisys.syn.RB_LAM_DL11
slbit := '0' RB_LAM_DL11
Definition:
ibdr_minisys.vhd:102
ibdr_minisys.syn.EI_ACK
slv16_1 :=( others => '0') EI_ACK
Definition:
ibdr_minisys.vhd:111
ibdr_minisys.syn.IB_SRES_RK11
ib_sres_type := ib_sres_init IB_SRES_RK11
Definition:
ibdr_minisys.vhd:108
ibdr_minisys.syn.RLIM_CEV
slv8 :=( others => '0') RLIM_CEV
Definition:
ibdr_minisys.vhd:123
ibdr_minisys.syn.EI_REQ
slv16_1 :=( others => '0') EI_REQ
Definition:
ibdr_minisys.vhd:110
ibdr_minisys.syn.EI_ACK_DL11TX
slbit := '0' EI_ACK_DL11TX
Definition:
ibdr_minisys.vhd:120
ibdr_minisys.syn.conf_intmap
intmap_array_type :=( intmap_init, intmap_init, intmap_init, intmap_init, intmap_init, intmap_init, intmap_init, intmap_init, intmap_init, intmap_init, intmap_init,( 8#100#, 6),( 8#220#, 5),( 8#060#, 4),( 8#064#, 4), intmap_init) conf_intmap
Definition:
ibdr_minisys.vhd:83
ibdr_minisys.syn.EI_ACK_DL11RX
slbit := '0' EI_ACK_DL11RX
Definition:
ibdr_minisys.vhd:119
ibdr_minisys
Definition:
ibdr_minisys.vhd:64
ibdr_minisys.RESET
in RESET slbit
Definition:
ibdr_minisys.vhd:69
ibdr_minisys.DISPREG
out DISPREG slv16
Definition:
ibdr_minisys.vhd:78
ibdr_minisys.CE_USEC
in CE_USEC slbit
Definition:
ibdr_minisys.vhd:67
ibdr_minisys.EI_PRI
out EI_PRI slv3
Definition:
ibdr_minisys.vhd:75
ibdr_minisys.BRESET
in BRESET slbit
Definition:
ibdr_minisys.vhd:70
ibdr_minisys.EI_VECT
out EI_VECT slv9_2
Definition:
ibdr_minisys.vhd:76
ibdr_minisys.CLK
in CLK slbit
Definition:
ibdr_minisys.vhd:66
ibdr_minisys.IB_MREQ
in IB_MREQ ib_mreq_type
Definition:
ibdr_minisys.vhd:72
ibdr_minisys.IB_SRES
out IB_SRES ib_sres_type
Definition:
ibdr_minisys.vhd:73
ibdr_minisys.EI_ACKM
in EI_ACKM slbit
Definition:
ibdr_minisys.vhd:74
ibdr_minisys.RB_LAM
out RB_LAM slv16_1
Definition:
ibdr_minisys.vhd:71
ibdr_minisys.CE_MSEC
in CE_MSEC slbit
Definition:
ibdr_minisys.vhd:68
ibdr_rk11
Definition:
ibdr_rk11.vhd:53
ibdr_rk11.EI_REQ
out EI_REQ slbit
Definition:
ibdr_rk11.vhd:62
ibdr_rk11.BRESET
in BRESET slbit
Definition:
ibdr_rk11.vhd:58
ibdr_rk11.RB_LAM
out RB_LAM slbit
Definition:
ibdr_rk11.vhd:59
ibdr_rk11.CLK
in CLK slbit
Definition:
ibdr_rk11.vhd:56
ibdr_rk11.IB_MREQ
in IB_MREQ ib_mreq_type
Definition:
ibdr_rk11.vhd:60
ibdr_rk11.IB_SRES
out IB_SRES ib_sres_type
Definition:
ibdr_rk11.vhd:61
ibdr_rk11.EI_ACK
in EI_ACK slbit
Definition:
ibdr_rk11.vhd:64
ibdr_rk11.CE_MSEC
in CE_MSEC slbit
Definition:
ibdr_rk11.vhd:57
ibdr_sdreg
Definition:
ibdr_sdreg.vhd:41
ibdr_sdreg.RESET
in RESET slbit
Definition:
ibdr_sdreg.vhd:45
ibdr_sdreg.DISPREG
out DISPREG slv16
Definition:
ibdr_sdreg.vhd:49
ibdr_sdreg.CLK
in CLK slbit
Definition:
ibdr_sdreg.vhd:44
ibdr_sdreg.IB_MREQ
in IB_MREQ ib_mreq_type
Definition:
ibdr_sdreg.vhd:46
ibdr_sdreg.IB_SRES
out IB_SRES ib_sres_type
Definition:
ibdr_sdreg.vhd:47
iblib
Definition:
iblib.vhd:33
slvtypes
Definition:
slvtypes.vhd:28
slvtypes.slv3
std_logic_vector( 2 downto 0) slv3
Definition:
slvtypes.vhd:35
slvtypes.slv9_2
std_logic_vector( 8 downto 2) slv9_2
Definition:
slvtypes.vhd:65
slvtypes.slv16_1
std_logic_vector( 15 downto 1) slv16_1
Definition:
slvtypes.vhd:67
slvtypes.slv16
std_logic_vector( 15 downto 0) slv16
Definition:
slvtypes.vhd:48
slvtypes.slbit
std_logic slbit
Definition:
slvtypes.vhd:30
slvtypes.slv8
std_logic_vector( 7 downto 0) slv8
Definition:
slvtypes.vhd:40
ibus
ibdr_minisys.vhd
Generated on Thu Feb 9 2023 12:41:04 for w11 - vhd by
1.9.6