Monday, Tuesday, Wednesday and Friday, 9:30-10:20AM, THO 125
Note: There is no class on May 29th
Number systems: positional number system, negative number representation, alphanumeric codes.
Boolean algebra: logic gates, basic theorems of Boolean algebra, minimization by formulas, incompletely specified functions.
Combinational circuit design; integrated circuit characteristics, SSI and MSI circuit design of combinational circuits, encoders, decoders, multiplexers, arithmetic operations.
Sequential logic design using DFFs. Designs include shift registers, counters, and sequential circuits (the design process includes the development and use of state diagrams, state table, state assignment and circuit synthesis).
Programmable logic devices: Field Programmable Gate Arrays (FPGA) and applications of programmable logic devices.
Labs (8): 30%
Homework (10): 15%
Midterm (May 5th in class): 20%
Final (June 7th in class): 30%
Random Short Quizes (10): 5%
Dr. Allan Ecker: firstname.lastname@example.org
EEB M358, Office Hours by Appointment (send email w/schedule, or stop by)
Policies on Collaboration and Cheating
You do not need to follow a particular style guide but being consistent and legible counts! You will be expected to provide comments for your code, to a degree which maximizes legibility. Too few or too many comments are discouraged!
Lab 1 Lab due April 7th
Lab 2 Lab due April 14th
Lab 3 Lab due April 21st
Lab 4 Lab due April 28th
Lab 5 Lab due May 5th
Lab 6 Lab due May 12th
Lab 7 Lab due May 19th
Lab 8 Lab due June 2nd
The Quartus II tutorial, for labs #1 and #2, is here.
The Lab #1 files for Quartus are here.
Most of your labs will involve Verilog. The class Verilog tutorial is here.
There is also a Verilog Quick Reference Card that may be of interest.
Labs on student machines:
If you want to use your own machine to do your labs, then grab the Quartus 14.0 files here.
If you are using a laptop, you can bring it to the lab for demos.
If you are using your own desktop machine, or don't want to haul
your laptop to lab, you can FTP your files to the lab machines.
You may want to use Dropbox, Google Docs, or some other cloud storage
account as an intermediate - upload the files from your machine
to your Dropbox (for instance) account, then download the files
to the lab PCs. It is easiest to just send the entire contents
of your lab file, since you'll want the design files,
schematics, project, etc.
IF YOU ARE DOING THIS, TEST IT BEFORE YOUR DEMO TIME.
Notice: You will FAIL a lab if:
-you do not attend your demo
-you do not submit source code
-you tamper with or take another group's parts
-you commit plagurism or otherwise cheat
-you commit any act of gross negligence or disrespect
Links, Notes and Suplements:
Crash Course Computer Science A fun, fast-paced series of videos on digital electronics, specifically computers
Computrphile on Logic Gates This channel is amazing, and provides a wealth of lectures, many from pioneers of the field of CS
HACKADAY - For when you are frustrated and need to be inspired by cool embedded stuff