To understand and gain experience in digital system design, I designed and implemented a hardware image decompressor. Using the custom McMaster Image Compression revision 15 (.mic15), a 320x240 compressed image is delivered to the Altera DE2-115 board via UART and then decompressed and stored in the external static random access memory where the video graphics array controller displays the final decompressed image on a monitor. A finite state machine was designed and implemented to carry out the necessary steps needed to properly process and decompress the image.
The image decompression system works as follows:
This project was very code and theory heavy and took a lot of processing and debugging in order to get fully working. It allowed me to exercise my knowledge of the relationship between software and hardware. Coding in a hardware description language is a challenge as having an understanding of all the moving parts is needed to properly debug code.
Knowing how to create state tables and knowing how to data trace is vital in order to create an efficient and effective finite state machine. Having an understanding of how RAM works to manipulate memory to read from and write to as well as SRAM addressing is needed to avoid any computing complications.
This project was an excellent example of how the coding process works on a hardware level; having an understanding of all the moving parts of a digital system is needed to be as efficient as possible given the resources at hand.
To understand and gain experience in digital system design, I designed and implemented a hardware image decompressor. Using the custom McMaster Image Compression revision 15 (.mic15), a 320x240 compressed image is delivered to the Altera DE2-115 board via UART and then decompressed and stored in the external static random access memory where the video graphics array controller displays the final decompressed image on a monitor. A finite state machine was designed and implemented to carry out the necessary steps needed to properly process and decompress the image.
The image decompression system works as follows:
This project was very code and theory heavy and took a lot of processing and debugging in order to get fully working. It allowed me to exercise my knowledge of the relationship between software and hardware. Coding in a hardware description language is a challenge as having an understanding of all the moving parts is needed to properly debug code.
Knowing how to create state tables and knowing how to data trace is vital in order to create an efficient and effective finite state machine. Having an understanding of how RAM works to manipulate memory to read from and write to as well as SRAM addressing is needed to avoid any computing complications.
This project was an excellent example of how the coding process works on a hardware level; having an understanding of all the moving parts of a digital system is needed to be as efficient as possible given the resources at hand.