Skip to content

global check#4224

Open
nanocoh wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
keplertech:signoff-single-commit
Open

global check#4224
nanocoh wants to merge 1 commit into
The-OpenROAD-Project:masterfrom
keplertech:signoff-single-commit

Conversation

@nanocoh
Copy link
Copy Markdown
Contributor

@nanocoh nanocoh commented May 11, 2026

No description provided.

Signed-off-by: Noam Cohen <noam.chn1@gmail.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request expands the Logical Equivalence Check (LEC_CHECK) functionality to the synthesis and final stages of the flow, updating documentation and variable definitions accordingly. Feedback suggests using the specialized write_lec_verilog procedure instead of write_verilog in the Tcl scripts. This ensures that LEC-specific requirements, such as blackbox stubs and cell removals, are properly handled without modifying the final deliverable netlists.

Comment on lines +34 to +37
if { $::env(LEC_CHECK) } {
write_verilog $::env(RESULTS_DIR)/1_synth_lec.v \
-remove_cells [find_physical_only_masters]
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Instead of calling write_verilog directly, you should use the write_lec_verilog procedure defined in lec_check.tcl. This ensures that the generated netlist respects REMOVE_CELLS_FOR_LEC and includes any LEC_AUX_VERILOG_FILES (like blackbox stubs), which are critical for a successful formal equivalence check. You will also need to source lec_check.tcl within the block.

if { $::env(LEC_CHECK) } {
  source $::env(SCRIPTS_DIR)/lec_check.tcl
  write_lec_verilog 1_synth_lec.v
}

Comment on lines +23 to +25
if { $::env(LEC_CHECK) } {
run_lec_test 6_final 1_synth_lec.v 6_final.v
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

It is recommended to use write_lec_verilog to generate a specific netlist for the LEC test (e.g., 6_final_lec.v) rather than using the deliverable 6_final.v. This ensures the revised netlist contains the necessary stubs and removed cells for the formal check without polluting the final output file. Using the helper procedure also ensures consistency with how the golden netlist was generated.

if { $::env(LEC_CHECK) } {
  write_lec_verilog 6_final_lec.v
  run_lec_test 6_final 1_synth_lec.v 6_final_lec.v
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant