计算机使用智能体分类English
R07.04.01.02 · 任务小类

RTL到GDS流程与签核

RTL-to-GDS flow & signoff

Configure synthesis, place-and-route and signoff to meet timing and area.

20 条本项目编写的提案 · 分类 v1.1 · 新增基准运行 0 次。下方验证方式与部分得分规则是设计,不是执行结果。

典型应用
OpenROAD · Yosys · Innovus (Tcl)
小类 GUI 需求标签
CL · CLI 足够

任务提案 · 20

展开查看完整原文与建议检查方式;两种界面均保留提案英文原文。

R07.04.01.02-T01 Tune ORFS config for ibex on sky130hd to pass DRC, LVS and setup timing

原始指令

In OpenROAD-flow-scripts, designs/sky130hd/ibex/config.mk fails at 10.0 ns (setup WNS -1.2 ns, 37 DRT violations). Edit only config.mk and constraint.sdc knobs other than the clock period (utilization, place density, synth flags, CTS/GRT settings) so a full make passes final DRC, LVS and setup/hold WNS ≥0 at 10.0 ns with power ≤ the baseline. Record each attempt in JOURNAL.md.

平台
lin · Linux
应用
OpenROAD · Yosys
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
long · 长流程
提案难度
4 / 5

建议验证方式

Grader reruns make from clean with the submitted config using its own golden SDC clock (10.0 ns): Magic DRC 0, netgen LVS match, OpenSTA setup and hold WNS ≥0, total power ≤ baseline. Clock-period edits, removing constraints or editing scripts outside config.mk cause 0.

建议部分得分

25% DRC clean; 25% LVS match; 30% setup/hold met; 20% power ≤ baseline & journal

R07.04.01.02-T02 Run ORFS floorplan at 45% utilization and report die and core area

原始指令

For designs/sky130hd/gcd in OpenROAD-flow-scripts set CORE_UTILIZATION=45, CORE_ASPECT_RATIO=1 and CORE_MARGIN=2, run through floorplan only, and write out/area.json with die_area_um2 and core_area_um2 read from the floorplan ODB.

平台
lin · Linux
应用
OpenROAD
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP12 · 答案 / 决策
条件
未声明
提案难度
1 / 5

建议验证方式

Grader opens 2_floorplan.odb: core aspect 1.00±0.02, util 45±1%; area.json values within 0.5% of ODB-derived values.

建议部分得分

50% floorplan with right knobs; 50% correct areas reported

R07.04.01.02-T03 Synthesize PicoRV32 to sky130 with Yosys under an area target

原始指令

Write synth.ys that reads rtl/picorv32.v (top picorv32), synthesizes to sky130_fd_sc_hd tt_025C_1v80 liberty with ABC area optimization, and writes out/picorv32_syn.v and out/stat.txt. Total cell area must be ≤ 1.10× the reference in docs/area_ref.txt and the netlist must be equivalent to RTL.

平台
lin · Linux mac · macOS
应用
Yosys
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
2 / 5

建议验证方式

Grader reruns synth.ys; parses stat for chip area ≤1.10× reference; only liberty cells used; eqy/SymbiYosys equivalence RTL vs netlist PASS.

建议部分得分

30% script runs & maps to liberty; 40% area target; 30% equivalence pass

R07.04.01.02-T04 Write SDC for a two-clock design with async crossing and IO budgets

原始指令

rtl/dual_clk_top.v has clk_a (100 MHz) and clk_b (66.7 MHz) with a synchronizer between them. Write constraint.sdc: both clocks, 0.1 ns uncertainty, input/output delays at 40% of the respective period relative to the right clock, asynchronous clock groups, and set_max_delay -datapath_only for the synchronizer first flops. OpenSTA must report no unconstrained endpoints.

平台
lin · Linux
应用
OpenROAD · OpenSTA
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

OpenSTA on provided netlist: check_setup -unconstrained_endpoints empty; clocks/periods match; IO delays per port ±0.01 ns; clock groups async; max_delay on sync paths only (grader compares path groups to key).

建议部分得分

25% clocks; 25% IO delays; 25% async groups/max_delay; 25% no unconstrained endpoints

R07.04.01.02-T05 Repair post-CTS hold violations without breaking setup

原始指令

