7. How to Design Complex Digital Systems

 

Note links are at the bottom of the page

 

Now we take design one level higher.  How do you approach designing a complex system that will consist of multiple modules?  This module describes a structured approach to that exercise. 

 

Many times the high level design process starts with a description of the high level algorithm written in C.  This fact makes it very tempting to simply translate the C into Verilog and skip the design step.  The purpose of this lesson is to illustrate some techniques to translate C into a hardware design.  The reasons for this lesson are two-fold: (1) to show you how can “translate” if you like, if you still find hardware design daunting; and (2) drive home the point that an RTL design is very different from algorithmic C code.   Note that while you can perform high level design like this, it does not guarantee an optimal or efficient design.

 

Objectives

 

Key Points

 

PDF files:

 

PDF files are distributed in the links above. If you want the ppt version, please go to http://courses.ncsu.edu/ece520/lec/001/wrap/ .  Note, this PPT version does NOT include answers to in-line questions.