Skip to content

vyges/pwm-controller

Repository files navigation

Vyges IP Template Use this template License: Apache-2.0 Build

PWM Controller IP - Quickstart

Overview

This repository contains a configurable, multi-channel PWM controller IP core, ready for SoC, FPGA, and chiplet integration. It supports APB4, precise frequency/duty/phase control, and advanced safety features.

Directory Structure

  • rtl/ - SystemVerilog RTL source
  • tb/ - Testbenches (SystemVerilog and cocotb)
  • integration/ - Wrappers and example top-levels for SoC, FPGA, chiplet
  • flow/openlane/ - OpenLane ASIC flow config
  • flow/vivado/ - Vivado FPGA flow scripts
  • docs/ - Design spec and documentation

Simulation (Verilator/SystemVerilog)

# Example: Run SystemVerilog testbench
cd tb/
make -f Makefile sv_tb
# Or run with Verilator
make -f Makefile verilator

Simulation (Python/cocotb)

cd tb/cocotb/
make

ASIC Synthesis (OpenLane)

cd flow/openlane/
# Edit config.json as needed
make

FPGA Synthesis (Vivado)

cd flow/vivado/
vivado -mode batch -source create_project.tcl

Example Integration

  • SoC/Simulation: See integration/example_soc_top.v for APB master + PWM
  • FPGA: See integration/example_fpga_top.v for board-level instantiation
  • Chiplet: See integration/example_chiplet_top.v for die-to-die integration

APB Register Map

See docs/PWM-Controller_design_spec.md for full register and interface details.

License

Apache-2.0 License - see LICENSE for details.

Important: The Apache-2.0 license applies to the hardware IP content (RTL, documentation, testbenches, etc.) that you create using this template. The template structure, build processes, tooling workflows, and AI context/processing engine are provided as-is for your use but are not themselves licensed under Apache-2.0.

For detailed licensing information, see LICENSE_SCOPE.md.

Support

For questions, open an issue or contact the Vyges IP team.

About

Configurable PWM controller with multiple channels and precise frequency control

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from vyges/vyges-ip-template