Physical Design of Fab Scalar Generated Cores EE
Physical Design of Fab. Scalar Generated Cores EE 6052 Class Project Wei Zhang
Outline � Fab. Scalar Toolset � Synthesis � Physical design using IC Compiler – Problems and solutions � Things to do next 2 Wei
Fab. Scalar Toolset � Fab. Gen: This tool generates synthesizable RTL of a superscalar core based on user-specified parameters: * Frontend superscalar width * Backend superscalar width * Pipeline depths of canonical pipeline stages * Issue queue size. � Fab. Mem: This tool estimates read/write delays, read/write energies, and area of user-specified multiported RAMs/CAMs. It can also generate layouts of desired RAMs/CAMs. 3 Wei
Synthesis � Feb. Gen-generated RTL is synthesizable. � Before starting synthesis � Comment-out the verification components to remove unsynthesizable verilog needed for simulation only: VPIs (the verilog/C++ co-simulation environment) and performance counters. � Memory handling Use Fab. Mem to generate custom designs of these critical memory structures, including full layouts, SPICE netlists, and LEFs. � During synthesis, remove the behavioral modules of the memory structures and constrain their input-port and outputport timing paths based on timing numbers from SPICE simulation. � For place-and-route, use the LEFs to represent the memory structures. � 4 Wei
Physical Design – Problems Encountered � ICC reports errors when importing netlist generated from synthesis. � Error message examples from ICC Error: Can not create instance master 'SRAM_4 R 8 W' in FRAM view. (MWDC-001) � Error: Can not create instance master 'CAM_4 R 4 W' in FRAM view. (MWDC-001) � � Warning message examples from synthesis Warning: Unable to resolve reference 'SRAM_4 R 8 W' in 'Instruction. Buffer'. (LINK-5) � Warning: Unable to resolve reference 'CAM_4 R 4 W' in 'Issue. Queue'. (LINK-5) � � Cause � of the errors No corresponding memory cells in the Milkyway library. � Fab. Mem uses 45 nm Free. PDK library and our design uses the 90 nm EDK library. 5 Wei
Physical Design – Problem Solutions � Solution – Adapt the memory blocks generated from the Fab. Mem tool to the 90 nm technology. � The Fab. Mem tool could generate layouts of memories, from which we can get the GDSII files. � To adapt these layouts to the 90 nm technology, we need to modify the GDSII files to 1. 2. � 6 Double the size of each physical component in the layout. Map each layer in the Free. PDK library to these layers in the 90 nm technology library. Import these memory blocks to the Milkyway Library using the Milkyway Environment tool and the new GDSII memory files. Wei
Physical Design – Library Preparation � Before using IC Compiler, logical and physical libraries must be created that accurately reflect the characteristics of the available technology and cells that will be used to fabricate the chip. � Fab. Scalar generated cores use a lot of RAM/CAM blocks, most of which are multi-ported. � The standard cells are already provided in the 90 nm physical library, but macros like memory blocks are not provided. � The memory blocks must be created in the physical library. This can be done in the Milkyway Environment. � Layout data of these memory blocks are provided by Fab. Mem. (GDS and LEF) 7 Wei
Physical Library Preparation – Memory Layer mapping file Generate layout of memory blocks (using Fab. Mem tool) 8 Extract GDSII files and double the size of memory blocks Import GDSII files into Milkyway Environment and create CEL view Create Milkyway library in ICC and reference the physical library of memory blocks Create FRAM view from the CEL view and get physical library of memory blocks Wei
Library Preparation Flow in the Milkyway Environment 9 Wei
CEL View – SRAM_4 R 4 W 10 Wei
FRAM View – SRAM_4 R 4 W 11 Wei
Errors Before Adding Memory Physical Library 12 Wei
Errors After Adding Memory Physical Library 13 Wei
New Problems � Still missing a lot of instances in the physical library 1 ICache � Pre. Decode_PISA_3 � SRAM_4 R 8 W � SRAM_4 R 1 W � Select_3 � Forward. Check_7 � � The “SRAM_4 R 8 W”and “SRAM_4 R 1 W”could not be generated from Fab. Mem (only able to generate memories with XRXW and 2 XRXW ports) � Most of the other instances are very similar to memories, but they are not standard memory blocks and could not be generated from Fab. Mem. 14 Wei
Problems Remaining � Still could not generate the remaining instances. � Could not move forward without these instances in the physical library. 15 Wei
- Slides: 15