next up previous
Next: ECE532S Grading Up: ECE532S Digital Hardware 2007 Previous: ECE532S Course Description

Expected Background

To be successful in this course, you should have background in the areas of computer organization, digital logic, and VHDL/Verilog design. The specified prerequisite courses have been selected accordingly.

If you do not feel particularly strong in HDL coding, this is a good opportunity to get better, but you should review the fundamentals. There will be lectures on how best to use HDL for design, but not the syntax or constructs of the language. That you will find in the books.

References below are to the following textbooks:

HVZ
Computer Organization, Hamacher, Vranesic, Zaky, 5th ed.
BV
Fundamentals of Digital Logic with Verilog Design
BV
Fundamentals of Digital Logic with VHDL Design

More specifically, these topics should be reviewed:

CAD Flow
BV, we'll discuss it more in the course.

Logic Gates, Combinational blocks
BV, gates, multiplexers, decoders, encoders

Storage
BV, registers, flip flops

Synchronous Logic
BV, counters, state machines

Assembly Language
HVZ Chapter 2

I/O
HVZ Chapter 4, particularly accessing via memory mapping, interrupts, buses, interface circuits, DMA

Memory System
HVZ Chapter 5, how to use memories

Numbers and Arithmetic
BV, HVZ Chapter 6

Pipelining
HVZ Chapter 8, not so much for making processors fast, but using it to make your logic faster

Embedded Systems
HVZ Chapter 9. You may not have officially covered this but it would be good to read. This course will look at a lot of this material.

Peripherals
HVZ Chapter 10 has some stuff that may be relevant to things you might want to do.

HDL Design
BV, constructs in Appendix A are sufficient to do lots of good designs. In particular, you should be able to code state machines, registers and the various basic combinational blocks such as multiplexers, encoders, decoders, and arithmetic functions.

C Programming
All programming of the MicroBlaze processor is done in C. C++ should also work.

Makefiles and Scripting
Familiarity with these will be extremely useful. They are used a lot in modern hardware design.

Debugging
You should be good at debugging or learn very quickly how to do this! Learning ModelSim for HDL debugging and using gdb for debugging software is essential. Don't even bother trying to synthesize without having done simulation.


next up previous
Next: ECE532S Grading Up: ECE532S Digital Hardware 2007 Previous: ECE532S Course Description
Paul Chow 2007-01-08