Changes

Jump to navigation Jump to search
no edit summary
Line 5: Line 5:  
| date = May 27, 2017
 
| date = May 27, 2017
 
| est_time = 16 Weeks
 
| est_time = 16 Weeks
| est_cost = $40
+
| est_cost = $75
 
| in_development = Yes
 
| in_development = Yes
 
| is_project = Yes
 
| is_project = Yes
Line 52: Line 52:  
==== Components ====
 
==== Components ====
   −
The following components are required to build the CPU project.  No components are "consumed" by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.
+
The following components are required to build the CPU project.  No components are "consumed" by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.  Prices last updated May 31, 2017.
    
{| class="wikitable sortable" style="width: 75%; min-width: 350px; margin: 25px auto;"
 
{| class="wikitable sortable" style="width: 75%; min-width: 350px; margin: 25px auto;"
Line 120: Line 120:  
|-
 
|-
 
! rowspan="3" | Capacitors
 
! rowspan="3" | Capacitors
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.90
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.65
 
| style="text-align: center;" | 6
 
| style="text-align: center;" | 6
| [0.01µF Capacitor]
+
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K103K10X7RF5UH5/BC2662CT-ND/2356876 0.01µF Capacitor]
 
| Ceramic, ±10% 50V
 
| Ceramic, ±10% 50V
 
| Clock, RAM, Display
 
| Clock, RAM, Display
 
|-
 
|-
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.36
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.27
 
| style="text-align: center;" | 2
 
| style="text-align: center;" | 2
| 0.1µF Capacitor
+
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K104K10X7RF5UH5/BC2665CT-ND/2356879 0.1µF Capacitor]
 
| Ceramic, ±10% 50V
 
| Ceramic, ±10% 50V
 
| Clock
 
| Clock
 
|-
 
|-
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.75
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.55
 
| style="text-align: center;" | 1
 
| style="text-align: center;" | 1
| 1µF Capacitor
+
| [https://www.digikey.com/product-detail/en/avx-corporation/TAP105K035SRW/478-8041-1-ND/3900657 1µF Capacitor]
 
| Conformal Coated, ±10% 35V
 
| Conformal Coated, ±10% 35V
 
| Clock
 
| Clock
 
|-
 
|-
 
! rowspan="17" | Integrated Circuits
 
! rowspan="17" | Integrated Circuits
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $1.64
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $1.33
 
| style="text-align: center;" | 4
 
| style="text-align: center;" | 4
| 555
+
| [https://www.digikey.com/product-detail/en/fairchild-on-semiconductor/LM555CN/LM555CNFS-ND/458696 LM555CN]
 
| Timer
 
| Timer
 
| Clock, Display
 
| Clock, Display
 
|-
 
|-
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $1.14
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $1.02
 
| style="text-align: center;" | 1
 
| style="text-align: center;" | 1
| 74LS00
+
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS00N/296-1626-5-ND/277272 74LS00]
 
| Quad NAND Gate
 
| Quad NAND Gate
 
| RAM
 
| RAM
 
|-
 
|-
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $3.45
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $3.06
 
| style="text-align: center;" | 5
 
| style="text-align: center;" | 5
| 74LS04
+
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS04N/296-1629-5-ND/277275 74LS04]
 
| Hex Inverter
 
| Hex Inverter
 
| Clock, RAM, Controller
 
| Clock, RAM, Controller
 
|-
 
|-
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $1.26
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $1.11
 
| style="text-align: center;" | 2
 
| style="text-align: center;" | 2
| 74LS08
+
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS08N/296-1633-5-ND/277279 74LS08]
 
| Quad AND Gate
 
| Quad AND Gate
 
| Clock, Display
 
| Clock, Display
 
|-
 
|-
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.59
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $
+
| style="text-align: right; font-family: Courier New, Courier, fixed-width;" | $0.59
 
| style="text-align: center;" | 1
 
| style="text-align: center;" | 1
| 74LS32
+
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS32N/296-1658-5-ND/277304 74LS32]
 
| Quad OR Gate
 
| Quad OR Gate
 
| Clock
 
| Clock
Line 323: Line 323:  
| Display
 
| Display
 
|}
 
|}
   
<small style="display: block; width: 75%; min-width: 350px; margin: 25px auto;"><i><sup>&dagger;</sup> For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board's [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1" (2.54mm).</i></small>
 
<small style="display: block; width: 75%; min-width: 350px; margin: 25px auto;"><i><sup>&dagger;</sup> For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board's [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1" (2.54mm).</i></small>
   Line 414: Line 413:  
* Introduction to integrated circuits
 
* Introduction to integrated circuits
   −
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.
+
After the lesson, students will receive an [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.
    
==== After the Class ====
 
==== After the Class ====
Line 426: Line 425:  
* Different types of resistors
 
* Different types of resistors
   −
=== Week 2 - Implementing Logic with Transistors ===
+
=== Week 01 - Implementing Logic with Transistors ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 434: Line 433:  
|}
 
|}
   −
=== Week 3 - The CPU Clock Module ===
+
=== Week 02 - The CPU Clock Module ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 442: Line 441:  
|}
 
|}
   −
=== Week 4 - The 8-Bit Register Modules ===
+
=== Week 03 - The 8-Bit Register Modules ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 450: Line 449:  
|}
 
|}
   −
=== Week 5 - Designing an ALU ===
+
=== Week 04 - Designing an ALU ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 458: Line 457:  
|}
 
|}
   −
=== Week 6 - The ALU Module ===
+
=== Week 05 - The ALU Module ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 466: Line 465:  
|}
 
|}
   −
=== Week 7 - The RAM Module ===
+
=== Week 06 - The RAM Module ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 474: Line 473:  
|}
 
|}
   −
=== Week 8 - Building a Binary Counter ===
+
=== Week 07 - Building a Binary Counter ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 482: Line 481:  
|}
 
|}
   −
=== Week 9 - The Program Counter Module ===
+
=== Week 08 - The Program Counter Module ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 490: Line 489:  
|}
 
|}
   −
=== Week 10 - Designing for 7-Segment Displays ===
+
=== Week 09 - Designing for 7-Segment Displays ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 498: Line 497:  
|}
 
|}
   −
=== Week 11 - Introduction to EEPROM ===
+
=== Week 10 - Introduction to EEPROM ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 507: Line 506:       −
=== Week 12 - The Display Module ===
+
=== Week 11 - The Display Module ===
 +
 
 +
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 +
! Notice
 +
|-
 +
| This section is still under development.  Please check back later for more information.''
 +
|}
 +
 
 +
=== Week 12 - Connecting the Modules with a Bus ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 515: Line 522:  
|}
 
|}
   −
=== Week 13 - Connecting the Modules with a Bus ===
+
=== Week 13 - Designing Control Signals ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 523: Line 530:  
|}
 
|}
   −
=== Week 14 - Designing Control Signals ===
+
=== Week 14 - Control Logic Module ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 531: Line 538:  
|}
 
|}
   −
=== Week 15 - Control Logic Module ===
+
=== Week 15 - Programming and Deployment ===
    
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
 
{| style="width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;"
Line 548: Line 555:  
* Extend the processing capability to 16- or even 32-bit processing
 
* Extend the processing capability to 16- or even 32-bit processing
 
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)
 
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)
 +
* Building the modules in an FPGA
    
[[Category:Classes]]
 
[[Category:Classes]]
330

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu