Nancy’s Status Report for 4/19

This week, Amelia & I worked on integrating our RTL with our many I/O components. On Monday, we fixed our issue with the rotary encoder skipping over values when going A-Z on our 7 segment display and then moved on to getting the rotary encoder to control the actual rotor settings, not just proxy 1-8 and A-Z variables. This led to some strange glitches that we then worked on debugging, which we still need to finish. On Wednesday, we worked on connecting the DE10’s GPIO pins to the PCB itself. This led to some strange issues, like some of the GPIO pins on the FPGA itself not working as expected, even when we just tested it with breadboard components. However, since Tanisha had gotten the PCB components soldered, we wanted to start working on the shift registers for the lampboard to make sure that worked as well. So, on Friday Amelia & I worked on getting the lampboard to work. We first started with a single shift register on a breadboard, and after some debugging, we got the lampboard to successfully display letters we input from the PS/2! This week, we will finalize our presentation and work on fully integrating, including working through the bugs with the 7 segment display and getting the lampboard to display the encoded data, not the PS/2 input data.

Over the course of this semester, I have learned a lot from this project. When selecting the right components, FPGA, and overall implementation, I had to read a lot of datasheets and documentation. While we’ve been introduced to this in classes before, it was definitely more daunting since there was less guidance, but overall it has made me more confident in my ability to evaluate the important information from these documents. Additionally, I had never worked with external I/O with an FPGA. This involved going beyond what I learned in 240/341. Similarly, we had to implement communication protocols at a lower level than using something like an Arduino library. This involved a lot of scrolling through the Internet on various forums and FPGA hobbyist blogs, as well as comparing Arduino library code to existing RTL implementations.

Leave a Reply

Your email address will not be published. Required fields are marked *