Difference between revisions of "Syllabus"

From CSE260M Wiki
Jump to navigationJump to search
 
(36 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
|LECTURE
 
|LECTURE
 
|DATE
 
|DATE
|MATERIAL
+
|TOPICS
 
|PREPARATION
 
|PREPARATION
 
|ASSIGNED
 
|ASSIGNED
Line 52: Line 52:
 
|6
 
|6
 
|SEPT 18
 
|SEPT 18
|Boole's Expansion Theorem (Second Pass)<br />FPGAs<br />USING LUTs to Implement Logic (LUT = Storage + MUX)<br />
+
|Boole's Expansion Theorem (Second Pass)<br />Introduction to Xilinx 7-Series FPGAs<br />USING LUTs to Implement Logic (LUT = Storage + MUX)<br />
|[[media:Mano_ch05_images.pdf|Chapter 5]]
+
|[[media:Mano_ch05_images.pdf|Chapter 5]]<br />[[media:Ds180_7Series_Overview.pdf|Xilinx 7-Series FPGAs Overview]]<br />[[media:Ug474_7Series_CLB.pdf|Xilinx 7-Series CLB User Guide]]
 
|
 
|
 
|
 
|
Line 60: Line 60:
 
|7
 
|7
 
|SEPT 20
 
|SEPT 20
|Digilent Development Board<br />Concepts of VCCIO and Core Voltage<br />Demo Board Schematic (LEDs, Switches)
+
|Digilent Nexys4 DDR Development Board<br />Digilent Nexys4 DDR Board Schematic (LEDs, Switches)<br />Concepts of VCCIO and Core Voltage
|[[media:Dev_Board_Manual.pdf|Manual]]<br />[[media:Dev_Board_Schematics.pdf|Schematics]]
+
|[[media:Dev_Board_Manual.pdf|Digilent Nexys4 DDR Manual]]<br />[[media:Dev_Board_Schematics.pdf|Digilent Nexys4 DDR Schematics]]
 
|Lab 1
 
|Lab 1
 
|Homework 3
 
|Homework 3
Line 76: Line 76:
 
|9
 
|9
 
|SEPT 27
 
|SEPT 27
|Gate Delay<br />Races and Hazards
+
|Gate Propogation Delay<br />Races and Hazards<br />Review
 
|[[media:Mano_ch02_images.pdf|Chapter 2]]
 
|[[media:Mano_ch02_images.pdf|Chapter 2]]
 
|
 
|
Line 92: Line 92:
 
|11
 
|11
 
|OCT 4
 
|OCT 4
|Oscillators and Clock Distribution<br />Flip-Flop as a Black Box<br />First Counter<br />The Difference Engine<br />VHDL for FFs, Registers, and The Difference Engine<br />Setup Time<br />Hold Time<br />Clock-to-Output Time<br />Introduction to Metastability
+
|Oscillators and Clock Distribution<br />Flip-Flop as a Black Box<br />A First Counter (Incrementer + FFs)<br />The Difference Engine (DE)<br />VHDL for FFs, Registers, Counters, and The DE<br />Setup Time<br />Hold Time<br />Clock-to-Output Time<br />Introduction to Metastability
|[[media:Mano_ch04_images.pdf|Chapter 4]]<br />[[media:Oscillators_and_Clock_Distribution.pdf|Oscillators and Clock Distribution]]<br />[[media:First_Counter.pdf|First Counter]]<br />[[media:PID4703951.pdf|Using Babbage's Difference Engine to Introduce Computer Architecture]]<br />[[media:Metastability 1.pdf|Anomalous Behavior of Synchronizer and Arbiter Circuits]]<br />[[media:Metastability 2.pdf|Measured Flip-Flop Responses to Marginal Triggering]]
+
|[[media:Mano_ch04_images.pdf|Chapter 4]]<br />[[media:Oscillators_and_Clock_Distribution.pdf|Oscillators and Clock Distribution]]<br />[[media:First_Counter.pdf|First Counter]]<br />[[media:PID4703951.pdf|Using Babbage's Difference Engine to Introduce Computer Architecture]]<br />[[media:EVERYTHING_YOU_ALWAYS_WANTED_2016.pdf|VHDL Tutorial]]<br />[[media:Metastability 1.pdf|Anomalous Behavior of Synchronizer and Arbiter Circuits]]<br />[[media:Metastability 2.pdf|Measured Flip-Flop Responses to Marginal Triggering]]
 
|Homework 4
 
|Homework 4
 
|
 
|
Line 100: Line 100:
 
|12
 
|12
 
|OCT 9
 
|OCT 9
|Latches<br />Flip-Flops<br />74LS74/74S74 Flip-Flop<br />Formal Definition of Mealy- and Moore-Model FSMs<br />Second Counter<br />Clocks in VHDL<br />
+
|Latches<br />NOR SR Latch VHDL<br />Flip-Flops<br />74LS74/74S74 Flip-Flop<br />Formal Definition of Mealy- and Moore-Model FSMs<br />State Tables<br />Second Counter: FSM Design Example<br />Clocks in VHDL<br />
|[[media:Mano_ch04_images.pdf|Chapter 4]]<br />[[media:Sn74ls74a.pdf|74LS74 Datasheet]]<br />[[media:Second_Counter.pdf|Second Counter]]<br />[[media:Vivado_Simulation_Tutorial_2.pdf|Vivado Simulation Tutorial 2 (Forcing a Clock)]]
+
|[[media:Mano_ch04_images.pdf|Chapter 4]]<br />[[media:Norlatch.pdf|NOR SR Latch VHDL]]<br />[[media:Sn74ls74a.pdf|74LS74 Datasheet]]<br />[[media:Second_Counter.pdf|Second Counter]]<br />[[media:Vivado_Simulation_Tutorial_2.pdf|Vivado Simulation Tutorial 2 (Forcing a Clock)]]
 
|
 
|
 
|
 
|
Line 110: Line 110:
 
|Sequence Recognizer<br />FSMs in VHDL<br />One-Hot FSM Implementation<br />Recognizing Character Sequences (Packet Sniffing)
 
|Sequence Recognizer<br />FSMs in VHDL<br />One-Hot FSM Implementation<br />Recognizing Character Sequences (Packet Sniffing)
 
|[[media:Mano_ch04_images.pdf|Chapter 4]]<br />[[media:EVERYTHING_YOU_ALWAYS_WANTED_2016.pdf|VHDL Tutorial]]
 
|[[media:Mano_ch04_images.pdf|Chapter 4]]<br />[[media:EVERYTHING_YOU_ALWAYS_WANTED_2016.pdf|VHDL Tutorial]]
|Homework 5
+
|Homework 5<br />Lab 2
 
|Homework 4
 
|Homework 4
  
Line 124: Line 124:
 
|14
 
|14
 
|OCT 18
 
|OCT 18
|
+
|FSM Timging/Max Clock Rate<br />Path Analysis and Slack<br />Equivalent States<br />Minimizing Complete Specified Machines<br />Combination Mealy/Moore Machines
|
+
|[[media:Mano_ch04_images.pdf|Chapter 4]]<br />[http://www.xilinx.com/video/hardware/creating-basic-clock-constraints.html Vivado Clock Constraints Tutorial]<br />[[media:Definitions_and_Theorems_for_Sequential_Machines.pdf|Definitions and Theorems for Sequential Machines]]<br />[[media:Minimizing_Completely_Specified_Machines.pdf|Minimizing Completely Specified Machines]]
 
|
 
|
 
|
 
|
Line 132: Line 132:
 
|15
 
|15
 
|OCT 23
 
|OCT 23
|
+
|Digital Systems = Datapath + Control<br />Register Transfers<br />Tri-State Buffers<br />Pull-ups/Pull-downs<br />The Bus-Based Difference Engine
|
+
|[[media:Mano_ch06_images.pdf|Chapter 6]]<br />[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]
|Homeowrk 6
+
|Homework 6<br />Lab 3
|Homework 5
+
|Homework 5<br />Lab 2
  
 
|-
 
|-
 
|16
 
|16
 
|OCT 25
 
|OCT 25
 +
|The Bus-Based Difference Engine Datapath VHDL<br />Shift Registers<br />Parallel-to-Serial Conversion<br />Serial-to-Parallel Conversion<br />Ripple Counters
 +
|[[media:Mano_ch06_images.pdf|Chapter 6]]<br />[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]
 
|
 
|
|
 
|Lab 2
 
 
|
 
|
  
Line 148: Line 148:
 
|17
 
|17
 
|OCT 30
 
|OCT 30
|
+
|The Bus-Based Difference Engine Control FSM VHDL<br />
|
+
|[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]
 
|Homework 6
 
|Homework 6
 
|
 
|
Line 156: Line 156:
 
|18
 
|18
 
|NOV 1
 
|NOV 1
 +
|Review
 
|
 
|
 
|
 
|
|
+
|Lab 3
|Lab 2
 
  
 
|-
 
|-
Line 165: Line 165:
 
|NOV 6
 
|NOV 6
 
|Exam 2
 
|Exam 2
 +
|
 +
|
 +
|
 +
 +
|-
 +
|20
 +
|NOV 8
 +
|The Really Simple RISC Computer<br />Simple Synchronous Static RAM<br />Introduction to Assembly Language and Hand Assembly
 +
|[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]<br />[[media:RSRC_4KB_Sync_SRAM.pdf|1Kx32 RSRC Memory Subsystem]]<br />[http://classes.engineering.wustl.edu/cse362/index.php/File:SRCToolsv3.1.1.jar RSRC/SRC SIMULATOR]
 +
|Homework 7
 +
|
 +
 +
|-
 +
|21
 +
|NOV 13
 +
|The Difference Engine in RSRC Assembly Language<br />RSRC Instruction Fetch RTN<br />ADD RTN<br />Datapath Refinement<br />RSRC Control FSM VHDL
 +
|[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]<br />[[media:RSRC_Abstract_RTN.pdf|RSRC Abstract RTN]]
 +
|
 +
|
 +
 +
|-
 +
|22
 +
|NOV 15
 +
|Displacement-Based Addressing<br />Branch Instruction Datapath Refinement<br />Shift Instruction Datapath Refinement
 +
|[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]<br />[[media:DISPLACEMENT.pdf|RSRC/SRC Displacement-Based Addressing]]
 +
|Homework 8
 +
|Homework 7
 +
 +
|-
 +
|23
 +
|NOV 20
 +
|R[rc] Multiplexor Design<br />RSRC ALU VHDL<br />1Kx32 RSRC Memory Subsystem<br />Memory: 6T SRAM Cell<br />DRAM Cell
 +
|[[media:Mano_ch07_images.pdf|Chapter 7]]<br />[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]<br />[[media:RSRC_4KB_Sync_SRAM.pdf|1Kx32 RSRC Memory Subsystem]]
 +
|
 +
|
 +
 +
|-
 +
|24
 +
|NOV 27
 +
|A Commercial SRAM<br />A Commercial DRAM<br />A Commercial EPROM<br />RSRC VHDL and Simulation Testbench
 +
|[[media:Cy7c199n_8.pdf|Cypress 32Kx8 SRAM]]<br />[[media:MT4LC4M16R6.pdf|Micron 4Mx16 EDO DRAM]]<br />[[media:Am27c256.pdf|AMD 32Kx8 EPROM Datasheet]]<br />[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]<br />RSRC VHDL Supplied by the Instructor
 +
|Homework 9
 +
|Homework 8
 +
 +
|-
 +
|25
 +
|NOV 29
 +
|1-Bus vs. 2-Bus vs. 3-Bus RSRC<br />3-Bus RSRC Register File<br />Intel 8086 Bus Architecture<br />RSRC Instruction Set Review<br />RSRC Architecture Review
 +
|[[media:1_BUS_RSRC_BLOCK_DIAGRAM.pdf|1-Bus SRC Block Diagram (From Heuring and Jordan)]]<br />[[media:2_BUS_RSRC_BLOCK_DIAGRAM.pdf|2-Bus SRC Block Diagram (From Heuring and Jordan)]]<br />[[media:3_BUS_RSRC_BLOCK_DIAGRAM.pdf|3-Bus SRC Block Diagram (From Heuring and Jordan)]]<br />[[media:3_BUS_RSRC_REGFILE.pdf|3-Bus SRC Register File (From Heuring and Jordan)]]<br />[[media:Intel_8086_Block_Diagram.pdf|Intel 8086 Block Diagram]]<br />[[media:The_Really_Simple_RISC_Computer.pdf|The Really Simple RISC Computer (RSRC)]]
 +
|
 +
|
 +
 +
|-
 +
|26
 +
|DEC 4
 +
|Difference Engine in C (x86) w/Assembly<br />Review
 +
|[[media:Difference_Engine_in_C.pdf|Difference Engine in C (x86)]]
 +
|
 +
|Homework 9
 +
 +
|-
 +
|27
 +
|DEC 6
 +
|Exam 3
 
|
 
|
 
|
 
|

Latest revision as of 20:09, 9 May 2017

FALL 2017
LECTURE DATE TOPICS PREPARATION ASSIGNED DUE
1 AUG 28 Course Introduction
Number Systems
Base Conversion
Arithmetic Operations
Codes
Course Introduction
Chapter 1
The Reflected Binary (Gray) Code
Homework 1
2 AUG 30 Boolean Algebra
DeMorgan's Theorem
The Consensus Theorem
Introduction to K-Maps
Chapter 2
3 SEPT 6 Standard Forms: POS Notation
Two-Level Circuit Optimization Using K-Maps
Proving Identities Using K-Maps
The XOR Gate
The Half Adder
The Full Adder
The Ripple-Carry Adder
Chapter 2
Chapter 3
Homework 2 Homework 1
4 SEPT 11 Essential Prime Implicants and Optimized Expressions
Standard Forms: SOP Notation
Five- and Six-Variable K-Maps
Don’t cares
Gate propagation delay
The 74LS04 Inverter
The Mux
The Decoder
Implementing Circuits Using Muxes
Chapter 2
Chapter 3
74LS04 Datasheet
5 SEPT 13 Standard Cell Implementation of Logic Circuits
VHDL: VHSIC Hardware Description Language
VHDL Constructs: IF, WHEN, SELECT
Xilnix Vivado Tool Suite
Boole's Expansion Theorem (First Pass)
Standard Cell Circuit
VHDL Tutorial
Vivado Simulation Tutorial 1
Full Vivado Tutorial
Boole's Expansion Theorem
Homework 3 Homework 2
6 SEPT 18 Boole's Expansion Theorem (Second Pass)
Introduction to Xilinx 7-Series FPGAs
USING LUTs to Implement Logic (LUT = Storage + MUX)
Chapter 5
Xilinx 7-Series FPGAs Overview
Xilinx 7-Series CLB User Guide
7 SEPT 20 Digilent Nexys4 DDR Development Board
Digilent Nexys4 DDR Board Schematic (LEDs, Switches)
Concepts of VCCIO and Core Voltage
Digilent Nexys4 DDR Manual
Digilent Nexys4 DDR Schematics
Lab 1 Homework 3
8 SEPT 25 Implementing Functions with NAND and NOR Gates
Implementing Functions with Decoders
The Priority Encoder
The 4-bit Adder as a 2-Level Circuit
Addition and Subtraction of 2s Complement Numbers
Incrementing (The Incrementer Circuit)
Multiplication by Constants
Chapter 3
9 SEPT 27 Gate Propogation Delay
Races and Hazards
Review
Chapter 2 Lab 1
10 OCT 2 EXAM 1
11 OCT 4 Oscillators and Clock Distribution
Flip-Flop as a Black Box
A First Counter (Incrementer + FFs)
The Difference Engine (DE)
VHDL for FFs, Registers, Counters, and The DE
Setup Time
Hold Time
Clock-to-Output Time
Introduction to Metastability
Chapter 4
Oscillators and Clock Distribution
First Counter
Using Babbage's Difference Engine to Introduce Computer Architecture
VHDL Tutorial
Anomalous Behavior of Synchronizer and Arbiter Circuits
Measured Flip-Flop Responses to Marginal Triggering
Homework 4
12 OCT 9 Latches
NOR SR Latch VHDL
Flip-Flops
74LS74/74S74 Flip-Flop
Formal Definition of Mealy- and Moore-Model FSMs
State Tables
Second Counter: FSM Design Example
Clocks in VHDL
Chapter 4
NOR SR Latch VHDL
74LS74 Datasheet
Second Counter
Vivado Simulation Tutorial 2 (Forcing a Clock)
13 OCT 11 Sequence Recognizer
FSMs in VHDL
One-Hot FSM Implementation
Recognizing Character Sequences (Packet Sniffing)
Chapter 4
VHDL Tutorial
Homework 5
Lab 2
Homework 4
OCT 16 Fall Break
14 OCT 18 FSM Timging/Max Clock Rate
Path Analysis and Slack
Equivalent States
Minimizing Complete Specified Machines
Combination Mealy/Moore Machines
Chapter 4
Vivado Clock Constraints Tutorial
Definitions and Theorems for Sequential Machines
Minimizing Completely Specified Machines
15 OCT 23 Digital Systems = Datapath + Control
Register Transfers
Tri-State Buffers
Pull-ups/Pull-downs
The Bus-Based Difference Engine
Chapter 6
The Really Simple RISC Computer (RSRC)
Homework 6
Lab 3
Homework 5
Lab 2
16 OCT 25 The Bus-Based Difference Engine Datapath VHDL
Shift Registers
Parallel-to-Serial Conversion
Serial-to-Parallel Conversion
Ripple Counters
Chapter 6
The Really Simple RISC Computer (RSRC)
17 OCT 30 The Bus-Based Difference Engine Control FSM VHDL
The Really Simple RISC Computer (RSRC) Homework 6
18 NOV 1 Review Lab 3
19 NOV 6 Exam 2
20 NOV 8 The Really Simple RISC Computer
Simple Synchronous Static RAM
Introduction to Assembly Language and Hand Assembly
The Really Simple RISC Computer (RSRC)
1Kx32 RSRC Memory Subsystem
RSRC/SRC SIMULATOR
Homework 7
21 NOV 13 The Difference Engine in RSRC Assembly Language
RSRC Instruction Fetch RTN
ADD RTN
Datapath Refinement
RSRC Control FSM VHDL
The Really Simple RISC Computer (RSRC)
RSRC Abstract RTN
22 NOV 15 Displacement-Based Addressing
Branch Instruction Datapath Refinement
Shift Instruction Datapath Refinement
The Really Simple RISC Computer (RSRC)
RSRC/SRC Displacement-Based Addressing
Homework 8 Homework 7
23 NOV 20 R[rc] Multiplexor Design
RSRC ALU VHDL
1Kx32 RSRC Memory Subsystem
Memory: 6T SRAM Cell
DRAM Cell
Chapter 7
The Really Simple RISC Computer (RSRC)
1Kx32 RSRC Memory Subsystem
24 NOV 27 A Commercial SRAM
A Commercial DRAM
A Commercial EPROM
RSRC VHDL and Simulation Testbench
Cypress 32Kx8 SRAM
Micron 4Mx16 EDO DRAM
AMD 32Kx8 EPROM Datasheet
The Really Simple RISC Computer (RSRC)
RSRC VHDL Supplied by the Instructor
Homework 9 Homework 8
25 NOV 29 1-Bus vs. 2-Bus vs. 3-Bus RSRC
3-Bus RSRC Register File
Intel 8086 Bus Architecture
RSRC Instruction Set Review
RSRC Architecture Review
1-Bus SRC Block Diagram (From Heuring and Jordan)
2-Bus SRC Block Diagram (From Heuring and Jordan)
3-Bus SRC Block Diagram (From Heuring and Jordan)
3-Bus SRC Register File (From Heuring and Jordan)
Intel 8086 Block Diagram
The Really Simple RISC Computer (RSRC)
26 DEC 4 Difference Engine in C (x86) w/Assembly
Review
Difference Engine in C (x86) Homework 9
27 DEC 6 Exam 3