unwanted Synopsys standard cell models showing in the synthesized .v netlist file

1,650 views
Skip to first unread message

Ivano Indino

unread,
Dec 23, 2016, 5:26:50 AM12/23/16
to OpenPiton Discussion
Hi everybody, 
I'm  new to open_piton and very new to synthesis.
I'm trying to run rsyn (synthesis) of the piton modules using the open source 15nm Nangate standard cell libraries (free for study and research purposes) 

My issue is the following:
When I run the rsyn to get one or all of the blocks synthesized, I get a successful synthesis but when I open the generated netlist I do come across Synopsis cell libs instead of the open source libs that have been loaded in (according to the log)
i.e. 
GTECH_NOT I_17 ( .A(N14063), .Z(N14064) );
 \**SEQGEN**  jtag_breakpoint_stall_en_reg ( .clear(1'b0), .preset(1'b0),

did anyone else had the same issue when running open_piton synthesis and how was it debugged?

Thanks in advance
Ivano

Yi He

unread,
Dec 30, 2016, 3:42:58 PM12/30/16
to OpenPiton Discussion
Hi Ivano!

Did you modify the process_setup.tcl script at /piton/tools/synopsys/script/common?

Happy New Year!

Henry

Ivano Indino

unread,
Jan 4, 2017, 4:17:05 AM1/4/17
to OpenPiton Discussion

Hi Henry, thanks for the reply. I did modify part of the script common.tcl


# Target standard cell technology libraries

set TARGET_LIBRARY_FILES "${LIB_PATH}NLDM/NanGate_15nm_OCL_typical_conditional_nldm.db   ${LIB_PATH}/CCS/NanGate_15nm_OCL_typical_conditional_ccs.db   ${LIB_PATH}ECSM/NanGate_15nm_OCL_typical_conditional_ecsm.db"

 

# Target standard cell technology verilog

set TARGET_LIBRARY_VERILOG "${LIB_PATH}/verilog/NanGate_15nm_OCL_conditional.v"

 

# List of max min library pairs for setup and hold analysis

# List should follow this format: "max1 min1 max2 min2 max3 min3..."

# Should follow same order as target libraries, but two here for each one in target library

set MIN_LIBRARY_FILES "${LIB_PATH}NLDM/NanGate_15nm_OCL_fast_conditional_nldm.db ${LIB_PATH}NLDM/NanGate_15nm_OCL_slow_conditional_nldm.db ${LIB_PATH}/CCS/NanGate_15nm_OCL_fast_conditional_ccs.db ${LIB_PATH}/CCS/NanGate_15nm_OCL_slow_conditional_ccs.db ${LIB_PATH}ECSM/NanGate_15nm_OCL_fast_conditional_ecsm.db ${LIB_PATH}ECSM/NanGate_15nm_OCL_slow_conditional_ecsm.db"

 

 

 

I did not set any variable after the set MIN_LIBRARY_FILES

From MW_REFERENCE_LIB_DIRS forward I did not set anything. I didn't think I needed any of the topographical related inputs to get a netlist linked to the Nangate tech libs

 

I don't have Milkyway libraries, I do have .LEF that I think they could be used to generated some .tf file for Milkyway but I'm yet to figure out how to get the .tf files (if these are needed)

 

I get synthesis but it is not linking to my tech libs and the only error I see is OPT-1428  which is related to physical library

 

i.e.

  Linking design 'dynamic_node_top_wrap'

  Using the following designs and libraries:

  --------------------------------------------------------------------------

  * (25 designs)              ../scripts/open_piton_1/openpiton/piton/design/chip/tile/dynamic_node/synopsys/dynamic_node_top_wrap.db, etc

  NanGate_15nm_OCL (library)  ../scripts/open_piton_1/openpiton/piton/Nangate15nm/front_end/timing_power_noise/NLDM/NanGate_15nm_OCL_typical_conditional_nldm.db

  NanGate_15nm_OCL (library)  ../scripts/open_piton_1/openpiton/piton/Nangate15nm/front_end/timing_power_noise/CCS/NanGate_15nm_OCL_typical_conditional_ccs.db

  NanGate_15nm_OCL (library)  ../scripts/open_piton_1/openpiton/piton/Nangate15nm/front_end/timing_power_noise/ECSM/NanGate_15nm_OCL_typical_conditional_ecsm.db

 

Error: DC-Topographical Failed to link physical library. (OPT-1428) 

Is this the issue?

 

I'm only interested in synthesizing the design targeting a tech library, didn't think I needed the physical libs…

My expertise is mainly scan atpg  and content validation on tester platforms, my Synopsys skills are very young.

Thanks for the reply and happy new year to you

I'll appreciate any kind of input that can get me a little bit further in the process. Thanks again in advance

Ivano

Yi He

unread,
Jan 4, 2017, 7:18:11 PM1/4/17
to OpenPiton Discussion
Hi, Ivano!

I'm not an expert in synopsys either. I just brainstorm my ideas which might not really help.

You might want to check your dc_shell.log, looking for "source ${SOURCE_ARGS} ${DV_ROOT}/tools/synopsys/script/common/process_setup.tcl", and the sentences followed to see if the process_setup file is really loaded into DC. Also sentences like "Loading db file "xxxxx.db"" , "Loading link library" , "Information: linking reference library", "Using the following designs and libraries:" to see if DC did load the specified db files. Or just search your library name in the dc_shell.log.

I did setup the Milkyway libraries, the technology files and the tlup files. I encountered errors if I don't set these variables.

Best Regards,
Henry

Ivano Indino

unread,
Jan 5, 2017, 4:14:19 AM1/5/17
to OpenPiton Discussion
Hi Henry,

according to my log the process_setup.tcl is sourced correctly and link libraries have been loaded but it is also loading the gtech at that stage and not sure if that is supposed to happen (see below)
I didn't think the Milkyway library were required for the netlist synthesis. May I ask if you are using Nangate libs and did you have any trouble generating .tf files from LEF?
Thanks for sharing your knowledge 
Ivano

from the log
.
# Process specific setup
eval "source ${SOURCE_ARGS} ${DV_ROOT}/tools/synopsys/script/common/process_setup.tcl"
# Copyright (c) 2016 Princeton University
# All rights reserved.
.
.
Presto compilation completed successfully.
Loading db file 'Nangate15nm/front_end/timing_power_noise/NLDM/NanGate_15nm_OCL_typical_conditional_nldm.db'
Loading db file 'Nangate15nm/front_end/timing_power_noise/CCS/NanGate_15nm_OCL_typical_conditional_ccs.db'
Loading db file 'Nangate15nm/front_end/timing_power_noise/ECSM/NanGate_15nm_OCL_typical_conditional_ecsm.db'
1
elaborate ${DESIGN_NAME}
Loading db file 'I-2013.12/libraries/syn/gtech.db'
Loading db file 'I-2013.12/libraries/syn/standard.sldb'
  Loading link library 'NanGate_15nm_OCL'
  Loading link library 'NanGate_15nm_OCL'
  Loading link library 'NanGate_15nm_OCL'
  Loading link library 'gtech'
Running PRESTO HDLC
.
.

Yi He

unread,
Jan 6, 2017, 11:30:46 AM1/6/17
to OpenPiton Discussion
Hi, Ivano!

GTECH is necessary in DC synthesis. Our RTL files are first translated into GTECH library cells, then mapped to the real libraries we specified. Loading GTECH library might not be the problem. I might misunderstood this, but if you meant that most of the netlist cells are good, only a small portion of them are from the GTECH library, you might want to make sure your Nan_Gate library is intact.

I was using the Synopsys 32nm generic library. It is also free and easy to get with synopsys license. It came with technology files so I haven't encountered the LEF tf translation problem.

Best Regards,
Henry

Ivano Indino

unread,
Jan 8, 2017, 2:34:46 AM1/8/17
to OpenPiton Discussion
Hi Henry,
unfortunately for what I can see from the output netlist file not one instance has been mapped. I'll try to set the Milkyway variables and files to see if those are a requirement to get the mapping executed. If that doesn't work I'll probably move onto a different technology
Thanks again for your input
Regards
Ivano

Michael McKeown

unread,
Jan 31, 2017, 2:50:15 PM1/31/17
to OpenPiton Discussion, salamin
Hi Ivano,

Have you made any progress on this?  Have you tried disabling topographical mode for design compiler?  This may be part of your problem.  

It appears you are working with Nan_Gate library, I believe Sami (CC'd, another OpenPiton user) is also using OpenPiton with Nan_Gate.  He seems to have made some progress.  Sami, did you disable topographical mode for synthesis?

Mike

naga sai gowtham kumar hari

unread,
Mar 17, 2019, 5:18:17 PM3/17/19
to OpenPiton Discussion
Hi All,
I am seeing similar issue where my post compiled netlist has only SEQGEN and GTECH cells. Any progress with the issue?

Thanks,
Gowtham
Message has been deleted

ting...@princeton.edu

unread,
Mar 18, 2019, 11:01:07 AM3/18/19
to OpenPiton Discussion
Hi naga,

One of the possible reasons may be the physical library linking error. 
If you see something like "Error: DC-Topographical Failed to link physical library." in dc_shell.log and your goal is getting the mapped gate-level netlist file, you can remove the topographical flag of the syn_command file in piton/tools/bin folder. 
Change the command to "dc_shell-t -f $DV_ROOT/tools/synopsys/script/syn/dc.tcl > dc_shell.log". Then, please also check the dc.tcl file in piton/tools/synopsys/script/syn folder and comment all "exit 1" line inside if {![shell_is_in_topographical_mode]} block.
This should allow you to run rsyn synthesis script without Milkyway reference libraries and get the mapped netlist.

(Sorry that I got the wrong path in the previously deleted post..)

Best,
Ting

Ronald Valenzuela

unread,
Mar 21, 2019, 6:54:57 PM3/21/19
to OpenPiton Discussion
Not sure if still matters to anyone anymore, but just in case... if you're in debugging mode make sure you delete your MW design library.  The RM does not delete the library if is already created, so if you use wrong tech file on your initial run for instance, you may need to delete to start over. just my 2cents
Reply all
Reply to author
Forward
0 new messages