Difference between revisions of "CSC270 Weekly Schedule 2016"
(→Logic-Circuit Editors) |
(→ ) |
||
(116 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
---- | ---- | ||
__NOTOC__ | __NOTOC__ | ||
− | <center>[[CSC270 Spring 2016 | Main Page]] | [[CSC270_Weekly_Schedule_2016#Resources_.26_Misc._Information | Resources]]</center> | + | <center>[[CSC270 Spring 2016 | Main Page]] | [[CSC270_Weekly_Schedule_2016#Resources_.26_Misc._Information | Resources]] | [https://piazza.com/class/ijprpz7x23l6ml Piazza]</center> |
− | + | <br /><br /> | |
+ | <onlydft> | ||
+ | * [http://www.science.smith.edu/dftwiki/media/digital_design-__morris_mano-fifth_edition.pdf Mano] | ||
+ | </onlydft> | ||
<br /><br /> | <br /><br /> | ||
==== ==== | ==== ==== | ||
Line 14: | Line 17: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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 | |
− | * | + | ::* 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 42: | Line 50: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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 | |
− | * | + | ::* Nands & 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 67: | Line 79: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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''' | + | {| |
− | + | | | |
− | * ''' | + | * '''Tuesday/Thursday''' |
+ | ::* Introduction to Electronics | ||
+ | ::* Ohm's Law | ||
+ | ::* Electronic Circuits | ||
+ | ::* Resistors, Diodes, & <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 92: | Line 114: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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]] |
− | * | + | ::* 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]] [[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 117: | Line 149: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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 | |
− | * | + | ::* 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 142: | Line 181: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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 | |
− | * | + | ::* [[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 167: | Line 213: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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 |
− | * ''' | + | ::* 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 200: | Line 248: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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]] |
− | * | + | * 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 219: | Line 273: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 9''' Mar | + | |width="45%"|'''Week 9''' Mar 29, 31 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 225: | Line 279: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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" | ||
| | | | ||
− | * ''' | + | * '''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 | ||
+ | ::* [[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 244: | Line 307: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 10''' | + | |width="45%"|'''Week 10''' Apr 5, 7 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 250: | Line 313: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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 |
− | * | + | ::* 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 269: | Line 336: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 11''' | + | |width="45%"|'''Week 11''' Apr 12, 14 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 275: | Line 342: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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 | |
− | * | + | ::* 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 294: | Line 365: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 12''' Apr | + | |width="45%"|'''Week 12''' Apr 19, 21 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 300: | Line 371: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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" | ||
| | | | ||
− | * ''' | + | * '''TuesdayThursday''' |
− | - | + | ::* Learning C (cont'd) |
− | + | ::* 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 319: | Line 395: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 13''' Apr. | + | |width="45%"|'''Week 13''' Apr. 26, 28 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 325: | Line 401: | ||
|} | |} | ||
<br /> | <br /> | ||
− | + | {| 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" | ||
| | | | ||
− | * ''' | + | * '''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: |
− | + | ::* <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 /> | <br /> | ||
− | : | + | :* [[CSC270_Final_Exam_2016 | Final Exam]] |
− | + | <br /> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
− | + | <br /> | |
− | + | <br /> | |
− | |||
| | | | ||
− | * | + | * No lab or homework |
+ | | | ||
+ | * No reading | ||
|} | |} | ||
+ | |||
+ | ==== ==== | ||
+ | |||
<br /> | <br /> | ||
<br /> | <br /> | ||
=Resources & Misc. Information= | =Resources & Misc. Information= | ||
<br /> | <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== | ==Logic-Circuit Editors== | ||
+ | <br /> | ||
+ | ::* [http://www.electronics-lab.com/downloads/circutedesignsimulation/?page=5 PSpice Student Edition, Windows] | ||
+ | [[Image:Pspice9.gif|500px|center]] | ||
<br /> | <br /> | ||
::* On-line editor: [https://academo.org/demos/logic-gate-simulator/ Academo] | ::* On-line editor: [https://academo.org/demos/logic-gate-simulator/ Academo] | ||
Line 378: | Line 474: | ||
[[Image:CircuitLab.jpg|500px|center]] | [[Image:CircuitLab.jpg|500px|center]] | ||
<br /> | <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 /> | ||
+ | * [http://cs.smith.edu/~dthiebaut/classes/270/ETW3800_W6811CPU.pdf Manual (pdf)] | ||
+ | <br /> | ||
+ | ==6800 Microprocessor References== | ||
+ | <br /> | ||
+ | :* 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 /> | ||
Line 387: | 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)
Week 1 Jan 26, 27 |
Topics: Introduction, Boolean Functions, First Lab. | Lab/Hw | Reading |
|
|
|
Week 2 Feb 2, 4 |
Topics: Maxterms, Nand, Nor, Karnaugh Maps, Decoders. | Lab/Hw | Reading |
|
|
Week 3 Feb 9, 11 |
Topics: Transistors, Java/Python simulation, Karnaugh Maps. | Lab/Hw | Reading | ||
|
|
Week 4 Feb 16, 18 |
Topics: Flipflops, oscilloscope | Lab/Hw | Reading |
|
|
|
Week 5 Feb 23, 25 |
Topics: Finite State Machines, Moore, Mealy, Python simulator | Lab/Hw | Reading |
|
|
|
Week 6 Mar 1, 3 |
Topics: JK Flipflop | Lab/Hw | Reading |
|
|
Week 7 Mar 8, 10 |
Topics: ROM-based sequencers | Lab/Hw | Reading |
|
|
|
Spring Break
Week 8 Mar 22, 24 |
Topics: Introduction to the 6811 Microprocessor. 6800 assembly. | Lab/Hw | Reading |
|
|
|
Week 9 Mar 29, 31 |
Topics: 6811 disassembly, Addressing modes, bus timing | Lab/Hw | Reading |
|
|
|
Week 10 Apr 5, 7 |
Topics: 6811 Input Port | Lab/Hw | Reading |
|
|
|
Week 11 Apr 12, 14 |
Topics: Memory-Mappe I/O, Input Port | Lab/Hw | Reading |
|
|
Week 12 Apr 19, 21 |
Topics: C & Arduino | Lab/Hw | Reading |
|
|
Week 13 Apr. 26, 28 |
Topics: TBA | Lab/Hw | Reading |
|
|
|
Resources & Misc. Information
Textbooks
- Mano, Digital Design, 5th Edition. Check the resource section on Moodle for more information.
Logic-Circuit Editors
- On-line editor: Academo
- App: LogiSim
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
- Listing format
Lab Reports
- Excellent example: Lab 1
Programming Examples
- A Python program that generates a truth table.
Arduino References
- Online C Compiler: http://www.tutorialspoint.com/compile_c_online.php
- Online Kernighan and Ritchie's C Reference