caravel/openlane/caravel_core/config.json

244 lines
7.0 KiB
JSON

{
"meta": {
"version": 2,
"flow": [
"Yosys.JsonHeader",
"Yosys.Synthesis",
"OpenROAD.CheckSDCFiles",
"OpenROAD.Floorplan",
"Odb.SetPowerConnections",
"Odb.ManualMacroPlacement",
"OpenROAD.TapEndcapInsertion",
"OpenROAD.IOPlacement",
"Odb.ApplyDEFTemplate",
"Odb.AddPDNObstructions",
"OpenROAD.GeneratePDN",
"OpenROAD.GlobalPlacement",
"OpenROAD.RepairDesignPostGPL",
"OpenROAD.DetailedPlacement",
"OpenROAD.CTS",
"OpenROAD.ResizerTimingPostCTS",
"OpenROAD.DetailedPlacement",
"OpenROAD.GlobalRouting",
"OpenROAD.RepairDesignPostGRT",
"OpenROAD.ResizerTimingPostGRT",
"OpenROAD.GlobalPlacement",
"OpenROAD.DetailedPlacement",
"OpenROAD.GlobalRouting",
"OpenROAD.RepairDesignPostGRT",
"OpenROAD.ResizerTimingPostGRT",
"OpenROAD.GlobalPlacement",
"OpenROAD.DetailedPlacement",
"Odb.HeuristicDiodeInsertion",
"OpenROAD.RepairAntennas",
"OpenROAD.DetailedPlacement",
"Odb.AddRoutingObstructions",
"OpenROAD.DetailedRouting",
"Checker.TrDRC",
"Odb.ReportDisconnectedPins",
"Odb.ReportWireLength",
"OpenROAD.CheckAntennas",
"Checker.WireLength",
"OpenROAD.FillInsertion",
"OpenROAD.RCX",
"OpenROAD.STAPostPNR",
"Magic.StreamOut",
"KLayout.StreamOut",
"Magic.WriteLEF",
"KLayout.XOR",
"Checker.XOR",
"Magic.DRC",
"KLayout.DRC",
"Checker.MagicDRC",
"Checker.KLayoutDRC",
"Magic.SpiceExtraction",
"Checker.IllegalOverlap",
"Netgen.LVS",
"Checker.LVS"
]
},
"DESIGN_NAME": "caravel_core",
"CLOCK_PORT": "clock_core",
"CLOCK_NET": "caravel_clk",
"CLOCK_PERIOD": 25,
"PNR_SDC_FILE": "dir::/sdc_files/base.sdc",
"SIGNOFF_SDC_FILE": "dir::/sdc_files/signoff.sdc",
"MAX_FANOUT_CONSTRAINT": 14,
"//": "SYNTHESIS",
"VERILOG_FILES": [
"dir::/../../verilog/rtl/defines.v",
"dir::/../../verilog/rtl/user_defines.v",
"dir::/../../verilog/rtl/caravel_core.v",
"dir::/../../verilog/rtl/mgmt_protect.v",
"dir::/../../verilog/rtl/gpio_control_block.v",
"dir::/../../verilog/rtl/gpio_control_block_mgmt.v"
],
"SYNTH_EXTRA_MAPPING_FILE": "dir::/synth_configuration/yosys_mapping.v",
"//": "FLOORPLAN",
"FP_PIN_ORDER_CFG": "dir::/floorplan_configuration/pin_order.cfg",
"FP_DEF_TEMPLATE": "dir::/floorplan_configuration/io.def",
"FP_SIZING": "absolute",
"DIE_AREA": [0, 0, 3165, 4767],
"CORE_AREA": [10, 10, 3155, 4757],
"FP_IO_VEXTEND": 2,
"FP_IO_HEXTEND": 2,
"FP_TAPCELL_DIST": 10,
"FP_OBSTRUCTIONS": [
[0, 1200, 3166, 1250],
[0, 1300, 3166, 1350],
[0, 1400, 3166, 1450],
[0, 1500, 3166, 1550],
[0, 1600, 3166, 1650],
[0, 1700, 3166, 1750],
[0, 1800, 3166, 1850],
[0, 1900, 3166, 1950],
[0, 2000, 3166, 2050],
[0, 2100, 3166, 2150],
[0, 2200, 3166, 2250],
[0, 2300, 3166, 2350],
[0, 2400, 3166, 2450],
[0, 2500, 3166, 2550],
[0, 2600, 3166, 2650],
[0, 2700, 3166, 2750],
[0, 2800, 3166, 2850],
[0, 2900, 3166, 2950],
[0, 3000, 3166, 3050],
[0, 3100, 3166, 3150],
[0, 3200, 3166, 3250],
[0, 3300, 3166, 3350],
[0, 3400, 3166, 3450],
[0, 3500, 3166, 3550],
[0, 3600, 3166, 3650],
[0, 3700, 3166, 3750],
[0, 3800, 3166, 3850],
[0, 3900, 3166, 3950],
[0, 4000, 3166, 4050],
[0, 4100, 3166, 4150],
[0, 4200, 3166, 4250],
[0, 4300, 3166, 4350],
[0, 4400, 3166, 4450],
[0, 4500, 3166, 4550],
[78, 1033, 3085, 1072],
[78, 1072, 121, 4592],
[78, 4592, 3085, 4630],
[3042, 1072, 3085, 4592],
[2650, 4661, 2745, 4712],
[992, 0, 1071, 34],
[2645, 0, 3075, 258]
],
"FP_MACRO_HORIZONTAL_HALO": 10,
"FP_MACRO_VERTICAL_HALO": 10,
"//": "PDN",
"PDN_CONNECT_MACROS_TO_GRID": true,
"PDN_OBSTRUCTIONS": [
"met4 77.11 1032.73 3085.99 4630.95",
"met5 77.52 1033.73 3086.58 4629.95",
"met5 -16 125 120 207",
"met5 -16 1987 120 2073",
"met5 -16 2199 120 2283",
"met5 -16 3920 120 4005",
"met5 -16 4344 120 4431",
"met5 3043 4321 3171.23 4406",
"met5 3043 3873 3171.23 3960",
"met5 3043 2302 3171.23 2387",
"met5 3043 2082 3171.23 2167",
"met5 3043 1859 3171.23 1945",
"met4 992 -10 1071 122",
"met4 2648 4631 2747 4772.41",
"met5 2722.055 118.380 3154.920 166.380"
],
"FP_PDN_CFG": "dir::/pdn_configuration/pdn.tcl",
"PDN_MACRO_CONNECTIONS": [
"mprj vccd1 vssd1 vccd1 vssd1",
"user_id_value vccd vssd VPWR VGND",
"housekeeping vccd vssd VPWR VGND",
"mprj vccd1 vssd1 vccd1 vssd1",
"mprj vccd2 vssd2 vccd2 vssd2",
"mprj vdda1 vssa1 vdda1 vssa1",
"mprj vdda2 vssa2 vdda2 vssa2",
"soc vccd vssd VPWR VGND",
"mgmt_buffers.mprj_logic_high_inst vccd1 vssd1 vccd1 vssd1",
"mgmt_buffers.mprj2_logic_high_inst vccd2 vssd2 vccd2 vssd2",
"mgmt_buffers.powergood_check vccd vssd vccd vssd",
"mgmt_buffers.powergood_check vdda1 vssa1 vdda1 vssa1",
"mgmt_buffers.powergood_check vdda2 vssa2 vdda2 vssa2",
"gpio_control.* vccd1 vssd1 vccd1 vssd1",
"spare_logic.* vccd vssd vccd vssd",
"clock_ctrl vccd vssd VPWR VGND",
"por vddio vssio vdd3v3 vss3v3",
"por vccd vssd vdd1v8 vss1v8",
"rstb_level vddio vssio VPWR VGND",
"rstb_level vccd vssd LVPWR LVGND"
],
"FP_PDN_CORE_RING": true,
"FP_PDN_SKIPTRIM": true,
"FP_PDN_CORE_RING_VWIDTH": 10,
"FP_PDN_CORE_RING_HWIDTH": 10,
"FP_PDN_CORE_RING_VSPACING": 2,
"FP_PDN_CORE_RING_HSPACING": 2,
"FP_PDN_CORE_RING_VOFFSET": 0,
"FP_PDN_CORE_RING_HOFFSET": 0,
"FP_PDN_VPITCH": 264,
"FP_PDN_HPITCH": 360,
"FP_PDN_VSPACING": 19,
"FP_PDN_HSPACING": 27,
"FP_PDN_VWIDTH": 3,
"FP_PDN_HWIDTH": 3,
"FP_PDN_HOFFSET": 30.65,
"FP_PDN_VOFFSET": 3.5,
"VDD_NETS": ["vccd", "vccd1", "vccd2", "vdda1", "vdda2", "vddio"],
"GND_NETS": ["vssd", "vssd1", "vssd2", "vssa1", "vssa2", "vssio"],
"//": "PLACEMENT",
"PL_TIME_DRIVEN": false,
"PL_ROUTABILITY_DRIVEN": true,
"PL_WIRE_LENGTH_COEF": 0.01,
"PL_TARGET_DENSITY_PCT": 29,
"PL_RESIZER_DESIGN_OPTIMIZATIONS": true,
"PL_RESIZER_TIMING_OPTIMIZATIONS": true,
"PL_RESIZER_HOLD_SLACK_MARGIN": 0.1,
"DESIGN_REPAIR_MAX_SLEW_PCT": 10,
"DESIGN_REPAIR_MAX_CAP_PCT": 10,
"DESIGN_REPAIR_MAX_WIRE_LENGTH": 1200,
"//": "CTS",
"CTS_MAX_CAP": 0.80,
"CTS_CLK_MAX_WIRE_LENGTH": 800,
"CTS_SINK_CLUSTERING_SIZE": 1,
"CTS_SINK_CLUSTERING_MAX_DIAMETER": 50,
"CTS_CLK_BUFFERS": ["sky130_fd_sc_hd__clkbuf_8", "sky130_fd_sc_hd__clkbuf_4"],
"//": "ROUTING",
"RT_CLOCK_MIN_LAYER": "met3",
"DRT_THREADS": 20,
"GRT_ADJUSTMENT": 0.10,
"GRT_ALLOW_CONGESTION": true,
"GLB_RESIZER_TIMING_OPTIMIZATIONS": true,
"GRT_RESIZER_HOLD_SLACK_MARGIN": 0.05,
"GRT_RESIZER_SETUP_SLACK_MARGIN": 0.2,
"GRT_DESIGN_REPAIR_MAX_WIRE_LENGTH": 3000,
"GRT_ANTENNA_ITERS": 10,
"ROUTING_OBSTRUCTIONS": [
"met3 672 33 700 40",
"met3 2648.72 150.82 2737.92 154.625",
"met4 2655.52 147.27 2730.32 152.455"
],
"DEFAULT_CORNER": "max_ss_100C_1v60",
"//": "DONT TOUCH",
"RSZ_DONT_TOUCH_RX": "analog_io|rstb_h|porb_h|serial_clock_out|serial_load_out|ringosc|mgmt_buffers.la_data_out_core|mprj_ack_i_user|mprj_dat_i_user|user_irq_core|user_io_out|user_io_oeb",
"//": "MAGIC",
"MAGIC_CAPTURE_ERRORS": false,
"MAGIC_DEF_LABELS": false,
"MAGIC_EXT_USE_GDS": true,
"ERROR_ON_MAGIC_DRC": false,
"MAGIC_WRITE_FULL_LEF": true,
"//": "netgen",
"ERROR_ON_LVS_ERROR": true
}