70 likes | 90 Views
Dive into FPGA and CPLD programming with Craig Duffy's comprehensive lectures covering VHDL, SystemC, C language, and BIOS interactions. Hands-on sessions with Puppeteer boards and SA1110 processor. Practical assignments to implement components and reprogram FPGAs. Access literature and resources via PuppeteerDocs on kenny.netlabs.cems.uwe.ac.uk/~cduffy.
E N D
System on ChipIntroduction to Craig’s part Craig Duffy craig.duffy@uwe.ac.uk
Overview of lectures • Using FPGA/CPLDs as programmable devices • How do they differ from ‘normal’ components • Example using DIO on Puppeteer – we will be using C under Linux • Configuring and reconfiguring FPGA/CPLDs • Interaction with BIOS and OS • JTAG, ByteBlaster et al • Writing C initialisation code for U-Boot
Overview of lectures • Other methods (than VHDL/Verilog) of programming FPGA/CPLDs • SystemC, Handle C - introduction and overview • Reprogramming an FPGA as part of an existing system • Reverse engineering code • Installation and testing • Review/revision lecture • At the end of the course
Equipment to be used • We will look at the Puppeteer boards • SA1110 processor • Altera 6k FPGA • Programming can be in • VHDL • SystemC • Use BIOS to reprogram FPGA • May use JTAG
Practical work • Looking at programming FPGA from OS/BIOS level in C. • Initialising FPGA on boot up • Approaches and code examples • Reprogramming FPGAs • 3 main areas • DIO driver • Serial control lines • SMC Ethernet controller/interrupt controller
Assignment • There will be one large piece of work which will be used for assessment, and that will be implementing and testing one of the components from the final practical. • Deliverables • Research/design • Code • Demonstration of running code • Short write-up
Literature & sources • Few books/articles in this area • even less under £70! • We will use datasheets and manuals • Most are available on my kenny home page under PuppeteerDocs • kenny.netlabs.cems.uwe.ac.uk/~cduffy