Input Subsystems

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/161

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 1:32 AM on 9/6/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

162 Terms

1
New cards

Input Subsystem

The architectural subsystem that converts uncontrolled physical user actions into clean synchronous command events.

2
New cards

Input Trust Boundary

The boundary between imperfect physical inputs and synchronous logic that expects reliable, well-defined command semantics.

3
New cards

Physical button → Debouncer → ButtonEdgeDetector → one-clock pulse → ArithmeticEngineControl

What complete command path does a normal pushbutton follow in topModule.v?

4
New cards

btnC → NextOperationDebouncer → NextOperationEdgeDetector → NextOperationPulse → ArithmeticEngineControl

What complete path converts the center button into an operation-navigation command?

5
New cards

btnR → SignedModeDebouncer → SignedModeEdgeDetector → SignedModePulse → ArithmeticEngineControl

What complete path converts the right button into a signed-mode command?

6
New cards

btnU → ExecuteDebouncer → ExecuteEdgeDetector → ExecuteButtonPulse → ArithmeticEngineControl

What complete path converts the up button into an execute command?

7
New cards

btnD

Which pushbutton is architecturally different because it serves as reset rather than as an ordinary command?

8
New cards

btnC

Which physical button means "advance to the next arithmetic operation"?

9
New cards

btnR

Which physical button means "toggle signed/unsigned interpretation mode"?

10
New cards

btnU

Which physical button means "execute the currently selected operation"?

11
New cards

btnD

Which physical button returns the machine to a known starting state?

12
New cards

NextOperationDebounced

What clean persistent button-level signal is produced from btnC before edge detection?

13
New cards

SignedModeDebounced

What clean persistent button-level signal is produced from btnR before edge detection?

14
New cards

ExecuteDebounced

What clean persistent button-level signal is produced from btnU before edge detection?

15
New cards

NextOperationPulse

What one-clock architectural command event is produced from the conditioned center-button action?

16
New cards

SignedModePulse

What one-clock architectural command event is produced from the conditioned right-button action?

17
New cards

ExecuteButtonPulse

What one-clock architectural command event is produced from the conditioned up-button action?

18
New cards

The Debouncer stage.

Which stage converts an unreliable physical button level into a stable button level?

19
New cards

The ButtonEdgeDetector stage.

Which stage converts a stable button level into a one-clock command pulse?

20
New cards

A clean persistent level.

What kind of signal exists between each Debouncer and its corresponding ButtonEdgeDetector?

21
New cards

A one-clock synchronous event.

What kind of signal should exist after each ButtonEdgeDetector?

22
New cards

The controller receives events, not raw physical button behavior.

What architectural simplification does the complete input subsystem provide?

23
New cards

Button physics are hidden behind command semantics.

What abstraction does the input subsystem create for ArithmeticEngineControl?

24
New cards

The controller should know that one intentional user action occurred, not how the physical switch behaved electrically.

What information should reach the controller after input conditioning?

25
New cards

It hides physical timing imperfections from the control subsystem.

Why is the input subsystem considered a trust boundary?

26
New cards

The physical world does not naturally obey the clean synchronous timing assumptions of internal digital logic.

Why is a trust boundary needed between buttons and ArithmeticEngineControl?

27
New cards

Physical Event

A real-world user action such as pressing or releasing a pushbutton.

28
New cards

Conditioned Level

A stable synchronous representation of whether a button is logically pressed.

29
New cards

Command Event

A one-clock pulse representing one intentional user action.

30
New cards

Physical Event → Conditioned Level → Command Event

What abstraction progression occurs through the input subsystem?

31
New cards

The signal becomes more abstract and more useful to synchronous control logic.

How does signal meaning change as it moves through the input subsystem?

32
New cards

Raw btnC means a physical voltage level; NextOperationPulse means "advance operation once now."

How does the center-button signal change semantically across the input subsystem?

33
New cards

Raw btnR means a physical voltage level; SignedModePulse means "toggle interpretation mode once now."

How does the right-button signal change semantically across the input subsystem?

34
New cards

Raw btnU means a physical voltage level; ExecuteButtonPulse means "issue one execute request now."

How does the up-button signal change semantically across the input subsystem?

35
New cards

Signal Conditioning

The processing applied to external signals so they satisfy the timing and semantic expectations of internal synchronous logic.

