TDSMDFLQY0.v
3.54 KB
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
114
115
116
117
118
119
// VERSION:4.00 DATE:2001/05/14 OPENCAD Verilog LIBRARY
`timescale 1ps / 1ps
`celldefine
`ifdef verifault
`suppress_faults
`enable_portfaults
`endif
module TDSMDFLQY0 ( N01, H01, H02, H03, H04 );
input H01;
input H02;
input H03;
input H04;
output N01;
reg notifier;
reg docheck1;
reg docheck2;
reg docheck3;
reg docheck4;
reg docheck5;
buf ( _H01, H01 );
not ( _G001, _H01 );
buf ( _H02, H02 );
not ( _G005, _H02 );
buf ( _H03, H03 );
not ( _G002, _H03 );
buf ( _H04, H04 );
not ( _G003, _H04 );
and ( _G010, _G001, _G002 );
and ( _G011, _G001, _G003 );
and ( _G012, _G002, _H04 );
nor ( _G013, _G010, _G011, _G012 );
buf ( N01, _G004 );
DESFQ ( _G004, _G013, _G005, 1'b1, 1'b1, notifier );
buf #1 ( _G099, _G004 );
`ifdef INCA
buf #1 ( _docheck1, docheck1 );
buf #1 ( _docheck2, docheck2 );
buf #1 ( _docheck3, docheck3 );
buf #1 ( _docheck4, docheck4 );
buf #1 ( _docheck5, docheck5 );
`else
`ifdef VCS
buf #1 ( _docheck1, docheck1 );
buf #1 ( _docheck2, docheck2 );
buf #1 ( _docheck3, docheck3 );
buf #1 ( _docheck4, docheck4 );
buf #1 ( _docheck5, docheck5 );
`else
buf ( _docheck1, docheck1 );
buf ( _docheck2, docheck2 );
buf ( _docheck3, docheck3 );
buf ( _docheck4, docheck4 );
buf ( _docheck5, docheck5 );
`endif
`endif
initial //initialize data flags
begin
docheck1 = 0;
docheck2 = 0;
docheck3 = 0;
docheck4 = 0;
docheck5 = 0;
end
always @( _H01 or _H03 or _H04 or _G013 )
begin
docheck1 = ( _H04 !== 1'b1 );
docheck2 = ( _H04 !== 1'b0 );
docheck3 = ( _H01 !== _H03 );
if ( _H02 === 1'b1 )
docheck5 = ( _G099 !== _G013 );
if ( _H02 === 1'b0 )
docheck4 = ( _G099 !== _G013 );
end
always @( negedge _H02 )
begin
docheck1 = ( _H04 !== 1'b1 );
docheck2 = ( _H04 !== 1'b0 );
docheck5 = ( _G099 !== _G013 );
docheck4 = 1;
end
always @( posedge _H02 )
begin
docheck5 = ( _G099 !== _G013 );
end
specify
specparam DMY_SPC=1;
$setup ( posedge H01, negedge H02 &&& _docheck1, DMY_SPC, notifier );
$setup ( negedge H01, negedge H02 &&& _docheck1, DMY_SPC, notifier );
$hold ( negedge H02, posedge H01 &&& _docheck1, DMY_SPC, notifier );
$hold ( negedge H02, negedge H01 &&& _docheck1, DMY_SPC, notifier );
$setup ( posedge H03, negedge H02 &&& _docheck2, DMY_SPC, notifier );
$setup ( negedge H03, negedge H02 &&& _docheck2, DMY_SPC, notifier );
$hold ( negedge H02, posedge H03 &&& _docheck2, DMY_SPC, notifier );
$hold ( negedge H02, negedge H03 &&& _docheck2, DMY_SPC, notifier );
$setup ( posedge H04, negedge H02 &&& _docheck3, DMY_SPC, notifier );
$setup ( negedge H04, negedge H02 &&& _docheck3, DMY_SPC, notifier );
$hold ( negedge H02, posedge H04 &&& _docheck3, DMY_SPC, notifier );
$hold ( negedge H02, negedge H04 &&& _docheck3, DMY_SPC, notifier );
$width ( posedge H02 &&& _docheck4, DMY_SPC, 0, notifier );
$width ( negedge H02 &&& _docheck5, DMY_SPC, 0, notifier );
( negedge H02 => ( N01 +: 1'b1 )) = ( DMY_SPC, DMY_SPC );
endspecify
endmodule
`ifdef verifault
`nosuppress_faults
`disable_portfaults
`endif
`endcelldefine