Skip to content

Prabalakshmi/axi-pwm-controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AXI-Lite PWM Controller

This project implements a PWM (Pulse Width Modulation) generator with an AXI-Lite slave interface for control.

Modules

  • pwm.v: A simple PWM generator module.
  • axi_pwm.sv: An AXI-Lite slave wrapper for the PWM module. It exposes control and data registers to an AXI bus.

Register Map

The AXI-Lite interface provides access to the following registers:

  • 0x0 (ADDR_CONTROL): Control register
    • [0]: enable (1 to enable PWM, 0 to disable)
    • [1]: soft_reset (write 1 to reset the PWM core)
  • 0x4 (ADDR_PERIOD): Sets the PWM period.
  • 0x8 (ADDR_DUTY): Sets the PWM duty cycle.

Synthesis and Simulation

The project includes files for synthesis and simulation:

  • synth_*.ys: Yosys synthesis scripts for different targets (Xilinx FPGA, Skywater 130nm).
  • tb_*.sv: SystemVerilog testbenches for the PWM and AXI-PWM modules.
  • wave.do: Waveform script for simulation visualization.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published