- Clone this repository
- Update info.yaml with your project details
- Make a post in the UWASIC Discord server under #onboarding/posts to kick things off!
- Read the full documentation and specifications here
The final implementation will be integrated into an FPGA fabric of a larger SoC. This TinyTapeout template serves as a trackable starting point for initial prototyping and team training purposes.
- Add your Verilog files to the
srcfolder. - Edit the info.yaml and update information about your project, paying special attention to the
source_filesandtop_moduleproperties. - Edit docs/info.md weekly and document your weekly progress on RTL and Verification, along with any comments or concerns you may have.
The GitHub action will automatically build the ASIC files using OpenLane.
This template design has a two-level hierarchy:
CRC_core(submodule): Core CRC computation engine (your main task)tt_um_FCS_yourname(top module): Wrapper with TinyTapeout standard I/O interfaces
For now, focus verification efforts on CRC_core only. The testbench instantiates CRC_core directly, allowing you to thoroughly verify the core algorithm logic before integrating it into the top module. This approach isolates and tests the critical CRC computation logic first.
Note: If you're more comfortable using Verilog or SystemVerilog testbenches for verification, feel free to use those instead of cocotb.