The importance of Simplicity

This week, I learned to calculate the memory size of Kernel elf file and assign memory blocks accordingly. First, I need to generate an elf file from the C++ source code. Then, by using regex, I can extract the size of instruction memory and data memory from the elf file. Instruction memory is equivalent to ROM and data memory is RAM. For the company’s current choice of fpga (Xilinx Spartan6 LX9), each block of RAM is 18kbit configurable up to Read more…

Bug

Basically this week was quiet good for me. After such a long time stuck and trying to fix the bug at last I managed to fix it. The main problem is the way the code filter the fields were wrong which eventually made the aliases and propertyName that I used in View file are not working.  After finish fixing the filter, I proceed to fix all the pages that related to it. This bug made me realize that I need Read more…

The End of A Journey Does Not Matter, It Is the Journey That Matters, In the End

I started off this week by briefing a new intern that will be taking over my project as this is my last week of internship. I organized so that I can explain everything on the project by going through one by one from the basics to the complicated process of designing in Verilog. At first, I started with showing the Verilog mode in Emacs and viewing waveforms in GTKwave after writing a test bench. After that, I demonstrated the use Read more…

Learning from mistakes

I made a mistake when I was integrating the simulator’s functionalities into the other project. I got the wrong idea for testing the simulator but luckily Dr. Shawn corrected me and he taught me where to start with. After I have added some files and separated the back-end and front-end, I decided to commit the changes and push it to the develop branch. When I check the logs before I push the changes, I realized that the latest commits were Read more…

Additional Functionalities of the API

This week I managed to finish off the REST API except for the REST client specific specifications which at that time was still undecided. Hence, I proceeded with adding the SMTP functionalities. It took me a while to decide on the best way to take into account the possibility of an email not being successfully sent to its recipient until Dr. Shawn told me that it was somewhat unreliable to predict success anyway so that was a bit of effort Read more…

Why C++ Web Development

I generally receive a stunned look when I tell people that we build everything with C++ where possible, including web applications. It happened again recently and they will usually ask me – Why?!!! I’d like to document some reasons why we chose to use C++ to build web applications here. I shall preface by saying that we will use whatever language that the client specifies for client projects. However, for our own internal projects we prefer C++ over everything else. Read more…

JSON Naming Convention

This week, I finished connecting each module to CPU via a customizable switch. I learned the importance of flexibility in design while I was designing the naming convention for different modules and their signal’s name. Other than creating a working design, I make sure the design is elegant and simple. Also, I recorded the technique I used in Wiki on Github to ensure the next intern will understand it clearly. Next, I will be working on generating a UCF file. Read more…

Design’s Dependency

This week, I learned the importance of creating a program that is stable without relying on information from other files. This is important when it comes to designing a robust algorithm. Initially, I made a program to extract information from generated Verilog file, so that the naming of pins from Json side matches with the naming on Verilog side. But this causes the program to be unstable as the timing of generating file could be simultaneous. Therefore, I redesign the Read more…

When Good Enough Isn’t Good Enough

I continued to work on the large microphone only to find it was not working. It was weird as it has same characteristics as the small microphone and the design worked on the small microphone. I tried to change the width of the debouncer and tried a design without debouncer as well but it still did not work. Dr. Shawn pointed out if it might be a speaker, producing sounds instead of detecting sounds. Hence, I executed the buzzer design Read more…

Short Week

After a long holiday I am back in the office. This week I only work for 2 days and I only made a little progress with the bug. Right now I still working with the View file and on Friday Dr.Shawn asked me to check 3 things after I told him that I still having problem with the View file. Here the 3 things : Verify that the SQL generated by CakePHP actually retrieves the results Verify that the results Read more…