Enlightenment

This makes my 11th week with Aeste. I started off by implementing the generation of the RNG key which is to be read from the flash and performing even more trials to make sure it works exactly the way I believed it did, which Dr. Shawn stressed. Because most interns including myself half-ass everything 90% of the time, and the code is just yolo. I believe my half-assed implementation worked, but the Flash and FPGA libraries were still full of flaws, and Dr. Shawn notified me Read more

PostgreSQL

I start this week by working with PostgreSQL which is a new thing for me. I have to learn how to use it first before I start.  So basically this week I try to familiarize myself with PostgreSQL and doing some SQL commands to solve fix the bug. But in the end of this week I just realized that I have misunderstood Dr Shawn’s instructions and the way I use PostgreSQL was wrong because I was not using the development Read more

WISHBONE

For this week, I work on instantiating the modules. Each signals’ name need to be the same as object’s name. For example, a signal named ‘ack_i’ should have an output like ‘B1_ack_i’ as ‘B1’ is the object name. This is achieved by using substring in an AUTO_TEMPLATE. Then I make sure the necessary information will be successfully captured by the computer. For now, I have each module instantiated and ready to be connected to the computer. To allow communication between Read more

Week 3

I basically did the text processing part on the first day of this week. By using regex, the program is able to read through a template and output the signals’ name on a Verilog file. But this technique is not suitable as the user has to make sure that the device is compatible with the template. I basically spent most of the time studying JointJS before I get to talk to Dr. Shawn. We realized the problem of reading the Read more

Learning SQL

This week I have started doing my first task which is I have to deal with SQL. At first I have to struggle a little bit to understand how SQL works in CakePHP. Luckily Dr Shawn gave me some tips and advices. He said I can work with SQL inside the controller, table or manually which is the last option. For this project, it was previously done inside controller so for me to understand how to make SQL works he Read more

One by One Till All Done

Modifying the debouncer design was how this week started and end for me. I used a counter for my previous design but this was not recommended by Dr. Shawn since it takes up a lot of space and the design could be simplified even further just by using a Linear Feedback Shift Register (LFSR). LFSR use a shift register for the input bits that is dependent on its previous state. In a way, the design would be more efficient and Read more

Comparative Judging

After delaying the comparative algorithm aspects of the application for some time, it was great being able to finally make some implementable progress on it this week. It began with the primitive idea of using the normal distribution to estimate relative difference in scoring between two players based on the percentage of judges in favour of a player over the other. This did pose a minor problem in the event that all judges vote in favour of or against a Read more

Flash & Bitstream

I started off this week by troubleshooting and testing the flash functions. In harmony there are two non-volatile memory drivers, NVM and Flash. Usage of the flash driver is simpler compared to NVM. The functions allow you to write a word, quad word, or a defined row size. Though you must handle bit-shifting when writing large data. You’ll find how the functions work in this documentation. After I’ve verified its functionality I attempted to test it by writing a dummy key for the Read more

Debouncing

Bouncing is the likelihood of metals to come into contact with each other, when the contact is opened or closed, producing unwanted multiple signals. Debouncing is the method of making sure only one desired signal is produced based on a single opening or closing of a contact. I have proceeded with the next module, push button. Dr. Shawn said that it required a debouncer since the push button has the tendency to bounce. I find it interesting learning how debouncing Read more

The flow

This week was mainly spent finishing up the flow of the program. I first started with modifying the data file importer to accommodate the requested changes and continued with the addition of the CRUD functionalities of the admin page. I then started work on the MC page to handle the entire event. This mainly involved handling the logic on the flow of the program and how the various roles interact with each other. Then followed some automation of the process Read more