And just like that we have reached the end of the lab manual series.
The lab starts off from where we had left off earlier. Just to recap -
- We now have a bitstream containing our PWM IP
- We also have attached an ILA to monitor transactions.
So now we move onto building our .elf file - on SDK. We have to start by importing one of the codes given in the zip files - LED_Dimmer_Init.c . It's a very straight forward code - and after reading the dma_test.c, this one seems to be like a cakewalk. But for the sake of those reading the code for the first time, I would briefly cover the code -
- Initialize a ScuGIC interrupt for the PWM IP. Even though it never will be used, it is good practice to do so.
- Set the brightness level according to the user's preference.
- Run the LED using a PWM signal - where the level depicts the width of each duty cycle.
Output of the code is :
Just to answer some curious lads out there.
I removed the lines calling the interrupt system setup function (see here My repo ). Question is - will it still work or not?
Sure enough worked like a charm !
The second part of the lab talks about using the AXI-JTAG Master IP.
The AXI-JTAG Master core is an interactive IP where the user can constantly interact with the bd IPs through TCL.. To be honest, it is a really cool sounding IP. Can be very helpful in debugging especially the AXI IPs. Below are few of the screenshots I've tested out :
So that wraps up lab 8. Has given full justice to the AXI-JTAG IP core and the ILA IP core.
Nothing much covered in this lab. I really didn't see any important topics being covered. Just like a brief summary of everything we have done in the past 8 labs is being tested here. The size of the course material would be much less intimidating if they removed the number of labs - one being this one.
So that finally finished the labs. It has been a very brief journey, but yes, learnt a lot no doubt. Just to briefly cover up the pros and cons of the material :
- Lot of screenshots.
- Material wise - pretty decent
- Unnecessary headers - a brief run through the labs is required to remove the extra bits. eg. Revision History
A really good training material set to start with. Would definitely suggest this to material for someone who want an in-depth tutorial on today's Vivado. However, for someone who is already experienced with this material or just wants a brief revision I would not recommend this course (way too long and too many screenshots. One gets tired after scrolling through a pdf so much ! )
Aah now the fun part - the project.
I am keeping it a secret . It is something one has not tried out before, so it might take me time to release a stable version of it. Regardless of the result, a blog is scheduled to be released on the 29th of Feburary talking about my progress.
So well, mark your calendars I'd say ! Until next time !