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

Subversion Repositories csa

[/] [csa/] [trunk/] [rtl/] [stream_byte.v] - Blame information for rev 44

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 40 simon111
`include "../bench/timescale.v"
2 20 simon111
 
3
 
4
// this module do a stream_byte opertion
5
 
6
 
7
module stream_byte(init,sb,
8
                                Ai,Bi,Di,Ei,Fi,Xi,Yi,Zi,pi,qi,ri,
9
                                Ao,Bo,Do,Eo,Fo,Xo,Yo,Zo,po,qo,ro,
10
                                op
11
                  );
12
input            init;
13
input [7     :0] sb;
14
 
15
input [10*4-1:0] Ai;
16
input [10*4-1:0] Bi;
17
input [3     :0] Di;
18
input [3     :0] Ei;
19
input [3     :0] Fi;
20
input [3     :0] Xi;
21
input [3     :0] Yi;
22
input [3     :0] Zi;
23
input            pi;
24
input            qi;
25
input            ri;
26
 
27
output [10*4-1:0] Ao;
28
output [10*4-1:0] Bo;
29
output [3     :0] Do;
30
output [3     :0] Eo;
31
output [3     :0] Fo;
32
output [3     :0] Xo;
33
output [3     :0] Yo;
34
output [3     :0] Zo;
35
output            po;
36
output            qo;
37
output            ro;
38
 
39
output[7     :0]  op;
40
 
41
// intermedate result;
42
wire [10*4-1:0] A1;
43
wire [10*4-1:0] B1;
44
wire [3     :0] D1;
45
wire [3     :0] E1;
46
wire [3     :0] F1;
47
wire [3     :0] X1;
48
wire [3     :0] Y1;
49
wire [3     :0] Z1;
50
wire            p1;
51
wire            q1;
52 44 simon111
wire            r1;
53 20 simon111
 
54
wire [10*4-1:0] A2;
55
wire [10*4-1:0] B2;
56
wire [3     :0] D2;
57
wire [3     :0] E2;
58
wire [3     :0] F2;
59
wire [3     :0] X2;
60
wire [3     :0] Y2;
61
wire [3     :0] Z2;
62
wire            p2;
63
wire            q2;
64 44 simon111
wire            r2;
65 20 simon111
 
66
wire [10*4-1:0] A3;
67
wire [10*4-1:0] B3;
68
wire [3     :0] D3;
69
wire [3     :0] E3;
70
wire [3     :0] F3;
71
wire [3     :0] X3;
72
wire [3     :0] Y3;
73
wire [3     :0] Z3;
74
wire            p3;
75
wire            q3;
76 44 simon111
wire            r3;
77
 
78 20 simon111
wire [7     :0] _op;
79
 
80
wire [3     :0] in1;
81
wire [3     :0] in2;
82
 
83
assign in1 = sb[7:4];
84
assign in2 = sb[3:0];
85
 
86 44 simon111
stream_iteration  stream_iteration1 (
87 20 simon111
                         .init(init)
88
                        ,.in1 (in2)
89
                        ,.in2 (in1)
90
                        ,.Ai  (Ai)
91
                        ,.Bi  (Bi)
92
                        ,.Di  (Di)
93
                        ,.Ei  (Ei)
94
                        ,.Fi  (Fi)
95
                        ,.Xi  (Xi)
96
                        ,.Yi  (Yi)
97
                        ,.Zi  (Zi)
98
                        ,.pi  (pi)
99
                        ,.qi  (qi)
100
                        ,.ri  (ri)
101
                        ,.Ao  (A1)
102
                        ,.Bo  (B1)
103
                        ,.Do  (D1)
104
                        ,.Eo  (E1)
105
                        ,.Fo  (F1)
106
                        ,.Xo  (X1)
107
                        ,.Yo  (Y1)
108
                        ,.Zo  (Z1)
109
                        ,.po  (p1)
110
                        ,.qo  (q1)
111
                        ,.ro  (r1)
112
                        ,.op  (_op[7:6])
113
                        );
114
 
115 44 simon111
stream_iteration  stream_iteration2 (
116 20 simon111
                         .init(init)
117
                        ,.in1 (in1)
118
                        ,.in2 (in2)
119
                        ,.Ai  (A1)
120
                        ,.Bi  (B1)
121
                        ,.Di  (D1)
122
                        ,.Ei  (E1)
123
                        ,.Fi  (F1)
124
                        ,.Xi  (X1)
125
                        ,.Yi  (Y1)
126
                        ,.Zi  (Z1)
127
                        ,.pi  (p1)
128
                        ,.qi  (q1)
129
                        ,.ri  (r1)
130
                        ,.Ao  (A2)
131
                        ,.Bo  (B2)
132
                        ,.Do  (D2)
133
                        ,.Eo  (E2)
134
                        ,.Fo  (F2)
135
                        ,.Xo  (X2)
136
                        ,.Yo  (Y2)
137
                        ,.Zo  (Z2)
138
                        ,.po  (p2)
139
                        ,.qo  (q2)
140
                        ,.ro  (r2)
141
                        ,.op  (_op[5:4])
142
                        );
143
 
144 44 simon111
stream_iteration  stream_iteration3 (
145 20 simon111
                         .init(init)
146
                        ,.in1 (in2)
147
                        ,.in2 (in1)
148
                        ,.Ai  (A2)
149
                        ,.Bi  (B2)
150
                        ,.Di  (D2)
151
                        ,.Ei  (E2)
152
                        ,.Fi  (F2)
153
                        ,.Xi  (X2)
154
                        ,.Yi  (Y2)
155
                        ,.Zi  (Z2)
156
                        ,.pi  (p2)
157
                        ,.qi  (q2)
158
                        ,.ri  (r2)
159
                        ,.Ao  (A3)
160
                        ,.Bo  (B3)
161
                        ,.Do  (D3)
162
                        ,.Eo  (E3)
163
                        ,.Fo  (F3)
164
                        ,.Xo  (X3)
165
                        ,.Yo  (Y3)
166
                        ,.Zo  (Z3)
167
                        ,.po  (p3)
168
                        ,.qo  (q3)
169
                        ,.ro  (r3)
170
                        ,.op  (_op[3:2])
171
                        );
172
 
173 44 simon111
stream_iteration  stream_iteration4 (
174 20 simon111
                         .init(init)
175
                        ,.in1 (in1)
176
                        ,.in2 (in2)
177
                        ,.Ai  (A3)
178
                        ,.Bi  (B3)
179
                        ,.Di  (D3)
180
                        ,.Ei  (E3)
181
                        ,.Fi  (F3)
182
                        ,.Xi  (X3)
183
                        ,.Yi  (Y3)
184
                        ,.Zi  (Z3)
185
                        ,.pi  (p3)
186
                        ,.qi  (q3)
187
                        ,.ri  (r3)
188
                        ,.Ao  (Ao)
189
                        ,.Bo  (Bo)
190
                        ,.Do  (Do)
191
                        ,.Eo  (Eo)
192
                        ,.Fo  (Fo)
193
                        ,.Xo  (Xo)
194
                        ,.Yo  (Yo)
195
                        ,.Zo  (Zo)
196
                        ,.po  (po)
197
                        ,.qo  (qo)
198
                        ,.ro  (ro)
199
                        ,.op  (_op[1:0])
200
                        );
201
 
202
assign op=(init)?sb:_op;
203
endmodule

powered by: WebSVN 2.1.0

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