Difference between revisions of "Syllabus"
From CSE260M Wiki
Jump to navigationJump to search(50 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" | {| class="wikitable" | ||
− | |+ | + | |+FALL 2017 |
|- | |- | ||
|LECTURE | |LECTURE | ||
|DATE | |DATE | ||
− | | | + | |TOPICS |
|PREPARATION | |PREPARATION | ||
|ASSIGNED | |ASSIGNED | ||
Line 36: | Line 36: | ||
|4 | |4 | ||
|SEPT 11 | |SEPT 11 | ||
− | |Essential Prime Implicants and Optimized Expressions<br />Standard Forms: SOP Notation<br />Five- and Six-Variable K-Maps<br />Don’t cares<br />Gate propagation delay<br />The Mux<br />The Decoder<br />Implementing Circuits Using Muxes | + | |Essential Prime Implicants and Optimized Expressions<br />Standard Forms: SOP Notation<br />Five- and Six-Variable K-Maps<br />Don’t cares<br />Gate propagation delay<br />The 74LS04 Inverter<br />The Mux<br />The Decoder<br />Implementing Circuits Using Muxes |
− | |[[media:Mano_ch02_images.pdf|Chapter 2]]<br />[[media:Mano_ch03_images.pdf|Chapter 3]] | + | |[[media:Mano_ch02_images.pdf|Chapter 2]]<br />[[media:Mano_ch03_images.pdf|Chapter 3]]<br />[[media:Sn74ls04.pdf|74LS04 Datasheet]] |
| | | | ||
| | | | ||
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 /> | + | |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 />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: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 | ||
| | | | ||
+ | |||
+ | |- | ||
+ | |12 | ||
+ | |OCT 9 | ||
+ | |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: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)]] | ||
| | | | ||
| | | | ||
− | |||
|- | |- | ||
− | | | + | |13 |
− | |OCT | + | |OCT 11 |
+ | |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]] | ||
+ | |Homework 5<br />Lab 2 | ||
+ | |Homework 4 | ||
+ | |||
+ | |- | ||
| | | | ||
+ | |OCT 16 | ||
+ | |Fall Break | ||
| | | | ||
| | | | ||
Line 106: | Line 122: | ||
|- | |- | ||
− | | | + | |14 |
− | |OCT | + | |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]] | ||
| | | | ||
| | | | ||
+ | |||
+ | |- | ||
+ | |15 | ||
+ | |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)]] | ||
+ | |Homework 6<br />Lab 3 | ||
+ | |Homework 5<br />Lab 2 | ||
+ | |||
+ | |- | ||
+ | |16 | ||
+ | |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)]] | ||
| | | | ||
| | | | ||
+ | |- | ||
+ | |17 | ||
+ | |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 | ||
+ | | | ||
|- | |- | ||
− | | | + | |18 |
− | | | + | |NOV 1 |
+ | |Review | ||
+ | | | ||
| | | | ||
+ | |Lab 3 | ||
+ | |||
+ | |- | ||
+ | |19 | ||
+ | |NOV 6 | ||
+ | |Exam 2 | ||
| | | | ||
| | | | ||
Line 123: | Line 170: | ||
|- | |- | ||
− | | | + | |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]] | ||
| | | | ||
| | | | ||
|- | |- | ||
− | |15 | + | |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
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 |