top of page

CPU Architecture Evolution

FPGA-Based CPU Architecture Evolution through Genetic Algorithms

A proof of concept system that leverages the NSGA-II (Non-dominated Sorting Genetic Algorithm II) to optimize CPU architectures through multi-objective Design Space Exploration (DSE).

 

The system evolves NIOS II softcore designs based on performance metrics and physical constraints, with benchmarking performed directly on FPGA hardware. This work was presented as my Graduation Thesis in order to attain the tittle of Bachelor of Science in Computer Engineering at the University of São Paulo, Brazil. Later, it was presented at EUROGEN 2019 (Evolutionary and Deterministic Computing for Industrial Applications Conference) in Guimarães, Portugal, where it received a Best Poster award.


Implementation features:

  • NSGA-II based multi-objective optimization

  • FPGA-based performance benchmarking

  • Automated generation, compilation, and deployment of CPU designs

  • Three optimization objectives: execution time, logic elements usage (ALM), and memory usage

  • Design space of 76,800 possible CPU configurations

  • Support for multiple benchmark profiles:

    • ADPCM signal encoding

    • Sobel image border detection

    • Vector operations (dot product, sum)

    • Quick sort algorithm

  • Full NIOS II softcore customization through XML-based configuration

  • Hardware-based performance measurement through NIOS II timer


Publications and Resources:

bottom of page