ECNG3016 Practical 5
ECNG3016 Practical 5
ECNG3016 Practical 5
ECNG 3016
ADVANCED DIGITAL ELECTRONICS
http://myelearning.sta.uwi.edu/course/view.php?id=686
Semester II 2009/2010
1.
GENERAL INFORMATION
Lab #:
Name of the Lab:
Practical 5
Using the Picoblaze Softcore to Control 7-Segment Displays
Lab Weighting:
35%
Delivery mode:
Lecture
Online
Lab
Other
Microprocessor Laboratory
Lab Dependencies2
Recommended
prior knowledge
and skills3:
Course Staff
Position/Role
Estimated total
study hours1:
Cathy Radix
Lecturer
E-mail
Cathy.Radix@sta.uwi.tt
Azim Abdool
Instructor
azim.abdool@sta.uwi.tt
Phone
Office
Office
Hours
x3157 Rm 321, Mon/Tue
11am Blk 1
2pm
x2636 Rm 341/ Mon/
RTSG,
Thu
Blk 1
11am12pm
2.
Upon successful completion of the lab assignment, students will be able to:
1. Understand characteristics of the PicoBlaze soft-core microprocessor.
2. Use the PicoBlaze soft-core microprocessor the implementation of a small
scale digital system on a Spartan 3 FPGA
3. PRE-LAB
Due Date:
Submission
Procedure:
Estimated time to
completion:
Cognitive
Level
C
Ap
1. How many possible inputs and outputs can the PicoBlaze microprocessor provide? Explain
your answer.
2. What is the range of clock (clk) frequencies that the PicoBlaze microprocessor can operate at?
4.
IN-LAB
This will create VHDL and Verilog files which provide the behaviour given by the assembly
code written in pBlazIDE.exe.
12. Click Add Copy of Source and browse to \KCPSM3\Assembler and select pico_rom.vhd.
Click Open and then OK to add pico_rom.vhd as a VHDL Design File to the project.
13. Implement the Picoblaze 7-segment system
14. Interface system modules together in a VHDL module named PicoBlaze_SSeg_Main.vhd. Use
the block diagram of Figure 1 as your guide. Remember to hard-code the anodes to turn on a
single anode.
15. Create an implementation constraints file for the system.
16. Connect the Spartan 3 development board to the LCD. Download the bitstream to the Spartan
3 FPGA development board and perform on-board testing on the system.
Compare the above to what was done for Lab 2, where we turned on the seven segment displays
using hardware modules only without a processor. Which method do you prefer?
5.
POST-LAB
Due Date:
Submission
Procedure:
Deliverables:
NA
5.1. Assignment:
Modify the processing unit to take an 8-bit input (all the switches) and multiplex the seven
segment displays using:
1. An instruction based delay
2. An externally created timer
a. Being polled
b. By interrupt
In order to do this, you may realize that you can utilize a demultiplexer on the write_strobe to
create more possible outputs, and a multiplexer on the input port to create more inputs, and
utilize the port_id port to serve as a selection line for the external demultiplexer and multiplexer.
You can see the input and output ports section of the Picoblaze User Guide on recommendations
when dealing with this. You can also view the interrupts section to see how you can deal with
these as well.