fixtures/aes_cts/4_cts.odb (sky130hd) has 212 hold violations (WNS -0.18 ns) after CTS. In OpenROAD use repair_timing -hold with an appropriate margin and buffer list, then re-legalize and save 4_cts_fixed.odb. Setup WNS must not drop below 0 and inserted buffer count must stay ≤600.

平台
lin · Linux
应用
OpenROAD
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Grader loads ODB with golden SDC: hold WNS ≥0 and TNS 0; setup WNS ≥0; inserted hold buffers ≤600; check_placement clean.

建议部分得分

45% hold met; 25% setup preserved; 15% buffer budget; 15% legal placement

R07.04.01.02-T06 Resolve detailed-routing congestion overflow with density and macro halos

原始指令

designs/sky130hd/jpeg in ORFS finishes with 1,480 DRT violations caused by congestion near two macros. Change only placement density, macro halo/channel settings and global-route layer adjustments in config.mk so detailed routing ends with 0 violations, timing at the given clock unchanged (WNS ≥0).

平台
lin · Linux
应用
OpenROAD
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
long · 长流程
提案难度
4 / 5

建议验证方式

Clean rerun: 5_route DRC report 0 violations; GRT overflow 0; setup WNS ≥0 with golden SDC; diff of config.mk limited to allowed variables.

建议部分得分

50% DRT violations reduced (scaled to 0); 20% GRT overflow 0; 20% timing; 10% allowed knobs only

R07.04.01.02-T07 Place four SRAM macros and build a PDN that connects them

原始指令

designs/sky130hd/soc_lite has four sky130_sram_2kbyte macros. Write macro_placement.tcl (positions, R0/MX orientations, pins facing core logic, ≥20 µm channels) and a custom pdn.tcl so macro VDD/VSS pins connect to met4/met5 straps. Run ORFS to final; DRC, LVS and setup at 25 ns must pass.

平台
lin · Linux
应用
OpenROAD · Yosys
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
long · 长流程
提案难度
5 / 5

建议验证方式

Final ODB: macros at legal non-overlapping positions with ≥20 µm channels and pins facing core centroid; check_power_grid passes for VDD/VSS (no unconnected macro pins); DRC 0; LVS match; WNS ≥0.

建议部分得分

25% legal macro placement; 25% PDN connectivity; 20% DRC; 30% LVS & timing

R07.04.01.02-T08 Implement a block in Innovus by Tcl to meet 500 MHz

原始指令

Using Cadence Innovus 21 batch Tcl with the provided LEF/LIB/QRC (gpdk045), implement fixtures/fir16/fir16_syn.v: floorplan at 70% util, power rings and M7/M8 stripes, place_opt_design, ccopt_design, route, postRoute optimization. Constraints in fir16.sdc (2.0 ns). Save fir16_final.enc and stream out GDS.

平台
lin · Linux
应用
Innovus (Tcl)
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
licensed · 授权专业软件 long · 长流程
提案难度
5 / 5

建议验证方式

Grader restores DB and runs timeDesign -postRoute with golden SDC: setup/hold WNS ≥0; verify_drc 0; verify_connectivity 0 opens; PG rings/stripes present; GDS streams. SDC modifications ignored.

建议部分得分

35% floorplan+PG, placed & CTS; 20% routed DRC-clean; 30% timing met; 15% GDS out

R07.04.01.02-T09 Implement a metal-only ECO with spare cells and prove it with LEC

原始指令

A logic bug in fixtures/uart_ctrl requires inverting the enable of the TX FIFO (docs/eco_req.txt; golden RTL rtl_v2/). Starting from the routed Innovus database, implement the fix using only existing spare cells (no base-layer change), ECO-route, and run Conformal LEC against rtl_v2 to prove equivalence.

平台
lin · Linux
应用
Innovus (Tcl) · Conformal LEC
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
licensed · 授权专业软件
提案难度
5 / 5

建议验证方式

Base layers (FEOL+contacts) XOR vs original GDS empty; LEC vs rtl_v2 EQUIVALENT; verify_drc 0; timing WNS ≥0; only spare instances re-connected.

建议部分得分

30% FEOL unchanged; 40% LEC equivalent; 15% DRC; 15% timing

R07.04.01.02-T10 Find a seeded mismatch between RTL and gate netlist with equivalence checking

原始指令

fixtures/alu32 has RTL and a hand-patched gate netlist alu32_syn.v that differs functionally in one cone. Set up an eqy (Yosys) equivalence check, identify the failing output and the netlist instance responsible, fix the netlist and show equivalence passes. Write the instance name to out/culprit.txt.

