This week I continued to study further on the topic of Wishbone signals and also communication protocols. I tried creating testbenches for available codes that had been designed to observe the waveform output but failed to compile it because there were errors. Dr. Shawn pointed out that it was due to my lack of understanding on the communication protocols thus I was not able to make the codes correctly or verifying the resultant waveform. Therefore, I had to study the communication protocols of GPIO, UART, SPI and I2C thouroughly and understand its operations as well as their timing diagram first.

Each communication protocol have their own unique operations and signals thus creating different patterns of timing diagram. For example, in SPI and I2C communication protocol, the transmission of data is synchronous in which clock signal is needed. Instead, in UART communication protocol, the data is transmitted asynchronously by using start and stop bits to mark the start and end of a data packet thus a clock signal is not necessary in UART. I then got to understand the output waveform that is expected based on its respective operation. Only then I will be able to verify whether or not the design and testbench were made correctly. On the side, I got an advice by Dr. Shawn to improve the pace of my work progress. Hopefully I will get to finish my tasks in a more timely manner in the future.