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

Subversion Repositories m32632

[/] [m32632/] [trunk/] [rtl/] [STEUERUNG.v] - Blame information for rev 23

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

Line No. Rev Author Line
1 9 ns32kum
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2
//
3
// This file is part of the M32632 project
4
// http://opencores.org/project,m32632
5
//
6 23 ns32kum
//      Filename:       STEUERUNG.v
7
//      Version:        2.0
8
//      History:        1.0 first release of 30 Mai 2015
9
//      Date:           14 August 2016
10 9 ns32kum
//
11 23 ns32kum
// Copyright (C) 2016 Udo Moeller
12 9 ns32kum
// 
13
// This source file may be used and distributed without 
14
// restriction provided that this copyright statement is not 
15
// removed from the file and that any derivative work contains 
16
// the original copyright notice and the associated disclaimer.
17
// 
18
// This source file is free software; you can redistribute it 
19
// and/or modify it under the terms of the GNU Lesser General 
20
// Public License as published by the Free Software Foundation;
21
// either version 2.1 of the License, or (at your option) any 
22
// later version. 
23
// 
24
// This source is distributed in the hope that it will be 
25
// useful, but WITHOUT ANY WARRANTY; without even the implied 
26
// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
27
// PURPOSE. See the GNU Lesser General Public License for more 
28
// details. 
29
// 
30
// You should have received a copy of the GNU Lesser General 
31
// Public License along with this source; if not, download it 
32
// from http://www.opencores.org/lgpl.shtml 
33
// 
34
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35
//
36
//      Modules contained in this file:
37
//      STEUERUNG       The control logic of M32632
38
//
39 11 ns32kum
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
40 9 ns32kum
 
41 11 ns32kum
module STEUERUNG( BCLK, BRESET, DC_ACC_DONE, ACB_ZERO, DONE, INT_N, NMI_N, DC_ABORT, IC_INIT, DC_INIT, SAVE_PC, CFG,
42
                                  IACC_STAT, PROT_ERROR, IC_DIN, PC_NEW, PSR, STRING, TRAPS, IC_READ, DATA_HOLD, LD_DIN, LD_IMME,
43 9 ns32kum
                                  WREN, WR_REG, GENSTAT, ILO, COP_OP, IC_USER, ACC_FELD, DISP, IC_TEX, IMME_Q, INFO_AU, LD_OUT,
44 11 ns32kum
                                  DETOIP, MMU_UPDATE, OPER, PC_ARCHI, PC_ICACHE, RDAA, RDAB, START, WMASKE, WRADR, RWVAL, Y_INIT,
45 9 ns32kum
                                  ENA_HK, STOP_CINV );
46
 
47
input                   BCLK;
48
input                   BRESET;
49
input                   DC_ACC_DONE;
50
input                   ACB_ZERO;
51
input                   DONE;
52
input                   INT_N;
53
input                   NMI_N;
54
input                   DC_ABORT;
55
input                   IC_INIT;
56
input                   DC_INIT;
57
input                   SAVE_PC;
58
input                   Y_INIT;
59
input    [8:0]   CFG;
60
input    [3:0]   IACC_STAT;
61
input                   PROT_ERROR;
62
input   [31:0]   IC_DIN;
63
input   [31:0]   PC_NEW;
64
input   [11:0]   PSR;
65
input    [4:0]   STRING;
66
input    [5:0]   TRAPS;
67
input                   STOP_CINV;
68
 
69
output                  IC_READ;
70
output                  DATA_HOLD;
71
output                  LD_DIN;
72
output                  LD_IMME;
73
output                  WREN;
74
output                  WR_REG;
75
output   [2:0]   GENSTAT;
76
output                  IC_USER;
77
output  [14:0]   ACC_FELD;
78
output  [31:0]   DISP;
79
output   [2:0]   IC_TEX;
80
output  [31:0]   IMME_Q;
81
output   [6:0]   INFO_AU;
82
output   [1:0]   LD_OUT;
83
output  [12:0]   DETOIP;
84
output   [1:0]   MMU_UPDATE;
85
output  [10:0]   OPER;
86
output  [31:0]   PC_ARCHI;
87
output  [31:0]   PC_ICACHE;
88
output   [7:0]   RDAA;
89
output   [7:0]   RDAB;
90
output   [1:0]   START;
91
output   [1:0]   WMASKE;
92
output   [5:0]   WRADR;
93
output   [2:0]   RWVAL;
94
output                  ENA_HK;
95
output                  ILO;
96
output  [23:0]   COP_OP;
97
 
98
wire    [55:0]   OPREG;
99
wire                    IC_ABORT;
100
wire                    INIT_DONE;
101
wire                    UNDEF;
102
wire                    ILLEGAL;
103
wire     [2:0]   ANZ_VAL;
104
wire    [31:0]   PC_SAVE;
105
wire                    NEW;
106
wire                    RESTART;
107
wire                    STOP_IC;
108
wire     [1:0]   ALSB;
109
wire     [2:0]   USED;
110
wire                    NEXT_ADR;
111
wire                    NEW_PC;
112
wire                    NEXT_PCA;
113
wire                    LOAD_PC;
114
wire    [31:0]   DISP_BR;
115
 
