I have added an AXI-GPIO block and used it to connect to my own verilog. I have learned how to route EMIO to external ports without any verilog.Using EMIO, I am able to control and blink the four super bright LEDs that are SMT devices on the S9 board. My idea now is that I would like to use some verilog to control them. I have a fancy LED control scheme that I used with the EBAZ to control a pair of LED on that board. I might want to also use that here, but I would also like to do some PWM to reduce the LED brightness. I would like to have some registers to control the PWM rate and duty cycle. I could do that with AXI-GPIO also, but I would like to learn how to add AXI IP of my own.
We can create slave or master AXI devices, we will start with a slave. Perhaps the simplest thing I can imagine is a slave with a single register that contains a constant value. We will aim first at that.
What I will probably do next is something almost equally stupid, like setting up a thing that will have 3 registers, 2 input registers give 32 bit values and the block adds them and returns them in the third register. Maybe a fourth register will be needed for control and status or maybe not. And we could retain the constant register as an ID register.
Tom's Computer Info / tom@mmto.org