blob: 06756b777c605bceb3121ccc97e54449ff0a7826 [file] [log] [blame]
primitive U_DL_P_SLEEPB_pg (Q, D, G, SLEEPB, KAPWR, VGND, VPWR);
output Q;
reg Q;
input D, G, SLEEPB, KAPWR, VGND, VPWR;
// FUNCTION : DLATCH, GATED STANDARD DRIVE / ACTIVE HIGH ( Q OUTPUT UDP )
//
table
// D G SLEEPB KAPWR VGND VPWR : Qtn : Qtn+1
? ? 0 1 0 ? : ? : - ; // Retain state during sleep
? 0 * 1 0 1 : ? : - ; // Retain state during sleep
? 1 * 1 0 1 : ? : x ; // SLEEPB cannot change unless GATE is low
? x * 1 0 1 : ? : x ; // SLEEPB cannot change unless GATE is low
? ? * 1 0 x : ? : x ; // SLEEPB cannot change unless VPWR is high
? ? * 1 0 0 : ? : x ; // SLEEPB cannot change unless VPWR is high
* 0 1 1 0 1 : ? : - ;
? n 1 1 0 1 : ? : - ;
0 (0x) 1 1 0 1 : 0 : 0 ;
1 (0x) 1 1 0 1 : 1 : 1 ;
0 (x1) 1 1 0 1 : ? : 0 ;
1 (x1) 1 1 0 1 : ? : 1 ;
(?0) 1 1 1 0 1 : ? : 0 ;
(?1) 1 1 1 0 1 : ? : 1 ;
0 (01) 1 1 0 1 : ? : 0 ;
1 (01) 1 1 0 1 : ? : 1 ;
(?1) x 1 1 0 1 : 1 : 1 ; // Reducing pessimism.
(?0) x 1 1 0 1 : 0 : 0 ;
? ? ? * ? 1 : ? : x ; // unknown if kapwr changes
? ? ? ? * 1 : ? : x ; // unknown if vgnd changes
endtable
endprimitive