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

Subversion Repositories structural_vhdl

[/] [structural_vhdl/] [trunk/] [idea_machine/] [m16adder.vst] - Blame information for rev 2

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

Line No. Rev Author Line
1 2 marta
-- VHDL structural description generated from `m16adder`
2
--              date : Sat Sep  8 00:50:46 2001
3
 
4
 
5
-- Entity Declaration
6
 
7
ENTITY m16adder IS
8
  PORT (
9
  a : in BIT_VECTOR (0 TO 15);  -- a
10
  b : in BIT_VECTOR (0 TO 15);  -- b
11
  s : out BIT_VECTOR (0 TO 15); -- s
12
  vdd : in BIT; -- vdd
13
  vss : in BIT  -- vss
14
  );
15
END m16adder;
16
 
17
-- Architecture Declaration
18
 
19
ARCHITECTURE VST OF m16adder IS
20
  COMPONENT halfadder_glopf
21
    port (
22
    a : in BIT; -- a
23
    b : in BIT; -- b
24
    cout : out BIT;     -- cout
25
    sout : out BIT;     -- sout
26
    vdd : in BIT;       -- vdd
27
    vss : in BIT        -- vss
28
    );
29
  END COMPONENT;
30
 
31
  COMPONENT fulladder_glopg
32
    port (
33
    a : in BIT; -- a
34
    b : in BIT; -- b
35
    cin : in BIT;       -- cin
36
    cout : out BIT;     -- cout
37
    sout : out BIT;     -- sout
38
    vdd : in BIT;       -- vdd
39
    vss : in BIT        -- vss
40
    );
41
  END COMPONENT;
42
 
43
  COMPONENT xr2_x1
44
    port (
45
    i0 : in BIT;        -- i0
46
    i1 : in BIT;        -- i1
47
    q : out BIT;        -- q
48
    vdd : in BIT;       -- vdd
49
    vss : in BIT        -- vss
50
    );
51
  END COMPONENT;
52
 
53
  SIGNAL c_0 : BIT;     -- c 0
54
  SIGNAL c_1 : BIT;     -- c 1
55
  SIGNAL c_2 : BIT;     -- c 2
56
  SIGNAL c_3 : BIT;     -- c 3
57
  SIGNAL c_4 : BIT;     -- c 4
58
  SIGNAL c_5 : BIT;     -- c 5
59
  SIGNAL c_6 : BIT;     -- c 6
60
  SIGNAL c_7 : BIT;     -- c 7
61
  SIGNAL c_8 : BIT;     -- c 8
62
  SIGNAL c_9 : BIT;     -- c 9
63
  SIGNAL c_10 : BIT;    -- c 10
64
  SIGNAL c_11 : BIT;    -- c 11
65
  SIGNAL c_12 : BIT;    -- c 12
66
  SIGNAL c_13 : BIT;    -- c 13
67
  SIGNAL c_14 : BIT;    -- c 14
68
  SIGNAL o_xr1 : BIT;   -- o_xr1
69
 
70
BEGIN
71
 
72
  ha : halfadder_glopf
73
    PORT MAP (
74
    vss => vss,
75
    vdd => vdd,
76
    sout => s(0),
77
    cout => c_0,
78
    b => b(0),
79
    a => a(0));
80
  fa1 : fulladder_glopg
81
    PORT MAP (
82
    vss => vss,
83
    vdd => vdd,
84
    sout => s(1),
85
    cout => c_1,
86
    cin => c_0,
87
    b => b(1),
88
    a => a(1));
89
  fa2 : fulladder_glopg
90
    PORT MAP (
91
    vss => vss,
92
    vdd => vdd,
93
    sout => s(2),
94
    cout => c_2,
95
    cin => c_1,
96
    b => b(2),
97
    a => a(2));
98
  fa3 : fulladder_glopg
99
    PORT MAP (
100
    vss => vss,
101
    vdd => vdd,
102
    sout => s(3),
103
    cout => c_3,
104
    cin => c_2,
105
    b => b(3),
106
    a => a(3));
107
  fa4 : fulladder_glopg
108
    PORT MAP (
109
    vss => vss,
110
    vdd => vdd,
111
    sout => s(4),
112
    cout => c_4,
113
    cin => c_3,
114
    b => b(4),
115
    a => a(4));
116
  fa5 : fulladder_glopg
117
    PORT MAP (
118
    vss => vss,
119
    vdd => vdd,
120
    sout => s(5),
121
    cout => c_5,
122
    cin => c_4,
123
    b => b(5),
124
    a => a(5));
125
  fa6 : fulladder_glopg
126
    PORT MAP (
127
    vss => vss,
128
    vdd => vdd,
129
    sout => s(6),
130
    cout => c_6,
131
    cin => c_5,
132
    b => b(6),
133
    a => a(6));
134
  fa7 : fulladder_glopg
135
    PORT MAP (
136
    vss => vss,
137
    vdd => vdd,
138
    sout => s(7),
139
    cout => c_7,
140
    cin => c_6,
141
    b => b(7),
142
    a => a(7));
143
  fa8 : fulladder_glopg
144
    PORT MAP (
145
    vss => vss,
146
    vdd => vdd,
147
    sout => s(8),
148
    cout => c_8,
149
    cin => c_7,
150
    b => b(8),
151
    a => a(8));
152
  fa9 : fulladder_glopg
153
    PORT MAP (
154
    vss => vss,
155
    vdd => vdd,
156
    sout => s(9),
157
    cout => c_9,
158
    cin => c_8,
159
    b => b(9),
160
    a => a(9));
161
  fa10 : fulladder_glopg
162
    PORT MAP (
163
    vss => vss,
164
    vdd => vdd,
165
    sout => s(10),
166
    cout => c_10,
167
    cin => c_9,
168
    b => b(10),
169
    a => a(10));
170
  fa11 : fulladder_glopg
171
    PORT MAP (
172
    vss => vss,
173
    vdd => vdd,
174
    sout => s(11),
175
    cout => c_11,
176
    cin => c_10,
177
    b => b(11),
178
    a => a(11));
179
  fa12 : fulladder_glopg
180
    PORT MAP (
181
    vss => vss,
182
    vdd => vdd,
183
    sout => s(12),
184
    cout => c_12,
185
    cin => c_11,
186
    b => b(12),
187
    a => a(12));
188
  fa13 : fulladder_glopg
189
    PORT MAP (
190
    vss => vss,
191
    vdd => vdd,
192
    sout => s(13),
193
    cout => c_13,
194
    cin => c_12,
195
    b => b(13),
196
    a => a(13));
197
  fa14 : fulladder_glopg
198
    PORT MAP (
199
    vss => vss,
200
    vdd => vdd,
201
    sout => s(14),
202
    cout => c_14,
203
    cin => c_13,
204
    b => b(14),
205
    a => a(14));
206
  xr1 : xr2_x1
207
    PORT MAP (
208
    vss => vss,
209
    vdd => vdd,
210
    q => o_xr1,
211
    i1 => b(15),
212
    i0 => a(15));
213
  xr2 : xr2_x1
214
    PORT MAP (
215
    vss => vss,
216
    vdd => vdd,
217
    q => s(15),
218
    i1 => c_14,
219
    i0 => o_xr1);
220
 
221
end VST;

powered by: WebSVN 2.1.0

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