Register

Library: Memory
Introduced: 2.0 Beta 1
Appearance:

Behavior

A register stores a single multi-bit value, which is displayed in hexadecimal within its rectangle, and is emitted on its Q output. At the instant when the clock input (indicated by a triangle on the south edge) rises from 0 to 1, the value stored in the register changes to the value of the D input at that instant.

The clr input resets the register's value to 0 (all zeroes) asynchronously; that is, as long as the clr input is 1, the value is pinned to 0, regardless of the clock input.

Pins

East edge, labeled Q (output, bit width matches Data Bit Width attribute)
Outputs the value currently stored by the register.
West edge, labeled D (input, bit width matches Data Bit Width attribute)
Data input: At the instant that the clock value rises from 0 to 1, the register's value changes to the value of the D input at that instant.
South edge, indicated with a triangle (input, bit width 1)
Clock input: At the instant that this input value rises from 0 to 1 (the rising edge), the register's value will be updated to the value of the D input.
South edge, labeled clr (input, bit width 1)
Asynchronous reset: When 0 or undefined, this input has no effect. As long as it is 1, the register's value is pinned to 0. This occurs asynchronously - that is, without regard to the current clock input value. As long as this is 1, the other inputs have no effect.

Attributes

Data Bit Width
The bit width of the value stored in the register.

Poke Tool Behavior

Clicking the register brings keyboard focus to the register (indicated by a red rectangle), and typing hexadecimal digits will change the value stored in the register.

Text Tool Behavior

None.

Back to Library Reference