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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.7/] [rtl/] [ibus/] [ibdlib.vhd] - Blame information for rev 8

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

Line No. Rev Author Line
1 8 wfjm
-- $Id: ibdlib.vhd 335 2010-10-24 22:24:23Z mueller $
2 2 wfjm
--
3
-- Copyright 2008-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
-- Package Name:   ibdlib
16
-- Description:    Definitions for ibus devices
17
--
18
-- Dependencies:   -
19 8 wfjm
-- Tool versions:  xst 8.1, 8.2, 9.1, 9.2, 12.1; ghdl 0.18-0.29
20 2 wfjm
-- Revision History: 
21
-- Date         Rev Version  Comment
22 8 wfjm
-- 2010-10-23   335   1.1.1  rename RRI_LAM->RB_LAM;
23 2 wfjm
-- 2010-06-11   303   1.1    use IB_MREQ.racc instead of RRI_REQ
24
-- 2009-07-12   233   1.0.5  add RESET, CE_USEC to _dl11, CE_USEC to _minisys
25
-- 2009-06-07   224   1.0.4  add iist_mreq and iist_sreq;
26
-- 2009-06-01   221   1.0.3  add RESET to kw11l; add iist;
27
-- 2009-05-30   220   1.0.2  add most additional device def's
28
-- 2009-05-24   219   1.0.1  add CE_MSEC to _rk11; add _maxisys
29
-- 2008-08-22   161   1.0    Initial version (extracted from pdp11.vhd)
30
------------------------------------------------------------------------------
31
 
32
library ieee;
33
use ieee.std_logic_1164.all;
34
use ieee.std_logic_arith.all;
35
 
36
use work.slvtypes.all;
37
use work.iblib.all;
38
 
39
package ibdlib is
40
 
41
type iist_line_type is record         -- iist line
42
  dcf : slbit;                        -- disconnect flag
43
  req : slbit;                        -- request
44
  stf : slbit;                        -- sanity timer flag
45
  imask : slv4;                       -- interrupt mask
46
  bmask : slv4;                       -- boot mask
47
  par : slbit;                        -- parity (odd)
48
  frm : slbit;                        -- frame error flag
49
end record iist_line_type;
50
 
51
constant iist_line_init : iist_line_type := ('1','0','0',"0000","0000",'0','0');
52
 
53
type iist_bus_type is array (3 downto 0) of iist_line_type;
54
constant iist_bus_init : iist_bus_type := (others=>iist_line_init);
55
 
56
type iist_mreq_type is record         -- iist->cpu requests
57
  lock : slbit;                       -- lock-up CPU
58
  boot : slbit;                       -- boot-up CPU
59
end record iist_mreq_type;
60
 
61
constant iist_mreq_init : iist_mreq_type := ('0','0');
62
 
63
type iist_sres_type is record         -- cpu->iist responses
64
  ack_lock : slbit;                   -- release lock 
65
  ack_boot : slbit;                   -- boot started
66
end record iist_sres_type;
67
 
68
constant iist_sres_init : iist_sres_type := ('0','0');
69
 
70
component ibd_iist is                   -- ibus dev(loc): IIST
71
                                        -- fixed address: 177500
72
  generic (
73
    SID : slv2 := "00");                -- self id
