Professional Documents
Culture Documents
In-charge
Prof. Anantha P. Chandrakasan – anantha@mtl.mit.edu (38-107, 8-7619)
Course Assistant: Margaret Flaherty – meg@mtl.mit.edu (38-107, 3-0016)
Lecturers
Prof. Anantha P. Chandrakasan – anantha@mtl.mit.edu (38-107, 8-7619)
Prof. Donald E. Troxel – troxel@mit.edu (36-287, 3-2570)
Logic Design:
Randy H. Katz, Contemporary Logic Design, Addison Wesley, MA,
1993 .
Prerequisite
Prior digital design experience is NOT Required
6.004 is not a prerequisite!
Take 6.004 before 6.111 or
Take 6.004 after 6.111 or
Take both in the same term
Must have basic background in circuit theory
Some basic material might be a review for those who have taken 6.004
Lab 1
Learn about the lab kit and wire something
Learn about lab equipment in the Digital Lab (38-600): oscilloscopes
and logic analyzers
Program and test a PAL (Programmable Array Logic Device)
Introduction to Verilog
Lab 2
Design and implement a Finite State Machine (FSM)
Use Verilog to program an FPGA
Learn how to use an SRAM
Report and its revision will be evaluated for CI-M
Lab 3
Design a complicated system with multiple FSMs (Major/Minor FSM)
Implement RAMs and ROMs in an FPGA
Interfacing to analog components (ADC and DAC)
Cooperation
Please be courteous with shared resources as lab computers and equipment
Collaboration
Discuss problem sets and labs with anyone, staff, former students, other
students, etc.
Then do them individually
z
Do not copy anything, including computer files, from anyone else
z
Collaboration on the project is desirable (especially with your partners)
z Project reports should be joint with individual authors specified for each section
z Copy anything you want (with attribution) for your project report
AND OR Inversion
0 0
0 0
0 0
0 0
0 1 0 1
1 1
1 1
0 1 1 0
0 0
1 1
1 1
1 1
0
0
1
1
1
+
0
Digital
Electronics
Problem sets
Problem Statement Labs & Design project
Product specs
algorithm selection,
flowcharts, etc.
Algorithms, RTL, etc.
Behavioral Description Flowcharts
State transition diagrams
conversion to binary,
Booelan algebra
Logic equations
Boolean Logic and State Circuit schematics
device selection
and wiring
TTL Gates (AND,OR,XOR…)
Hardware Implementation Modules (counter, shifter,…)
Programmable Logic
Problem sets
Problem Statement Labs & Design project
Product specs
algorithm selection,
flowcharts, etc.
Algorithms, RTL, etc.
Behavioral Description Flowcharts
State transition diagrams
software-like
programming
Verilog code
HDL Description VHDL code
automated synthesis
Programmable Logic
Hardware Implementation Custom ASICs
VHDL Verilog
Commissioned in 1981 by Created by Gateway Design
Department of Defense; Automation in 1985;
now an IEEE standard now an IEEE standard
Initially created for ASIC Initially an interpreted
synthesis language for gate-level
simulation
Strongly typed; potential Less explicit typing (e.g.,
for verbose code compiler will pad arguments
of different widths)
Dataflow Level
The flow of data through components is specified based on the idea of how
data is processed
Gate Level
Specified as wiring between logic gates
Not practical for large examples
Switch Level
Description in terms of switching (modeling a transistor)
No useful in general logic design – we won’t use it
Peripheral
Interfaces
Audio/Video In
Memory Subsystem
Control Logic
z FSMs