W05 — Pipeline Implementation in Java

As mentioned in my previous post, this week I will be working on source codes for the 5 classic stage of RISC (Reduced Instruction Set Computer) pipeline which includes fetch, decode, execute, memory access and writeback. But before I get my hand started on these, I was reminded by supervisor to generate documentation for my source code (basic processor class) so that outsider (or including I myself) could understand the code well int future by reading on the comments and then Read more

Week 1001

Dear diary, This was my 9th week at Aeste and 2nd working on ECDSA. I am surprised but there actually is some progress in my current project. Field arithmetic part (most important) is almost done so starting from next week I can proceed to implement actual algorithm, which is not that hard after all, but requires operating on big, non-standard size variables. As I progress with my work, I start to experience a problem that I didn’t have to worry Read more

Week3: PIC18 Schematic (cont’d) and Using a Raspberry Pi for SPI Testing

Last time, we faced the challenge of designing the circuit and hardware interfaces of our Spartan-6/PIC18 board. This week, we return for more work on the schematics and shift focus to a different aspect of our project: writing the firmware for the PIC18. My colleague, Jia Xien, has been busy working on SD cards and establishing the TCP/IP stack on the PIC18, but I will be trying to configure the device as an SPI slave, so our projects are quite Read more

Week 04 – Modifying the HTTP Source Code

It turns out that the TCP/IP MDD Demo given by Microchip is not that useful. It mainly redefined all the functions to open webpages stored in SD cards instead. They did not modify the part where the original used to upload a file.But a file named “FileSystem.c” is particularly useful because it shows that which MPFS-related functions should be replaced with which FSIO-related functions. As a conclusion, I did not use the TCP/IP MDD Demo and put my focus back Read more

Week 01: Introduction->Tutorials (Git, Git Flow, C)

That’s RIGHT! I am the daring kid who asked for a medical leave on my first day of work! As an advice to all other interns or future-interns, never do what I have done! Despite of all the terrible things happening on my first day, I did carry on my internship and unbelievably, I have survived the first week. Basically, the first week was more about learning and understanding tools that will greatly assist me in implementing my tasks during Read more

11- Initializing Block RAMs using DATA2MEM

I’m still working on how to initialize Block RAMs using DATA2MEM software. I have managed to produce a bit file with initialized RAMs. What’s left is to write a linker script to suit our addressing space, write a C file to blink the LEDs using GPIOs and finally get this working on the board. In this post I will give a step by step guide regarding using DATA2MEM starting from the initial system design to the production of a BIT Read more

Week 1000

“Welcome to Galois Field F(2m) where elements are made up and carry doesn’t matter” If this sounds familiar you should probably turn off TV sometimes (or youtube).   Nothing much was happening this week, I mostly spent it struggling with understanding and at later stage designing the ECDSA module. Man, that was quite a lot of algebra… and fun. Because it’s not so popular topic (you know it when wikipedia starts to be insufficient) I had to dig through a Read more

W04- (cont) Basic Pocessor Class

This week wasn’t very productive on the first few days as I can say. Has been working on source code that is to build a basic processor class in Java. Although the name of it is so called a BASIC processor class but unfortunately it isn’t 100% fall on the “basic” category for me. The fact that implementing the knowledge of microprocessor into source code format getting me confuse from time to time and I couldn’t clear out bugs that appeared. Read more

Week 5: Wrong path taken

My task for this week is to determine the interface of the remoteproc framework. As shameful as I could be, I still couldn’t figure out the interface and what is needed to make the framework runs. After some discussions with my supervisor, I was told that my work method was all wrong. I’ve been reading too much the Linux source codes and obviously this is going to take forever because Linux is very complicated and it is impossible for a Read more

10- SOC

My new task is to design the SOC for the current product that we are working on. However, before getting to the actual design there is few tasks that need to be done first. Last week the task was to connect the AEMB2 processor to two block RAMS, one for data the other for instructions. In addition, a gpio is to be connected as well. Connecting the instruction RAM was pretty forward. The GPIO and the data RAM both connect Read more