File: JK_QBAR.v

package info (click to toggle)
gplcver 2.12a-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 7,604 kB
  • ctags: 9,129
  • sloc: ansic: 126,201; sh: 1,539; makefile: 86; perl: 22
file content (71 lines) | stat: -rw-r--r-- 2,966 bytes parent folder | download | duplicates (4)
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

 
primitive JK_QBAR (qbar, j, k, clk, pre, clr);
 
// FUNCTION : POSITIVE EDGE TRIGGERED JK FLIP FLOP, WITH ACTIVE LOW 
//            ASYNCHRONOUS CLEAR AND  SET  ( qbar OUTPUT UDP ).  


    output qbar;
    reg    qbar;  
    input  j,k,
            clk,                                  // Clock.
            clr,                                  // Clear input.
            pre;                                  // Set input.
                                  

    table
      // j   k   clk  pre  clr   : Qtn : Qtn+1

         0   0  (01)  1    1     :  ?  :   - ;    // Output retains the 

         0   1  (01)  1    1     :  ?  :   1 ;    // Clocked J and K.
         0   1  (01)  1    x     :  ?  :   1 ;    // pessimism
         ?   ?   ?    1    x     :  1  :   1 ;    // pessimism

         1   0  (01)  1    1     :  ?  :   0 ;    
         1   0  (01)  x    1     :  ?  :   0 ;    // pessimism
         ?   ?   ?    x    1     :  0  :   0 ;    // pessimism

         1   1  (01)  1    1     :  1  :   0 ;    // Clocked toggle.
         1   1  (01)  1    1     :  0  :   1 ;
                                                     
         ?   1  (01)  1    x     :  0  :   1 ;     //pessimism
         1   ?  (01)  x    1     :  1  :   0 ;
  
         0   0  (x1)  1    1     :  ?  :   - ;   //possible clocked JK
         0   1  (x1)  1    1     :  1  :   1 ;   
         1   0  (x1)  1    1     :  0  :   0 ;
         0   0  (0x)  1    1     :  ?  :   - ;
         0   1  (0x)  1    1     :  1  :   1 ;
         1   0  (0x)  1    1     :  0  :   0 ;

                                 
         *   ?   ?    1    1     :  ?  :   - ;    // Insensitive to 
         ?   *   ?    1    1     :  ?  :   - ;    // transitions on J and K
                                                 // with steady clock.

         ?   ?   ?    0    1     :  ?  :  0  ;    // Set.
         ?   ?   ?    1    0     :  ?  :  1  ;    // clear 
         ?   ?   ?    0    0     :  ?  :  0  ;    // clear and  clear override. 

         ?   ? (?0)   1    1     :   ? :  -  ;    //ignore falling clock.
         ?   ? (1x)   1    1     :   ? :  -  ;
    
         x   0   r    1    1     :   0  :   0 ;         // reducing pessimism for unknown J 
         x   1   r    1    1     :   0  :   1 ;         // reducing pessimism for unknown J 
         0   x   r    1    1     :   1  :   1 ;         // reducing pessimism for unknown K 
         1   x   r    1    1     :   1  :   0 ;         // reducing pessimism for unknown K 

         x   0  (x1)  1    1     :   0  :   0 ;        //possible clocked with
         0   x  (x1)  1    1     :   1  :   1 ;        //possible J & K                                 
         x   0  (0x)  1    1     :   0  :   0 ;
         0   x  (0x)  1    1     :   1  :   1 ;

         ?   ?   ?  (?1)   1     :  ?   :  -  ;    //ignore changes on set and
         ?   ?   ?   1   (?1)    :  ?   :  -  ;    //reset.


    endtable

endprimitive