Category: Experiential Page 2 of 41

Automated Test Bench

Test bench can be deterministic or self-checking. In deterministic test bench, the design’s output are simulated according to the design’s state and inputs specified in the test bench….

Transmitting & Receiving The Bitstream

This week, after a lot of struggle with transmitting and receiving the bitstream, I finally managed to successfully transmit the bitstream using curl and receive it on the…

NVM Driver

This week I was working on flash erase, write and read. Previously I used the NVM driver to access the flash. The erase size for flash is fixed…

A Month of Internship

This week started off with me panicking when I could not find my saved files and codes. I asked Dr. Shawn about it and he fixed it rightaway…

Understanding Verilog Codes

Dr. Shawn would always remind me not to be consumed or lost in the programming language while learning Verilog as it describes the schematic in designing chips and…

NVM write

This week I started on integrating the code and finalizing all the functions so that later on I can include them as libraries in my code. I also…

RNG & Hid_Key

This week I finished the HOTP function which uses MD5 hashing to generate a 6 digit code. The secret key used for the HOTP is generated in a…

Communication Protocols

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…

Preparing for Deployment

It was about time that I finally dealt with all of the bugs (took me long enough) and it’s a good thing that I did, considering how silly…

Second Week of Internship

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…

HOTP and cURL

This week I worked on the HMAC-based one-time password (HOTP) key which is used to encrypt the message. The encryption is achieved using a key and a counter….

Final Touches

With Monday and Wednesday being public holidays, one could say that this was a pretty short week. Continuing with the tasks from last week, I had most of…

Second Meeting

Started off this week trying to finish off my work from the previous one, whereas I was making some progress, it wasn’t fast enough and I couldn’t see…

PCB Fiducial Markings

This week I tried solving the problem I was facing with putting the FPGA in configuration mode, which I have also explained in my blog last week. The…

Second Day of Internship at Aeste

I finished going through all the tutorials of Git. It was very useful for understanding Git, how it works and the methods of using it were clearly demonstrated….