verilog core for ws2812 leds
Clone or download
Pull request Compare This branch is 7 commits ahead of mattvenn:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
Makefile
README.md
cwheel.v
gtk-ws2812.gtkw
gtkwave.png
pinmap.pcf
top.v
ws2812.jpg
ws2812.sby
ws2812.v
ws2812_formal.gtkw
ws2812_tb.v

README.md

WS2812 core

very simple WS2812 LED driver written in Verilog. Demonstrates timing is working.

  • Parameter NUM_LEDS sets the number of LEDs in the chain (up to 255)
  • Data is RGB format, 24 bits.
  • Data for each LED is loaded with the write signal
  • expects clock to be 12 MHz

ws2812

Makefile

make debug

Use iverilog to run the testbench and show the results with gtkwave

gtkwave

make formal

Use symbiyosys to formally prove certain aspects of the core

make prog

Synthesise and program bitstream to 8k dev board.