next up previous
Next: ECE532S Grading Up: ECE532S Digital Systems Design Home Previous: ECE532S Course Description

Expected Background

To be successful in this course, you should have background in the areas of computer organization and architecture, digital logic and hardware, 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 and Embedded Systems, Hamacher, Vranesic, Zaky, Manjikian, 6th ed.
BV
Fundamentals of Digital Logic with Verilog Design, Brown and Vranesic
BV
Fundamentals of Digital Logic with VHDL Design, Brown and Vranesic

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 Chapters 3, 7, 8.4, particularly accessing via memory mapping, interrupts, buses, interface circuits, DMA

Memory System
HVZ Chapter 8, how to use memories

Numbers and Arithmetic
BV, HVZ Chapter 9

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

Embedded Systems
HVZ Chapter 10, 11.

Peripherals
HVZ Chapters 7, 10 have 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 or C++.

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 a good simulator, such as 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 Systems Design Home Previous: ECE532S Course Description
Paul Chow 2015-08-05