74
  port (
75
    CLK : in slbit;                     -- clock
76
    CE_USEC : in slbit;                 -- usec pulse
77
    RESET : in slbit;                   -- system reset
78
    BRESET : in slbit;                  -- ibus reset
79
    IB_MREQ : in ib_mreq_type;          -- ibus request
80
    IB_SRES : out ib_sres_type;         -- ibus response
81
    EI_REQ : out slbit;                 -- interrupt request
82
    EI_ACK : in slbit;                  -- interrupt acknowledge
83
    IIST_BUS : in iist_bus_type;        -- iist bus (input from all iist's)
84
    IIST_OUT : out iist_line_type;      -- iist output
85
    IIST_MREQ : out iist_mreq_type;     -- iist->cpu requests
86
    IIST_SRES : in iist_sres_type       -- cpu->iist responses
87
  );
88
end component;
89
 
90
component ibd_kw11p is                  -- ibus dev(loc): KW11-P (line clock)
91
                                        -- fixed address: 172540
92
  port (
93
    CLK : in slbit;                     -- clock
94
    CE_USEC : in slbit;                 -- usec pulse
95
    CE_MSEC : in slbit;                 -- msec pulse
96
    RESET : in slbit;                   -- system reset
97
    BRESET : in slbit;                  -- ibus reset
98
    IB_MREQ : in ib_mreq_type;          -- ibus request
99
    IB_SRES : out ib_sres_type;         -- ibus response
100
    EI_REQ : out slbit;                 -- interrupt request
101
    EI_ACK : in slbit                   -- interrupt acknowledge
102
  );
103
end component;
104
 
105
component ibd_kw11l is                  -- ibus dev(loc): KW11-L (line clock)
106
                                        -- fixed address: 177546
107
  port (
108
    CLK : in slbit;                     -- clock
109
    CE_MSEC : in slbit;                 -- msec pulse
110
    RESET : in slbit;                   -- system reset
111
    BRESET : in slbit;                  -- ibus reset
112
    IB_MREQ : in ib_mreq_type;          -- ibus request
113
    IB_SRES : out ib_sres_type;         -- ibus response
114
    EI_REQ : out slbit;                 -- interrupt request
115
    EI_ACK : in slbit                   -- interrupt acknowledge
116
  );
117
end component;
118
 
119
component ibdr_rl11 is                  -- ibus dev(rem): RL11
120
                                        -- fixed address: 174400
121
  port (
122
    CLK : in slbit;                     -- clock
123
    BRESET : in slbit;                  -- ibus reset
124 8 wfjm
    RB_LAM : out slbit;                 -- remote attention
125 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
126
    IB_SRES : out ib_sres_type;         -- ibus response
127
    EI_REQ : out slbit;                 -- interrupt request
128
    EI_ACK : in slbit                   -- interrupt acknowledge
129
  );
130
end component;
131
 
132
component ibdr_rk11 is                  -- ibus dev(rem): RK11
133
                                        -- fixed address: 177400
134
  port (
135
    CLK : in slbit;                     -- clock
136
    CE_MSEC : in slbit;                 -- msec pulse
137
    BRESET : in slbit;                  -- ibus reset
138 8 wfjm
    RB_LAM : out slbit;                 -- remote attention
139 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
140
    IB_SRES : out ib_sres_type;         -- ibus response
141
    EI_REQ : out slbit;                 -- interrupt request
142
    EI_ACK : in slbit                   -- interrupt acknowledge
143
  );
144
end component;
145
 
146
component ibdr_tm11 is                  -- ibus dev(rem): TM11
147
                                        -- fixed address: 172520
148
  port (
149
    CLK : in slbit;                     -- clock
150
    BRESET : in slbit;                  -- ibus reset
151 8 wfjm
    RB_LAM : out slbit;                 -- remote attention
152 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
153
    IB_SRES : out ib_sres_type;         -- ibus response
154
    EI_REQ : out slbit;                 -- interrupt request
155
    EI_ACK : in slbit                   -- interrupt acknowledge
156
  );
157
end component;
158
 
159
component ibdr_dz11 is                  -- ibus dev(rem): DZ11
160
  generic (
161
    IB_ADDR : slv16 := conv_std_logic_vector(8#160100#,16));
162
  port (
163
    CLK : in slbit;                     -- clock
164
    RESET : in slbit;                   -- system reset
165
    BRESET : in slbit;                  -- ibus reset
166 8 wfjm
    RB_LAM : out slbit;                 -- remote attention
167 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
168
    IB_SRES : out ib_sres_type;         -- ibus response
169
    EI_REQ_RX : out slbit;              -- interrupt request, receiver
170
    EI_REQ_TX : out slbit;              -- interrupt request, transmitter
171
    EI_ACK_RX : in slbit;               -- interrupt acknowledge, receiver
172
    EI_ACK_TX : in slbit                -- interrupt acknowledge, transmitter
173
  );
174
end component;
175
 
176
component ibdr_dl11 is                  -- ibus dev(rem): DL11-A/B
177
  generic (
178
    IB_ADDR : slv16 := conv_std_logic_vector(8#177560#,16));
179
  port (
180
    CLK : in slbit;                     -- clock
181
    CE_USEC : in slbit;                 -- usec pulse
182
    RESET : in slbit;                   -- system reset
183
    BRESET : in slbit;                  -- ibus reset
184 8 wfjm
    RB_LAM : out slbit;                 -- remote attention
185 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
186
    IB_SRES : out ib_sres_type;         -- ibus response
187
    EI_REQ_RX : out slbit;              -- interrupt request, receiver
188
    EI_REQ_TX : out slbit;              -- interrupt request, transmitter
189
    EI_ACK_RX : in slbit;               -- interrupt acknowledge, receiver
190
    EI_ACK_TX : in slbit                -- interrupt acknowledge, transmitter
191
  );
192
end component;
193
 
194
component ibdr_pc11 is                  -- ibus dev(rem): PC11
195
                                        -- fixed address: 177550
196
  port (
197
    CLK : in slbit;                     -- clock
198
    RESET : in slbit;                   -- system reset
199
    BRESET : in slbit;                  -- ibus reset
200 8 wfjm
    RB_LAM : out slbit;                 -- remote attention
201 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
202
    IB_SRES : out ib_sres_type;         -- ibus response
203
    EI_REQ_PTR : out slbit;             -- interrupt request, reader
204
    EI_REQ_PTP : out slbit;             -- interrupt request, punch
205
    EI_ACK_PTR : in slbit;              -- interrupt acknowledge, reader
206
    EI_ACK_PTP : in slbit               -- interrupt acknowledge, punch
207
  );
208
end component;
209
 
210
component ibdr_lp11 is                  -- ibus dev(rem): LP11
211
                                        -- fixed address: 177514
212
  port (
213
    CLK : in slbit;                     -- clock
214
    RESET : in slbit;                   -- system reset
215
    BRESET : in slbit;                  -- ibus reset
216 8 wfjm
    RB_LAM : out slbit;                 -- remote attention
217 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
218
    IB_SRES : out ib_sres_type;         -- ibus response
219
    EI_REQ : out slbit;                 -- interrupt request
220
    EI_ACK : in slbit                   -- interrupt acknowledge
221
  );
222
end component;
223
 
224
component ibdr_sdreg is                 -- ibus dev(rem): Switch/Display regs
225
                                        -- fixed address: 177570
226
  port (
227
    CLK : in slbit;                     -- clock
228
    RESET : in slbit;                   -- reset
229
    IB_MREQ : in ib_mreq_type;          -- ibus request
230
    IB_SRES : out ib_sres_type;         -- ibus response
231
    DISPREG : out slv16                 -- display register
232
  );
233
end component;
234
 
235
component ibdr_minisys is               -- ibus(rem) minimal sys:SDR+KW+DL+RK
236
  port (
237
    CLK : in slbit;                     -- clock
238
    CE_USEC : in slbit;                 -- usec pulse
239
    CE_MSEC : in slbit;                 -- msec pulse
240
    RESET : in slbit;                   -- reset
241
    BRESET : in slbit;                  -- ibus reset
242 8 wfjm
    RB_LAM : out slv16_1;               -- remote attention vector
243 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
244
    IB_SRES : out ib_sres_type;         -- ibus response
245
    EI_ACKM : in slbit;                 -- interrupt acknowledge (from master)
246
    EI_PRI : out slv3;                  -- interrupt priority (to cpu)
247
    EI_VECT : out slv9_2;               -- interrupt vector   (to cpu)
248
    DISPREG : out slv16                 -- display register
249
  );
250
end component;
251
 
252
component ibdr_maxisys is               -- ibus(rem) full system
253
  port (
254
    CLK : in slbit;                     -- clock
255
    CE_USEC : in slbit;                 -- usec pulse
256
    CE_MSEC : in slbit;                 -- msec pulse
257
    RESET : in slbit;                   -- reset
258
    BRESET : in slbit;                  -- ibus reset
259 8 wfjm
    RB_LAM : out slv16_1;               -- remote attention vector
260 2 wfjm
    IB_MREQ : in ib_mreq_type;          -- ibus request
261
    IB_SRES : out ib_sres_type;         -- ibus response
262
    EI_ACKM : in slbit;                 -- interrupt acknowledge (from master)
263
    EI_PRI : out slv3;                  -- interrupt priority (to cpu)
264
    EI_VECT : out slv9_2;               -- interrupt vector   (to cpu)
265
    DISPREG : out slv16                 -- display register
266
  );
267
end component;
268
 
269
end package ibdlib;

powered by: WebSVN 2.1.0

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