How dbond762/fpga-lesson_10-string_of_lights-zynq_ps works
This is bare-metal firmware for a Zynq-based LED pattern controller. After initialization, the application rotates a four-bit LED pattern at a configurable interval and direction; button interrupts trigger debounced reads that change speed or pause/resume playback. The tree identifies the AXI GPIO and timer hardware, but the block-design wiring was not sampled, so the diagram shows only documented peripheral roles and firmware interactions.
Main entry points: main.c Application loop · design_1.bd Zynq block design · design_1_axi_gpio_0_1.xci Button GPIO · design_1_axi_timer_0_0.xci AXI timer
Components 11
Firmware
- Application loop
app_component/src/main.c - Four-bit rotation
app_component/src/rotate.c
Programmable hardware
- AXI timer
HW_10_1.srcs/sources_1/bd/design_1/ip/design_1_axi_timer_0_0/design_1_axi_timer_0_0.xci - LED GPIO
HW_10_1.srcs/sources_1/bd/design_1/ip/design_1_axi_gpio_0_0/design_1_axi_gpio_0_0.xci - Button GPIO
HW_10_1.srcs/sources_1/bd/design_1/ip/design_1_axi_gpio_0_1/design_1_axi_gpio_0_1.xci - Switch GPIO
HW_10_1.srcs/sources_1/bd/design_1/ip/design_1_axi_gpio_0_2/design_1_axi_gpio_0_2.xci - Zynq block design
HW_10_1.srcs/sources_1/bd/design_1/design_1.bd
Physical controls
- Buttons
- Direction switch
Other components
- User
- LEDs
Connections 17
- Application loop → AXI timer: configures tick
- AXI timer → Application loop: tick interrupt
- Application loop → LED GPIO: configures and writes
- Application loop → Button GPIO: configures and reads
- Button GPIO → Application loop: button interrupt
- Application loop → Switch GPIO: configures and reads
- Application loop → Four-bit rotation: rotates pattern
- Application loop → LEDs: drives output
- User → Buttons: presses
- User → Direction switch: sets direction
- Buttons → Button GPIO: input signals
- Direction switch → Switch GPIO: input signals
- LED GPIO → LEDs: output signals
- Zynq block design → AXI timer: instantiates
- Zynq block design → LED GPIO: instantiates
- Zynq block design → Button GPIO: instantiates
- Zynq block design → Switch GPIO: instantiates