blob: d13a7b84ad5debe7e54fa6d7d3f24398e6e2e924 [file] [log] [blame]
primitive U_DL_P_R_pg (Q, D, G, R, VPWR, VGND); output Q;
reg Q;
input D, G, R, VPWR, VGND;
// FUNCTION : D-LATCH, GATED CLEAR DIRECT /GATE ACTIVE HIGH ( Q OUTPUT UDP )
//
table
// D G R VPWR, VGND : Qt : Qt+1
* 0 0 1 0 : ? : - ;
? ? 1 1 0 : ? : 0 ; // asynchro clear
? (?0) 0 1 0 : ? : - ; // Changed R=? to R=0 ; jek 08/14/06/
? (1x) 0 1 0 : ? : - ; // Changed R=? to R=0 ; jek 08/14/06
0 (0x) 0 1 0 : 0 : 0 ;
1 (0x) 0 1 0 : 1 : 1 ;
0 (x1) 0 1 0 : ? : 0 ;
1 (x1) 0 1 0 : ? : 1 ;
(?0) 1 0 1 0 : ? : 0 ;
(?1) 1 0 1 0 : ? : 1 ;
0 (01) 0 1 0 : ? : 0 ;
1 (01) 0 1 0 : ? : 1 ;
? 0 (?x) 1 0 : 0 : 0 ; // Reducing pessimism.//AB
* 0 x 1 0 : 0 : 0 ; // Reducing pessimism//AB
0 (?1) x 1 0 : ? : 0 ; // Reducing pessimism.
(?0) 1 x 1 0 : ? : 0 ; // Reducing pessimism.
0 1 (?x) 1 0 : ? : 0 ; // Reducing pessimism.//AB
? 0 (?0) 1 0 : ? : - ; // ignore edge on clear
0 1 (?0) 1 0 : ? : 0 ; // pessimism .
1 1 (?0) 1 0 : ? : 1 ;
(?1) x 0 1 0 : 1 : 1 ; // Reducing pessimism.
(?0) x 0 1 0 : 0 : 0 ; // Reducing pessimism.
? ? ? * ? : ? : x ; // any change on vpwr
? ? ? ? * : ? : x ; // any change on vgnd
endtable
endprimitive