Difference between revisions of "CSC270 Class Page 2011"

From dftwiki3
Jump to: navigation, search
(Second 1/2 of Semester)
(Programs)
 
(24 intermediate revisions by the same user not shown)
Line 27: Line 27:
 
=Weekly Schedule=
 
=Weekly Schedule=
 
==First 1/2 of Semester==
 
==First 1/2 of Semester==
<onlysmith>
+
 
 
{| style="width:100%" border="1"
 
{| style="width:100%" border="1"
 
|- style="background:#ffdead;"
 
|- style="background:#ffdead;"
Line 259: Line 259:
 
&nbsp;
 
&nbsp;
 
|}
 
|}
</onlysmith>
+
 
  
 
==Second 1/2 of Semester==
 
==Second 1/2 of Semester==
  
<onlysmith>
 
 
{| style="width:100%" border="1"
 
{| style="width:100%" border="1"
 
|- style="background:#ffdead;"
 
|- style="background:#ffdead;"
Line 398: Line 397:
 
| Week 12 <br /> 4/11
 
| Week 12 <br /> 4/11
 
||  
 
||  
 +
* Happy Birthday Millie! (all pictures on [http://www.facebook.com/album.php?fbid=10150157690196884&id=264041891883&aid=294850 Facebook].)
 
<center>
 
<center>
[[Image:HappyBirthdayMillie.jpg|600px]]
+
[[Image:HappyBirthdayMillie.jpg|400px]]
 
</center>
 
</center>
 
<br />
 
<br />
Line 411: Line 411:
 
** [[CSC270 Lab 11 2011 | Lab 11 ]]
 
** [[CSC270 Lab 11 2011 | Lab 11 ]]
 
*** Designing and wiring up an input port with the 6811
 
*** Designing and wiring up an input port with the 6811
 +
[[Image:74273Register.jpg|150px|right]]
 +
[[Image:74166ShiftRegister.gif|150px|right]]
 
* '''Wednesday'''
 
* '''Wednesday'''
 +
[[Image:CSC270_6811IOScheme.jpg|100px|right]]
 
** How to figure out how many different addresses energize Y4?
 
** How to figure out how many different addresses energize Y4?
** Examples of I/O Devices
+
** Examples of I/O Ports
*** Parallel
+
*** Parallel Port
*** Serial
+
**** Data Registers
*** Data Registers
+
**** Control Registers
*** Control Registers
+
**** Status Registers
*** Status Registers
+
**** Handshake Protocol
* '''Friday''': No class: Programming Contest!
+
**** Software Driver
 +
 
 +
* '''Friday''': '''<font color="magenta">No class: Programming Contest!</font>'''
 
----
 
----
 
* [[CSC270 Lab 11 2011 | Lab 11 ]]
 
* [[CSC270 Lab 11 2011 | Lab 11 ]]
Line 428: Line 433:
 
| Week 13 <br /> 4/18
 
| Week 13 <br /> 4/18
 
||  
 
||  
* '''Monday'''
+
* '''Monday''' (in FH345: lab shared with Susan Voss's class)
** lecture
+
** Lecture
** lab
+
*** [[CSC270 Homework 8 2011 | Homework 8]] &lt;--- <font color="magenta">due 4/25/11</font>
 +
*** Serial Port ( [[media:74166DataSheet.pdf|74166 datasheet]])
 +
*** ROM-based sequencers
 +
*** Attaching a RAM circuit to the 6811 ([[CSC270 Lab12 Board Photos 2011| photos]])
 +
** [[CSC270 lab 12 2011 | Lab #12]]
 
* '''Wednesday'''
 
* '''Wednesday'''
 +
** Continuation of [[CSC270 lab 12 2011 | Lab #12]]
 
* '''Friday'''
 
* '''Friday'''
 +
** [[CSC270 Introduction to the Arduino | Introduction to the Arduino]]
 
----
 
----
*  
+
* [[CSC270 Homework 8 2011 | Homework 8]] &lt;--- <font color="magenta">due 4/25/11</font>
 +
* [[CSC270 lab 12 2011 | Lab #12]]
 
||  
 
||  
 
*  
 
*  
Line 441: Line 453:
 
| Week 14 <br /> 4/25
 
| Week 14 <br /> 4/25
 
||  
 
||  
** Please watch on your own the very good Arduino video.   
+
* Please watch on your own the very good Arduino video.   
 
<videoflashright type="vimeo">18539129</videoflashright>
 
<videoflashright type="vimeo">18539129</videoflashright>
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br /><br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
<br />
 
 
<br />
 
<br />
 
<br />
 
<br />
 
* '''Monday'''
 
* '''Monday'''
** lecture
+
** [[CSC270_Introduction_to_the_Arduino | Lab #13]], the Arduino Lab: <font color="magenta">no report to write</font>.
*** Introduction to the Arduino
+
* '''Wednesday''' <font color="magenta">'''[[CSC270 Final Exam 2011 |TAKE HOME FINAL]]'''</font>
** lab
+
* '''Friday''':  TBA
*** Playing with the Arduino
 
* '''Wednesday'''
 
* '''Friday''': <font color="magenta">'''TAKE HOME FINAL'''</font>
 
 
----
 
----
*  
+
* [[CSC270_Introduction_to_the_Arduino | Lab #13]]
 
||  
 
||  
 
*  
 
*  
 
|}
 
|}
</onlysmith>
+
 
 
----
 
----
 
[[CSC270 2009 | Back]] To Main Page
 
[[CSC270 2009 | Back]] To Main Page
Line 487: Line 472:
  
 
=Links and Resources=
 
=Links and Resources=
 +
 +
=Research=
 +
* Weird: [http://www.engadget.com/2011/10/24/scientists-build-logic-gates-out-of-gut-bacteria-then-hopefully/ scientists build elementary gates] with E-Coli...
 +
 +
==Lab Reports for Labs 1 to 12==
 +
<onlydft>
 +
* Tiffany's reports for the year: [[Media:CSC270_LabReport1_2011.pdf | Lab 1]], [[Media:CSC270_LabReport2_2011.pdf | Lab 2]], [[Media:CSC270_LabReport3_2011.pdf | Lab 3]], [[Media:CSC270_LabReport4_2011.pdf | Lab 4]], [[Media:CSC270_LabReport5_2011.pdf | Lab 5]], [[Media:CSC270_LabReport6_2011.pdf | Lab 6]], [[Media:CSC270_LabReport7_2011.pdf | Lab 7]], [[Media:CSC270_LabReport8_2011.pdf | Lab 8]], [[Media:CSC270_LabReport9_2011.pdf | Lab 9]], [[Media:CSC270_LabReport10_2011.pdf | Lab 10]], [[Media:CSC270_LabReport11_2011.pdf | Lab 11]], and [[Media:CSC270_LabReport12_2011.pdf | Lab 12]].
 +
</onlydft>
  
 
==Printing==
 
==Printing==
Line 504: Line 497:
  
 
==Programs==
 
==Programs==
* [[CSC270 GenerateTruthTable.py | A Python program]] that generates a truth table.  
+
* [[CSC270 GenerateTruthTable.py | Python and Java programs]] that generates truth tables.
  
 
==Software==
 
==Software==
 +
 +
===Free Circuit CAD Systems===
 +
* [http://sourceforge.net/apps/mediawiki/tinycad/index.php?title=TinyCAD TinyCAD]
 +
<videoflashright>1B9sQGtt-5w</videoflashright>
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
<br />
 +
 +
 +
* http://www.xmarks.com/site/www.tech-systems-labs.com/freesoftware.htm
 +
 +
===PSpice 9===
 
[[Image:pspice9.jpg | right | 200 px]]
 
[[Image:pspice9.jpg | right | 200 px]]
===PSpice 9===
 
 
*  Pspice 9, Student version.  An nice alternative to drawing schematics by hand.
 
*  Pspice 9, Student version.  An nice alternative to drawing schematics by hand.
 
* This is a '''Windows''' version. (I have tried to make it work under wine/Mac OS X but haven't been able to make it load the libraries correctly)
 
* This is a '''Windows''' version. (I have tried to make it work under wine/Mac OS X but haven't been able to make it load the libraries correctly)

Latest revision as of 11:50, 15 January 2016

--D. Thiebaut 08:44, 7 January 2011 (EST)




Back to Main Page for CSC270



Prof

Dominique Thiébaut email
Dept. Computer Science
Ford Hall, 356.
Telephone: 3854
Office Hours: M:4-5, T3-4, W3-4, and by appointment


Weekly Schedule

First 1/2 of Semester

Week Topics Reading
Week 1
1/24
  • Monday: Introduction to the semester
    • Lecture
      • Syllabus
      • Overview of the class
      • combinational logic (1/4)
      • sequential logic( 1/4)
      • microprocessor logic (1/2)
      • Boolean Algebra
      • Truth tables
      • Boolean functions
      • canonical forms: the minterm canonical form
    • examples of schematics from Nasa
    • logic gates
      • and gate (7408)
      • or gate (7432)
      • not gate (7404)
    • Lab 1
  • Wednesday:
OrGateWithTransistors.gif
AndGateWithTransistors.jpg
    • Some basic electricity concepts
    • Voltages, diagrams, Vcc, Gnd
    • Measuring voltages: different of potential ==> need two measuring points
    • Resistors
      • limit current
      • passive
      • property = resistance
      • unit of resistance = Ohm (Ω)
    • Ohm's Lay: V = RI
      • Apply law to simple circuits
      • Series and Parallel circuits with resistors
      • Exercises
    • How to generate a simple switch that generats ON/OFF, High/Low, 1/0
    • The transistor
      • Emetter, Base, Collector
      • basic operations
      • simple circuit
  • Friday
    • Example of gates with transistors
    • Back to boolean functions
      • Exercise
      • review of what is a minterm.
      • Simplifying boolean functions
      • Maxterms

  • Binary numbers
  • Boolean algebra and Logic Gates
  • Basic theorems
  • Truth tables
  • Boolean functions
  • Canonical forms


George Boole in zeros and ones
George Boole

Week 2
1/31
  • Monday
Calvin snow.jpg
    • lecture
      • What is a switch? i.e. how does a switch from the HeathKit generate a high or low voltage?
      • We are programmers! Verifying circuits with simple programs!
      • The binary adder. 2-bit, and 3-bit versions
      • the NAND and NOR gates: universal gates
    • lab
  • Wednesday
    • Snow Day!
  • Friday: No Class

Week 3
2/7
PCSchematics.gif

  • Karnaugh maps are covered in Chapter 3.
  • Decoders are covered in Chapter 4.
Week 4
2/14
  • Monday
    • lecture
      • another way to draw NANDs and NORs...
      • relationship between

        if ( a==b ) { ... }

        and logic gates
      • active-low/active-high signals and circuits
      • decoders with active-low outputs: most common!
      • Exercise: Implement f = Σ(1,3,4,5) with a decoder with active-high outputs
      • Exercise: Implement f = Σ(1,3,4,5) with a decoder with active-low outputs
      • decoders with an enable input
      • cascading decoders
      • designing a 3-to-8 decoder with the 4-to-10 7442 decoder
    • Lab #4
  • Wednesday
    • The Multiplexer circuit
    • The RS flipflop
  • Friday
    • Catch-up day

Week 5
2/21
  • Monday
BoardCapture1.jpg
BoardCapture2.jpg
BoardCapture3.jpg
    • lecture
      • the RS Flipflop
      • Timing Diagrams
      • Exercise:
Design a majority voter that remembers when a fault occurs. First design a simple one that keeps track of the fact that a fault occurred in the past. Add a reset button to reset the fault signal. Then modify your design so that the majority voter not only remembers that there was a fault, it also remembers the Id of the faulty device.
      • The oscilloscope
        • Sampling
        • Periodic signals
        • Frequence
        • Peak-to-peak voltages
        • Trigger: Rule = always trigger on the slower of two signals!
    • Lab #5
  • Wednesday: Rally Day
  • Friday
DFlipFlop board1.jpg
DFlipFlop board2.jpg
DFlipFlop board3.jpg
    • The RS Flip-flop: review
    • Making it work with a clock signal
    • Ideally we need a pulse to latch information in the flip-flop
    • Latching on the Low-to-High transition of the clock
    • the D Flip-flop: two RS flip-flops working in ping-pong mode
    • The 74LS74 circuit.
    • Timing diagram of a D Flip-flop
    • Mini Lab 1: wire up a 7474 and observe its behavior.

  • The D-Flip-flop is covered in Section 5.3 of Mano.
Week 6
2/28
  • Monday
    • lecture
      • Low-to-high and High-to-low clock inputs
      • A first 2-state state-machine with a D-Flip-flop
      • Duty cycle of a signal = %age of time ON / Period
      • The Moore Model, or Moore Machine
      • How do we find a way to generate this machine?
      • Characteristic Table of the D-Flip-flop
      • State diagram
      • State table
      • Activation table
    • Lab
  • Wednesday
  • Friday

  • Read Chapter 5
  • The chapter introduces several flip-flops. We'll look at the JK briefly in class. The chapter also introduces two different approaches to designing finite state machines: the Moore machine and the Mealy machine. We're concentrating here on the Moore machine, for which the output is a function of the present state only. This is the simplest and more widely used model.
Week 7
3/7
  • Monday
    • Note: The lab report from last Monday (2/28) is due on Wednesday, 3/9/11 to allow extra time to prepare for the midterm.
    • Midterm Exam: 1h 30 min. Closed books, closed notes.
    • Midterm preparation
    • Lab #7
    • 2-hour Assembly Crash-Course, Monday 6:00 p.m. - 7:30 p.m., FH 342. RSV if you are coming so that enough pizza can be purchased for dinner.
  • Wednesday
    • Sequencers with external inputs
    • Exercise
    • Finish Lab #7
  • Friday

  • Sequencers with active inputs
Week 8
3/14
DancingCalving.gif

 


Second 1/2 of Semester

Week Topics Reading
Week 9
3/21
  • Monday
6811Motorola.jpg
    • The 6811 Processor: 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
    • Heathkit ETW3800 Trainer manual (pdf)

    • Concentration on Assembly Language
    • Example of fully assembled 6800 program
    • CSC270 6811 Listing Format.png
      Listing format
      • opcodes, mnemonics, directives, columnar format
    • The instructions
    • Addressing Modes: inherent, immediate, direct, extended, indexed, relative
  • Wednesday
    • A look at the internal circuits of the 6811.

6811InternalALUCLU.png
CSC270 LDAA.png CSC270 STAA.png CSC270 JMP.png CSC270 INC.png

ProgrammableLogicArray1.gifProgrammableLogicAray2.gif


Week 10
3/28
  • Monday
    • lecture
    • Quiz
    • Cycle-by-cycle description of an endless loop of 3 instructions:
    0000 4C            LOOP:  INCA
    0001 97 10                STAA    x
    0003 20 FB                BRA      LOOP

6811TimingDiagramOfLoop.jpg






  • Friday
    • Happy Birthday Edo! (all the pics on Facebook)
BirthdayEdo040111.jpg

Week 11
4/4
6811KitMemoryMap.png
6811 addressDecoding.png








Week 12
4/11
  • Happy Birthday Millie! (all pictures on Facebook.)

HappyBirthdayMillie.jpg


74240.png
74244.png
74541.png
  • Monday
    • lecture
    • Lab 11
      • Designing and wiring up an input port with the 6811
74273Register.jpg
74166ShiftRegister.gif
  • Wednesday
CSC270 6811IOScheme.jpg
    • How to figure out how many different addresses energize Y4?
    • Examples of I/O Ports
      • Parallel Port
        • Data Registers
        • Control Registers
        • Status Registers
        • Handshake Protocol
        • Software Driver
  • Friday: No class: Programming Contest!

Week 13
4/18

Week 14
4/25
  • Please watch on your own the very good Arduino video.





Back To Main Page


Links and Resources

Research

Lab Reports for Labs 1 to 12


...


Printing

  • How to print a text file (pure ASCII, not an MS Word document) from a beowulf account to the printer @ FH354:
  cprint -15  myFile.txt
  • How to print a pdf from a beowulf account to the printer @ FH354:
  lpr -P ford354 max232.pdf
  • How to print an image to the same printer, from a beowulf account:
  convert myImage.jpg  myImage.pdf
  lpr -P ford354 myImage.pdf

Programs

Software

Free Circuit CAD Systems
























PSpice 9

Pspice9.jpg
  • Pspice 9, Student version. An nice alternative to drawing schematics by hand.
  • This is a Windows version. (I have tried to make it work under wine/Mac OS X but haven't been able to make it load the libraries correctly)
  • Make sure you select the schematics option when installing the software.
  • Select Tools/Schematics when starting the editor
  • The schematics editor is located in C:\Program Files\OrCAD_Demo\PSpice\PDesign.exe upon installation.
  • Download here!
  • PSpice Tutorial

Integrated Circuit Data-Sheets

Ic.jpg

Motorola 68HC11 Documentation

6811.jpg





Back To Main Page