File: mips_ctl_nt.vst

package info (click to toggle)
alliance 5.0-20120515-6
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 70,324 kB
  • ctags: 39,977
  • sloc: ansic: 350,299; vhdl: 34,227; yacc: 27,122; sh: 12,416; cpp: 9,478; makefile: 7,057; lex: 3,684
file content (230 lines) | stat: -rw-r--r-- 8,823 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
-- VHDL structural description generated from `mips_ctl`
--		date : Fri Oct 31 12:01:00 1997


-- Entity Declaration

ENTITY mips_ctl IS
  PORT (
  ck : in BIT;	-- ck
  frz : in BIT;	-- frz
  reset : in BIT;	-- reset
  scin : in BIT;	-- scin
  scout : out BIT;	-- scout
  test : in BIT;	-- test
  berr : in BIT;	-- berr
  w : out BIT_VECTOR (0 TO 1);	-- w
  int : in BIT_VECTOR (5 DOWNTO 0);	-- int
  rw_ctl : out BIT_VECTOR (15 DOWNTO 0);	-- rw_ctl
  frz_ctl : out BIT_VECTOR (15 DOWNTO 0);	-- frz_ctl
  wenable : out BIT_VECTOR (6 DOWNTO 0);	-- wenable
  rf_aw : out BIT_VECTOR (4 DOWNTO 0);	-- rf_aw
  rf_ar : out BIT_VECTOR (4 DOWNTO 0);	-- rf_ar
  ctlopx : out BIT_VECTOR (8 DOWNTO 0);	-- ctlopx
  ctlopy : out BIT_VECTOR (6 DOWNTO 0);	-- ctlopy
  ctlalu : out BIT_VECTOR (5 DOWNTO 0);	-- ctlalu
  ctlrw : out BIT_VECTOR (4 DOWNTO 1);	-- ctlrw
  ctladr : out BIT;	-- ctladr
  crsrout : out BIT_VECTOR (15 DOWNTO 0);	-- crsrout
  alu_31_n : in BIT;	-- alu_31_n
  alu_1_n : in BIT;	-- alu_1_n
  alu_0_n : in BIT;	-- alu_0_n
  adr_1_n : in BIT;	-- adr_1_n
  adr_0_n : in BIT;	-- adr_0_n
  crsrin : in BIT_VECTOR (15 DOWNTO 0);	-- crsrin
  opx_sign : in BIT;	-- opx_sign
  opy_sign : in BIT;	-- opy_sign
  codop : in BIT_VECTOR (18 DOWNTO 0);	-- codop
  rs : in BIT_VECTOR (4 DOWNTO 0);	-- rs
  rd : in BIT_VECTOR (4 DOWNTO 0);	-- rd
  rdrt : in BIT_VECTOR (4 DOWNTO 0);	-- rdrt
  alu_test_n : out BIT;	-- alu_test_n
  alu_c31_n : in BIT;	-- alu_c31_n
  alu_c30_n : in BIT;	-- alu_c30_n
  alu_nul : in BIT;	-- alu_nul
  alu_sign : in BIT;	-- alu_sign
  rw : out BIT;	-- rw
  vdd : in BIT;	-- vdd
  vss : in BIT	-- vss
  );
END mips_ctl;

-- Architecture Declaration

