Difference between revisions of "CSC270 Weekly Schedule 2016"

From dftwiki3
Jump to: navigation, search
( )
( )
 
(126 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
----
 
----
 
__NOTOC__
 
__NOTOC__
<center>  
+
<center>[[CSC270 Spring 2016 | Main Page]] | [[CSC270_Weekly_Schedule_2016#Resources_.26_Misc._Information | Resources]] | [https://piazza.com/class/ijprpz7x23l6ml Piazza]</center>
<font size="+2">Page under construction!</font>  
+
<br /><br />
</center>  
+
<onlydft>
<P>  
+
* [http://www.science.smith.edu/dftwiki/media/digital_design-__morris_mano-fifth_edition.pdf Mano]
<center>  
+
</onlydft>
[[File:UnderConstruction.jpg|300px]]
 
<br />
 
Stay Tuned...
 
</center>
 
 
 
 
<br /><br />
 
<br /><br />
 
====&nbsp;====
 
====&nbsp;====
Line 22: Line 17:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': Introduction, Boolean Functions,  First Lab.
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
 
::* Syllabus
 
::* Syllabus
 
::* Introduction
 
::* Introduction
::*  
+
::* Under the hood
----
+
::* Boolean Algebra
* '''Thursday'''
+
::* Gates
 +
::* Minterm decomposition
 +
::* [[CSC270 GenerateTruthTable.py|Generating truth tables in Python or Java]]
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes01.pdf Class Notes]
 
|
 
|
*  
+
* [[CSC270 Lab 1 2016| Lab 1]]
 +
* [[CSC270 Homework 1 2016 | Homework 1]] and [[CSC270 Homework 1 Solutions 2016 | Solution]]
 
|
 
|
*  
+
* Read Chapter 1 in Mano.  This should be a review for everybody.  If it is not, make sure you spend time learning this material.  It is essential knowledge for every computer-scientist!
 +
* Start Reading Chapter 2 in Mano.  We will cover its contents this week and part of next week.
 
|}
 
|}
  
Line 50: Line 50:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': Maxterms, Nand, Nor, Karnaugh Maps, Decoders.
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
::* MaxTerms
* '''Thursday'''
+
::* Nands &amp; Nors
 +
::* Karnaugh Maps
 +
::* Intro. to Decoders
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes02.pdf Class Notes]
 
|
 
|
*  
+
* [[CSC270 Lab 2 2016 | Lab #2]]
 +
* [[CSC270 Homework 2 2016 | Homework #2]] and [[CSC270 Homework 2 Solutions 2016| Solution (pdf)]]
 
|
 
|
*  
+
* Read Chapter 3 in Mano.  Skip Section 3.5 for right now.  Also skip 3.4, 3.7, and 3.9.
 
|}
 
|}
  
Line 75: Line 79:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': Transistors, Java/Python simulation, Karnaugh Maps.
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
{|
----
+
|
* '''Thursday'''
+
* '''Tuesday/Thursday'''
 +
::* Introduction to Electronics
 +
::* Ohm's Law
 +
::* Electronic Circuits
 +
::* Resistors, Diodes, &amp; <font color="magenta">'''Transistors'''</font>
 +
::* Simple TTL Circuits
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes03.pdf Class Notes]
 +
|
 +
[[File:2N2222.png|180px]]
 +
|}
 
|
 
|
*  
+
* [[CSC270 Lab 3 2016 | Lab #3]]
 +
* [[CSC270 Homework 3 2016 | Homework #3]] and [[CSC270 Homework 3 Solution 2016| solution (pdf)]]
 
|
 
|
*  
+
* There isn't anything on basic electronics in Mano.  You will have to rely on the Web for second source material.  The [http://101science.com/Radio.htm 101science.com] site has some good coverage of electricity and electronics, if you want to review what we do in class, or learn more.
 
|}
 
|}
  
Line 100: Line 114:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': Flipflops, oscilloscope
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
::* Comments on HW #2: [[3-to-8 Decoder in Python| 3-to-8 Decoder in Python]]
* '''Thursday'''
+
::* More on decoders
 +
::* Multiplexers (Mux)
 +
::* A cycle of NOR gates?
 +
::* Flipflop
 +
::* RS Latch
 +
::* D Flip-flop
 +
::* Oscilloscope
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes04.pdf Class Notes]
 +
::: [[Image:videoLogo.png| 50px | link=https://youtu.be/UHr1TxijBSM]] &nbsp; [[Image:videoLogo.png| 50px | link=https://youtu.be/ta096oBzSac]]
 
|
 
|
*  
+
* [[CSC270 Homework 4 2016| Homework 4]] and [[CSC270 Homework 4 Solution 2016 | Solution]]
 +
* [[CSC270 Lab 4 2016| Lab 4]]
 
|
 
|
*  
+
* Decoders and Multiplexers are covered in Sections 4.9 and 4.11 in Mano.
 +
* The flipflops (latches) are covered in Sections 5.1 to 5.4 of Mano.  You can stop at the JK flipflop (not covered this week).
 
|}
 
|}
  
Line 125: Line 149:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': Finite State Machines, Moore, Mealy, Python simulator
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
::* Finite State Machines
* '''Thursday'''
+
::* Moore vs. Mealy machines
 +
::* FSM with outside commands
 +
::* Python FSM
 +
::* [[CSC270_GYRSequencer.py| Program in Python simulating a sequencer]]
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes05.pdf Class Notes]
 +
 
 
|
 
|
*  
+
* [[CSC270 Homework 5 2016| Homework 5]] and [[CSC270 Homework 5 Solution 2016|Solutions]]
 +
* [[CSC270 Lab 5 2016| Lab 5]]
 
|
 
|
*  
+
* The flipflops (latches) are covered in Sections 5.1 to 5.4 of Mano.  You can stop at the JK flipflop (not covered this week).
 +
 
 
|}
 
