Intel nehalem processor core made FPGA synthesizable

  • Authors:
  • Graham Schelle;Jamison Collins;Ethan Schuchman;Perrry Wang;Xiang Zou;Gautham Chinya;Ralf Plate;Thorsten Mattner;Franz Olbrich;Per Hammarlund;Ronak Singhal;Jim Brayton;Sebastian Steibl;Hong Wang

  • Affiliations:
  • Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA;Intel, Santa Clara, CA, USA

  • Venue:
  • Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a FPGA-synthesizable version of the Intel Nehalem processor core, synthesized, partitioned and mapped to a multi-FPGA emulation system consisting of Xilinx Virtex-4 and Virtex-5 FPGAs. To our knowledge, this is the first time a modern state-of-the-art x86 design with the out-of-order micro-architecture is made FPGA synthesizable and capable of high-speed cycle-accurate emulation. Unlike the Intel Atom core which was made FPGA synthesizable on a single Xilinx Virtex-5 in a previous endeavor, the Nehalem core is a more complex design with aggressive clock-gating, double phase latch RAMs, and RTL constructs that have no true equivalent in FPGA architectures. Despite these challenges, we are successful in making the RTL synthesizable with only 5% RTL code modifications, partitioning the design across five FPGAs, and emulating the core at 520 KHz. The synthesizable Nehalem core is able to boot Linux and execute standard x86 workloads with all architectural features enabled.