I2C target (slave) on Tang Nano 9K FPGA board integrated with PWM controller dimming LED.
Grug Huhler Grug Huhler
856 subscribers
194 views
0

 Published On Apr 29, 2024

This video shows the results of my search for an open source Verilog i2c target to use on the Tang Nano 9K. I found one and use it as a control interface to a pulse width modulation (PWM) function on the FPGA. It's demonstrated by having a Raspberry Pi control the brightness of an LED connected to the Tang Nano 9K FPGA.

Chapters
0:00 I2C for Tang Nano 9K goals
0:44 Test setup
0:58 Pins and connections
1:32 Search for i2c target
2:39 git clone, branch checkout
4:33 IDE project creation
5:17 Required changes to Verilog
6:24 Constraints file, place and route
7:29 Load onto FPGA
7:49 Raspberry Pi i2c-tools
9:34 C program for i2c
10:40 Integrate PWM controller Verilog
11:19 PWM controller design
14:33 Test PWM function
15:38 Logic analyzer view
16:12 i2c target's register interface
17:02 Alternative i2c targets

Links:

Projects from opencore (each in own git branch):
https://github.com/fabriziotappero/ip...

I2C Test Program:
https://github.com/grughuhler/test_i2...

Clockless i2c target dicussed at end of video:
https://github.com/jiacaiyuan/i2c_sla...
Look in i2c_slave/src/slave/source/

show more

Share/Embed