ARCHITECTURE structural_view OF mips_ctl IS
  COMPONENT mips_seqo
    port (
    ck : in BIT;	-- ck
    frz : in BIT;	-- frz
    rqs : in BIT;	-- rqs
    reset : in BIT;	-- reset
    resnul : in BIT;	-- resnul
    alu_sign : in BIT;	-- alu_sign
    ir_opcod : in BIT_VECTOR(18 DOWNTO 0);	-- ir_opcod
    vdd : in BIT;	-- vdd
    vss : in BIT;	-- vss
    scin : in BIT;	-- scin
    test : in BIT;	-- test
    itrqs : in BIT;	-- itrqs
    adrs : in BIT_VECTOR(1 DOWNTO 0);	-- adrs
    exrqs : in BIT;	-- exrqs
    ctlopx : out BIT_VECTOR(8 DOWNTO 0);	-- ctlopx
    ctlopy : out BIT_VECTOR(6 DOWNTO 0);	-- ctlopy
    ctlalu : out BIT_VECTOR(5 DOWNTO 0);	-- ctlalu
    wenable : out BIT_VECTOR(10 DOWNTO 0);	-- wenable
    ctlrw : out BIT_VECTOR(4 DOWNTO 0);	-- ctlrw
    ctladr : out BIT;	-- ctladr
    excp : out BIT_VECTOR(6 DOWNTO 0);	-- excp
    scout : out BIT	-- scout
    );
  END COMPONENT;

  COMPONENT mips_sts
    port (
    ck : in BIT;	-- ck
    reset : in BIT;	-- reset
    frz : in BIT;	-- frz
    test : in BIT;	-- test
    opx_sign : in BIT;	-- opx_sign
    opy_sign : in BIT;	-- opy_sign
    alu_sign : in BIT;	-- alu_sign
    alu_nul : in BIT;	-- alu_nul
    alu_c31 : in BIT;	-- alu_c31
    alu_c30 : in BIT;	-- alu_c30
    ctlalu : in BIT_VECTOR(5 DOWNTO 0);	-- ctlalu
    rs : in BIT_VECTOR(4 DOWNTO 0);	-- rs
    rd : in BIT_VECTOR(4 DOWNTO 0);	-- rd
    rdrt : in BIT_VECTOR(4 DOWNTO 0);	-- rdrt
    mxrs_rdrt : in BIT;	-- mxrs_rdrt
    wenable_in : in BIT_VECTOR(10 DOWNTO 0);	-- wenable_in
    ctlrw_in : in BIT_VECTOR(4 DOWNTO 0);	-- ctlrw_in
    ctlrw_out : inout BIT_VECTOR(4 DOWNTO 1);	-- ctlrw_out
    adr0 : in BIT;	-- adr0
    adr1 : in BIT;	-- adr1
    adr31 : in BIT;	-- adr31
    intrqs : in BIT_VECTOR(5 DOWNTO 0);	-- intrqs
    intrqs_seq : out BIT;	-- intrqs_seq
    berr_s : in BIT;	-- berr_s
    scin : in BIT;	-- scin
    alu_test : out BIT;	-- alu_test
    redpnt : out BIT_VECTOR(4 DOWNTO 0);	-- redpnt
    wrtpnt : out BIT_VECTOR(4 DOWNTO 0);	-- wrtpnt
    wenable_out : out BIT_VECTOR(6 DOWNTO 0);	-- wenable_out
    crsr_dpt : in BIT_VECTOR(15 DOWNTO 0);	-- crsr_dpt
    crsr_out : out BIT_VECTOR(15 DOWNTO 0);	-- crsr_out
    crsr_mx : in BIT;	-- crsr_mx
    excp : in BIT_VECTOR(6 DOWNTO 0);	-- excp
    rqs : out BIT;	-- rqs
    exq : out BIT;	-- exq
    rw : out BIT;	-- rw
    rw_ctl : out BIT_VECTOR(15 DOWNTO 0);	-- rw_ctl
    frz_ctl : out BIT_VECTOR(15 DOWNTO 0);	-- frz_ctl
    w : out BIT_VECTOR(1 DOWNTO 0);	-- w
    scout : out BIT;	-- scout
    vdd : in BIT;	-- vdd
    vss : in BIT	-- vss
    );
  END COMPONENT;

  SIGNAL ctlrw_int_0 : BIT;	-- ctlrw_int 0
  SIGNAL ctlrw_int_1 : BIT;	-- ctlrw_int 1
  SIGNAL ctlrw_int_2 : BIT;	-- ctlrw_int 2
  SIGNAL ctlrw_int_3 : BIT;	-- ctlrw_int 3
  SIGNAL ctlrw_int_4 : BIT;	-- ctlrw_int 4
  SIGNAL excp_0 : BIT;	-- excp 0
  SIGNAL excp_1 : BIT;	-- excp 1
  SIGNAL excp_2 : BIT;	-- excp 2
  SIGNAL excp_3 : BIT;	-- excp 3
  SIGNAL excp_4 : BIT;	-- excp 4
  SIGNAL excp_5 : BIT;	-- excp 5
  SIGNAL excp_6 : BIT;	-- excp 6
  SIGNAL exq : BIT;	-- exq
  SIGNAL intrqs : BIT;	-- intrqs
  SIGNAL rqs : BIT;	-- rqs
  SIGNAL scan : BIT;	-- scan
  SIGNAL wenable_int_0 : BIT;	-- wenable_int 0
  SIGNAL wenable_int_1 : BIT;	-- wenable_int 1
  SIGNAL wenable_int_2 : BIT;	-- wenable_int 2
  SIGNAL wenable_int_3 : BIT;	-- wenable_int 3
  SIGNAL wenable_int_4 : BIT;	-- wenable_int 4
  SIGNAL wenable_int_5 : BIT;	-- wenable_int 5
  SIGNAL wenable_int_6 : BIT;	-- wenable_int 6
  SIGNAL wenable_int_7 : BIT;	-- wenable_int 7
  SIGNAL wenable_int_8 : BIT;	-- wenable_int 8
  SIGNAL wenable_int_9 : BIT;	-- wenable_int 9
  SIGNAL wenable_int_10 : BIT;	-- wenable_int 10