|}
  
Line 150: Line 181:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': JK Flipflop
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
::* Sequencers with input signals
* '''Thursday'''
+
::* [[CSC270 Python simulator for Controllable Sequencer| Python simulator]]
 +
::* JK Flipflop
 +
::* JK sequencers without external signals
 +
::* JK sequencers with external signals
 +
 
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes06.pdf Class Notes]
 +
 
 
|
 
|
*  
+
* [[CSC270 Lab 6 2016| Lab 6]]
 +
* [[CSC270 Homework 6 2016 | Homework 6]]
 
|
 
|
*  
+
* Read Chapter 5, starting with the '''Other Flip-flops''' on Page 200.
 
|}
 
|}
  
Line 175: Line 213:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': ROM-based sequencers
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
::* Continuation of JK flip-flops and Moore sequencers
* '''Thursday'''
+
::* Rom-based sequencers
 +
::* <font color="magenta">'''Midterm Exam'''</font>
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes07.pdf Class Notes]
 
|
 
|
*  
+
* No homework or lab reports this week...  Just a midterm
 
|
 
|
*  
+
* Good reading in Mano: Section 6.3 on particular sequential circuits made with flip-flops.  Of interest: registers, counters, and shift registers.  This section will NOT be on the midterm, but it's good reading nonetheless...
 
|}
 
|}
  
Line 208: Line 248:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': Introduction to the 6811 Microprocessor.  6800 assembly.
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
[[Image:6811Motorola.jpg | 200px | right]]
* '''Thursday'''
+
* Introduction to the Motorola 6800 Processor
 +
* [[CSC270 Assembling 6800 Assembly Programs on OSX/Windows|Assembling 6800 assembly program on your laptop]]
 +
* [[Media:6811CycleByCycle.pdf| Cycle-by-Cycle Instruction Execution (pdf)]]
 +
* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes08.pdf Class Notes]
 
|
 
|
*  
+
* [[CSC270 Lab 7 2016| Lab 7]]
 +
* [[CSC270 Homework 7 2016 | Homework 7]] and [[CSC270 Homework 7 Solution 2016 | solution]]
 
|
 
|
*  
+
* Read this [[CSC270_Introduction_to_the_6811 | introductory page]] for this week.
 +
* Read this [https://www.clear.rice.edu/elec201/Book/6811_asm.html  Introduction to 6811]] programming from Rice U.
 +
* Read the [[Media:6811Manual.pdf |6811 Manual ]] for this week. 
 
|}
 
|}
  
