This week I was assigned a few tasks by Dr. Shawn. The first one is to familiarize myself with tools such as Emacs and GTKwave. Emacs is a handy text editor which are extensible and can also be customized. Meanwhile, GTKwave is a tool for viewing and analyzing waves. I used both these tools for my Verilog design
programs and testbenches. At first, I was quite slow to get myself used to the basic and movement commands in Emacs but after some practice, it gets better. In fact, Emacs have the extended features in Verilog-mode of providing autos in programs which are very helpful.

Besides that, I had the task of understanding the setup, organization and the overall structure in making a Verilog program. I was glad to be given the opportunity to
access the codes that was made by the interns before this as my reference. It was on communication protocols such as GPIO, UART, SPI and I2C. It was interesting to study and run the codes as well as observing the waveform generated according to the testbenches made. Furthermore, I was also exposed on Wishbone System-on-Chip (SoC) which allows the interconnection of cores to each other inside a chip. There are many types of interconnection such as shared bus, crossbar switches and also point-to-point interface connection. The selection of buses depends on its suitability with the application needed.