Skip to content

WickedStereo/TIDC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TIDC (TileLink to Directory Cache)

This repository contains two variants of the TIDC design:

  1. Standard Variant: Original parameterized design
  2. Verilator Variant: De-parameterized version optimized for Verilator simulation

Repository Structure

TIDC/
├── variants/
│   ├── standard/           # Original parameterized version
│   │   ├── rtl/           # RTL source files
│   │   ├── tb/            # Testbenches
│   │   └── Makefile       # Variant-specific Makefile
│   └── verilator/         # De-parameterized verilator version
│       ├── rtl/           # RTL source files
│       ├── tb/            # Testbenches and C++ testbench
│       └── Makefile       # Variant-specific Makefile
├── common/                # Shared utilities (if any)
├── docs/                  # Documentation
├── Makefile              # Top-level Makefile for variant selection
├── README.md
└── .gitignore

Quick Start

Building and Running Simulations

The top-level Makefile supports both variants. Use the VARIANT parameter to select which version to build:

# Build and run verilator variant (default)
make

# Build and run standard variant
make VARIANT=standard

# Build and run verilator variant explicitly
make VARIANT=verilator

# View waveforms for verilator variant
make VARIANT=verilator waves

# Run lint check on standard variant
make VARIANT=standard lint

# Clean all variants
make clean-all

# Test both variants
make test-all

# List available variants
make list-variants

Variant-Specific Details

Standard Variant

  • Location: variants/standard/
  • Features: Full parameterized design
  • Simulation: Standard Verilog simulator compatible
  • Build: make VARIANT=standard sim

Verilator Variant

  • Location: variants/verilator/
  • Features: De-parameterized for Verilator compatibility
  • Simulation: Verilator with C++ testbench
  • Build: make VARIANT=verilator sim or just make

Development Workflow

Working with Variants

Switching between variants:

# Work on verilator variant
cd variants/verilator
make sim

# Work on standard variant  
cd variants/standard
make sim

Testing both variants:

# Test all variants from root
make test-all

Contributing

When contributing:

  1. Determine which variant(s) your changes affect
  2. Make changes in the appropriate variants/ directory
  3. Test using the variant-specific workflow
  4. Consider impact on other variants
  5. Update documentation if needed

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published