Instructor:
Roger Traylor
Office: 238 ECE Bldg.
E-mail:traylor@ece.orst.edu
Office Hours: Tu, Th 3:00 - 4:00 or by appointment
When and Where:
Tuesday, Thursday 8:00-9:20 AM; Kidder 364
TA:
Peroly Natesan
E-mail: natesan@engr.orst.edu
Office Hours: M 2-4, Th 6-8
Text
"The Students Guide to VHDL" by Peter Ashenden.
Prerequisites
The stated prerequisites are ECE 375 and ECE323. In reality, proficiency with UNIX,
really good with digital logic design, especially state machines and data paths.
Having taken ECE471 is a plus.
Class Description
This class focuses on system-level design and implementation of Very Large Scale Integrated (VLSI)
devices, specifically, ASICs and FPGAs. The emphasis is on system-level as opposed to circuit-level issues.
Overall Class Objective
Each student should be able to translate a high-level design specification into
a working digital system using contemporary tools and techniques. To do this
each student will be able to:
Once the specification is completed, you will describe the system in VHDL. This system is then simulated and modified until correct behavior is observed. The VHDL design is then synthesized into gates. The gate level design is then regressed against the VHDL description and checked for proper behavior and timing. After this, timing information is back annotated and regression is done again.
When your design is complete, you will submit your final revised specification. You will also electronically submit all your VHDL code. I will compile, synthesize, and resimulate your design against a set of published test vectors.
Essential VHDL pgs 0 - 23
Essential VHDL pgs 24 - 46
Essential VHDL pgs 47 - 60
Essential VHDL pgs 61 - 76
Essential VHDL pgs 77 - 106
Essential VHDL pgs 107 - 127
You may work in groups on homework if you wish. Sharing of design approaches, philosophy, general block diagrams or coding ideas is strongly suggested. However, sharing between groups of detailed information such as detailed block diagrams, state machine diagrams, or actual VHDL code is not approved and will meet with the strongest action that I can bring.
Students who register early for ECE474/574 are automatically added to the class mail list.
You may not be on the list at first if you register late. You should be added within
a day or so.
The name of the class list for ECE474/574 is: class-ece474@engr.orst.edu
This name is case sensitive.
Mail on the class list is archived at:
www.engr.orst.edu/classes/ece/ece474/archive
Period | Date | Reading/Subject | Project deliverables | Homework |
|---|---|---|---|---|
| 1 | Tuesday, Apr 1 | Introduction to ECE474/574 Designing Large Systems What you get to start with Successive refinement - Top Down Design Using Abstraction (information hiding) Initial block diagrams (high level) Partitioning the "minimum-cut" idea data paths first, then control clock domains data rates Tracking and naming signals, blocks Computer or Pencil and Paper? |
None | |
| 2 | Thursday, Apr 3 |
Detailed Design of Large Systems Detailed Block Diagrams Writing a Design Specification sections, writing, drawings state machine notation signal naming HDL code and specification coherrence Peer specification reviews When do I start writing code? |
TBA | Hierarchy/Entity/Architecture Exercise Homework 1 TAS Requirements document TAS VHDL code in tar foramt |
| 3 | Tuesday, Apr 8 | Introduction to HDL design Entity and Architecture Ports Signal Assignment Declaring Objects Simulating VHDL Code Reading: Chapt. 1 of Ashenden Chapt. 5.1, 5.2 of Ashenden "Essential VHDL", pg.0 - pg.23 |
TBA | |
| 4 | Thursday, Apr 10 | Synthesis Data Types Operators Concurrent Statements Bus signal assignment Bit vectors Conditional Concurrent Signal Assignment Reading: Pgs 28, 42, 92, 127-131 of Ashenden Sect 2.5 of Ashenden |
TBA | |
| 5 | Tuesday, Apr 15 | Selected concurrent signal assignment OR'ing Selected concurrent signal assignments Component Instantiation Labels Association lists Named vs Positional Association OPEN and pullup/pulldowns in associaton lists Reading: Pg131-133 of Ashenden Section 5.4 of Ashenden |
TBA | Homework 2 |
| 6 | Thursday, Apr 17 | GENERATE statement -FOR and IF schemes -Usage to create structures ASSERT statement PROCESS statement Sensitivity lists Delay -Transport -Inertial -Delta Sequential statements Variable declaration and assignment IF statement, implied priority Relational operators Reading: Sect 2.1 of Ashenden pg 117-127 of Ashenden Sect 2.1,2.2 of Ashenden Sect 3.1 of Ashenden |
TBA | TBA |
| 7 | Tuesday, Apr 22 | IF statement (cont) CASE statement OTHERS statement X Propagation FOR and WHILE loops Atributes Generics Inferring Flip Flops Inferring Latches "Resets: Asynchronous or Synchronous" |
Homework 3 |
|
| 8 | Thursday, Apr 24 | Metastability |
Preliminary block diagram/state machines/timing diagram due in class Thursday April 24. | |
| 9 | Tuesday, Apr 29 | Class Canceled for Senior Design Expo | Be working like crazy on your design. No deliverables. |
|
| 10 | Thursday, May 1 | State machines in VHDL State machine synthesis State machine with enmumerated encoding Decoding and glitchless outputs State machine example |
Homework 4 Tar file for homework 4 |
|
| 11 | Tuesday, May 6 | A Sample Specification Outline
HDL Synthesis -translation -optimization Constraints -operating conditions - global and local -input to register -register to register -register to output -calculation of slack Synthesis and Shell/Perl Scripts Optimization Strategies Scaling and the problems in interconnect delay |
Final block diagram/state machines/timing diagram due in class Tuesday May 6. | TBA |
| 12 | Thursday, May 8 | Steps in a Full Design Flow -RTL synthesis, simulation -gate-level simulation -static timing verification -scan test insertion -place and route -extraction and resimulation Timing Closure in submicron designs Physical Synthesis |
||
| 13 | Tuesday, May 13 | Testability Faults Excitation and Observation of faults Scan test methodology -scan flip flops -how scan insertion works -timing re-optimization after scan insertion -how vectors are scanned in and out |
Should start coding this week. Design specification due in class 5/13. |
TBA |
| 14 | Thursday, May 15 | Packaging How packaging effects the system Package types: DIP, PGA, BGA Characteristics of different package styles -power dissipation -thermal resistance -ease of manufacturing and test -package paracitics, R, L, and C |
||
| 15 | Tuesday, May 20 | Problems with simultaneous Switching Outputs (SSOs) -ground bounce -dynamic threshold shift in input buffers -disturbing quiet output buffers Solutions to the ground bounce problem -ways to reduce L -ways to reduce di/dt -use of differential drivers and receivers |
Debug crunch time! First test vectors now available No deliverables. |
|
| 16 | Thursday, May 22 | High Speed Signaling -problems with high speed signaling -ground bounce -common mode noise -crosstalk -differential signaling -pseudodifferential signaling -SSO reduction with coding schemes Transmission lines -when is a line a transmission line? -characteristic line impedance Zo -stripline microstripline -flight time -source and terminations -DC vs AC terminations -point to point vs multidrop networks -GTL, PECL examples Take home midterm posted |
Clean up any last bugs, synthesize and do regression testing. No deliverables. |
TBA |
| 17 | Tuesday, May 27 | VLSI Clock Distribution Tar file of clock distribution slides -skew -latency -jitter -power dissipation -signal integrity -reliability -clock tree implementations -H-tree -Grid -Balanced Tree -clock gating -reset trees -PLLs and DLLs -asynchronous logic design |
TBA | |
| 18 | Thursday, May 29 | The final script for testing your project Guest speaker from Agilent - Uma Polisetti "Industry practices for verification - A glimpse" Formal Verification -Equivalence CHecking -Assertion Based Verification -Suggestions for Best Practices |
Submit all design files by midnight Sunday, June 1. | TBA |
| 19 | Tuesday, Jun 3 | Guest speaker #2 from Agilent - Chuck Evans Static Timing Analysis | Homework 5 | |
| 20 | Thursday, Jun 5 | Review of project Awards ceremony |
||
| Monday, Jun ?? | Final? |
Questions, suggestions?.... Mail to:
traylor@ece.orst.edu