- created new IP AXI and gpio
- added
-
output [7:0] leds, input [7:0] switches,
import pynq
from pynq import Overlay
from pynq import MMIO
import time
from operator import*
import matplotlib.pyplot as plt
Load the SPI overlay
ol = Overlay(“gpio.bit”)
{‘GPIO_Control_0’: {‘fullpath’: ‘GPIO_Control_0’, ‘type’: ‘spicer.local:user:GPIO_Control:1.0’, ‘state’: None, ‘addr_range’: 65536, ‘phys_addr’: 1136656384, ‘mem_id’: ‘S00_AXI’, ‘gpio’: {}, ‘interrupts’: {}, ‘parameters’: {‘C_S00_AXI_ADDR_WIDTH’: ‘4’, ‘C_S00_AXI_DATA_WIDTH’: ‘32’, ‘LED_WIDTH’: ‘6’, ‘SWITCH_WIDTH’: ‘2’, ‘Component_Name’: ‘design_1_GPIO_Control_0_0’, ‘EDK_IPTYPE’: ‘PERIPHERAL’, ‘C_S00_AXI_BASEADDR’: ‘0x43C00000’, ‘C_S00_AXI_HIGHADDR’: ‘0x43C0FFFF’}, ‘registers’: {}, ‘device’: <pynq.pl_server.device.XlnkDevice object at 0xb02e2710>, ‘driver’: <class ‘pynq.overlay.DefaultIP’>}}
gpio_ip = ol.ip_dict[‘GPIO_Control_0’]
gpio_base_address = (gpio_ip[‘phys_addr’])
gpio_address_range = (gpio_ip[‘addr_range’])
print(hex(gpio_base_address))
gpio_mmio = MMIO(gpio_base_address, gpio_address_range)
gpio_mmio.debug = True
gpio_mmio.write(0x04,0x01) kill the kernal