Main Content

Counter Free-Running

Count up and overflow back to zero after reaching maximum value for specified number of bits

  • Counter Free-Running block

Simulink / Sources
HDL Coder / Sources


The Counter Free-Running block counts up until reaching the maximum value, 2Nbits – 1, where Nbits is the number of bits. Then the counter overflows to zero and begins counting up again.

After overflow, the counter always initializes to zero. However, if you select the global doubles override, the Counter Free-Running block does not wrap back to zero.


This block does not report wrap on overflow warnings during simulation. To report these warnings, see the Simulink.restoreDiagnostic reference page. The block does report errors due to wrap on overflow.



expand all

Count value, specified as an unsigned integer of 8 bits, 16 bits, or 32 bits.

Data Types: uint8 | uint16 | uint32


expand all

Specify the number of bits as a finite, real-valued. When you specify:

  • A positive integer, for example 8, the block counts up to 28 – 1, which is 255.

  • An unsigned integer expression, for example uint8(8), the block counts up to uint8(2uint8(8) – 1), which is 254.

Programmatic Use

Block Parameter: NumBits
Type: character vector
Values: scalar
Default: '16'

Specify the time interval between samples as a scalar (sampling period), or a two-element vector ([sampling period, initial offset]). To inherit the sample time, set this parameter to -1. For more information, see Specify Sample Time.

Programmatic Use

Block Parameter: tsamp
Type: character vector
Values: scalar | vector
Default: '-1'

Block Characteristics

Data Types

fixed point | integer

Direct Feedthrough


Multidimensional Signals


Variable-Size Signals


Zero-Crossing Detection


Extended Capabilities

PLC Code Generation
Generate Structured Text code using Simulink® PLC Coder™.

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Version History

Introduced before R2006a