Introduction
In this lab, you will implement a fixed-point Sigmoid lookup-table module and a 4 × 4 output-stationary systolic array for matrix multiplication. Complete the RTL designs and verify them using the provided tests.
Lab Overview
Lab Tasks
Download the Lab 3 materials.
Complete two independent RTL exercises:
- Part A: Sigmoid. Use the provided 64-entry lookup table to implement input clipping, address calculation, and the output pipeline, including valid handling and reset.
- Part B: Systolic GEMM. Implement a processing element (PE) and a 4 × 4 output-stationary systolic array for unsigned matrix multiplication, including data forwarding, accumulation, and transaction control.
Grading (100 pts): RTL designs: 65 pts. Report: 20 pts. Verification and boundary-case handling: 15 pts.
Note: Please refer to README for the detailed requirements and instructions.
Lab Files
The Lab3 directory provides the RTL starters, the Sigmoid lookup table, testbenches, test scripts, and a Makefile.
Complete vsrc/src/sigmoid.v, vsrc/src/pe.v, and vsrc/src/systolic_array.v.
Environment setup and commands for both SISI and SIST are described in README.
SISI students are advised to follow SISI_ENVIRONMENT to set up your local environment.
Requirements
Complete the three RTL files and verify both parts with make test, using the command for your environment in the README.
- Implement the datapath and control described in the README.
- Keep the supplied file paths, module names, parameters, port lists, and Sigmoid LUT values unchanged.
- Keep the supplied testbenches and checking scripts unchanged.
Submission
Before submitting:
- Package
sigmoid.v,pe.v,systolic_array.v, and your report together in a ZIP or TAR archive, then submit the archive. - In the report, explain the Sigmoid fixed-point design and approximation error, and the PE/array architecture, dataflow, timing, protocol, and resource count.
- Include the output of
make test. Do not include build artifacts or generated vectors/results in the archive.
Important
If you used AI, follow the class requirement and submit a separate AI report on Gradescope.