CE 433 Spring 2022
Lab 8: The PicoBlaze Softcore
Taylor Nakai
tsnakai@fortlewis.edu

Introduction:
In this lab, we were tasked with using PicoBlaze, which is a soft processor core from Xilinx to use with FPGA, specifically the Basys 3 in our case. This lab allowed us to design a system that could solve the square problem by allowing two 8-bit input using the switches of the Basys 3, a button to enter a number, a button to clear everything, and the result to be displayed on the seven segment display and showing the binary output on the board's leds. The first part tasked us with designing the system so that the result was displayed in hexadecimal on the seven segment display. The second part tasked us with modifying the first part so that the result could also be displayed in binary representation using the Basys 3's leds.

Task 1:
In this task, we were tasked with designing the system so that the result was displayed in hexadecimal on the seven segment display. Figure 1 displays the code needed to display the result in hexadecimal on the seven segment display. Figure 2 shows the demonstration of the implementation of the square calculate, where the first test assigns 8 to a and 4 to b then the second test assigns 32 to a and 64 to b.


Figure 1.
Code needed to display the result in hexadecimal on the seven segment display.


Figure 2. Demonstration of the square problem where result is displayed in hexadecimal on the seven segment display.

Task 2:
In this task, we were tasked with modifying the first part so that the result could also be displayed in binary representation using the Basys 3's leds. Figure 3 displays the code needed to display the result in hexadecimal on the seven segment display and in binary using the leds. Figure 4 shows the demonstration of the implementation of the square calculate, where the first test assigns 8 to a and 4 to b then the second test assigns 32 to a and 64 to b.


Figure 3.
Code needed to display the result in hexadecimal on the seven segment display and in binary using the leds.


Figure 4. Demonstration of the square problem where result is displayed in hexadecimal on the seven segment display and in binary using the leds.

Task 3:
In this task, we were tasked with modifying the first and second part so that the result could also be displayed in hexadecimal representation using an external LCD. Figure 5 displays the code needed to display the result in hexadecimal on the seven segment display, in binary using the leds, and in hexadecimal on the LCD. Figure 6 shows the demonstration of the implementation of the square calculate, where the first test assigns 8 to a and 4 to b then the second test assigns 32 to a and 64 to b.


Figure 5. Code needed to display the result in hexadecimal on the seven segment display, n binary using the leds, and in hexadecimal on the LCD.


Figure 6. Demonstration of the square problem where result is displayed in hexadecimal on the seven segment display, in binary using the leds, and in hexadecimal on the LCD.

Discussion:
By completing this lab, we were able to gain more comfortability working with verilog, the Basys 3, and PicoBlaze soft core. We were able to gain familarity with PicoBlaze, I believe that this was a great lab  as I learned a lot. I think that this lab was very beneficial as I got everything working and learned how to create useable digital systems implementing PicoBlaze. I believe that these skills will be useful in the future.  Overall, this lab was interesting and I can't wait to learn more.
...........................................................................................