Projects - FPGA Simulation Example - EdsCave

Go to content

Main menu

Projects - FPGA Simulation Example


At INFORMS last November (2018), I presented a poster on a proof-of-concept hardware accelerator I built for simulating the airplane boarding process. I have done a fiar amount of work on this simulation problem in the past, using it as the basis for a sample chapter in a future simulation book, and also a genetic-algorithm based optimization.

The goal was to do something simple and visually compelling, so I decided to use an LED array showing the dynamic status of the simulation.

The LED array shows the status of the seats (30 rows) as well as the aisle.  For the Aisle LEDs, GREEN means that a passenger is in that location and moving, RED means the passenger is blocked behind someone else, and OFF means that aisle location is empty. For the seating array, BLUE means the seat has been filled, and OFF means that it is empty.  The decimal display is simulation time.  The various toggle switches select boarding order (back-2-front, random, outer-2-inner) and simulation speed, ranging from approximately real-time to millions of times faster.

Over to the left is the FPGA, a Lattice Semiconductor MachXO2-7000. The main driving factors for this choice were:

  • I had the breakout board in my junkbox already.

  • Having the FPGA mounted to the breakout board meant no SMD soldering.

  • I could program it though a USB cable

  • I'm familiar with the development tools (Lattice DIAMOND), so there was no learning curve

More details of this project can be found in the
INFORMS 2018 Poster Presentation PDF.

You can see an example of the system running (at human-scale speed) in the video below....

Back to content | Back to main menu