Line 227: Line 273:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 9'''  Mar 22, 24
+
|width="45%"|'''Week 9'''  Mar 29, 31
 
|width="20%"| '''&nbsp;'''  
 
|width="20%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
Line 233: Line 279:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': 6811 disassembly, Addressing modes, bus timing
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''TuesdayThursday'''
----
+
::* Timing diagram of an endless loop: E, R/W, Address Bus, Data Bus, LIR
* '''Thursday'''
+
::* 6811 and ''address decoding'' in the context of Memory
 +
::* Memory mapped I/O: A 1-bit output port
 +
:::* Design
 +
:::* Programming
 +
::* 3-bit output port
 +
:::* Design
 +
:::* Programming
 +
::* [[Image:6811MemoryMappedIO.png|150px]] [[Image:6811ROMServices.png|150px]]
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes09.pdf Class Notes]
 
|
 
|
*  
+
* [[CSC270 Lab 8 2016| Lab 8]]
 +
* [[CSC270 Homework 8 2016| Homework 8]] and [[CSC270 Homework 8 Solution 2016| solution]]
 
|
 
|
 
*  
 
*  
Line 252: Line 307:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 10'''  Mar 29, 31
+
|width="45%"|'''Week 10'''  Apr 5, 7
 
|width="20%"| '''&nbsp;'''  
 
|width="20%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
Line 258: Line 313:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': 6811 Input Port
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
::* Exercises: Designing a 3-bit output port for the 6811
* '''Thursday'''
+
::* Designing an Input Port for the 6811.
 +
::* Good rules of I/O Design
 +
::* Programming an I/O port (Input + Output)
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes10.pdf Class Notes]
 
|
 
|
*  
+
* [[CSC270 Lab 9 2016 |  Lab 9]]
 +
* [[CSC270 Homework 9 2016 | Homework 9]] and [[CSC270 Homework 9 Solution 2016| Solution]]
 
|
 
|
*  
+
* [https://en.wikipedia.org/wiki/Memory-mapped_I/O Memory-Mapped I/O] in Wikipedia.
 
|}
 
|}
  
Line 277: Line 336:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 11'''  Aprl 5, 7
+
|width="45%"|'''Week 11'''  Apr 12, 14
 
|width="20%"| '''&nbsp;'''  
 
|width="20%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
Line 283: Line 342:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': Memory-Mappe I/O, Input Port
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''Tuesday/Thursday'''
----
+
::* Tuesday: Continuation of Lab 9
* '''Thursday'''
+
::* Reviewing the last homework.  A very fast way to send 100 bits!
 +
::* Learning C
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes11.pdf Class Notes]
 +
 
 
|
 
|
*  
+
* [[CSC270 Lab 10 2016| Lab 10]]
 +
* [[CSC270 Hw 10 2016| Homework 10]] and [[CSC270 HW 10 Solution 2016| Solution program]]
 
|
 
|
 
*  
 
*  
Line 302: Line 365:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 12'''  Apr 12, 14
+
|width="45%"|'''Week 12'''  Apr 19, 21
 
|width="20%"| '''&nbsp;'''  
 
