Lecturer.
Dr. R. James Duckworth, AK214, Tel: (508) 831-5204, email: rjduck@wpi.edu
Office hours: send email for zoom meeting
Staff.
Graduate Tutor: Xiao Zhang xzhang25@wpi.edu
Senior Tutor: Jeffrey Collard jicollard@wpi.edu
Lectures, Labs.
25 lectures (remote) including three exams
Lab sessions: (in AK113) Tuesday 8 to 10.50, 2 to 4.50, and Thursday 2 to 4.50
Extra Help/Lab sessions: Saturday and Sunday 2 to 4pm (in AK113)
Note: You only need to go to lab sessions to get help or to have your projects signed off.
Course
Description
This course covers the systematic design of advanced digital systems using FPGAs. The emphasis is on top-down design starting with high level models using a hardware description language (such as VHDL or Verilog) as a tool for the design, synthesis, modeling, test bench development, and testing and verification of complete digital systems. These types of systems include the use of embedded soft core processors as well as lower level modules created from custom logic or imported IP blocks. Interfaces will be developed to access devices external to the FPGA such as memory or peripheral communication devices. The integration of tools and design methodologies will be addressed through a discussion of system on a chip (SOC) integration, methodologies, design for performance, and design for test.
Topics: 1. hardware description languages, system modeling, synthesis, simulation and testing of digital circuits; 2. design integration to achieve specific system design goals including architecture, planning and integration, and testing; 3 use of soft core and IP modules to meet specific architecture and design goals.
Laboratory exercises: Students will design and implement a complete sophisticated embedded digital system on an FPGA. HDL design of digital systems including lower level components and integration of higher level IP cores, simulating the design with test benches, and synthesizing and implementing these designs with FPGA development boards including interfacing to external devices.
Recommended background: ECE2029 and ECE 2049
Notes: Students may not receive credit for ECE3829 if they have received credit for ECE 3810.
Help Sessions: See TA and Senior Tutor help session above
Homework: There is no formal homework for the course but make sure you try lots of design examples and read the reference materials and data sheets.
Lab Assignments: There will be four labs. Lab signoff and reports are expected by the stated deadline – no late work accepted.
Exams: 3 one-hour exams (see schedule below - subject to change)
Grading: The final grade is based on the grades for the exams and lab projects and reports.
The weight for each part is: Exams 50%, Labs 50%. Grade A (> 90), B (80-90), C (70-80)
Course Syllabus
See
course description above
·
Module 1 Introduction
·
Module 2
Verilog for Synthesis – Combinational Logic
·
Module
3 & 4: Verilog – Sequential Logic
·
Module 5:
Verilog – Misc topics
·
Module
6: Test benches – Verilog for Testing
·
Module 8:
Verilog for Advanced Testing
·
Metastability,
clock domains, pipelines
Lab Assignments
- See Canvas for A20 Lab assignments
·
Xilinx Vivado HL
Webpack edition
o
http://www.xilinx.com/products/design-tools/vivado/vivado-webpack.html
o
You must first
register, and then download and install the WebPack
o
(we just need the
Xilinx Vivado Design Suite HL Webpack – logic design edition with SDK. Select
SDK during the Webpack customization installation options.)
o
Manufacturer of
various FPGA development boards
o
Link to Basys3 board
reference material https://reference.digilentinc.com/basys3:basys3
·
Basys3 Tutorials:
o
Simple Simulation
(Test Fixture) Tutorial
·
Microblaze Resources:
o
Microblaze Vivado
Tutorial to add Microblaze MCS to project (old ISE version)
o
PG116 Microblaze Microcontroller Product
Guide
o
DS865
Xilinx Product Specification for Microblaze Micro Controller System
·
Paper presented at MSE
2005 on Embedded
System Design with FPGAs using HDLs
·
Ten Simple Rules
to follow!
·
VHDL FAQ (http://www.eda.org/comp.lang.vhdl/)
– very useful resource
·
Xilinx
Zynq-7000 Programmable SoC new device, just for reference
o
ZedBoard
Course Schedule A Term 2020 (subject to minor change)
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Aug 31 |
Lab 1 signoff |
|
Lab 1 signoff |
|
Sep 7 (labor day) |
|
|
|
|
Sep 14 |
Lab2 signoff |
|
Lab 2 signoff Exam 1 |
Lab 2 report |
Sep 21 |
|
|
|
|
Sep 28 |
Lab 3 signoff |
Lab 3 Signoff Exam 2 |
Lab 3 report |
|
Oct 5 |
|
|
|
|
Oct 12 |
Lab 4 signoff |
Lab 4 signoff Exam 3 |
Lab 4 Report |
Academic Honesty:
Copyright
© 2020 R. James Duckworth.
Developed
and maintained by R. James Duckworth, rjduck@wpi.edu
.