1 |
2 |
marta |
-- VHDL structural description generated from `invmuls`
|
2 |
|
|
-- date : Sat Sep 1 20:52:37 2001
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
-- Entity Declaration
|
6 |
|
|
|
7 |
|
|
ENTITY invmuls IS
|
8 |
|
|
PORT (
|
9 |
|
|
zi : in BIT_VECTOR (15 DOWNTO 0); -- zi
|
10 |
|
|
rst : in BIT; -- rst
|
11 |
|
|
en_pipe : in BIT; -- en_pipe
|
12 |
|
|
sel : in BIT; -- sel
|
13 |
|
|
cke : in BIT; -- cke
|
14 |
|
|
zo : out BIT_VECTOR (15 DOWNTO 0); -- zo
|
15 |
|
|
vdd : in BIT; -- vdd
|
16 |
|
|
vss : in BIT -- vss
|
17 |
|
|
);
|
18 |
|
|
END invmuls;
|
19 |
|
|
|
20 |
|
|
-- Architecture Declaration
|
21 |
|
|
|
22 |
|
|
ARCHITECTURE VST OF invmuls IS
|
23 |
|
|
COMPONENT mux16
|
24 |
|
|
port (
|
25 |
|
|
a : in BIT_VECTOR(15 DOWNTO 0); -- a
|
26 |
|
|
b : in BIT_VECTOR(15 DOWNTO 0); -- b
|
27 |
|
|
sel : in BIT; -- sel
|
28 |
|
|
c : out BIT_VECTOR(15 DOWNTO 0); -- c
|
29 |
|
|
vdd : in BIT; -- vdd
|
30 |
|
|
vss : in BIT -- vss
|
31 |
|
|
);
|
32 |
|
|
END COMPONENT;
|
33 |
|
|
|
34 |
|
|
COMPONENT mulmod
|
35 |
|
|
port (
|
36 |
|
|
in1 : in BIT_VECTOR(15 DOWNTO 0); -- in1
|
37 |
|
|
in2 : in BIT_VECTOR(15 DOWNTO 0); -- in2
|
38 |
|
|
en : in BIT; -- en
|
39 |
|
|
rst : in BIT; -- rst
|
40 |
|
|
cke : in BIT; -- cke
|
41 |
|
|
mulout : out BIT_VECTOR(15 DOWNTO 0); -- mulout
|
42 |
|
|
vdd : in BIT; -- vdd
|
43 |
|
|
vss : in BIT -- vss
|
44 |
|
|
);
|
45 |
|
|
END COMPONENT;
|
46 |
|
|
|
47 |
|
|
COMPONENT reg16_latch
|
48 |
|
|
port (
|
49 |
|
|
a : in BIT_VECTOR(15 DOWNTO 0); -- a
|
50 |
|
|
en : in BIT; -- en
|
51 |
|
|
clr : in BIT; -- clr
|
52 |
|
|
cke : in BIT; -- cke
|
53 |
|
|
b : inout BIT_VECTOR(15 DOWNTO 0); -- b
|
54 |
|
|
vdd : in BIT; -- vdd
|
55 |
|
|
vss : in BIT -- vss
|
56 |
|
|
);
|
57 |
|
|
END COMPONENT;
|
58 |
|
|
|
59 |
|
|
SIGNAL clr : BIT; -- clr
|
60 |
|
|
SIGNAL en : BIT; -- en
|
61 |
|
|
SIGNAL o_mux_l_0 : BIT; -- o_mux_l 0
|
62 |
|
|
SIGNAL o_mux_l_1 : BIT; -- o_mux_l 1
|
63 |
|
|
SIGNAL o_mux_l_2 : BIT; -- o_mux_l 2
|
64 |
|
|
SIGNAL o_mux_l_3 : BIT; -- o_mux_l 3
|
65 |
|
|
SIGNAL o_mux_l_4 : BIT; -- o_mux_l 4
|
66 |
|
|
SIGNAL o_mux_l_5 : BIT; -- o_mux_l 5
|
67 |
|
|
SIGNAL o_mux_l_6 : BIT; -- o_mux_l 6
|
68 |
|
|
SIGNAL o_mux_l_7 : BIT; -- o_mux_l 7
|
69 |
|
|
SIGNAL o_mux_l_8 : BIT; -- o_mux_l 8
|
70 |
|
|
SIGNAL o_mux_l_9 : BIT; -- o_mux_l 9
|
71 |
|
|
SIGNAL o_mux_l_10 : BIT; -- o_mux_l 10
|
72 |
|
|
SIGNAL o_mux_l_11 : BIT; -- o_mux_l 11
|
73 |
|
|
SIGNAL o_mux_l_12 : BIT; -- o_mux_l 12
|
74 |
|
|
SIGNAL o_mux_l_13 : BIT; -- o_mux_l 13
|
75 |
|
|
SIGNAL o_mux_l_14 : BIT; -- o_mux_l 14
|
76 |
|
|
SIGNAL o_mux_l_15 : BIT; -- o_mux_l 15
|
77 |
|
|
SIGNAL o_mux_r_0 : BIT; -- o_mux_r 0
|
78 |
|
|
SIGNAL o_mux_r_1 : BIT; -- o_mux_r 1
|
79 |
|
|
SIGNAL o_mux_r_2 : BIT; -- o_mux_r 2
|
80 |
|
|
SIGNAL o_mux_r_3 : BIT; -- o_mux_r 3
|
81 |
|
|
SIGNAL o_mux_r_4 : BIT; -- o_mux_r 4
|
82 |
|
|
SIGNAL o_mux_r_5 : BIT; -- o_mux_r 5
|
83 |
|
|
SIGNAL o_mux_r_6 : BIT; -- o_mux_r 6
|
84 |
|
|
SIGNAL o_mux_r_7 : BIT; -- o_mux_r 7
|
85 |
|
|
SIGNAL o_mux_r_8 : BIT; -- o_mux_r 8
|
86 |
|
|
SIGNAL o_mux_r_9 : BIT; -- o_mux_r 9
|
87 |
|
|
SIGNAL o_mux_r_10 : BIT; -- o_mux_r 10
|
88 |
|
|
SIGNAL o_mux_r_11 : BIT; -- o_mux_r 11
|
89 |
|
|
SIGNAL o_mux_r_12 : BIT; -- o_mux_r 12
|
90 |
|
|
SIGNAL o_mux_r_13 : BIT; -- o_mux_r 13
|
91 |
|
|
SIGNAL o_mux_r_14 : BIT; -- o_mux_r 14
|
92 |
|
|
SIGNAL o_mux_r_15 : BIT; -- o_mux_r 15
|
93 |
|
|
SIGNAL ost1_l_0 : BIT; -- ost1_l 0
|
94 |
|
|
SIGNAL ost1_l_1 : BIT; -- ost1_l 1
|
95 |
|
|
SIGNAL ost1_l_2 : BIT; -- ost1_l 2
|
96 |
|
|
SIGNAL ost1_l_3 : BIT; -- ost1_l 3
|
97 |
|
|
SIGNAL ost1_l_4 : BIT; -- ost1_l 4
|
98 |
|
|
SIGNAL ost1_l_5 : BIT; -- ost1_l 5
|
99 |
|
|
SIGNAL ost1_l_6 : BIT; -- ost1_l 6
|
100 |
|
|
SIGNAL ost1_l_7 : BIT; -- ost1_l 7
|
101 |
|
|
SIGNAL ost1_l_8 : BIT; -- ost1_l 8
|
102 |
|
|
SIGNAL ost1_l_9 : BIT; -- ost1_l 9
|
103 |
|
|
SIGNAL ost1_l_10 : BIT; -- ost1_l 10
|
104 |
|
|
SIGNAL ost1_l_11 : BIT; -- ost1_l 11
|
105 |
|
|
SIGNAL ost1_l_12 : BIT; -- ost1_l 12
|
106 |
|
|
SIGNAL ost1_l_13 : BIT; -- ost1_l 13
|
107 |
|
|
SIGNAL ost1_l_14 : BIT; -- ost1_l 14
|
108 |
|
|
SIGNAL ost1_l_15 : BIT; -- ost1_l 15
|
109 |
|
|
SIGNAL ost1_r_0 : BIT; -- ost1_r 0
|
110 |
|
|
SIGNAL ost1_r_1 : BIT; -- ost1_r 1
|
111 |
|
|
SIGNAL ost1_r_2 : BIT; -- ost1_r 2
|
112 |
|
|
SIGNAL ost1_r_3 : BIT; -- ost1_r 3
|
113 |
|
|
SIGNAL ost1_r_4 : BIT; -- ost1_r 4
|
114 |
|
|
SIGNAL ost1_r_5 : BIT; -- ost1_r 5
|
115 |
|
|
SIGNAL ost1_r_6 : BIT; -- ost1_r 6
|
116 |
|
|
SIGNAL ost1_r_7 : BIT; -- ost1_r 7
|
117 |
|
|
SIGNAL ost1_r_8 : BIT; -- ost1_r 8
|
118 |
|
|
SIGNAL ost1_r_9 : BIT; -- ost1_r 9
|
119 |
|
|
SIGNAL ost1_r_10 : BIT; -- ost1_r 10
|
120 |
|
|
SIGNAL ost1_r_11 : BIT; -- ost1_r 11
|
121 |
|
|
SIGNAL ost1_r_12 : BIT; -- ost1_r 12
|
122 |
|
|
SIGNAL ost1_r_13 : BIT; -- ost1_r 13
|
123 |
|
|
SIGNAL ost1_r_14 : BIT; -- ost1_r 14
|
124 |
|
|
SIGNAL ost1_r_15 : BIT; -- ost1_r 15
|
125 |
|
|
SIGNAL ost2_l_0 : BIT; -- ost2_l 0
|
126 |
|
|
SIGNAL ost2_l_1 : BIT; -- ost2_l 1
|
127 |
|
|
SIGNAL ost2_l_2 : BIT; -- ost2_l 2
|
128 |
|
|
SIGNAL ost2_l_3 : BIT; -- ost2_l 3
|
129 |
|
|
SIGNAL ost2_l_4 : BIT; -- ost2_l 4
|
130 |
|
|
SIGNAL ost2_l_5 : BIT; -- ost2_l 5
|
131 |
|
|
SIGNAL ost2_l_6 : BIT; -- ost2_l 6
|
132 |
|
|
SIGNAL ost2_l_7 : BIT; -- ost2_l 7
|
133 |
|
|
SIGNAL ost2_l_8 : BIT; -- ost2_l 8
|
134 |
|
|
SIGNAL ost2_l_9 : BIT; -- ost2_l 9
|
135 |
|
|
SIGNAL ost2_l_10 : BIT; -- ost2_l 10
|
136 |
|
|
SIGNAL ost2_l_11 : BIT; -- ost2_l 11
|
137 |
|
|
SIGNAL ost2_l_12 : BIT; -- ost2_l 12
|
138 |
|
|
SIGNAL ost2_l_13 : BIT; -- ost2_l 13
|
139 |
|
|
SIGNAL ost2_l_14 : BIT; -- ost2_l 14
|
140 |
|
|
SIGNAL ost2_l_15 : BIT; -- ost2_l 15
|
141 |
|
|
SIGNAL ost2_r_0 : BIT; -- ost2_r 0
|
142 |
|
|
SIGNAL ost2_r_1 : BIT; -- ost2_r 1
|
143 |
|
|
SIGNAL ost2_r_2 : BIT; -- ost2_r 2
|
144 |
|
|
SIGNAL ost2_r_3 : BIT; -- ost2_r 3
|
145 |
|
|
SIGNAL ost2_r_4 : BIT; -- ost2_r 4
|
146 |
|
|
SIGNAL ost2_r_5 : BIT; -- ost2_r 5
|
147 |
|
|
SIGNAL ost2_r_6 : BIT; -- ost2_r 6
|
148 |
|
|
SIGNAL ost2_r_7 : BIT; -- ost2_r 7
|
149 |
|
|
SIGNAL ost2_r_8 : BIT; -- ost2_r 8
|
150 |
|
|
SIGNAL ost2_r_9 : BIT; -- ost2_r 9
|
151 |
|
|
SIGNAL ost2_r_10 : BIT; -- ost2_r 10
|
152 |
|
|
SIGNAL ost2_r_11 : BIT; -- ost2_r 11
|
153 |
|
|
SIGNAL ost2_r_12 : BIT; -- ost2_r 12
|
154 |
|
|
SIGNAL ost2_r_13 : BIT; -- ost2_r 13
|
155 |
|
|
SIGNAL ost2_r_14 : BIT; -- ost2_r 14
|
156 |
|
|
SIGNAL ost2_r_15 : BIT; -- ost2_r 15
|
157 |
|
|
SIGNAL ost3_r_0 : BIT; -- ost3_r 0
|
158 |
|
|
SIGNAL ost3_r_1 : BIT; -- ost3_r 1
|
159 |
|
|
SIGNAL ost3_r_2 : BIT; -- ost3_r 2
|
160 |
|
|
SIGNAL ost3_r_3 : BIT; -- ost3_r 3
|
161 |
|
|
SIGNAL ost3_r_4 : BIT; -- ost3_r 4
|
162 |
|
|
SIGNAL ost3_r_5 : BIT; -- ost3_r 5
|
163 |
|
|
SIGNAL ost3_r_6 : BIT; -- ost3_r 6
|
164 |
|
|
SIGNAL ost3_r_7 : BIT; -- ost3_r 7
|
165 |
|
|
SIGNAL ost3_r_8 : BIT; -- ost3_r 8
|
166 |
|
|
SIGNAL ost3_r_9 : BIT; -- ost3_r 9
|
167 |
|
|
SIGNAL ost3_r_10 : BIT; -- ost3_r 10
|
168 |
|
|
SIGNAL ost3_r_11 : BIT; -- ost3_r 11
|
169 |
|
|
SIGNAL ost3_r_12 : BIT; -- ost3_r 12
|
170 |
|
|
SIGNAL ost3_r_13 : BIT; -- ost3_r 13
|
171 |
|
|
SIGNAL ost3_r_14 : BIT; -- ost3_r 14
|
172 |
|
|
SIGNAL ost3_r_15 : BIT; -- ost3_r 15
|
173 |
|
|
|
174 |
|
|
BEGIN
|
175 |
|
|
|
176 |
|
|
mux_l : mux16
|
177 |
|
|
PORT MAP (
|
178 |
|
|
vss => vss,
|
179 |
|
|
vdd => vdd,
|
180 |
|
|
c => o_mux_l_15& o_mux_l_14& o_mux_l_13& o_mux_l_12& o_mux_l_11& o_mux_l_10& o_mux_l_9& o_mux_l_8& o_mux_l_7& o_mux_l_6& o_mux_l_5& o_mux_l_4& o_mux_l_3& o_mux_l_2& o_mux_l_1& o_mux_l_0,
|
181 |
|
|
sel => sel,
|
182 |
|
|
b => zi(15)& zi(14)& zi(13)& zi(12)& zi(11)& zi(10)& zi(9)& zi(8)& zi(7)& zi(6)& zi(5)& zi(4)& zi(3)& zi(2)& zi(1)& zi(0),
|
183 |
|
|
a => zo(15)& zo(14)& zo(13)& zo(12)& zo(11)& zo(10)& zo(9)& zo(8)& zo(7)& zo(6)& zo(5)& zo(4)& zo(3)& zo(2)& zo(1)& zo(0));
|
184 |
|
|
mux_r : mux16
|
185 |
|
|
PORT MAP (
|
186 |
|
|
vss => vss,
|
187 |
|
|
vdd => vdd,
|
188 |
|
|
c => o_mux_r_15& o_mux_r_14& o_mux_r_13& o_mux_r_12& o_mux_r_11& o_mux_r_10& o_mux_r_9& o_mux_r_8& o_mux_r_7& o_mux_r_6& o_mux_r_5& o_mux_r_4& o_mux_r_3& o_mux_r_2& o_mux_r_1& o_mux_r_0,
|
189 |
|
|
sel => sel,
|
190 |
|
|
b => zi(15)& zi(14)& zi(13)& zi(12)& zi(11)& zi(10)& zi(9)& zi(8)& zi(7)& zi(6)& zi(5)& zi(4)& zi(3)& zi(2)& zi(1)& zi(0),
|
191 |
|
|
a => ost3_r_15& ost3_r_14& ost3_r_13& ost3_r_12& ost3_r_11& ost3_r_10& ost3_r_9& ost3_r_8& ost3_r_7& ost3_r_6& ost3_r_5& ost3_r_4& ost3_r_3& ost3_r_2& ost3_r_1& ost3_r_0);
|
192 |
|
|
reg1_l : reg16_latch
|
193 |
|
|
PORT MAP (
|
194 |
|
|
vss => vss,
|
195 |
|
|
vdd => vdd,
|
196 |
|
|
b => ost1_l_15& ost1_l_14& ost1_l_13& ost1_l_12& ost1_l_11& ost1_l_10& ost1_l_9& ost1_l_8& ost1_l_7& ost1_l_6& ost1_l_5& ost1_l_4& ost1_l_3& ost1_l_2& ost1_l_1& ost1_l_0,
|
197 |
|
|
cke => cke,
|
198 |
|
|
clr => clr,
|
199 |
|
|
en => en,
|
200 |
|
|
a => o_mux_l_15& o_mux_l_14& o_mux_l_13& o_mux_l_12& o_mux_l_11& o_mux_l_10& o_mux_l_9& o_mux_l_8& o_mux_l_7& o_mux_l_6& o_mux_l_5& o_mux_l_4& o_mux_l_3& o_mux_l_2& o_mux_l_1& o_mux_l_0);
|
201 |
|
|
reg1_r : reg16_latch
|
202 |
|
|
PORT MAP (
|
203 |
|
|
vss => vss,
|
204 |
|
|
vdd => vdd,
|
205 |
|
|
b => ost1_r_15& ost1_r_14& ost1_r_13& ost1_r_12& ost1_r_11& ost1_r_10& ost1_r_9& ost1_r_8& ost1_r_7& ost1_r_6& ost1_r_5& ost1_r_4& ost1_r_3& ost1_r_2& ost1_r_1& ost1_r_0,
|
206 |
|
|
cke => cke,
|
207 |
|
|
clr => clr,
|
208 |
|
|
en => en,
|
209 |
|
|
a => o_mux_r_15& o_mux_r_14& o_mux_r_13& o_mux_r_12& o_mux_r_11& o_mux_r_10& o_mux_r_9& o_mux_r_8& o_mux_r_7& o_mux_r_6& o_mux_r_5& o_mux_r_4& o_mux_r_3& o_mux_r_2& o_mux_r_1& o_mux_r_0);
|
210 |
|
|
reg2_l : reg16_latch
|
211 |
|
|
PORT MAP (
|
212 |
|
|
vss => vss,
|
213 |
|
|
vdd => vdd,
|
214 |
|
|
b => ost2_l_15& ost2_l_14& ost2_l_13& ost2_l_12& ost2_l_11& ost2_l_10& ost2_l_9& ost2_l_8& ost2_l_7& ost2_l_6& ost2_l_5& ost2_l_4& ost2_l_3& ost2_l_2& ost2_l_1& ost2_l_0,
|
215 |
|
|
cke => cke,
|
216 |
|
|
clr => clr,
|
217 |
|
|
en => en,
|
218 |
|
|
a => ost1_l_15& ost1_l_14& ost1_l_13& ost1_l_12& ost1_l_11& ost1_l_10& ost1_l_9& ost1_l_8& ost1_l_7& ost1_l_6& ost1_l_5& ost1_l_4& ost1_l_3& ost1_l_2& ost1_l_1& ost1_l_0);
|
219 |
|
|
mulmod_r : mulmod
|
220 |
|
|
PORT MAP (
|
221 |
|
|
vss => vss,
|
222 |
|
|
vdd => vdd,
|
223 |
|
|
mulout => ost2_r_15& ost2_r_14& ost2_r_13& ost2_r_12& ost2_r_11& ost2_r_10& ost2_r_9& ost2_r_8& ost2_r_7& ost2_r_6& ost2_r_5& ost2_r_4& ost2_r_3& ost2_r_2& ost2_r_1& ost2_r_0,
|
224 |
|
|
cke => cke,
|
225 |
|
|
rst => clr,
|
226 |
|
|
en => en,
|
227 |
|
|
in2 => ost1_r_15& ost1_r_14& ost1_r_13& ost1_r_12& ost1_r_11& ost1_r_10& ost1_r_9& ost1_r_8& ost1_r_7& ost1_r_6& ost1_r_5& ost1_r_4& ost1_r_3& ost1_r_2& ost1_r_1& ost1_r_0,
|
228 |
|
|
in1 => ost1_r_15& ost1_r_14& ost1_r_13& ost1_r_12& ost1_r_11& ost1_r_10& ost1_r_9& ost1_r_8& ost1_r_7& ost1_r_6& ost1_r_5& ost1_r_4& ost1_r_3& ost1_r_2& ost1_r_1& ost1_r_0);
|
229 |
|
|
mulmod_l : mulmod
|
230 |
|
|
PORT MAP (
|
231 |
|
|
vss => vss,
|
232 |
|
|
vdd => vdd,
|
233 |
|
|
mulout => zo(15)& zo(14)& zo(13)& zo(12)& zo(11)& zo(10)& zo(9)& zo(8)& zo(7)& zo(6)& zo(5)& zo(4)& zo(3)& zo(2)& zo(1)& zo(0),
|
234 |
|
|
cke => cke,
|
235 |
|
|
rst => clr,
|
236 |
|
|
en => en,
|
237 |
|
|
in2 => ost2_r_15& ost2_r_14& ost2_r_13& ost2_r_12& ost2_r_11& ost2_r_10& ost2_r_9& ost2_r_8& ost2_r_7& ost2_r_6& ost2_r_5& ost2_r_4& ost2_r_3& ost2_r_2& ost2_r_1& ost2_r_0,
|
238 |
|
|
in1 => ost2_l_15& ost2_l_14& ost2_l_13& ost2_l_12& ost2_l_11& ost2_l_10& ost2_l_9& ost2_l_8& ost2_l_7& ost2_l_6& ost2_l_5& ost2_l_4& ost2_l_3& ost2_l_2& ost2_l_1& ost2_l_0);
|
239 |
|
|
reg2_r : reg16_latch
|
240 |
|
|
PORT MAP (
|
241 |
|
|
vss => vss,
|
242 |
|
|
vdd => vdd,
|
243 |
|
|
b => ost3_r_15& ost3_r_14& ost3_r_13& ost3_r_12& ost3_r_11& ost3_r_10& ost3_r_9& ost3_r_8& ost3_r_7& ost3_r_6& ost3_r_5& ost3_r_4& ost3_r_3& ost3_r_2& ost3_r_1& ost3_r_0,
|
244 |
|
|
cke => cke,
|
245 |
|
|
clr => clr,
|
246 |
|
|
en => en,
|
247 |
|
|
a => ost2_r_15& ost2_r_14& ost2_r_13& ost2_r_12& ost2_r_11& ost2_r_10& ost2_r_9& ost2_r_8& ost2_r_7& ost2_r_6& ost2_r_5& ost2_r_4& ost2_r_3& ost2_r_2& ost2_r_1& ost2_r_0);
|
248 |
|
|
|
249 |
|
|
end VST;
|