Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - English


JKFLIPFLOP

JK flip-flop

Block Screenshot

Description

The JK flip flop is the most versatile of the basic flip-flops. It has two inputs traditionally labeled J (Set) and K (Reset).

  • When the inputs J and K are different, the output Q takes the value of J at the next falling edge.

  • When the inputs J and K are both low, no change occurs in the output state.

  • When the inputs are both high the output Q will toggle from one state to other. It can perform the functions of the set/reset (SR) flip-flop and has the advantage that there are no ambiguous states.

The !Q output is the logical negation of Q

It can also act as a T flip-flop to accomplish toggling action if J and K are tied together. This toggle application finds extensive use in binary counters.

The user can set the initial output state with Initial Value parameter.

The truth table of this block is:

J K Qn !Qn
0 0 Qn-1 !Qn-1 Hold
0 1 0 1 Reset
1 0 1 0 Set
1 1 !Qn-1 Qn-1 Toggle

where Qn-1 is the previous state of Qn .

Data types

The block supports the following types :

  • Inputs:

    • J: scalar. Scilab's int8 data type only.

    • clk: scalar. Scilab's real double.

    • K: scalar. Scilab's int8 data type only.

    A positive input is considered as logical 1, a negative or a null input as logical 0.

  • Outputs: scalar. Scilab's int8 data type.

Parameters

  • Initial Value

    Initial state of the Q output.

    Properties : Type 'vec' of size 1.

Default properties

  • always active: no

  • direct-feedthrough: yes

  • zero-crossing: no

  • mode: no

  • regular inputs:

    - port 1 : size [1,1] / type 5

    - port 2 : size [1,1] / type 1

    - port 3 : size [1,1] / type 5

  • regular outputs:

    - port 1 : size [1,1] / type 5

    - port 2 : size [1,1] / type 5

  • number/sizes of activation inputs: 0

  • number/sizes of activation outputs: 0

  • continuous-time state: no

  • discrete-time state: no

  • object discrete-time state: no

  • name of computational function: csuper

Example

The following example builds a 3 bits asynchronous counter with JK flipflops wired as T flipflops. You can show on the right the timing diagram of the Q0 to Q2 outputs of counter.

Interfacing function

  • SCI/modules/scicos_blocks/macros/IntegerOp/JKFLIPFLOP.sci

See also

Report an issue
<< INTMUL Integer palette LOGIC >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:37:10 CEST 2023