-
Notifications
You must be signed in to change notification settings - Fork 9
/
asap7.v
113 lines (84 loc) · 2.06 KB
/
asap7.v
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
module AND2x2_ASAP7_75t_R (Y, A, B);
output Y;
input A, B;
// Function
and (Y, A, B);
endmodule
module XOR2x1_ASAP7_75t_R (Y, A, B);
output Y;
input A, B;
// Function
wire A__bar, B__bar, int_fwire_0;
wire int_fwire_1;
not (A__bar, A);
and (int_fwire_0, A__bar, B);
not (B__bar, B);
and (int_fwire_1, A, B__bar);
or (Y, int_fwire_1, int_fwire_0);
endmodule
module INVx1_ASAP7_75t_R (Y, A);
output Y;
input A;
// Function
not (Y, A);
endmodule
module FAx1_ASAP7_75t_R (CON, SN, A, B, CI);
output CON, SN;
input A, B, CI;
// Function
wire A__bar, B__bar, CI__bar;
wire int_fwire_0, int_fwire_1, int_fwire_2;
wire int_fwire_3, int_fwire_4, int_fwire_5;
wire int_fwire_6;
not (CI__bar, CI);
not (B__bar, B);
and (int_fwire_0, B__bar, CI__bar);
not (A__bar, A);
and (int_fwire_1, A__bar, CI__bar);
and (int_fwire_2, A__bar, B__bar);
or (CON, int_fwire_2, int_fwire_1, int_fwire_0);
and (int_fwire_3, A__bar, B__bar, CI__bar);
and (int_fwire_4, A__bar, B, CI);
and (int_fwire_5, A, B__bar, CI);
and (int_fwire_6, A, B, CI__bar);
or (SN, int_fwire_6, int_fwire_5, int_fwire_4, int_fwire_3);
endmodule
module HAxp5_ASAP7_75t_R (CON, SN, A, B);
output CON, SN;
input A, B;
// Function
wire A__bar, B__bar, int_fwire_0;
wire int_fwire_1;
not (B__bar, B);
not (A__bar, A);
or (CON, A__bar, B__bar);
and (int_fwire_0, A__bar, B__bar);
and (int_fwire_1, A, B);
or (SN, int_fwire_1, int_fwire_0);
endmodule
module AO21x1_ASAP7_75t_R (Y, A1, A2, B);
output Y;
input A1, A2, B;
// Function
wire int_fwire_0;
and (int_fwire_0, A1, A2);
or (Y, int_fwire_0, B);
endmodule
module AO22x1_ASAP7_75t_R (Y, A1, A2, B1, B2);
output Y;
input A1, A2, B1, B2;
// Function
wire int_fwire_0, int_fwire_1;
and (int_fwire_0, B1, B2);
and (int_fwire_1, A1, A2);
or (Y, int_fwire_1, int_fwire_0);
endmodule
module AO33x2_ASAP7_75t_R (Y, A1, A2, A3, B1, B2, B3);
output Y;
input A1, A2, A3, B1, B2, B3;
// Function
wire int_fwire_0, int_fwire_1;
and (int_fwire_0, B1, B2, B3);
and (int_fwire_1, A1, A2, A3);
or (Y, int_fwire_1, int_fwire_0);
endmodule