Re: synopsys designware: post synthesis checking
Are you sure you are using DW components which you wish to see?
Try this...
After compiling your top level and before sythesis go to the schematic viewer. Suppose your code had the arith operation "+". A corresponding DW compenent is called "DW01_add " which is the Adder IP. Browse through the schematic viewer to see if there is the component "DW01_add " or anything with a similar name.
This is not the best approach and is not recommended for huge designs.
- - - Updated - - -
Additionally try this command...
report_synlib
In the Design Compiler® User Guide, Version K-2015.06, June 2015, see Chapter 13: High-Level Optimization and Datapath Optimization, section "Synthetic Operators", Pg 411. It is explained there how HDL operators such as + and * is handled by Synopsys DC.
Dear dpaul,
after the elaborate command (before synthesizing) I can see operand mapping, i.e. there is a mul_359, there is an add_255 etc.. as report_resources command has already shown. But report on what type of multipliers are used are still missing...
Actually, looking at the ref name of each component pre-synthesis, it is possible to see its "Synthetic operator", i.e. if it is a MULT_UNS_OP_32_32_33 multiplier for instance, but information about "Synthetic modules" and their "Implementations" are not present... i.e. if it is a DW02_MUL, wallace multiplier, with let's say 32 bits as inputs etc etc...
I also typed " set synlib_wait_for_design_license "DesignWare" " before analyzing, elaborating and compiling my design.
My goal is: given an algorithm, understanding the Data Flow Graph synopsys builds and which DW components it uses to build each instructions..
eg: c = a*b
e = c + d
So I'd like to see a report as: operation "*" to implement c was done using a Booth Multiplier 16x16 and to implement e was used and ripple carry adder 32+32... or for instance e was implement using a MAC since c is not an output... or something like that...
The report_resources command generates the following three reports:
• Resource report for arithmetic operators that are mapped to individual DesignWare
components
• Datapath report for arithmetic operators that are merged into a single datapath block by
datapath extraction
• Implementation report for each arithmetic cell
And it should show if a DW component it used, for me it was not the same.
This command report_synlib needs an argument, I putted there dw_foundation.sldb... it showed a list of components, there are a lot of DW ips and DW_add and DW_mul as well, so I think I'm using them... furthermore printing the variables synthetic_library and link_library, I still see dw_foundation.sldb as output.