Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
__pycache__/
*.pyc
*.swp
.pdm-python

# Claude Code session data
.claude/
Expand Down
1 change: 0 additions & 1 deletion .pdm-python

This file was deleted.

1 change: 0 additions & 1 deletion designs/mcu_soc_sky130/.pdm-python

This file was deleted.

2 changes: 1 addition & 1 deletion scripts/compare_timing.py
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ def main() -> int:
help="CVC stdout log with RESULT: lines")
parser.add_argument("--cvc-vcd", type=Path, required=True,
help="CVC output VCD")
parser.add_argument("--jacquard-vcd", "--loom-vcd", type=Path, required=True,
parser.add_argument("--jacquard-vcd", type=Path, required=True,
help="Jacquard --timing-vcd output")
parser.add_argument("--clock-period-ps", type=int, required=True,
help="Clock period in picoseconds")
Expand Down
2 changes: 1 addition & 1 deletion tests/mcu_soc/cvc/compare_simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -489,7 +489,7 @@ def main() -> None:
else:
skip_bits.add(int(part))
i += 2
elif args[i] in ("--jacquard-timing-vcd", "--loom-timing-vcd") and i + 1 < len(args):
elif args[i] == "--jacquard-timing-vcd" and i + 1 < len(args):
jacquard_timing_vcd = Path(args[i + 1])
i += 2
elif args[i] == "--cvc-timing-vcd" and i + 1 < len(args):
Expand Down
6 changes: 3 additions & 3 deletions tests/timing_test/cvc/run_cvc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,16 @@ if grep -q "RESULT: total_delay=" "$OUTPUT_DIR/cvc_output.log"; then
CVC_TOTAL=$(grep "RESULT: total_delay=" "$OUTPUT_DIR/cvc_output.log" | sed 's/.*=//')
CVC_CLK_TO_Q=$(grep "RESULT: clk_to_q=" "$OUTPUT_DIR/cvc_output.log" | sed 's/.*=//')
CVC_CHAIN=$(grep "RESULT: chain_delay=" "$OUTPUT_DIR/cvc_output.log" | sed 's/.*=//')
LOOM_TOTAL=1323
JACQUARD_TOTAL=1323
echo "CVC: clk_to_q=${CVC_CLK_TO_Q}ps chain=${CVC_CHAIN}ps total=${CVC_TOTAL}ps"
echo "Jacquard: clk_to_q=350ps chain=973ps total=${LOOM_TOTAL}ps"
echo "Jacquard: clk_to_q=350ps chain=973ps total=${JACQUARD_TOTAL}ps"
echo ""

# Jacquard uses max(rise, fall) per cell — a conservative approximation since
# the GPU kernel processes 32 packed signals and can't track per-signal
# transition direction. CVC tracks actual rise/fall transitions.
# Expected overestimate: 8 inverters × 10ps IOPATH + 8 wires × 1ps = 88ps.
DIFF=$((LOOM_TOTAL - CVC_TOTAL))
DIFF=$((JACQUARD_TOTAL - CVC_TOTAL))
echo "Difference: ${DIFF}ps (Jacquard conservative overestimate)"
if [ "$DIFF" -ge 0 ] && [ "$DIFF" -le 200 ]; then
echo "PASS: Jacquard within expected conservative bound"
Expand Down
Loading