36
New cards

Debouncing and edge detection cooperate to transform a physical button action into a clean synchronous event.

What is the architectural role of signal conditioning in this project?

37
New cards

The controller can operate using clean pulse semantics without implementing physical-input cleanup itself.

Why is signal conditioning separated from ArithmeticEngineControl?

38
New cards

One Intentional Action → One Command Event

The behavioral contract exported by each normal button-conditioning chain.

39
New cards

One press should not be interpreted as several independent navigation or execute requests.

What system-level requirement motivates the input-conditioning chain?

40
New cards

Persistent Button Level

A signal that can remain high for multiple clock cycles while the user continues holding a button.

41
New cards

Command Pulse

A signal intentionally active for only one clock interval to represent an event.

42
New cards

A persistent level represents a condition; a pulse represents an occurrence.

What is the key semantic distinction between a button level and a command pulse?

43
New cards

Because a controller may otherwise respond repeatedly while the button remains pressed.

Why is a command pulse usually more appropriate than a persistent level for "advance once" or "execute once" behavior?

44
New cards

The edge detector converts duration into event semantics.

What architectural transformation does the ButtonEdgeDetector perform?

45
New cards

How long the user keeps the button held.

What physical detail becomes largely irrelevant after edge detection has produced a command pulse?

46
New cards

A one-clock pulse gives the controller a precise synchronous moment at which the command occurred.

Why is event timing easier to reason about after edge detection?

47
New cards

Command Semantics

The meaning assigned to a clean synchronous pulse, such as "next operation," "toggle mode," or "execute."

48
New cards

The same pulse shape can represent different commands because architectural meaning comes from where the pulse is connected.

Why can NextOperationPulse, SignedModePulse, and ExecuteButtonPulse have similar timing but different meanings?

49
New cards

Signal Meaning

A signal's architectural interpretation rather than merely its electrical high/low value.

50
New cards

The subsystem converts electrical button behavior into meaningful control events.

Why is the input path more than just a sequence of wires?

51
New cards

ArithmeticEngineControl.

Which subsystem directly consumes NextOperationPulse, SignedModePulse, and ExecuteButtonPulse?

52
New cards

Global control state.

What kind of subsystem lies immediately downstream of the input subsystem?

53
New cards

Physical input handling should terminate before global user-intent logic begins.

What architectural boundary exists between the edge detectors and ArithmeticEngineControl?

54
New cards

The input subsystem answers "Did a trustworthy user command occur?"

What question does the input subsystem answer?

55
New cards

The control subsystem answers "What should that command change or request?"

What question does ArithmeticEngineControl answer after receiving a command event?

56
New cards

Input conditioning establishes trust; control interprets intent.

What compact distinction separates the input subsystem from the control subsystem?

57
New cards

Debouncer + edge detector.

What two-stage structure appears three times in topModule.v for normal command buttons?

58
New cards

Three Debouncer instances.

How many debouncing blocks are instantiated for btnC, btnR, and btnU?

59
New cards

Three ButtonEdgeDetector instances.

How many edge-detection blocks are instantiated for the three command buttons?

60
New cards

Because each physical command needs its own independent conditioning path.

Why are there separate debouncer and edge-detector instances for btnC, btnR, and btnU?

61
New cards

The chains share structure but preserve different command identities.

What is the architectural significance of using parallel conditioning chains?

62
New cards

Parallel Input Conditioning

Multiple independent physical controls passing through similar cleanup pipelines before entering higher-level control.

63
New cards

btnC, btnR, and btnU can each be converted independently into their own command event.

What benefit does parallel input conditioning provide?

64
New cards

CLOCK_FREQUENCY

Which top-level parameter is passed into each Debouncer to describe the clock environment?

65
New cards

DEBOUNCE_TIME_MS

Which top-level parameter is passed into each Debouncer to define the required stability interval?

66
New cards

The same top-level timing parameters are distributed to all three Debouncer instances.

How is consistent button-conditioning timing achieved across the three command inputs?

67
New cards

Parameter Distribution

The top-level act of supplying shared configuration values to multiple subsystem instances.

68
New cards

The top module configures input-conditioning blocks without reimplementing their internal algorithms.

How does parameter distribution preserve hierarchy?

69
New cards

