A stumble along the road

This week hasn’t been the most productive for me. I struggled to finish a simple dummy master to test the GPIO and to successfully connect my interface with the GPIO and make sure that all transactions are wishbone compatible. Having examined my results, my supervisor pointed out the following fatal mistakes: 1- I mixed simulation commands into my verilog devices code. 2- I still think of verilog as software programming and not as Hardware description language. Here is some tips Read more

Second Week: Wishbone SOC

For this week the task is to explore the Wishbone SOC and create a simple interconnect that is wishbone compatible. The interconnect is to be a slave to the processor and contain several masters that control various I/O devices. While learning what I need to do my new task I improved my skills in previously explored topics and came across some nice references. I included those references at the bottom of this article. To learn wishbone SOC I referred to Read more

Designing a GPIO using the wishbone protocol.

For my second week at AESTE, I was assigned to design and implement a GPIO using the wishbone protocol. The wishbone protocol is a standard method that is used by many processors to communicate to their IO devices. It is a format that uses several several signals in its BUS to facilitate the transportation of data to and from IO devices. I was particularly asked to focus on the IO device that adheres to the protocol. Initially my first approach Read more

First week

My First day started with introducing the workplace and the project I’ll be working on followed by a quick introduction about Verilog and the necessary tools that I need to use to do my work. For this week the goal will be to wrap up all the learning that I need to do and make a blinking LED FPGA design ( basic clock delay using counters and I/O) on Xilinx Spartan X3CS700A mounted on Spartan 3A revision C starter kit Read more

First week at AESTE, Kuala Lumpur.

Last week, I was given the opportunity to explore several programs that I needed to use for my upcoming project. These were GIT, Icarus, GTK waveform viewer and finally ISE. I learnt how to store and manipulate files from a repository through GIT. I would recommend GIT to anyone who is interested in software programming. With GIT, you will be able to work on many aspects of a program and merge them when you need to. You could even store Read more

Zedboard on Ubuntu 12.04 LTS

It was fun getting the Zedboard working on Ubuntu 12.04 LTS. We are using 2012.4 version of ISE/Vivado Webpack. There are no major tricks in getting it to work but since there does not seem to be a guide out there, I thought that I’d write a quick one here. Download ISE Webpack from Xilinx here. We are using version 2012.4 here. Unpack the ISE Webpack. $ tar -xf Xilinx_ISE_DS_Lin_14.4_P.49d.3.0.tar Install the ISE Webpack. $ ./Xilinx_ISE_DS_Lin_14.4_P.49d.3.0/xsetup Download the Digilent run-time Read more

http://www.zedboard.org/sites/default/files/pictures/ZedBoard_RevA_sideA_0_0.jpg

WEEK 3 : ETHERNET

I managed to set up physical layer for ethernet connection after solving the error which came from the .c  file that end with ‘#endif’. I just needed to add an empty line after ‘#endif’ and that solved the problem. When the board was powered up, the LED D8 was blinking, the green LINK LED on J1 was lit and the LCD display showed the TCP Stack version and the IP address in use by the board. These indicated that the Read more

Week 2 : UART & TCPIP Stack

In order to allow communication between PIC microcontroller and PC, UART communication needs to be set up.  I wrote a program to send data byte from PIC microcontroller to PC which the output was displayed through Minicom, a hyper terminal for linux. At first, the displayed output was gibberish. This was solved by configuring the baud rate in Minicom setting. I was also able to write a program to receive data byte from PC to microcontroller. I modified my previous Read more

Week 1 : Introduction to the Project

My first week in the company, I was briefed on the project that I need to conduct throughout my internship.  My task is to work on the PICDEM.NET2 development board which uses PIC18F97J60 microcontroller. The objective is to write a program which is able to download file from internet via Ethernet which is to be stored in the SD-Card and then the file can be read from the SD-Card.  Even though my task is just a small part from the Read more

Week #12 – SD Cmds

I tested out the code I had already written and found out that the power up sequence was not working as expected. After consulting with my supervisor he advised me to enable pull-up resistors in port B and test the input and outputs for the each pin. By setting the INTCON2bits.NOT_RBPU to 0, I was able to enable the pull up resistors. I then set my port B as output and checked to see the voltage across the pins when Read more