EDIS: Guide | FAQ | New | Search | Bibliography | Index | Feedback

Modulo-N Counter



A Modulo-N Counter (N > 0) has one input terminal a and two output terminals p and q. Input and output signals alternate, starting with input. The behavior repeats after every N input/output pairs. In each period, the first N-1 inputs are followed by output p, and the last input is followed by output q.


Schematic diagram for a Modulo-N Counter:


Nor a state graph nor an XDI specification are available for general N. We provide them for N=3:


Specification in XDI model.


The specification of a Modulo-N Counter for N=3 is as follows:

Specification in Verdect:

define COUNTER3( a?, p!, q! ) =
       pref *[ a?; p!; a?; p!; a?; q! ]
Also available through this link

(Not available for general N.)

This verification report compares the Verdect specification with the XDI specification.

DI Algebra

We provide the specification for the case N=3:

Specification in DI Algebra:

# Generated by expexp.pl
I    = { a? }
O    = { p!, q! }

C_0_3 = a?;p!;C_1_3

C_1_3 = a?;p!;C_2_3

C_2_3 = a?;q!;C_0_3

Also available through this link

(Not available for general N.)

This verification report compares the DI Algebra specification with the XDI specification.


The XDI Report for the Modulo-3 Counter.


DI Decompositions

  1. [Ebergen92] analyses various implementations of Modulo-N Counters. A naive implementation (area complexity thetha(N), response time thetha(log N)) of A Modulo-N Counter for N>3 consists of an Nx1-Decision-Wait, an (N-1)-Merge, 3 Forks and an I-Wire:

    The Ludwig verification script of this implementation. (N=3)
    The verification report of this implementation (N=3).

Using Boolean Gates

No information available

Using Transistors

No information available


The Modulo-N Counter can be further generalized to a L-Pattern Generator that cycles through an arbitrary pattern over its outputs. A Modulo-N Counter is a (p..pq)-Pattern Generator (with N-1 p's).


No information available



Last modified at Fri Nov 20 13:30:44 1998
Encyclopaedia of Delay-Insensitive Systems
Copyright © 1995-1998 Tom Verhoeff / Tom.Verhoeff@acm.org