The top level states the required timing environment; each Debouncer internally implements that responsibility.

What responsibility division exists between topModule and Debouncer regarding timing parameters?

70
New cards

clk

Which common timing signal is supplied to all Debouncer and ButtonEdgeDetector instances?

71
New cards

btnD

Which signal is supplied as reset to all three Debouncers and all three edge detectors?

72
New cards

Common Clocking

The use of one shared clock reference so conditioned events align with the same synchronous timing framework as downstream control.

73
New cards

Because the command pulses must be meaningful relative to the same clock used by ArithmeticEngineControl.

Why should the input subsystem and control subsystem share a common clock?

74
New cards

Synchronous Command

Event information represented in alignment with the system clock so downstream state can respond deterministically.

75
New cards

A clean command pulse is useful because the controller can sample it at a known clock boundary.

Why does synchronization simplify controller behavior?

76
New cards

Interface Normalization

Converting several messy external signals into a common internal signal form expected by downstream logic.

77
New cards

All three ordinary buttons become one-clock pulse-style commands before reaching ArithmeticEngineControl.

How does the input subsystem normalize different user commands?

78
New cards

The controller can use the same fundamental event semantics for navigation, mode toggling, and execution.

What benefit results from normalizing commands into one-clock pulses?

79
New cards

The input subsystem standardizes timing semantics while preserving command meaning.

What two things does input normalization simultaneously accomplish?

80
New cards

Timing Semantics

The rules describing when a signal is considered valid and how long its event representation lasts.

81
New cards

One intentional action becomes one synchronous event.

What timing semantic should the input subsystem guarantee to the controller?

82
New cards

The controller does not need to know whether the physical button remained high for many milliseconds.

What physical timing detail is abstracted away once the command becomes a pulse?

83
New cards

The controller also does not need to know whether the original button signal bounced before stabilization.

What physical instability is intentionally hidden behind the subsystem boundary?

84
New cards

The controller should not inspect raw btnC, btnR, or btnU directly for command decisions.

What design choice preserves the input subsystem's abstraction boundary?

85
New cards

Bypassing conditioning would leak physical-interface behavior into global control logic.

Why would directly connecting raw command buttons to ArithmeticEngineControl weaken the architecture?

86
New cards

Abstraction Leakage

When lower-level implementation or physical details escape a subsystem and force higher-level logic to reason about them.

87
New cards

Having ArithmeticEngineControl directly handle bounce behavior would be abstraction leakage.

Give an example of abstraction leakage at the input/control boundary.

88
New cards

A strong boundary lets the controller treat command pulses as trustworthy facts.

What does the term "trust boundary" mean operationally for downstream logic?

89
New cards

Trustworthy Command

A command signal whose physical-input uncertainty has already been handled enough for downstream synchronous logic to interpret it directly.

90
New cards

The subsystem exports trustworthy command events rather than merely cleaned electrical signals.

What is the real architectural product of the input subsystem?

91
New cards

The product is not "a button"; it is a synchronous event with defined meaning.

What mental shift should you make when looking at NextOperationPulse, SignedModePulse, and ExecuteButtonPulse?

92
New cards

btnD bypasses the normal command-event interpretation and acts as a direct state-management signal.

How is reset routed differently from btnC, btnR, and btnU?

93
New cards

Reset establishes known machine state rather than requesting a normal arithmetic action.

Why is btnD architecturally different from the other three buttons?

94
New cards

State Establishment

The act of forcing stateful hardware into defined values or phases.

95
New cards

Transaction Request

A request asking existing machine state and datapath logic to perform an operation.

96
New cards

Reset establishes state; Execute requests behavior from the established machine.

What is the distinction between reset and execute?

97
New cards

Reset is not simply another item in the command menu.

Why should btnD not be mentally grouped with NextOperationPulse, SignedModePulse, and ExecuteButtonPulse?

98
New cards

Because reset defines the starting conditions from which normal commands can later be interpreted meaningfully.

Why is state establishment logically more fundamental than requesting an arithmetic transaction?

99
New cards

System-Wide Reset Path

A control path distributed broadly to stateful subsystems so they can return to known conditions.

100
New cards

Controller state, accumulators, iterative arithmetic engines, edge detectors, and debouncers.

What categories of stateful hardware receive btnD reset in the integrated architecture?