平台
lin · Linux mac · macOS
应用
Yosys · eqy
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

culprit.txt equals seeded instance; grader's own eqy on the fixed netlist PASS; diff vs original confined to that instance's connections.

建议部分得分

30% eqy setup reports failure; 30% culprit correct; 40% fixed & equivalent

R07.04.01.02-T11 Use the OpenROAD GUI timing and heatmap views to fix a critical-path bottleneck

原始指令

fixtures/riscv_mini/3_place.odb misses setup by 0.4 ns. Open it in the OpenROAD GUI, use the Timing Report and placement-density/RUDY heatmaps to find why the critical path is spread out, then fix it (e.g. region constraints, buffering, resizing) via Tcl and write 3_place_fixed.odb with WNS ≥0. Save a GUI screenshot of the path to out/path.png and describe the cause in out/cause.txt.

平台
lin · Linux
应用
OpenROAD
交互表面
desk · 桌面 GUI term · 终端
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
HY · 混合
交互原语
vis · 视觉判断 nav · 平移 / 缩放 / 滚动 code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
multiapp · 多应用
提案难度
4 / 5

建议验证方式

Grader: setup WNS ≥0 with golden SDC; legal placement; cause.txt names the start/end registers and spread cause matching key (string match + VLM check of screenshot showing highlighted path).

建议部分得分

20% correct path identified; 20% cause; 50% WNS ≥0 legal; 10% screenshot

R07.04.01.02-T12 Reduce worst static IR drop below 5% by strengthening the PDN

原始指令

OpenROAD analyze_power_grid on fixtures/dsp_core/5_route.odb reports worst VDD IR drop 9.1% at 1.8 V. Edit pdn.tcl (strap pitch/width/layers) and rerun the flow from floorplan so worst static IR drop is ≤5% while final DRC stays 0 and timing is met. Write the before/after report to out/ir.txt.

平台
lin · Linux
应用
OpenROAD
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP07 · 仿真结果
条件
未声明
提案难度
4 / 5

建议验证方式

Grader reruns analyze_power_grid with fixed current file: worst drop ≤5%; DRC 0; LVS match; WNS ≥0; routing-track loss reported.

建议部分得分

50% IR drop at target (scaled from the 9.1 pct baseline); 20% DRC; 15% LVS; 15% timing

R07.04.01.02-T13 Fix an LVS failure caused by missing tap and fill cells in signoff

原始指令

ORFS final GDS for designs/sky130hd/spm passes DRC but netgen LVS fails because tapcell and fill insertion were skipped and a power net is split. Locate the cause in the logs, fix config/scripts, rerun from the right stage, and get Magic DRC 0 and netgen LVS match.

平台
lin · Linux
应用
OpenROAD · Magic · netgen
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
hidden · 隐藏 / 过期状态
提案难度
3 / 5

建议验证方式

Final GDS: tap cells per row spacing rule, fill present; Magic DRC 0; netgen LVS 'Circuits match uniquely'; note in out/root_cause.txt matches key.

建议部分得分

25% root cause; 25% taps/fill inserted; 25% DRC; 25% LVS

R07.04.01.02-T14 Find a design's maximum clock frequency by sweeping the period

原始指令

For designs/sky130hd/aes in ORFS, find the smallest clock period (0.1 ns resolution) for which the full flow ends with setup WNS ≥0 and DRC 0, using a sweep script that runs flows in parallel. Write out/fmax.json with period_ns and fmax_mhz plus the script.

平台
lin · Linux
应用
OpenROAD · Yosys
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP12 · 答案 / 决策
条件
long · 长流程
提案难度
3 / 5

建议验证方式

Grader reruns at reported period (must pass) and at period-0.1 ns (must fail); fmax_mhz = 1000/period within 0.5%.

建议部分得分

30% sweep script runs; 40% reported period passes; 30% period-0.1 fails

R07.04.01.02-T15 Harden a Caravel user project with OpenLane 2 so precheck passes

原始指令

fixtures/caravel_user/ contains RTL for a 16-bit PWM block. Write openlane/user_proj_pwm/config.json (fixed DIE_AREA from docs, pin order file per wishbone/IO spec, clock 40 ns), harden with OpenLane 2, integrate into user_project_wrapper and run the mpw_precheck subset in docs/precheck.md.

