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

Subversion Repositories csa

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

Go to most recent revision | 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
 
53
wire [10*4-1:0] A2;
54
wire [10*4-1:0] B2;
55
wire [3     :0] D2;
56
wire [3     :0] E2;
57
wire [3     :0] F2;
58
wire [3     :0] X2;
59
wire [3     :0] Y2;
60
wire [3     :0] Z2;
61
wire            p2;
62
wire            q2;
63
 
64
wire [10*4-1:0] A3;
65
wire [10*4-1:0] B3;
66
wire [3     :0] D3;
67
wire [3     :0] E3;
68
wire [3     :0] F3;
69
wire [3     :0] X3;
70
wire [3     :0] Y3;
71
wire [3     :0] Z3;
72
wire            p3;
73
wire            q3;
74
wire [7     :0] _op;
75
 
76
wire [3     :0] in1;
77
wire [3     :0] in2;
78
 
79
assign in1 = sb[7:4];
80
assign in2 = sb[3:0];
81
 
82
stream_iteration  b1 (
83
                         .init(init)
84
                        ,.in1 (in2)
85
                        ,.in2 (in1)
86
                        ,.Ai  (Ai)
87
                        ,.Bi  (Bi)
88
                        ,.Di  (Di)
89
                        ,.Ei  (Ei)
90
                        ,.Fi  (Fi)
91
                        ,.Xi  (Xi)
92
                        ,.Yi  (Yi)
93
                        ,.Zi  (Zi)
94
                        ,.pi  (pi)
95
                        ,.qi  (qi)
96
                        ,.ri  (ri)
97
                        ,.Ao  (A1)
98
                        ,.Bo  (B1)
99
                        ,.Do  (D1)
100
                        ,.Eo  (E1)
101
                        ,.Fo  (F1)
102
                        ,.Xo  (X1)
103
                        ,.Yo  (Y1)
104
                        ,.Zo  (Z1)
105
                        ,.po  (p1)
106
                        ,.qo  (q1)
107
                        ,.ro  (r1)
108
                        ,.op  (_op[7:6])
109
                        );
110
 
111
stream_iteration  b2 (
112
                         .init(init)
113
                        ,.in1 (in1)
114
                        ,.in2 (in2)
115
                        ,.Ai  (A1)
116
                        ,.Bi  (B1)
117
                        ,.Di  (D1)
118
                        ,.Ei  (E1)
119
                        ,.Fi  (F1)
120
                        ,.Xi  (X1)
121
                        ,.Yi  (Y1)
122
                        ,.Zi  (Z1)
123
                        ,.pi  (p1)
124
                        ,.qi  (q1)
125
                        ,.ri  (r1)
126
                        ,.Ao  (A2)
127
                        ,.Bo  (B2)
128
                        ,.Do  (D2)
129
                        ,.Eo  (E2)
130
                        ,.Fo  (F2)
131
                        ,.Xo  (X2)
132
                        ,.Yo  (Y2)
133
                        ,.Zo  (Z2)
134
                        ,.po  (p2)
135
                        ,.qo  (q2)
136
                        ,.ro  (r2)
137
                        ,.op  (_op[5:4])
138
                        );
139
 
140
stream_iteration  b3 (
141
                         .init(init)
142
                        ,.in1 (in2)
143
                        ,.in2 (in1)
144
                        ,.Ai  (A2)
145
                        ,.Bi  (B2)
146
                        ,.Di  (D2)
147
                        ,.Ei  (E2)
148
                        ,.Fi  (F2)
149
                        ,.Xi  (X2)
150
                        ,.Yi  (Y2)
151
                        ,.Zi  (Z2)
152
                        ,.pi  (p2)
153
                        ,.qi  (q2)
154
                        ,.ri  (r2)
155
                        ,.Ao  (A3)
156
                        ,.Bo  (B3)
157
                        ,.Do  (D3)
158
                        ,.Eo  (E3)
159
                        ,.Fo  (F3)
160
                        ,.Xo  (X3)
161
                        ,.Yo  (Y3)
162
                        ,.Zo  (Z3)
163
                        ,.po  (p3)
164
                        ,.qo  (q3)
165
                        ,.ro  (r3)
166
                        ,.op  (_op[3:2])
167
                        );
168
 
169
stream_iteration  b4 (
170
                         .init(init)
171
                        ,.in1 (in1)
172
                        ,.in2 (in2)
173
                        ,.Ai  (A3)
174
                        ,.Bi  (B3)
175
                        ,.Di  (D3)
176
                        ,.Ei  (E3)
177
                        ,.Fi  (F3)
178
                        ,.Xi  (X3)
179
                        ,.Yi  (Y3)
180
                        ,.Zi  (Z3)
181
                        ,.pi  (p3)
182
                        ,.qi  (q3)
183
                        ,.ri  (r3)
184
                        ,.Ao  (Ao)
185
                        ,.Bo  (Bo)
186
                        ,.Do  (Do)
187
                        ,.Eo  (Eo)
188
                        ,.Fo  (Fo)
189
                        ,.Xo  (Xo)
190
                        ,.Yo  (Yo)
191
                        ,.Zo  (Zo)
192
                        ,.po  (po)
193
                        ,.qo  (qo)
194
                        ,.ro  (ro)
195
                        ,.op  (_op[1:0])
196
                        );
197
 
198
assign op=(init)?sb:_op;
199
endmodule

powered by: WebSVN 2.1.0

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