Class Meetings:

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.

Grading Breakdown:
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:
EEB M358, Office Hours by Appointment (send email w/schedule, or stop by)


Ailing Piao:
Sumit Mukherjee:


Policies on Collaboration and Cheating

TA Office Hours (in EEB361):
Monday and Wednesday: 10:30AM-12PM, 1PM-2:30PM
Thursday: 8AM-10AM, 12PM-4PM
Friday: 10:30AM-3PM

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


Homework 1 Solution Due Friday, April 7 via Dropbox
Homework 2 Solution Due Friday, April 14 via Dropbox
Homework 3 Solution Due Friday, April 21 via Dropbox
Homework 4 Due Friday, April 28 via Dropbox
Two's Compliment Worksheet And Solution (Not graded, you just asked for more problems.)
K-Map Worksheet And Solution (A good thing to be studying!)