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…

System on Chip

Compared to my work the title might be a little too fancy but hopefully our switches will evolve from simple switches to a smart interconnect between the processor and all other system components. Do you remember the second version of the accelerator switch I talked about in my previous blog post? It turned out it’s not a good choice. The reason is that in my implementation I inferred a tri-state buffer inside the design. However, tri-states should only be connected Read more…

How big is thy Bitstream?

It was an up and down week of sorts. It didn’t start off but as the week wore on and with some crucial help/advice from the supervisor and colleague, the desired task was achieved, although it is yet to see if it was the best solution to the problem at hand. One important aspect of problem solving that was picked up during the week was the fact that the objective must be clear to be able to solve any problems. Read more…

Plans to Integrate the Base64 Decoder and Activating the CRC in the SD Card

The reason why the Base64 decoder is not working is because the buffer for storing the bit is a bit too short, I changed the buffer into a 32 bits variable so it can store all the 24 bits. After that I found that the if condition which will split the 24 bits into 3 8-bits bytes is not working, I then changed the condition from detecting the the 25th bit which indicates that 24 bits had been shifted into Read more…

Web Interface

this week was quite an interesting one I got familiar with my work place. I made some new friends with whom I shared a meal or two together. As for my studies I read through the Webtool Kit tutorials and references , and I managed to code my first project using WT kit. My project is a simple form that takes the user data ,and prompt him/her to send a message to the customer service of our company. At first, Read more…

I2C core and accelerators switch

The I2C core made a lot of progress this week. While I was hoping last week not to use a FSM in my slave I couldn’t resist the temptation. My slave have a FSM and is almost 95% ready. The hardest part is the acknowledge part. Not only that the slave need to send acknowledge when the master is writing to it but has to receive acknowledge when it’s writing to the master. Each acknowledge signal has it’s own meaning. Read more…

Text Area Input and Base64 Decoder

My next task would be to work on making the HTTP to upload the data in data-form instead of file form. I had the text field input integrated with my current HTTP code so I tried to upload a 350KB file with it. It turns out that the upload is not working. My supervisor then told me to change the input from text field into text area. I then looked up the internet for information on the text area. I Read more…

Deeper into the realm of SD cards

After scratching the surface into the world of SD cards and how they store data, almost all of the week was spent into trying to figure out as much as possible about the abilities of these storage devices. Admittedly, I was led astray by my own curiosity about the File system on the SD card and wasted a lot of time troubleshooting and studying up on something that is not relevant to what we are trying to do. Promptly I Read more…