DESFQ.v
2.55 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
// VERSION:3.01 DATE:1999/09/24 UDP
`timescale 1ps / 1ps
`celldefine
`ifdef verifault
`suppress_faults
`endif
primitive DESFQ ( Q, D, CP, RB, SB, notifier );
output Q;
input D,CP,RB,SB,notifier;
reg Q;
// Positive edge triggered D flip-flop with active low
// asynchronous set and clear.Equivalent to ACOS DESF.
table
// D CP RB SB notifier: Qt : Qt+1
1 (01) 1 ? ? : ? : 1; // clocked data
0 (01) ? 1 ? : ? : 0;
* b 1 1 ? : ? : -; // edges on data
* b x 1 ? : ? : -;
* b 1 x ? : ? : -;
? (10) x b ? : ? : -; // negative edge on clock
? (10) b x ? : ? : -;
? (10) b b ? : ? : -;
// ? ? ? 0 ? : ? : 1; // set and reset
? ? 1 0 ? : ? : 1; // set and reset
? ? 0 0 ? : ? : x; // set and reset
? ? x 0 ? : ? : x; // set and reset
? ? 0 1 ? : ? : 0;
0 (?x) ? 1 ? : 0 : -; // x-edges on clock
1 (?x) 1 ? ? : 1 : -;
0 (x1) ? 1 ? : 0 : -;
1 (x1) 1 ? ? : 1 : -;
1 (x0) 1 ? ? : 1 : -;
0 (x0) ? 1 ? : 0 : -;
1 ? 1 x ? : 1 : 1; // level sensitive description
0 ? x 1 ? : 0 : 0;
? b (?1) b ? : ? : -; // ignore the edges on
? b b (?1) ? : ? : -; // set and clear
? b 1 (1x) ? : 1 : -;
? b (1x) 1 ? : 0 : -;
? b (0x) 1 ? : 0 : -;
? b 1 (0x) ? : 1 : -;
0 x (x1) 1 ? : 0 : -;
1 x 1 (01) ? : 1 : -;
1 x 1 (x1) ? : 1 : -;
0 x (01) 1 ? : 0 : -;
? ? ? ? * : ? : x; // At any notifier event
//output an x
endtable
endprimitive
`ifdef verifault
`nosuppress_faults
`endif
`endcelldefine