Next: ECE532S Grading
Up: ECE532S Digital Systems Design 2009
Previous: ECE532S Course Description
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: ECE532S Grading
Up: ECE532S Digital Systems Design 2009
Previous: ECE532S Course Description
Paul Chow
2009-03-30