A Step in the Debugger

Debugger After trying on the break point implementation last week, I decided to work on interface with Sumia and Islam’s code. As pre-discussed with my supervisor, the simulator should be the back-end engine and should not have any visible interface in the Web Application. In order to ensure things going well, I took everything work on step by step, as I thought that things will not goes well if I merged all the break point codes that I had implemented Read more

Getting it Right!

Sadly I’ve just realized that my internship is getting closer to the end. Cannot really describe how I feel… Just mixed feelings. But what I really know is that this period has really enriched my life in all aspects. lol, Stop being so dramatic and get back to the work girl 3:) ! Introduction: This week I continued working on the integration of the project. Last week if you still remember I was stuck in the driver and I/O addresses. Read more

Placing Components and Decoupling Capacitors

Last week after finishing the schematics I started with assigning and creating the components footprints. This was the first thing I finished this week, though it took some time to finish them. Afterwards, I started with placing the components on the board. Placing Components First things first; our board is compatible with the Arduino board, so its size should be the same as Arduino. Also, I/O ports should be located as the same location so Arduin’s shields and modules can Read more

Next Step on CPU

The C Program Compilation of RISC-V Angel After weeks of debugging the 32-bit RISC-V engine, discussion with my supervisor, and searching over the internet, I finally found out the problem. The problem is with the stack pointer, the RISC-V Angel is not designed in the way of initializing their own stack pointer. Therefore, I have to initialize the stack pointer manually or to create a new crt0.o that initialize the stack pointer to solve the problem. Fortunately, the manual initialization Read more

Drivers and I/O Addresses

Well this week the progress was relatively slow, and the output could really approach to zero, although the task at first glance seemed quite easy and that it could be done within one day only 😛 . Picking up from where we left off last week, the total project integration continued. In this week my task was divided into three: first I should modify some part of project which related to Xilinx synthesis tool (XST) and the project file that Read more

Instruction Set Architecture

RISC-V instruction set architecture (ISA) is designed to support computer architecture research and education, and completely free for academia and industry use. By using the reference of RISCV-Angel, which is running with the RV64 (64-bit) architecture. My task is to make sure that the RISCV-Angel is able to run on the RV32 (32-bit) architecture as well. The debugging of the Hello_World program is not going well as I am still getting the “undefined error 0”. Thanks to my supervisor, whom taught me Read more

Schematics Modifications

Now for real, the circuit is finished, and I have started with assigning and creating the footprints for the components. There are no one major updates this week, but rather a lot of changes and modifications to the schematics. As usual, here is the visual diff for this week. Additions are in cyan, and deletions are in red. Now to the details. Adding SPI flash memory Originally, there was only microSD card connected to both the FPGA and the PIC18 Read more

Verilog Integration

This week I started to integrate everything together starting from the generation of the C++ code by the user up to the creation of the final bit stream. It’s the time to get every part of the project work side by side with each other. Verilog top module and EMACS: To begin with, I’ll first talk about the changes I made on my way of creating the Verilog top level module from the C++ code. If you still remember we Read more

4-Pin ICSP and USB

Good news everyone, the circuit is finished 😀 ! Well, not so fast! Now everything is connected, but there are some last minute modifications to the circuit that were introduced just now. I will work on those first thing next week, and hopefully, I will start with the PCB layout. Here are the updates for the last week. First, here is the visual diff of the root sheet. Edit from last week: Cyan is Additions, and red are Deletions. In-Circuit Read more

JavaScript and Witty

This week is pretty challenging, I was assigned on task of putting a CPU into web application. The first thing to be done is to analyze the code of the CPU, it was written in pure JavaScript. The Best Way to Learn JavaScript I found out that the previous learning on JavaScript is too shallow, the knowledge of JavaScript learning from website is always not sufficient to be applied in project. However, the  best way to learn would be hands-on Read more