| |
Overview
This homework set explores the idea of hardware/software co-design. Beginning
from a single set of product specifications, you will formulate a software-only
implementation, making note of which areas of design are particularly difficult,
inefficient, or troublesome. Next, you will create a hardware-only
implementation, again making note of difficult aspects of the design. Finally,
you will create a hybrid design, in which the "difficult software" is done in
hardware, and the "difficult hardware" is done in software.
Product Specification: 24-Hour Digital Clock
- Hardware environment is either the D2SB/DIO4 or the D2E/DIO1 board combo
- Hours (HH) range from 00 to 23; minutes (MM) range from 00 to 59;
seconds (SS) range from 00 to 59
- Time will be accurate to ±1 second per day
- Master reset implemented by pushbutton on D2SB (or D2E) system board
- A blinker is implemented by any discrete LED
- Use the DigitDisplay IP to drive the four-digit display
- Normal display mode is HH.MM
- Alternate display mode is MM.SS
- A slider switch selects between the two display modes
- Time is adjusted using a total of five pushbuttons as follows:
- Press and hold one of three pushbuttons to select
adjustment of either HH, MM, or SS
- Press one pushbutton to increment selected quantity by one
unit
- Press another pushbutton to decrement selected quantity by
one unit
Part A
- Develop a software-only implementation based on the PicoBlaze processor;
use the DigitDisplay IP as the only additional hardware component (two
registers would also be required, one for each 8-bit input of the
DigitDisplay IP). Document your design as a flow-chart and as a PicoBlaze
assembly language code listing.
- Write a paragraph or two that describes the aspects of the design that
are particularly difficult, inefficient, or troublesome.
Part B
- Develop a hardware-only implementation. Document your design as a block
diagram and as a Verilog description listing.
- Write a paragraph or two that describes the aspects of the design that
are particularly difficult, inefficient, or troublesome.
Part C
- Develop a hybrid implementation, with the "difficult software" done in
custom hardware, and the "difficult hardware" done in custom software
executed by the PicoBlaze processor. Document your software design as a flow
chart and a PicoBlaze assembly listing; document your hardware design as a
block diagram and as a Verilog description listing.
- Write a paragraph or two that describes your experience creating the
hybrid design.
Optional Extra Credit
Any or all of the following (each will receive its own extra credit points):
- Demonstrate correctly-operating simulation of design from Part A
- Demonstrate correctly-operating simulation of design from Part B
- Demonstrate a functional implementation of Part C in actual hardware.
|