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. When the clock input (indicated by a triangle on the south edge) indicates so, the value stored in the register changes to the value of the D input at that instant. Exactly when the clock input indicates for this to happen is configured via the Trigger attribute.
The reset input resets the register's value to 0 (all zeroes) asynchronously; that is, as long as reset is 1, the value is pinned to 0, regardless of the clock input.
Pins
- East edge, labeled Q (output, bit width matches Data Bits attribute)
- Outputs the value currently stored by the register.
- West edge, labeled D (input, bit width matches Data Bits 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.
- West edge, labeled en (input, bit width 1)
- Enable: When this is 0, clock triggers are ignored. The current value continues to appear on the output. The clock triggers are enabled when this input is 1 or undefined.
- 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 0 (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
When the component is selected or being added,
Alt-0 through Alt-9 alter its Data Bits
attribute.
- Data Bits
- The bit width of the value stored in the register.
- Trigger
- Configures how the clock input is interpreted. The value
rising edge
indicates that the register should update its value at the instant when the clock rises from 0 to 1. Thefalling edge
value indicates that it should update at the instant the clock falls from 1 to 0. Thehigh level
value indicates that the register should update continuously whenever the clock input is 1. And thelow level
value indicates that it should update continuously when the clock input is 0. - Label
- The text within the label associated with the register.
- Label Font
- The font with which to render the label.
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
Allows the label associated with the component to be edited.