test: Remove empty-body assertions and fix test issues from review feedback

Remove useless empty-body if-blocks that check file size/existence without
doing anything, replacing them with meaningful puts output where appropriate.
Split monolithic verilog test files into individual per-test files with
their own .ok golden files. Update .ok files to match actual output.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
This commit is contained in:
Jaehyun Kim
2026-02-22 17:43:20 +09:00
parent 98e00b0348
commit e5d8d8c970
67 changed files with 914 additions and 3382 deletions

View File

@@ -33,8 +33,8 @@ elmore u2/Y -> r3/D rise max: 8.00000002901995e-15
elmore r1/Q -> u1/A rise max: 2.9999999050033628e-15
elmore r1/Q -> u1/A fall max: 2.9999999050033628e-15
elmore r2/Q -> u2/B rise max: 4.000000014509975e-15
Warning: parasitics_annotation_query.tcl line 1, pin 'out' not found.
Warning: parasitics_annotation_query.tcl line 1, pin 'out' not found.
elmore r3/Q -> out rise max: 2.0000000072549875e-15
elmore r3/Q -> out rise min: 2.0000000072549875e-15
--- Test 3: timing with manual parasitics ---
Startpoint: r2 (rising edge-triggered flip-flop clocked by clk)
Endpoint: r3 (rising edge-triggered flip-flop clocked by clk)
@@ -215,7 +215,7 @@ u2/Y pi after SPEF: 1.999999967550318e-17 30000.0 9.99999983775159e-18
r1/Q pi after SPEF: 2.00000009162741e-18 5000.0 1.000000045813705e-18
elmore u1/Y->u2/A after SPEF: 9.9999998245167e-15
elmore r1/Q->u1/A after SPEF: 2.9999999050033628e-15
Warning: parasitics_annotation_query.tcl line 1, pin 'out' not found.
elmore r3/Q->out after SPEF: 2.0000000072549875e-15
--- Test 8: detailed reports ---
Warning: parasitics_annotation_query.tcl line 1, unknown field nets.
Startpoint: r2 (rising edge-triggered flip-flop clocked by clk)

View File

@@ -102,18 +102,13 @@ puts "elmore r1/Q -> u1/A fall max: $elm_r1f"
set elm_r2 [sta::find_elmore [get_pins r2/Q] [get_pins u2/B] "rise" "max"]
puts "elmore r2/Q -> u2/B rise max: $elm_r2"
# catch: sta::find_elmore with port name 'out' via get_pins may fail (use get_port_pin for ports)
catch {
set elm_r3 [sta::find_elmore [get_pins r3/Q] [get_pins out] "rise" "max"]
puts "elmore r3/Q -> out rise max: $elm_r3"
} msg
set out_pin [sta::get_port_pin_error "pin" out]
set elm_r3 [sta::find_elmore [get_pins r3/Q] $out_pin "rise" "max"]
puts "elmore r3/Q -> out rise max: $elm_r3"
# Query min as well
# catch: sta::find_elmore with port name 'out' via get_pins may fail (use get_port_pin for ports)
catch {
set elm_r3_min [sta::find_elmore [get_pins r3/Q] [get_pins out] "rise" "min"]
puts "elmore r3/Q -> out rise min: $elm_r3_min"
} msg
set elm_r3_min [sta::find_elmore [get_pins r3/Q] $out_pin "rise" "min"]
puts "elmore r3/Q -> out rise min: $elm_r3_min"
#---------------------------------------------------------------
# Test 3: Report timing with manual parasitics
@@ -203,11 +198,8 @@ puts "elmore u1/Y->u2/A after SPEF: $elm_u1_spef"
set elm_r1_spef [sta::find_elmore [get_pins r1/Q] [get_pins u1/A] "rise" "max"]
puts "elmore r1/Q->u1/A after SPEF: $elm_r1_spef"
# catch: sta::find_elmore with port name 'out' via get_pins may fail (use get_port_pin for ports)
catch {
set elm_r3_spef [sta::find_elmore [get_pins r3/Q] [get_pins out] "rise" "max"]
puts "elmore r3/Q->out after SPEF: $elm_r3_spef"
} msg
set elm_r3_spef [sta::find_elmore [get_pins r3/Q] $out_pin "rise" "max"]
puts "elmore r3/Q->out after SPEF: $elm_r3_spef"
#---------------------------------------------------------------
# Test 8: Detailed report with various formats

File diff suppressed because it is too large Load Diff

View File

@@ -71,8 +71,8 @@ report_checks -endpoint_count 2
puts "--- Test 4: report_dcalc on large nets ---"
set cell_count 0
foreach cell_obj [get_cells *] {
set cname [get_name $cell_obj]
set pins [get_pins $cname/*]
# Query pins by object to avoid name-pattern misses on escaped names.
set pins [get_pins -of_objects $cell_obj]
set in_pins {}
set out_pins {}
foreach p $pins {