Simulación y síntesis lógica de circuitos digitales usando

Simulación y síntesis lógica de circuitos
digitales usando Cadence
Juan F. Osorio
y
José Luis González Jiménez
High Performance Integrated Circuits Design Group
http://pmos.upc.es/blues/
Departamento de Ingeniería Electrónica
Universitat Politècnica de Catalunya
Contenido:
1.
Simulacion Funcional con Ncsim y NCLaunch
2.
Sintesis lógica con Ambit Build Gates
3.
Análisis temporal Con Pearl
4.
Simulación con Back Annotation
1
Simulación Funcional con NC-Sim y Nclaunch
Nclaunch
Vhdl
Verilog
sdf
Ncvhdl
Ncvlog
Ncsdf
Simulación sin
Retardos!!!!
Ncelab
Ncsim
Grafica
Archivo
Contenido:
1.
Ambiente Integrado
2
Preparación del Entorno – NCSIM – NCLAUNCH
cds.lib
include $CDS_INST_DIR/tools/inca/files/cds.lib
DEFINE worklib ./work
DEFINE c35_corelib /apl/hk3.50/training/Digital/vital/c35_corelib
DEFINE c35_iolib /apl/hk3.50/training/Digital/vital/c35_iolib
hdl.var
DEFINE USE_NEW_SIMWAVE_WINDOW ON
DEFINE EDITOR xemacs
DEFINE CDS_TEXT_EDITOR xemacs
DEFINE WORK worklib
Síntesis Lógica con Ambit Build Gates
1.
Simulacion Funcional con Ncsim y NCLaunch
Time Library File
TFL
RTL
Behavioral
General Constrain File
GCF
Datapath
Area vs Time
BuildGates
Silicon ensamble
pks
Low Power
Testability
GDSII
Structural VERILOG
3
Preparación del Entorno – BuildGates
read_libs.tcl
set AMS_DIR
$env(AMS_DIR)
Process
Voltage
read_tlf $AMS_DIR/ambit/c35_3.3V/c35_CORELIB.tlf
Temperature
WORST-MIL
read_tlf $AMS_DIR/ambit/c35_3.3V/c35_IOLIB_4M.tlf
BEST-MIL
read_tlf $AMS_DIR/ambit/c35_3.3V/c35_IOLIBV5_4M.tlf
WORST-IND
WORST
read_symbol $AMS_DIR/ambit/c35_3.3V/c35_CORELIB.sym
BEST
read_symbol_update $AMS_DIR/ambit/c35_3.3V/c35_IOLIB_4M.sym
TYPICAL
set_operating_condition -library c35_CORELIB WORST-MIL -pvt max
set_operating_condition -library c35_CORELIB BEST-MIL
set_wire_load_mode top
set_global target_technology {c35_CORELIB c35_IOLIB_4M}
-pvt min
Sintaxis de synopsys
para sinthesis.
IEEE Std 1076.6-1999 IEEE standard for
VHDL Register Transfer Level (RTL)
synthesis
set_global fix_multiport_nets true
set_global hdl_vhdl_environment synopsys
Analisis Temporal con PEARL
General Constrain File
GCF
Structural VLOG
!No olvidar las capacidades en las salidas!
Pearl
SDF
Standard Delay Format
4
Preparacion del Entorno
ReadGCFTimingLibraries ../../gcfConstraints.gcf
Capacidades en las salidas
SetPowerNode "VDD"
SetGroundNode "VSS"
SetNodeCapacitance count[0:3] +0.007p
SetLibraryCorner "all"
SetSlewMode "all"
ReadVerilog ../src/count4_gate.v
TopLevelCell count4
# ReadGCFConstrains count.gcf
EstimateWireLoads -rc -group "sub_micron" -name "10k" topology "balanced"
# ReadGCFConstrains count.gcf
WriteSDFDelays -delimiter "." -version 3.0 -ns -precision 4
count4.sdf
#FindPathsFrom clk ^
#quit
Simulación con BackAnnotation:
Estructural Vlog
Ncvlog
sdf
Ncsdf
Ncelab
Ncsim
5
Configuración: Simulación con BackAnnotation:
// SDF command file count4_sdf.cmd
Test
COMPILED_SDF_FILE = "count4.sdf.X",
SCOPE = test:DUT,
DUT
I1
// END OF FILE: count4_sdf.cmd
Count
Count
I2
Count
Falta en el tutorial
En la parte de pearl incluir las capacidades de la salida
SetNodeCapacitance count[0:3] +0.007p
6
Síntesis Física usando Silicon Ensamble
Cadence
Juan F. Osorio
y
José Luis González Jiménez
High Performance Integrated Circuits Design Group
http://pmos.upc.es/blues/
Departamento de Ingeniería Electrónica
Universitat Politècnica de Catalunya
Contenido:
1.
Place & Route con Silicon Ensamble
2.
Flujo de diseño
7
Place & Route con Silicon Ensamble
Synthesis
Timming
Simulation
Floorplaning
Placement
Clock Tree Synthesis
Routing
Parasitic/extraction
DRC/LVS
Celdas del Hit Kit
Celdas
•
CORELIB (celdas estándar)
•
IOLIB (Celdas de entrada y salida)
Celdas especiales.
• Pads de entrada y salida (IOLIB, IOLIB5)
• ENDCAPL ENDCAPR (cierran los pozos abiertos)
• FILL (llenan los espacios entre celdas estándar )
• CORNERRP (celdas para las esquinas del chip)
• PERI_SPACER (llenan los espacios entre Iopads)
8
Entorno
Library Exchange Format
Verilog Estructural
Timming
LEF
Silicon ensamble
CTLF
•
Layer Definition
•
Routing Design Rules
•
Via Definition
•
Core Cells
•
IO/LIB
•
IOLIB_3M.lef
•
FILL
CORELIB.lef
Layout
GDSII
Retardos
SDF
Script De Inicio
ams_se –t <tech> –vn <verilogfile> –vt <top_module>
Crea
• gemma.mac (importa librerias y restriciones temporales automaticamente)
• <Directorio Actual>
--- DB
--- DEF
--- LEF
--- CTGEN
9
Planificación
1.
Crea filas de celdas estándar
2.
Utilización 60% (un diseño muy pequeño )
3.
Se colocan los power pads y las corner cells (usando DEF)
“Power Stripes” y “Power Rings”
Power Rings
Stripes
10
Celdas de finalización de Celdas estándar (CAP
Cells)
Colocación de las celdas estándar
SET VAR QPLACE.LLC.PREWIRE:KEEPOUT: TRUE;
11
Celdas de relleno (FILL CELLS)
FILL25, FILL10, FILL5, FILL1
Conexión de alimentación
Route -> Connect Ring
o Nets. vdd! gnd!
o [on] Follow Pins
[off] todos los demas
Route -> Connect Ring
o Nets. vdd! gnd!
o [on] Stripe
o [off] todos los demas
12
Conexionado de Celdas Estándar
Route -> Wroute
<on> Global and Final Route [on] Auto search and Repair
Extracion de Parasitos
Importarlo a DFII
13