Its all about SD cards!

Following the disaster of having the 4gb Kingston SD card stop responding, the focus of the week was to find a way to get the non-responsive SD cards to work on the PICTail. A lot of knowledge was gained about the SD cards initialization process (the process at which some of SD cards stop responding). Debugging the MDD Initialization Stack from Microchip Continuing on from the previous week, debugging was continued on the current Initialization process from Microchip. Following the Read more

Let the Integration Begin

By the end of this month, I should be able to integrate everyone’s project in to mine, and manage them  to produce the desired output I started with Verilog synthesizer.In this process, I’m supposed to execute a shell script that takes a .v file and runs on it three software ,namely xilings , Ngbuilds and Data2mem, to produce a .bit file that contains the configuration bits for the fpga to implement the design of the user. I finish this task Read more

Environment Variables for Xilinx tools

Last week I created a script to run all Xilinx tools required for implementation from the command line. We are using the 14.4 version of Xilinx software. Before using any of the tools in this version a Xilinx script is required to be executed to set required environment variables. However the script sets variables for many Xilinx tools such as Vivado and Plan ahead that are not necessary for our process. Hence, this week I had to dig through Xilinx Read more

MASTER & SLAVE Modes

My next task was to do something to make the PIC able to switch between the MASTER mode and the SLAVE mode. Generally, the MASTER mode will be the mode where the PIC will be acting as a server and will be receiving the bitstream from the Internet and then save the bitstream into the SD card, while the SLAVE mode will be the mode where the PIC will be reading the bitstream from the SD card and send the Read more

Redesigning the Base64 Decoder and more about SD cards

This week was a real eye opener in many ways. Physically I was unwell, and mentally I was fatigued. But it throughout the week, I picked up a lot of advice from the supervisor and I hope I was able to implement some of them in my work this week. Bitstream Header File The first task of the week was to look at what was learned from the research done on the Bitstream Header File. As explained previously, the Bitstream Read more

Interacting with the Compiler

this week was a very frustrating one, full of mysteries and brain teasers… I spent the first few days trying to get the compiler to compile some error code,and get the error message . The challenge was without using shell commands. This lasted for a day or more before I figured it out, but at the end I ended up using shell commands as the code I produce was very risky and may crush the my application. After that , Read more

Prototype SOC completed

The goal of this month is to get everything in the project working starting with the code the user is going to enter until the final bit stream that can be downloaded to the FPGA. This week has been quite productive. First of all the SOC is complete. I have tested various modular switches differing in the number of devices each accommodates. I have tested switches that can accommodate numbers of devices starting from 2 devices all the way to Read more

Detailed look at bitstreams, and a taste of Base64 and SD card CRC

Much of the week was spent trying to find out as much as possible about the Xilinx bitstream file formats (.bit). The actual configuration within a bitstream file is encrypted and is not available for public use. The FPGA usually contains the encryption key to be able to run the .bit file and configure itself. So the following information was gather regarding bitstreams, and some of the interesting features about the bitstreams. What is a Xilinx Bitstream? The full internal Read more

Real Work Begins

After tuns and tuns of reading, my supervisor gave me  the green light to start working on my part , the web Interface. in this week, My main task was to implement the Ace editore using C++ webtool kit into the editor web page . With the help of  webtool kit and ace documents, I managed to finish this task the very first day! However all my problems started at that point. The next step was to manage to get Read more

Base64-Encoded CRC16-Included Uploading

Last week, I was only able to verify that the CRC16 feature in the SD card is working. The data will only be written into the SD card when the CRC16 given is correct. If the CRC16 isn’t correct, the SD card will not contain the data in the respective sector and a CRC error will be returned from the SD card and the writing process cannot be continued. The CRC is hardcoded within the code to send the same Read more