BEGIN

  seq : mips_seqo
    PORT MAP (
    scout => scan,
    excp => excp_6& excp_5& excp_4& excp_3& excp_2& excp_1& excp_0,
    ctladr => ctladr,
    ctlrw => ctlrw_int_4& ctlrw_int_3& ctlrw_int_2& ctlrw_int_1& ctlrw_int_0,
    wenable => wenable_int_10& wenable_int_9& wenable_int_8& wenable_int_7& wenable_int_6& wenable_int_5& wenable_int_4& wenable_int_3& wenable_int_2& wenable_int_1& wenable_int_0,
    ctlalu => ctlalu(5)& ctlalu(4)& ctlalu(3)& ctlalu(2)& ctlalu(1)& ctlalu(0),
    ctlopy => ctlopy(6)& ctlopy(5)& ctlopy(4)& ctlopy(3)& ctlopy(2)& ctlopy(1)& ctlopy(0),
    ctlopx => ctlopx(8)& ctlopx(7)& ctlopx(6)& ctlopx(5)& ctlopx(4)& ctlopx(3)& ctlopx(2)& ctlopx(1)& ctlopx(0),
    exrqs => exq,
    adrs => adr_1_n& adr_0_n,
    itrqs => intrqs,
    test => test,
    scin => scin,
    vss => vss,
    vdd => vdd,
    ir_opcod => codop(18)& codop(17)& codop(16)& codop(15)& codop(14)& codop(13)& codop(12)& codop(11)& codop(10)& codop(9)& codop(8)& codop(7)& codop(6)& codop(5)& codop(4)& codop(3)& codop(2)& codop(1)& codop(0),
    alu_sign => alu_sign,
    resnul => alu_nul,
    reset => reset,
    rqs => rqs,
    frz => frz,
    ck => ck);


  sts : mips_sts
    PORT MAP (
    vss => vss,
    vdd => vdd,
    scout => scout,
    w => w(1)& w(0),
    frz_ctl => frz_ctl(15)& frz_ctl(14)& frz_ctl(13)& frz_ctl(12)& frz_ctl(11)& frz_ctl(10)& frz_ctl(9)& frz_ctl(8)& frz_ctl(7)& frz_ctl(6)& frz_ctl(5)& frz_ctl(4)& frz_ctl(3)& frz_ctl(2)& frz_ctl(1)& frz_ctl(0),
    rw_ctl => rw_ctl(15)& rw_ctl(14)& rw_ctl(13)& rw_ctl(12)& rw_ctl(11)& rw_ctl(10)& rw_ctl(9)& rw_ctl(8)& rw_ctl(7)& rw_ctl(6)& rw_ctl(5)& rw_ctl(4)& rw_ctl(3)& rw_ctl(2)& rw_ctl(1)& rw_ctl(0),
    rw => rw,
    reset => reset,
    exq => exq,
    rqs => rqs,
    excp => excp_6& excp_5& excp_4& excp_3& excp_2& excp_1& excp_0,
    crsr_mx => ctlopx(0),
    crsr_out => crsrout(15)& crsrout(14)& crsrout(13)& crsrout(12)& crsrout(11)& crsrout(10)& crsrout(9)& crsrout(8)& crsrout(7)& crsrout(6)& crsrout(5)& crsrout(4)& crsrout(3)& crsrout(2)& crsrout(1)& crsrout(0),
    crsr_dpt => crsrin(15)& crsrin(14)& crsrin(13)& crsrin(12)& crsrin(11)& crsrin(10)& crsrin(9)& crsrin(8)& crsrin(7)& crsrin(6)& crsrin(5)& crsrin(4)& crsrin(3)& crsrin(2)& crsrin(1)& crsrin(0),
    wenable_out => wenable(6)& wenable(5)& wenable(4)& wenable(3)& wenable(2)& wenable(1)& wenable(0),
    wrtpnt => rf_aw(4)& rf_aw(3)& rf_aw(2)& rf_aw(1)& rf_aw(0),
    redpnt => rf_ar(4)& rf_ar(3)& rf_ar(2)& rf_ar(1)& rf_ar(0),
    alu_test => alu_test_n,
    scin => scan,
    berr_s => berr,
    intrqs_seq => intrqs,
    intrqs => int(5)& int(4)& int(3)& int(2)& int(1)& int(0),
    adr31 => alu_31_n,
    adr1 => alu_1_n,
    adr0 => alu_0_n,
    ctlrw_out => ctlrw(4)& ctlrw(3)& ctlrw(2)& ctlrw(1),
    ctlrw_in => ctlrw_int_4& ctlrw_int_3& ctlrw_int_2& ctlrw_int_1& ctlrw_int_0,
    wenable_in => wenable_int_10& wenable_int_9& wenable_int_8& wenable_int_7& wenable_int_6& wenable_int_5& wenable_int_4& wenable_int_3& wenable_int_2& wenable_int_1& wenable_int_0,
    mxrs_rdrt => ctlopx(0),
    rdrt => rdrt(4)& rdrt(3)& rdrt(2)& rdrt(1)& rdrt(0),
    rd => rd(4)& rd(3)& rd(2)& rd(1)& rd(0),
    rs => rs(4)& rs(3)& rs(2)& rs(1)& rs(0),
    ctlalu => ctlalu(5)& ctlalu(4)& ctlalu(3)& ctlalu(2)& ctlalu(1)& ctlalu(0),
    alu_c30 => alu_c30_n,
    alu_c31 => alu_c31_n,
    alu_nul => alu_nul,
    alu_sign => alu_sign,
    opy_sign => opy_sign,
    opx_sign => opx_sign,
    test => test,
    frz => frz,
    ck => ck);

end structural_view;