Skip to content

angl-dev/caravel_mpw5_prga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ORDER PRGA Tapeout

This repository is a branch of the caravel_user_project repository, modified for the tapeout of a 512-LUT4 FPGA generated using PRGA.

A 512-LUT4 FPGA generated using PRGA (Princeton Reconfigurable Gate Array)

  • An 8x8 array of CLBs, each containing 8 LUT4s and 8 DFFs and a local programmable crossbar for intra-CLB routing
  • 24-track routing channel with L1 tracks with cycle-free routing(published at FPL'20, paper.pdf)
  • Capable of implementing 16 out of 30 ISCAS'89 circuits

License UPRJ_CI Caravel Build

Layout Photo

image

Design

  • 1x Caravel user project wrapper
    • 1x PRGA top
      • 64x CLB tile

Key design techniques:

Hierarchical design flow

CLB tile is first synthesized, placed, and routed into a hard macro. The macro routes up to met2 and contains a customized met2 PDN that drives the standard cell power rails.

The PRGA top is then synthesized, placed, and routed as the top-level caravel user design. The PRGA top module contains 64 CLB tile instances and other synthesizable logic. The CLB macros are manually placed in a 2-dimensional array, in which the physical location of each CLB matches the logical location. The switch boxes and configuration circuitry are flattened and synthesized under timing constraints.

Custom PDN

The CLB tile uses a customized met2 PDN that drives the standard cell power rails.

The PRGA top adds an additional met3 PDN over the CLB tiles to connnect the CLB tiles' local PDN to the global PDN which is on met4/met5. This is also the key factor in determining the size/shape of the CLB tile as well as the horizontal/vertical spacing between CLB tiles.

About

Tapeout of PRGA on MPW-5

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published