Design of a Scalable Memory System for a Multi-Node, Many-Core Computing System

Payne, Samuel [Browse]
Senior thesis
138 pages


Wentzlaff, David [Browse]
Princeton University. Department of Electrical Engineering [Browse]
Class year
Summary note
This project aims to design and test the host board for a many-core chip (the Princeton Parallel Processor) whose purpose is to experiment with a number of novel computing concepts, including a clumpy cache coherence framework and bandwidth limiting technology. The host board, implemented on an ML605 Development kit using a Virtex-6 FPGA, connects computing resources and memory resources inside a computing node. This computing node is capable of communicating with other identical nodes in a larger system to share processing and memory resources. This thesis describes the overall structure and goals of the project, including the design of the chip interface, inter-node interface, packet routing, memory controller, and I/O control. Challenges behind each of these goals, along with proposed and implemented solutions, are presented. Challenges addressed include overcoming pin limits, increasing bandwidth across limited channels, abstracting the structure of random access memories, instantiating and interfacing with Xilinx COREgen modules, designing safe mechanisms to transfer signals across clock domains, combining deadlock-free networks in a hierarchical fashion while preserving deadlock-free properties, using Xilinx synthesis flow tools to load custom logic onto FPGAs, and adjusting hardware platforms for a specific purpose.

Supplementary Information