Computer Architecture Classes @ WNE

Computer Architecture Classes @ WNE
Page content

Many, many, many years ago, I took a small career detour and taught for one year at a regional college in MA. There, I was assigned to teach several introductory computer engineering courses. On this page, I’m sharing the slides from the most memorable ones: real-time kernels (a fancy term for embedded RTOS), VHDL simulation and synthesis, and an electronics summer camp for 8–12-year-olds. The other classes were more prosaic. In a fun twist, almost 15 years later I’m once again working with VHDL. Since my slides were all tucked away on a hard-disk drive, I figured—why not take this opportunity to put everything online for posterity? Enjoy!


CPE 462 – VHDL: Simulation and Synthesis – Fall ’11

Syllabus PDF

Topic 1: Introduction to reconfigurable computing

  • Introduction PDF

Topic 2: Review

  • a) Review of Combinational Logic PDF
  • b) Review of Sequential Logic PDF

Topic 3: Introducing Simulation and Prototype Tools

Topic 4: VHDL Foundations

Topic 5: Concurrent Code

  • a) WHEN Statements PDF
  • b) GENERATE Statements PDF
  • c) BLOCK Statements PDF

Topic 6: Sequential Code

  • a) Process, If, and Variables PDF
  • b) Sequential Code on Spartan-3 Boards PDF
  • c) Wait, Case, and Loop PDF
  • d) Final Topics in Sequential Code PDF
  • e) Variables vs Signals PDF

Topic 7: Finite State Machines (FSM)

  • a) Introduction to Finite State Machines PDF
  • b) Practical VHDL Implementations PDF
  • c) FSM on Spartan-3E PDF
  • d) FSM with Delays PDF

Topic 8: System Design

  • a) Components PDF
  • b) Packages & Generic Components PDF
  • c) Functions PDF
  • d) Procedures PDF

Topic 9: Circuit Designs

  • a) Introduction to Random Numbers in Hardware PDF

Homework

Exams


CPE 355 – Real Time Embedded Kernels – Spring ’12

Syllabus PDF

Topic 1: Background

  • a) Digital logic and information representation review PDF
  • b) Hardware fundamentals for the software engineer PDF
  • c) Advanced hardware fundamentals PDF
  • d) Introduction to interrupts PDF

Topic 2: Programming foundations (Arduino & C)

  • a) Arduino and basic C review PDF
  • b) Interrupts in Arduino PDF
  • c) Pointers, arrays and function pointers PDF
  • d) Structs, linked lists, stacks and queues PDF source
  • e) Bitwise operators, macros and enumeration PDF
  • f) Very basic introduction to Arduino timers PDF
  • g) Literal constants, extern, typedef, callback functions and macros PDF

Topic 3: Foundations of real-time systems

  • a) Survey of software architectures: round-robin PDF
  • b) Survey of software architectures: queues and RTOS PDF

Topic 4: Features of real-time operating systems

  • a) Tasks, task data and reentrant functions PDF
  • b) Semaphores and shared data PDF
  • c) Message queues, mailboxes and pipes PDF
  • d) Timer functions PDF
  • e) Events and memory management PDF
  • f) Basic design using a real-time operating system PDF

Homework

Exams

Electronics Summer Camp (Ages 8–12)