116
DECODER BEFEHLS_DEC(
117
        .BCLK(BCLK),
118
        .BRESET(BRESET),
119
        .ACC_DONE(DC_ACC_DONE),
120
        .ACB_ZERO(ACB_ZERO),
121
        .DONE(DONE),
122
        .NMI_N(NMI_N),
123
        .INT_N(INT_N),
124
        .DC_ABORT(DC_ABORT),
125
        .IC_ABORT(IC_ABORT),
126
        .INIT_DONE(INIT_DONE),
127
        .UNDEF(UNDEF),
128
        .ILL(ILLEGAL),
129
        .IC_READ(IC_READ),
130
        .ANZ_VAL(ANZ_VAL),
131
        .CFG(CFG),
132
        .OPREG(OPREG),
133
        .PC_SAVE(PC_SAVE),
134
        .PSR(PSR),
135
        .STRING(STRING),
136
        .TRAPS(TRAPS),
137
        .NEW(NEW),
138
        .WREN(WREN),
139
        .LD_DIN(LD_DIN),
140
        .LD_IMME(LD_IMME),
141
        .NEXT_PCA(NEXT_PCA),
142
        .WR_REG(WR_REG),
143
        .LOAD_PC(LOAD_PC),
144
        .GENSTAT(GENSTAT),
145
        .RESTART(RESTART),
146
        .STOP_IC(STOP_IC),
147
        .ACC_FELD(ACC_FELD),
148
        .DISP(DISP),
149
        .DISP_BR(DISP_BR),
150
        .IMME_Q(IMME_Q),
151
        .INFO_AU(INFO_AU),
152
        .LD_OUT(LD_OUT),
153
        .DETOIP(DETOIP),
154
        .MMU_UPDATE(MMU_UPDATE),
155
        .OPER(OPER),
156
        .RDAA(RDAA),
157
        .RDAB(RDAB),
158
        .START(START),
159
        .USED(USED),
160
        .WMASKE(WMASKE),
161
        .WRADR(WRADR),
162
        .RWVAL(RWVAL),
163
        .ENA_HK(ENA_HK),
164
        .ILO(ILO),
165
        .COP_OP(COP_OP),
166 23 ns32kum
        .STOP_CINV(STOP_CINV),
167
        .PHOUT());
168 9 ns32kum
 
169
ILL_UNDEF       CHECKER(
170
        .USER(PSR[8]),
171
        .ANZ_VAL(ANZ_VAL),
172
        .CFG(CFG[3:1]),
173
        .OPREG(OPREG[23:0]),
174
        .ILL(ILLEGAL),
175
        .UNDEF(UNDEF));
176
 
177
OPDEC_REG       OPC_REG(
178
        .BCLK(BCLK),
179
        .BRESET(BRESET),
180
        .NEW(NEW),
181
        .DC_INIT(DC_INIT),
182
        .IC_INIT(IC_INIT),
183
        .Y_INIT(Y_INIT),
184
        .RESTART(RESTART),
185
        .STOP_IC(STOP_IC),
186
        .ACC_STAT(IACC_STAT),
187
        .PROT_ERROR(PROT_ERROR),
188
        .ALSB(ALSB),
189
        .IC_DIN(IC_DIN),
190
        .USED(USED),
191
        .IC_READ(IC_READ),
192
        .NEXT_ADR(NEXT_ADR),
193
        .DATA_HOLD(DATA_HOLD),
194
        .NEW_PC(NEW_PC),
195
        .ABORT(IC_ABORT),
196
        .INIT_DONE(INIT_DONE),
197
        .ANZ_VAL(ANZ_VAL),
198
        .IC_TEX(IC_TEX),
199
        .OPREG(OPREG));
200
 
201
PROG_COUNTER    PCS(
202
        .BCLK(BCLK),
203
        .BRESET(BRESET),
204
        .NEXT_ADR(NEXT_ADR),
205
        .NEW_PC(NEW_PC),
206
        .NEXT_PCA(NEXT_PCA),
207
        .NEW(NEW),
208
        .LOAD_PC(LOAD_PC),
209
        .USER(PSR[8]),
210
        .SAVE_PC(SAVE_PC),
211
        .FPU_TRAP(TRAPS[0]),
212
        .ADIVAR(INFO_AU[3]),
213
        .DISP(DISP_BR),
214
        .PC_NEW(PC_NEW),
215
        .USED(USED),
216
        .IC_USER(IC_USER),
217
        .ALSB(ALSB),
218
        .PC_ARCHI(PC_ARCHI),
219
        .PC_ICACHE(PC_ICACHE),
220
        .PC_SAVE(PC_SAVE));
221
 
222
endmodule

powered by: WebSVN 2.1.0

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