The last hurdle

This is my last week at Aeste. I’m glad that I managed to complete the task assigned to me! Basically, this week is all about wrapping up all my works. I continued working on my sphinx documentation although there were not many things to add because I’ve put everything that I deem useful and essential to the documentation last week. This week I’ve been re-reading my documentation for any potential grammar or technical mistakes. Apart from improving my documentation, I corrected Read more

PCB Complete, Documentation Done and Final Thoughts

In my final week, we wrap up with the PCB design of the product prototype and retrace & document the work completed in my nine weeks at Aeste. For one last time, click here to skip to the conclusion. Routing Completion The design of the circuit board is complete. Last week, it was suggested that it might be necessary to make compromises in the layout, perhaps in routing the RB1, RB2 or Port E pins to the Spartan-6. However, with Read more

HTTP File Upload & Text Field Input Working

I recheck my functions to make sure that the three functions are doing the same thing as the one function. It turns it should be. Then, after some hacking and testing, I found out that the string I declared in the main function will be written into the SD card. I tried to declare the string declaration static, the string no longer is written in the SD card. I reported this finding to my supervisor, he told me that is Read more

Sphinx documentation

Here I am, finishing my 12th week at Aeste, doing documentation for my project. There is not much to tell this week because the only thing that I’ve been doing this is just documentation. For the documentation, my supervisor asked me to use Sphinx. Sphinx was initially developed for documenting python project, but then has evolved to support other programming languages as well. If you still can’t imagine what does it do, just imagine it as a wiki page. Every Read more

http://en.wikipedia.org/wiki/File:Great_Sphinx_of_Giza_-_20080716a.jpg

Raspberry Pi’s gpio-remoteproc driver finished

This week I managed to finished my raspberry pi’s remoteproc driver. At first I thought my custom gpio bus was flawless, but after linking it with the remoteproc driver, and some harsh testings, it turned out to be buggy. Data sent by the remote processor (another Raspberry pi running a simple processor read write emulation program) are well copied but when I verify the host’s memory, the data are scattered as in they are not being copied continuously. After some Read more

SPI down, Uart on the way.

This week I’ve finished the second version of SPI. I basically adjusted the formatting of the code  to be more professional, easier to read and interpret and better commented. My guide is the code for AEMB, it’s formatting, nomenclature and comments. I’ve come across a bug in SPI. Apparantely the slave didn’t capture the last bit at modes where CPHA was 1. I’ve managed to solve this problem and verify both SPI devices in the 4 modes by simulation. As Read more

ECDSA Driver (cont.)

I continued writing the ECDSA driver this week and managed to complete it, including testing it on the simulator. My understanding of the concept of the functionalities of the ECDSA driver was obscure earlier and my colleague who worked on this has already left AESTE when I started implementing this driver. As a result, I had to send him emails in order to clearly understand how to write this driver. I am really grateful that he’s nice enough to answer Read more

Implementing details into pipeline class + code checking

The following 2 weeks will be used mainly to implement details into my current pipeline class so that it could work more closely to the real pipeline process. While keep implementing, continuous code checking and debugging is necessary. Continue from last week work where I need to figure out how to implement so that carry bit is also being taken into account when arithmetic instruction without carry bit and keeping the carry bit is executed. My last week concept on implementing Read more

Pipeline implementation (Final Stage)

Here come the final week of my internship. After I have done my code checking and debugging for Load and Store instruction implemented earlier, I started to work on my main task of the week that is to implement IMM instruction in pipelining. This task actually wasn’t heavy but was a little tricky on its implementation. I was quite confused while trying to figure out the exact data flow of my codes with the IMM instruction implemented. Luckily my supervisor is Read more

PCB Design and the FreeRouting Autorouter

Work on designing the PCB layout continues in earnest. We encounter a few software issues relating to the hardware of the task, which prompt some worried thoughts. As always, here’s a look back at the previous week. Click here to skip to the conclusion. Pin Assignments During design it became apparent that some routing could be done in a more efficient manner if the pins on the Spartan-6 were repositioned. Fortunately, this is possible since the pins on the Spartan-6 Read more