平台
lin · Linux
应用
OpenLane · OpenROAD · Yosys
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
tutorial · 阅读文档 / 教程
提案难度
3 / 5

建议验证方式

OpenLane run final: DRC 0, LVS clean, antenna 0, WNS ≥0; pins on edges per order file; wrapper GDS present; precheck subset returns all PASS.

建议部分得分

25% config & pin order; 30% harden signoff clean; 20% wrapper integration; 25% precheck pass

R07.04.01.02-T16 Write a Yosys flow with dont_use cells, flattening and retiming

原始指令

Create synth_retime.ys for rtl/fir8.v targeting fixtures/lib/acme45_tt.lib: flatten, honor dont_use on all *_X16 and CLKBUF* cells, enable ABC with -dff retiming, and map flops to DFFR_X1 only. Output out/fir8_syn.v and out/stat.txt.

平台
lin · Linux mac · macOS
应用
Yosys
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Netlist flat (single module); no dont_use cells instantiated; all sequential cells DFFR_X1; sequential equivalence (SymbiYosys BMC depth 20) vs RTL passes; OpenSTA worst path shorter than non-retimed baseline.

建议部分得分

35% flat & flop mapping; 25% dont_use honored; 25% equivalent; 15% timing improved

R07.04.01.02-T17 Place IO pins by group and order with OpenROAD place_pins

原始指令

For fixtures/spi_bridge/2_floorplan.odb place pins with OpenROAD: SPI pins on the left edge in order sclk, mosi, miso, cs_n; data_out[15:0] on the right edge ascending top to bottom; clk and rst_n on the bottom; met3 horizontal, met2 vertical, min distance 5 tracks. Save 2_pins.odb.

平台
lin · Linux
应用
OpenROAD
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
2 / 5

建议验证方式

Read ODB: each pin on required edge and layer; ordering constraints satisfied; spacing ≥5 tracks; no overlaps.

建议部分得分

40% edges correct; 30% ordering; 15% layers; 15% spacing

R07.04.01.02-T18 Route clock nets with a double-width double-spacing non-default rule

原始指令

On fixtures/mac16/4_cts.odb define an NDR CLK_2W2S (2× width, 2× spacing on met2-met4), assign it to all clock nets, run global and detailed routing in OpenROAD and save 5_route.odb. Detailed-route violations must be 0.

平台
lin · Linux
应用
OpenROAD
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

ODB: NDR exists with 2× values; every clock net references it and routed wires on met2-met4 have ≥2× min width; DRT 0 violations; non-clock nets use default rule.

建议部分得分

25% NDR defined; 25% assigned to clock nets; 30% routed widths; 20% DRC clean

R07.04.01.02-T19 Shrink core area by 15% while keeping timing and routability

原始指令

designs/sky130hd/ibex currently closes at CORE_UTILIZATION 35. Reduce core area by ≥15% versus baseline (docs/baseline.json) by changing utilization, synthesis area recipes or buffering limits, while final DRC is 0, LVS matches and setup/hold WNS ≥0 at the original clock. Report area in out/area.json.

平台
lin · Linux
应用
OpenROAD · Yosys
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
long · 长流程
提案难度
4 / 5

建议验证方式

Grader reruns: core area ≤0.85× baseline; DRC 0; LVS match; WNS ≥0 with golden SDC; area.json correct.

建议部分得分

40% area reduction (scaled to target); 20% DRC; 15% LVS; 25% timing

R07.04.01.02-T20 Diagnose a failed CTS stage from logs and resume the flow

原始指令

An ORFS run of designs/sky130hd/uart stopped at CTS with an error (logs in fixtures/uart_logs/). Find the root cause (an invalid CTS_BUF_CELL list for the platform), correct config.mk, rerun from CTS without redoing synthesis/floorplan, and finish to a clean final report.

平台
lin · Linux
应用
OpenROAD
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Final ODB exists with DRC 0 and WNS ≥0; 1_synth.v and 2_floorplan.odb timestamps unchanged (resumed, not rerun); config.mk CTS buffer list valid for sky130hd.

建议部分得分

30% root cause in out/notes.txt; 30% config fixed; 20% resumed from CTS; 20% clean final

已有研究映射

以下沿用研究目录中的基准与小类映射,不是逐题标注、执行记录或产品背书。

同工作流族的小类