EE354L: Introduction To Digital Circuits
EE354L: Introduction To Digital Circuits
Units: 4
Office hours: 4 hours per week 4:00-5:00PM MW, 3:00-4:00 PM TTh on Zoom
http://www-classes.usc.edu/engr/ee-s/457/Gandhi_Office_Hours/Gandhi_Office_Hours_Sp2021.pdf
Catalog Description:
https://catalogue.usc.edu/
Learning objectives:
Website: https://blackboard.usc.edu/
1
TAs:
EE354L TA -- Sasindu Kangara Mudiyanselage <[email protected]>
EE354L TA -- Chao Wang <[email protected]>
EE354L TA -- Jing lei Cheng <[email protected]>
Course Mentors:
The 4 TAs are also Mentors for this course, and they each will hold one hour of office hours per week (TBA).
They can be consulted on both lab and lecture material during the office hours. During the lab, if they are free, they can
help you with the lecture material, but the lab material is of importance during the lab time.
Grader: EE354L Grader -- 2 hours per week (TBA) Will help only on lecture material and homeworks.
Prerequisite: EE109
Recommended Preparation: Basic programming skills taught in courses like EE109L (Introduction to Embedded
Systems)
Optional Textbook: Digital Design: Principles and Practices, 4/E By John F. Wakerly
http://www.ddpp.com/
Required class-notes and lab manual: Class-notes and Lab Manual distributed online progressively
Recommended Reading: The lecture-by-lecture topic list in the last few pages of this syllabus is tentative and
may change substantially as we are changing some labs and remote lab instruction during COVID is challenging.
Lecture sequence needs to adapt to the lab sequence. We will maintain a list of lecture topics “taught/to be taught”
and convey (through an email) what we are going to cover in the next lecture. Please browse through the pdf files
associated with the lecture for 10 minutes so that you are generally aware of the topic and slide sets. After each
lecture, please spend at least 20 minutes that night (before you forget) browsing through the covered slides and
note down points needing clarification. Discuss those points during our office hours. And, on weekend, please
spend an hour or two to completely learn the material of that week’s lectures.
EE354L is an intensive design course, reinforcing class-room lectures with homework and lab assignments.
Textbooks often fail to cover the design process adequately. The lecture material and the lab assignments were developed
over the last 30 years of teaching this subject. It may look slightly unorganized, but it has all the material. I keep all the
past exams open. So, you have abundant practice material available to make use of.
Grading Policy (approximate weights) (approximately 47% in assignments and 53% in exams):
Weights vary slightly from semester to semester. Example: Fall 2020 Grade sheet
2
Also, I use two scales (weights) for the three exams to compute the exam total and take the higher of the two for each
student, so that if one does poorly in the Quiz+Midterm, he/she can try to do better in the final.
Weight 1 Weight 2
HW 6.25 6.25
Short Exercises 2.75 2.75
LAB 24.00 24.00
Project 10.00 10.00
TA 3.00 3.00
Quiz 7.50 9.50
MT 19.50 22.50
Final 27.00 22.00
100.00 100.00
Class Tentative Schedule: Topics and the order of lectures change a lot each semester.
Listed below are tentative dates for the lectures and labs. We will separately maintain a list of topics “taught/to
be taught” in ee354L_topics_covered_in_Sp2021.docx and revise it every week progressively.
TWTM (in the lab rows below) stands for Tuesday, Wednesday, Thursday and the next Monday. It refers to the four labs every
week. Since the first Monday Jan 18, 2021is a holiday, we made the Lab week to start on Tuesday and end on next
Monday. For example, the Lab #1 is taught on Tuesday 1/19, Wednesday 1/20, Thursday 1/21 and the next Monday 1/25.
While it starts as a TWTM Lab Week for the first 9 weeks, the special “Wellness Day (No classes)” in March and April will
alter this for the next 5 or 6 weeks. The last 6 weeks of the semester shrink to 5 lab weeks because of the wellness days.
Please see the 14 lab weeks marked in green and purple rectangles on the 15-week semester below. We request the
Monday lab students to make up for Feb. 15th holiday as marked below.
3
Lec/Lab Date Day Topics and Assignments
January
18 Mon Martin Luther King Day, university holiday calendar
Course intro.,
Nexys-4 (FPGA Board) Intro. Time-Division multiplexed 7-segment Common Anode Display
Lec#1 20 Wed
Nexys4_Basic_IO_Introduction.pdf Nexys_4_documentation/ Vivado_installation/ (Old Nexys 3 pdf pdf .avi)
Nexys-3/Nexys-4 (FPGA Board) Intro. Time-Division multiplexed 7-segment Common Anode Display
Lab#1 TWTM pdf pdf .avi Detour Signal State Machine (Schematic) pdf .avi (Vivado 2019.2 for Synthesis,
Modelsim for Simulation, etc.)
DPU & CU (Data Path Unit and Control Unit),
One-hot state assignment for CU design pdf .wmv ,
Lec#2 25 Mon ME (Mutually Exclusive) and AI (All Inclusive) rules in designing a state diagram pdf .avi ;
State diagram Design examples .pdf .avi Detour lab pdf
HW#5 Example of One-hot state assignment for CU design pdf dir
Data registers -- clocking and controlling pdf .avi ;
Lec#3 27 Wed
Mealy machine example -- Divider Design pdf .avi ,
Lab#2 TWTM Detour Signal State Machine (Schematic) pdf .avi
February
Introduction to the number lock lab.
Verilog HDL Introduction pdf .avi ,
Lec#4 1 Mon 0_Verilog_Main_Points_of_the_6_Lectures.pdf Verilog introduction, event driven simulation, cycle
driven simulation, delta-T associated with non-blocking assignments which is crucial for successful
simulation of a zero-delay modeling of a sequential logic (having Flip-Flops) (example: shift register)
Sync_Counter_with_clr_load_en.pdf to illustrate Intercept and Inject method of building data path. .avi
To make HDL coding readable and maintainable, there is an important need to reduce number of
Lec#5 3 Wed concurrent items by combining related logic together (example: deep combinational logic, where
blocking assignments are important). Verilog Blocking and Non-blocking assignments, RTL coding in
Verilog .pdf .avi .zip
Verilog Introduction Labs (Synchronous and Asynchronous FF resets, and Divider RTL
Lab#3 TWTM
design in Verilog example design, Divider Moore machine design) .pdf .pdf .avi .pdf .zip
Loop Counter Incrementation and Terminal Value Checking pdf .avi pdf pdf pdf
Lec#6 8 Mon Verilog HDL behavioral modeling pdf .avi
Verilog HDL Data types pdf .avi and Sequential Statements pdf .avi
Lec#7 10 Wed Lab #6a RTL Coding -- Divider Example -- Debouncing, Single-stepping, and output coding pdf & .avi
Lab#4 TWTM Number Lock State Machine, Nexys-4 Top design, all in Verilog .dir pdf
15 Mon President’s Day, university holiday calendar But the Monday lab needs to make up ☹
Lab#5 TWTM Lab #6a RTL Coding -- Divider Example -- Debouncing, Single-stepping, and output coding pdf & .avi
4
Picoblaze
The following is a quick introduction to the topics below as a prelude to introducing PicoBlaze in the
next lecture. Introduction to Memories, Processors, Processor pinout, Processor Address Map,
Byte Addressability, Processor address decoding, I/O addresses, I/O ports, Input port may or may not
require a storage register to hold input data before collection by the processor, Output port needs a
Lec#9 22 Mon
storage register to hold the output data sent by the processor for display or transmission, Interrupts,
Interrupt service routine, sharing a single interrupt request (INTR) pin and identifying the requester.
PicoBlaze is not for data crunching, it is meant to provide control sequences to perform a job such as
UART, etc.
Lec#10 24 Wed Picoblaze introduction, Picoblaze Assembly Language, dir pdf pdf pdf 1.mp4 2.mp4
March
Data-path design (a) small system design .pdf .avi BCD to Binary and reverse conversion Chapter 7 ,
Lec#13 1 Mon
Inches to Yards-Feet-Inches conversion pdf .avi, GCD design pdf .avi
Lec#14 3 Wed Quiz preparation
Lab#9 TWTM Divider_Pico_N4 pdf dir Keypad interface to Picoblaze .pdf , Demo: Divider on Pico .zip
Lec#19 22 Mon Tristate Buffers, muxes and tristate buffers in Data-path design Q#2 MT_Sp12.pdf MT_ Sp12_sol.pdf
Decade counter pdf .zip Verilog HDL Blocking and Non-blocking assignments Last two pages pdf pdf
Lec#20 24 Wed .avi
Verilog Exam questions review .pdf P1.avi P2.avi
Lab WTMT
(3/24-3/30)
Picoblaze Interrupts (i) using polling (ii) with no polling Readme dir .pdf
#10
Lec#21 29 Mon Chapter 11 Memories .pdf .wmv
5
April
MT (~22.5%): Saturday, Apr. 3, 2021 04:05-07:40
3 Sat.
(actual exam 04:20-07:20 PM)
Lec#23 5 Mon Memories lecture completion and FIFO lecture introduction, FIFOs .pdf .wmv
Timing Analysis and Timing Constraints .pdf
Lab WTMT
(3/31-4/6)
Prepare for the semester end project: PMODs, VGA demo, LCD demo, File I/O demo, Logic Analyzer
#11
Demo, ChipScope Demo, Final Project proposals
7 Wed Wellness Day (No classes) calendar
Lec#25 12 Mon FIFO completion, Gray code, Binary<->Gray conversion, .pdf , Handshake .pdf .pdf
Official Final Exam time is as given below. But I am requesting the class to agree to the change
proposed further below.
6 Thursday =========================
https://classes.usc.edu/term-20211/finals/
As per the Exceptions schedule at the bottom of the above page.
Electrical Engineering 354 Thursday, May 6 8-10 a.m.
Final (~22.5%): Saturday, May 8, 2021 04:05-07:40
(actual exam 04:20-07:20 PM) if everyone agrees to this move the exam
8 Saturday
to Saturday May 8th from the official Thursday May 6th 8-10 AM.
I have checked the finals schedule and found no conflicts with the proposed time.
6
Statement on Academic Conduct and Support Systems
Academic Conduct:
Plagiarism – presenting someone else’s ideas as your own, either verbatim or recast in your own words – is a serious academic
offense with serious consequences. Please familiarize yourself with the discussion of plagiarism in SCampus in Part B, Section
11, “Behavior Violating University Standards” policy.usc.edu/scampus-part-b. Other forms of academic dishonesty are equally
unacceptable. See additional information in SCampus and university policies on scientific misconduct,
policy.usc.edu/scientific-misconduct.
Support Systems:
studenthealth.usc.edu/counseling
Free and confidential mental health treatment for students, including short-term psychotherapy, group counseling, stress
fitness workshops, and crisis intervention.
suicidepreventionlifeline.org
Free and confidential emotional support to people in suicidal crisis or emotional distress 24 hours a day, 7 days a week.
Relationship and Sexual Violence Prevention Services (RSVP) - (213) 740-9355(WELL), press “0” after hours – 24/7 on call
studenthealth.usc.edu/sexual-assault
Free and confidential therapy services, workshops, and training for situations related to gender-based harm.
Office of Equity and Diversity (OED) - (213) 740-5086 | Title IX – (213) 821-8298
equity.usc.edu, titleix.usc.edu
Information about how to get help or help someone affected by harassment or discrimination, rights of protected classes,
reporting options, and additional resources for students, faculty, staff, visitors, and applicants.
usc-advocate.symplicity.com/care_report
Avenue to report incidents of bias, hate crimes, and microaggressions to the Office of Equity and Diversity |Title IX for
appropriate investigation, supportive measures, and response.
7
The Office of Disability Services and Programs - (213) 740-0776
dsp.usc.edu
Support and accommodations for students with disabilities. Services include assistance in providing
readers/notetakers/interpreters, special accommodations for test taking needs, assistance with architectural barriers,
assistive technology, and support for individual needs.
campussupport.usc.edu
Assists students and families in resolving complex personal, financial, and academic issues adversely affecting their success as
a student.
diversity.usc.edu
Information on events, programs and training, the Provost’s Diversity and Inclusion Council, Diversity Liaisons for each
academic school, chronology, participation, and various resources for students.
USC Emergency - UPC: (213) 740-4321, HSC: (323) 442-1000 – 24/7 on call
dps.usc.edu, emergency.usc.edu
Emergency assistance and avenue to report a crime. Latest updates regarding safety, including ways in which instruction will
be continued if an officially declared emergency makes travel to campus infeasible.
USC Department of Public Safety - UPC: (213) 740-6000, HSC: (323) 442-120 – 24/7 on call
dps.usc.edu