1 of 13

To the 60’s and Back

Group E0: Christopher Bernard, Donovan Gionis

and Jae Woong Choi

A modern take on the Apollo Guidance Computer (AGC)

2 of 13

Use-Case/Applications

  • Exhibition piece targeting museum displays, science exhibitions, classrooms
  • Showcase Apollo Computer capabilities with an interactive DSKY
  • Support space-related programs for demonstration
  • Easily distributable for exhibitions, classrooms

3 of 13

Quantitative Use-Case Requirements

The AGC Architecture 50Mhz, 33 instructions, 5 I/O Channels

The Peripheral uC Controller handles Key scans + LED updates at 50Hz

The DSKY PCB 14 LED Lamps, 25 Displays, 19 Key switches

Physical Dimensions Compact weight/size of 1 by 2 foot and 5 pounds

Operating Conditions Ambient temperature of 25°C. Protective Casing.

4 of 13

Solution Approach

  • Altera DE10-Standard Dev Board w/ Cyclone V SoC
    • Readily available, efficient distribution

  • AGC CPU uArch Implementation
    • Defined using SystemVerilog
    • Programmed via place-and-route to FPGA

  • Simulated sensor data fed to CPU input ports
    • Python Script running on Linux OS on Cyclone V Core

  • User interface inspired by the original DSKY
    • LED/Segment displays, Keypad on a custom PCB
    • Microcontroller as interface between FPGA and DSKY

  • I2C driver on FPGA
    • To communicate between microcontroller and AGC core

  • Interactive, mission-oriented assembly programs
    • A kernel that constantly polls the I/O and responds to commands from the DSKY
    • A python-script demo showcasing basic orbital mechanics and space missions.

5 of 13

System Specification

6 of 13

Fetch

Decode

Execute

Writeback

Implementation Plan: AGC CPU Pipeline

7 of 13

Implementation Plan: Simulation/Synthesis Toolchain

8 of 13

Implementation Plan: DSKY

Goal: DSKY will be implemented on a single PCB board (15 cm by 20 cm)

Utilize previously used and verified designs and components:

  • LTP-305 Display with IS31FL3730 I2C Driver
  • ESP32 Microcontroller
  • Cherry MX Switches

Suppliers are PCBWay and Digikey: Stock confirmed and budget for 2.5 units < 500 USD

Assembly: SMD using reflow oven and a solder stencil. By hand for through hole components at Techspark.

Laser cut Acrylic for final housing

9 of 13

Implementation Plan: Software

Microcontroller: Handle scan of keypad matrix, update lamps and numeric displays

AGC: Specific program per given Verb/Noun. Basic initialization and single-precision subroutines will be reused from Aurora 12 and Commanche055

The SoC Linux will show basic Python plots to demonstrate orbital mechanics.

Following mission programs will be implemented:

00 Monitor Mission Time 01 Hohmann Orbit Transfer02 Orbital Plane Transfer 16 Conduct Lunar Insertion�04 Calculate Escape Velocity 05 Calculator Demonstration

VERB

NOUN

Description

00

N/A

Idle

69

N/A

Restart

35

N/A

Test Lights

37

XY

Jump to mission program #XY

50

N/A

Get Position rel. to Earth

http://web.mit.edu/digitalapollo/appendixa.html

10 of 13

Test, Verification and Validation

The AGC Architecture

  • The registers state of our ISA must match a simulated AGC for all 33 instruction specific tests
  • Code < 110,000 LUT’s
  • Critical Path < 200 microsecond
  • 0.5 Instructions per Cycle (IPC)

The Software

  • < 0.01% error of math functions SQRT, SIN, COS (from Aurora12 and Comanche055)
  • < 0.1% error of orbital mechanics functions (Orbital Plane Transfer, Translunar Injection, …)

The Hardware

  • ΔTemperature < 25 °C. 3V3 Voltage Rail > 3.0V
  • Verification through Microscope inspection and TruView X-ray Analyzer (Techspark)
  • I2C Bus Analysis and Bandwidth (< 400kHz) check using a protocol analyzer.

11 of 13

Project Management

AGC is fully implemented and tested

DSKY is fully functional

Demo and uC Code is written

Full integration happens

12 of 13

Conclusion

  • Apollo’s influence still seen to this day
  • An architectural and manufacturing trailblazer
  • Educational opportunities
    • Demonstrate historic applications on modern equipment
      • Contrast with original AGC: How far we’ve come
    • Interactivity appeals to young audience
      • Excitement about history and innovation
    • Working examples of post-AGC innovation
      • I2C, FPGA, PCB, HDL

13 of 13