Experiential

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 to a page, which varies based on the device. The write size, however, can vary between a row, a quad-word and a Read more…

Experiential

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 worked on writing the bit stream on the flash which will be done using a PUT command¬†and also reading it from the Read more…

Experiential

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 separate function, using the MPLAB X built in TRNG (true random number generator) library. As for the configuration bitstream, it will be Read more…

Experiential

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 to observe the waveform output but failed to compile it because there were errors. Dr. Shawn pointed out that it was due Read more…

Experiential

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. The HOTP code is based on a work done by one of the previous interns. As Dr. Shawn pointed out, the main Read more…

Experiential

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 the work done on Tuesday and Thursday, setting up new pages, enhancing already implemented features, such as the “date picker” and “auto Read more…