|width="20%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
Line 308: Line 371:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': C & Arduino
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''TuesdayThursday'''
----
+
::* Learning C (cont'd)
* '''Thursday'''
+
::* Introduction to the  Arduino
 +
::* [http://www.science.smith.edu/dftwiki/media/CSC270_2016Notes12.pdf Class Notes]
 +
::* [[Comparing_Different_Computers_with_N_Queens_Program| N-Queens on the Arduino]]
 +
<center><videoflashright type="vimeo">18539129</videoflashright></center>
 +
 
 
|
 
|
*  
+
* [[CSC270 Lab 11 2016 | Lab 11]]
 +
* [[CSC270 Homework 11 2016| Homework 11]]
 
|
 
|
 
*  
 
*  
Line 327: Line 395:
 
----
 
----
 
{| style="width:100%" border="0"
 
{| style="width:100%" border="0"
|width="45%"|'''Week 13'''  Apr. 19, 21
+
|width="45%"|'''Week 13'''  Apr. 26, 28
 
|width="20%"| '''&nbsp;'''  
 
|width="20%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
 
|width="25%"| '''&nbsp;'''  
Line 333: Line 401:
 
|}
 
|}
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
{| class="mw-collapsible " style="width:100%" border="1"
 
|- style="background:#dddddd;"
 
|- style="background:#dddddd;"
|width="60%"| '''Topics''':  
+
|width="60%"| '''Topics''': TBA
 
|width="15%"| '''Lab/Hw'''
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''  
 
|width="25%"| '''Reading'''  
 
|-valign="top"
 
|-valign="top"
 
|
 
|
* '''Tuesday'''
+
* '''TuesdayThursday'''
 +
::* Use the Arduino to "express" a computer algorithm.
 +
:::* Step 1: Review algorithms that could be fun to express
 +
:::* Step 2: Review sensors and output devices
 +
:::* Step 3: Watch some videos below (mostly "visual" demos), some sound
 +
:::* Step 4: Formulate Project #1
 +
:::* Step 5: Start on Project #1
 
----
 
----
* '''Thursday'''
+
::* For inspiration:
|
+
::* <videoflash>es2T6KY45cA</videoflash>
*
+
::* <videoflash>kPRA0W1kECg</videoflash>
 +
::* <videoflash>8oJS1BMKE64</videoflash>
 +
::* <videoflash>WPJHJz5bvaw</videoflash>
 +
:::(More info on above video: [http://earthzine.org/2013/07/23/sonification-data-like-youve-never-heard-before/ http://earthzine.org/2013/07/23/]
 +
::* [https://bost.ocks.org/mike/algorithms/ Visualizing Algorithms]
 +
::* <videoflash type="vimeo">42353230</videoflash>
 +
::* <videoflash>DzOIYzWLaew</videoflash>
 +
<br />
 +
<br />
 +
----
 +
<br />
 +
:* [[CSC270_Final_Exam_2016 | Final Exam]]
 +
<br />
 +
----
 +
<br />
 +
<br />
 
|
 
|
*  
+
* No lab or homework
 +
|
 +
* No reading
 
|}
 
|}
  
 
====&nbsp;====
 
====&nbsp;====
----
+
 
{| style="width:100%" border="0"
+
<br />
|width="45%"|'''Week 14'''  Apr 26, 28
+
<br />
|width="20%"| '''&nbsp;'''
+
=Resources &amp; Misc. Information=
|width="25%"| '''&nbsp;'''  
+
<br />
|-
+
[[Image:Mano5thEdition.png|right|150px]]
|}
+
==Textbooks==
 +
<br />
 +
* Mano, Digital Design, 5th Edition.  Check the resource section on [https://moodle.smith.edu/course/view.php?id=11947#section-1 Moodle] for more information.
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
 
 +
==Logic-Circuit Editors==
 +
<br />
 +
::* [http://www.electronics-lab.com/downloads/circutedesignsimulation/?page=5 PSpice Student Edition, Windows]
 +
[[Image:Pspice9.gif|500px|center]]
 +
<br />
 +
::* On-line editor: [https://academo.org/demos/logic-gate-simulator/ Academo]
 +
[[Image:Academo.jpg|500px|center]]
 +
::* App: [http://sourceforge.net/projects/circuit/?source=typ_redirect LogiSim]
 +
[[Image:Logisim.png|500px|center]]
 +
::* [https://www.circuitlab.com/editor/ CircuitLab]
 +
[[Image:CircuitLab.jpg|500px|center]]
 +
<br />
 +
<br />
 +
 
 +
<br />
 +
==Data Sheets==
 +
<br />
 +
If you need to refer to the data sheets of various chips during the lab, you can click on any of the links below:
 +
If the datasheets haven't been printed yet, print a set from these links: [http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls00rev5.pdf 74LS00]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls01rev5.pdf 74LS01]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls02rev5.pdf 74LS02]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls03rev5.pdf 74LS03]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls04rev5.pdf 74LS04]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls05rev5.pdf 74LS05]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls08rev5.pdf 74LS08]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls09rev5.pdf 74LS09]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls10rev5.pdf 74LS10]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls12rev5.pdf 74LS12]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls13rev5.pdf 74LS13]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls15rev5.pdf 74LS15]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls20rev5.pdf 74LS20]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls21rev5.pdf 74LS21]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls22rev5.pdf 74LS22]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls26rev5.pdf 74LS26]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls27rev5.pdf 74LS27]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls28rev5.pdf 74LS28]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls30rev5.pdf 74LS30]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls32rev5.pdf 74LS32]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls33rev5.pdf 74LS33]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls37rev5.pdf 74LS37]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls38rev5.pdf 74LS38]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls40rev5.pdf 74LS40]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls42rev5.pdf 74LS42]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls47rev5.pdf 74LS47]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls48rev5.pdf 74LS48]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls51rev5.pdf 74LS51]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls54rev5.pdf 74LS54]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls55rev5.pdf 74LS55]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls74arev5.pdf 74LS74]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls75rev5.pdf 74LS75]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls76arev5.pdf 74LS76]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls83arev5.pdf 74LS83]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls85rev5.pdf 74LS85]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls86rev5.pdf 74LS86]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls90rev5.pdf 74LS90]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls95brev5.pdf 74LS9]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sn74ls138rev5.pdf 74LS13]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct240.pdf 74HCT24]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/sdls145.pdf 74LS24]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct244.pdf 74HCT24]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/DM74LS259.pdf 74LS25]
 +
[http://cs.smith.edu/~dthiebaut/classes/270/datasheets/CD74hct541.pdf 74HCT54].
 +
<br />
 +
 
 +
==6800 Lab Kit Reference Manual==
 
<br />
 
<br />
::{| class="mw-collapsible " style="width:100%" border="1"
+
* [http://cs.smith.edu/~dthiebaut/classes/270/ETW3800_W6811CPU.pdf Manual (pdf)]
|- style="background:#dddddd;"
 
|width="60%"| '''Topics''':
 
|width="15%"| '''Lab/Hw'''
 
|width="25%"| '''Reading'''
 
|-valign="top"
 
|
 
* '''Tuesday'''
 
----
 
* '''Thursday'''
 
|
 
*
 
|
 
*
 
|}
 
 
<br />
 
<br />
 +
==6800 Microprocessor References==
 
<br />
 
<br />
=Misc. Information=
+
:* The official Motorola [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11a8.pdf 68HC11A8 Data Sheet]. Fairly cryptic...
 +
:* A Motorola [[Media:6811Manual.pdf | 6811 Manual]]. It is a nicely written refresher on many concepts of assembly language applied to the 6811.
 +
:** Check Section 3.2 on addressing modes (inherent, direct, extended, indexed, relative).
 +
:** Get a refresher for the different instruction types (arithmetic, shifts, control, etc) in Section 3.4.
 +
:** The condition code register is covered in Section 3.5. Skip Section 4.
 +
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11ref-2002.pdf M68HC11 Technical Reference], from Motorola.
 +
:**Section 6.5 shows the instructions in logical groups.
 +
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11pocket.pdf M68HC11 Pocket Reference].
 +
:**Very useful, on Page 15, a list of all the opcodes supported by the 6811, in numerical (hex) order.
 +
:* [http://cs.smith.edu/~dthiebaut/classes/270/6811/68hc11a8ref.pdf 68HC11A8 Technical Reference]: a hardware & engineering description. of the 6811, its ports, and how it operates.
 +
:** See Section 10 for a cycle-by-cycle description of the execution of each instruction.
 +
:** See Appendix A, Figure A-14 for the timing diagram of a typical (multiplexed expansion) memory access.
 +
:* [http://www.ele.uri.edu/Courses/ele205/6811-Instructions/index.html 6811 Instruction Set], with hexadecimal opcodes. A reverse map, from hex to instructions can be found [http://home.earthlink.net/~tdickens/68hc11/68hc11_opcode_map.html here.]
 +
:* [[Media:CSC270_Assembly_Instructions.pdf | 2-Page List]] of all the 6811 Instructions
 +
:* [http://www.aspisys.com/asm11.htm Software] for the 6811
 +
:* [[Image:CSC270_6811_Listing_Format.png | 200 px | right ]] Listing format
 
<br />
 
<br />
 +
 
==Lab Reports==
 
==Lab Reports==
 
<br />
 
<br />
Line 384: Line 557:
 
</onlydft>
 
</onlydft>
 
<br />
 
<br />
 +
 
==Programming Examples==
 
==Programming Examples==
 
<br />
 
<br />
 
* [[CSC270 GenerateTruthTable.py | A Python program]] that generates a truth table.
 
* [[CSC270 GenerateTruthTable.py | A Python program]] that generates a truth table.
 +
<br />
 +
==Arduino References==
 +
<br />
 +
* Online C Compiler: [http://www.tutorialspoint.com/compile_c_online.php http://www.tutorialspoint.com/compile_c_online.php]
 +
* Online [http://www.ime.usp.br/~pf/Kernighan-Ritchie/C-Programming-Ebook.pdf Kernighan and Ritchie's C Reference]
 +
<br /><br /><br /><br />
 +
<br /><br /><br /><br />
 +
[[Category:CSC270]][[Category:6811]][[Category:Arduino]]

Latest revision as of 13:31, 28 April 2016

--D. Thiebaut (talk) 11:18, 26 August 2015 (EDT)


Main Page | Resources | Piazza




...



 


Week 1 Jan 26, 27    


Topics: Introduction, Boolean Functions, First Lab. Lab/Hw Reading
  • Tuesday/Thursday
  • Read Chapter 1 in Mano. This should be a review for everybody. If it is not, make sure you spend time learning this material. It is essential knowledge for every computer-scientist!
  • Start Reading Chapter 2 in Mano. We will cover its contents this week and part of next week.

 


Week 2 Feb 2, 4    


Topics: Maxterms, Nand, Nor, Karnaugh Maps, Decoders. Lab/Hw Reading
  • Tuesday/Thursday
  • MaxTerms
  • Nands & Nors
  • Karnaugh Maps
  • Intro. to Decoders
  • Class Notes
  • Read Chapter 3 in Mano. Skip Section 3.5 for right now. Also skip 3.4, 3.7, and 3.9.

 


Week 3 Feb 9, 11    


Topics: Transistors, Java/Python simulation, Karnaugh Maps. Lab/Hw Reading
  • Tuesday/Thursday
  • Introduction to Electronics
  • Ohm's Law
  • Electronic Circuits
  • Resistors, Diodes, & Transistors
  • Simple TTL Circuits
  • Class Notes

2N2222.png

  • There isn't anything on basic electronics in Mano. You will have to rely on the Web for second source material. The 101science.com site has some good coverage of electricity and electronics, if you want to review what we do in class, or learn more.

 


Week 4 Feb 16, 18    


Topics: Flipflops, oscilloscope Lab/Hw Reading
  • Tuesday/Thursday
VideoLogo.png   VideoLogo.png
  • Decoders and Multiplexers are covered in Sections 4.9 and 4.11 in Mano.
  • The flipflops (latches) are covered in Sections 5.1 to 5.4 of Mano. You can stop at the JK flipflop (not covered this week).

 


Week 5 Feb 23, 25    


Topics: Finite State Machines, Moore, Mealy, Python simulator Lab/Hw Reading
  • Tuesday/Thursday
  • The flipflops (latches) are covered in Sections 5.1 to 5.4 of Mano. You can stop at the JK flipflop (not covered this week).

 


Week 6 Mar 1, 3    


Topics: JK Flipflop Lab/Hw Reading
  • Tuesday/Thursday
  • Sequencers with input signals
  • Python simulator
  • JK Flipflop
  • JK sequencers without external signals
  • JK sequencers with external signals
  • Read Chapter 5, starting with the Other Flip-flops on Page 200.

 


Week 7 Mar 8, 10    


Topics: ROM-based sequencers Lab/Hw Reading
  • Tuesday/Thursday
  • Continuation of JK flip-flops and Moore sequencers
  • Rom-based sequencers
  • Midterm Exam
  • Class Notes
  • No homework or lab reports this week... Just a midterm
  • Good reading in Mano: Section 6.3 on particular sequential circuits made with flip-flops. Of interest: registers, counters, and shift registers. This section will NOT be on the midterm, but it's good reading nonetheless...



Spring Break



 


Week 8 Mar 22, 24    


Topics: Introduction to the 6811 Microprocessor. 6800 assembly. Lab/Hw Reading
  • Tuesday/Thursday
6811Motorola.jpg

 


Week 9 Mar 29, 31    


Topics: 6811 disassembly, Addressing modes, bus timing Lab/Hw Reading
  • TuesdayThursday
  • Timing diagram of an endless loop: E, R/W, Address Bus, Data Bus, LIR
  • 6811 and address decoding in the context of Memory
  • Memory mapped I/O: A 1-bit output port
  • Design
  • Programming
  • 3-bit output port
  • Design
  • Programming

 


Week 10 Apr 5, 7    


Topics: 6811 Input Port Lab/Hw Reading
  • Tuesday/Thursday
  • Exercises: Designing a 3-bit output port for the 6811
  • Designing an Input Port for the 6811.
  • Good rules of I/O Design
  • Programming an I/O port (Input + Output)
  • Class Notes

 


Week 11 Apr 12, 14    


Topics: Memory-Mappe I/O, Input Port Lab/Hw Reading
  • Tuesday/Thursday
  • Tuesday: Continuation of Lab 9
  • Reviewing the last homework. A very fast way to send 100 bits!
  • Learning C
  • Class Notes

 


Week 12 Apr 19, 21    


Topics: C & Arduino Lab/Hw Reading
  • TuesdayThursday

 


Week 13 Apr. 26, 28    


Topics: TBA Lab/Hw Reading
  • TuesdayThursday
  • Use the Arduino to "express" a computer algorithm.
  • Step 1: Review algorithms that could be fun to express
  • Step 2: Review sensors and output devices
  • Step 3: Watch some videos below (mostly "visual" demos), some sound
  • Step 4: Formulate Project #1
  • Step 5: Start on Project #1

  • For inspiration:
(More info on above video: http://earthzine.org/2013/07/23/









  • No lab or homework
  • No reading

 



Resources & Misc. Information


Mano5thEdition.png

Textbooks


  • Mano, Digital Design, 5th Edition. Check the resource section on Moodle for more information.












Logic-Circuit Editors


Pspice9.gif


Academo.jpg
Logisim.png
CircuitLab.jpg




Data Sheets


If you need to refer to the data sheets of various chips during the lab, you can click on any of the links below: If the datasheets haven't been printed yet, print a set from these links: 74LS00 74LS01 74LS02 74LS03 74LS04 74LS05 74LS08 74LS09 74LS10 74LS12 74LS13 74LS15 74LS20 74LS21 74LS22 74LS26 74LS27 74LS28 74LS30 74LS32 74LS33 74LS37 74LS38 74LS40 74LS42 74LS47 74LS48 74LS51 74LS54 74LS55 74LS74 74LS75 74LS76 74LS83 74LS85 74LS86 74LS90 74LS9 74LS13 74HCT24 74LS24 74HCT24 74LS25 74HCT54.

6800 Lab Kit Reference Manual



6800 Microprocessor References


  • The official Motorola 68HC11A8 Data Sheet. Fairly cryptic...
  • A Motorola 6811 Manual. It is a nicely written refresher on many concepts of assembly language applied to the 6811.
    • Check Section 3.2 on addressing modes (inherent, direct, extended, indexed, relative).
    • Get a refresher for the different instruction types (arithmetic, shifts, control, etc) in Section 3.4.
    • The condition code register is covered in Section 3.5. Skip Section 4.
  • M68HC11 Technical Reference, from Motorola.
    • Section 6.5 shows the instructions in logical groups.
  • M68HC11 Pocket Reference.
    • Very useful, on Page 15, a list of all the opcodes supported by the 6811, in numerical (hex) order.
  • 68HC11A8 Technical Reference: a hardware & engineering description. of the 6811, its ports, and how it operates.
    • See Section 10 for a cycle-by-cycle description of the execution of each instruction.
    • See Appendix A, Figure A-14 for the timing diagram of a typical (multiplexed expansion) memory access.
  • 6811 Instruction Set, with hexadecimal opcodes. A reverse map, from hex to instructions can be found here.
  • 2-Page List of all the 6811 Instructions
  • Software for the 6811
  • CSC270 6811 Listing Format.png
    Listing format


Lab Reports



...


Programming Examples



Arduino References