HMC E155
Home
Syllabus
Labs
Labs Overview
Lab Specs
Lab Report Template
Lab 1
Lab 2
Lab 3
Lab 4
Lab 5
Lab 6
Lab 7
Lecture
Project
Resources
Tutorials
On this page
Lab 3 Specifications
Lab-specific Specifications
General Specifications
Comments
Other Formats
PDF
Lab 3 Specifications
Lab-specific Specifications
Proficiency
Circuit correctly reads inputs from
\(4 \times 4\)
keypad.
Dual seven-segment display shows the last two hexadecimal digits pressed.
Most recent numeric entry is shown on the right.
Design does not lock up when multiple buttons are pressed at once. (i.e., it just holds the current values on the display and functions properly again when the buttons are released.)
Each button press registered only once (e.g., no switch bouncing)
Seven segment displays are same brightness regardless of how many segments are illuminated.
Design has no latches.
Design has no tristate buffers.
Report includes state transition diagram(s) illustrating the operation of the system.
Excellence
Design uses synchronizers on asynchronous inputs to mitigate metastability.
Design only registers first button press if additional buttons are pressed down while holding down one button.
Keypad and seven-segment display are aligned in the same orientation (i.e., the top of the numbers on both are facing the same direction).
State transition diagram is completely specified (i.e., all transitions between states are specified, output conditions specified in each state)
Report includes state transition table to document the nextstate and output values for each state based on the current state and inputs.
Report explains tradeoffs between the chosen design decisions and alternatives (e.g., why did you select a certain switch debouncing strategy and what are the tradeoffs between your chosen method and others?).
General Specifications
Schematic Specifications
Proficiency
All pin names labeled
All pin numbers labeled
Crossing wires clearly identified as junction or unconnected
Neat layout (e.g., clear organization and spacing)
All parts labeled with part number
All component values present
Excellence
Standard symbols used for all components where applicable
Signals “flow” from left to right where possible (e.g., inputs on left hand side, outputs on right hand side)
Title block with author name, title, and date
Block Diagram (Required for labs 1, 2, 3 and 7)
Proficiency and Excellence
Block diagram present with one block per SystemVerilog module
Each block includes all input and output signals
HDL & Code Specifications
Proficiency
Descriptive filename that matches module name (e.g.,
lab2_jb.sv
)
One module per file
Descriptive variable names
Neat formatting (e.g., standard indentation, consistent formatting for variable names (kebab-case/snake_case/camelCase/PascalCase ))
Descriptive and clear function/module names
Comments to indicate the purpose of each function/module
Excellence
Name, email, and date at the top of every file
Comment at the top of each source code file to describe what is in it
Clear and organized hierarchy (e.g., delineation between top level modules and submodules)
Testbenches written for each individual module to demonstrate proper operation
Testbench output for each module included in the report
Writeup/Summary
Proficiency and Excellence
Statement of whether the design meets all the requirements. If not, list the shortcomings.
Number of hours spent working on the lab are included.
Writeup contains minimal spelling or grammar issues and any errors do not significantly detract from clarity of the writeup.
AI prototype attempted and some reflection is recorded.
(Optional) List comments or suggestions on what was particularly good about the assignment or what you think needs to change in future versions.
Comments
Add specific notes here about the assignment.
Comments
Add specific notes here about the assignment.