( ESNUG 348 Item 1 ) --------------------------------------------- [3/30/00]
From: [ The Great Gatsby ]
Subject: WARNING: DC 99.10 -incr & Boundry Optimization Creates Bad Logic!
Hi John, I have to be anonymous on this.
We are right in the middle of taping out a 1.3 million gate design and we
discovered that incremental compiles in DC 99.10 is synthesizing bad
functionality in our design! Yes, I am saying that incremental compiles
in DC 99.10 is creating broken netlists. The problem involves something
messy with boundry optimization. Synopsys R&D has agreed that this is a
bug and gave me this workaround.
remove_design -all
read Simpsons_Top_Before_Inc.db
/*remove all attributes*/
/*without this foreach loop formality fails */
foreach(design_name,find(design, "*"))
{
current_design = design_name
reset_design
}
current_design Simpsons_top
uniquify
set_dont_touch {Bart Lisa Maggie Marge Homer} true
/* apply contraint here before compile */
inlcude default.wscr
compile -no_design_rule -map_effort low
write -f verilog -hier -o Simpsons_top_mapped_before_inc.v
current_design Simpsons_top
set_dont_touch {Bart Lisa Maggie Marge Homer} false
/* make sure to apply all the blocks */
set_boundary_optimization {Bart Lisa Maggie Marge Homer} false
compile_preserve_subdesign_interfaces = true
compile -no_design_rule -map_effort low -incremental_mapping
write -o Simpsons_top_mapped_after_inc.vgl -f verilog -hier
exit
Since we didn't know this problem existed on some other blocks and our
functional vector might not catch them, we have to re-synthesize all our
blocks again. Synopsys says this should be fixed in DC 2000.05.
- [ The Great Gatsby ]
|
|