In my design,some signals like this:
module test ( a,b,...... )
input a;
output b;
......
assign a = b;
endmodule
After synthesis,this statement didnot substitute by inserting a buffer!But this statement cant be recognized by Encounter.
How to eliminate this "assign"?
After setting "set_fix_multiple_port_nets" true, you have to resynthesis and write the verilog out, then you will get the netlist without "assign". Hope this suggesstion is helpful to you.
:wink:
Make sure you invoke the command with the following options:
set_fix_multiple_port_nets -all -buffer_constants
Missing the -buffer_constants could cause you to still have some assign statements. Also, make sure you are not doing a "set_dont_touch" on some of the modules that contain assign statements...
when you have tri_state bus or ports ,you will have "assign ";or when you have some unconnected pins ,you will have the "assign ".
You can add boundary_optimization and set fix to remove the "assign"
Hi, microww.
“set_boundary_optimization true”
This compile setting is not used. It could change the logic of your subdesigns. So we do not use it in DC.