• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Digital Implementation
  3. Genus standard cells to module

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 94
  • Views 12324
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Genus standard cells to module

JWMP
JWMP over 2 years ago

Hi, I have a TCL script for synthesizing a full adder (see below).

I am trying to modify the script so that when Genus opens, the schematic represents the circuit in module form.

I don't want to see the standard cell circuits and would like to see something simple. It seems I have gotten this to happen but I am not sure how.

When I source the script below, Genus opens and I get the first schematic (schematics are shown below). Without closing Genus, I source the script again and get the second schematic (preferred one).

What is happening that is causing the schematic to change when I source the script for a second time? How I can set the script such that the second schematic is by default? Thanks!

#### Include TCL utility scripts..
include load_etc.tcl
#### Set up
set DESIGN fulladder
set SYN_EFF medium
set MAP_EFF medium
set DATE [exec date +%m%d.%H%M]
set map_fancy_names 1
set iopt_stats 1


set SYN_PATH "."
set_db lib_search_path /home/transistor
set_db init_hdl_search_path .
set_db information_level 7
set_db library {transistor.lib}
set_db hdl_array_naming_style %s\[%d\]


set_db tns_opto true

read_hdl ./inputs/dig.v

elaborate $DESIGN

puts "Runtime & Memory after 'read_hdl'"
timestat Elaboration

check_design -unresolved

report timing -lint -verbose


#### Synthesizing to generic
set_db syn_generic_effort $SYN_EFF
puts "Runtime & Memory after 'synthesize -to_generic'"
timestat GENERIC
set_db auto_ungroup none
syn_generic

#### Synthesizing to gates
set_db syn_map_effort $MAP_EFF
puts "Runtime & Memory after 'synthesize -to_map -no_incr'"
timestat MAPPED

syn_map


remove_assigns_without_optimization
set_db syn_map_effort $MAP_EFF
insert_tiehilo_cells
puts "Runtime & Memory after incremental synthesis"
timestat INCREMENTAL

syn_opt

report area > ./outputs/${DESIGN}_area.rpt
report gates > ./outputs/${DESIGN}_gates.rpt
write_hdl > ./outputs/${DESIGN}.vg
write_sdc > ./outputs/${DESIGN}.sdc


gui_show;

1st Schematic 

2nd schematic (preferred)

  • Cancel
  • DimoM
    DimoM over 2 years ago

    Hi,
    after synthesis you have a standard cell-based netlist and this is what you will be seeing in Genus.

    When you source the script for the second time, you are elaborating the design anew, creating a second copy of the design in the database. If you look at the Design Browser, you have to see that now there are two designs.
    So what you are looking at is a generic netlist, which is not yet synthesized, hence it is simpler.

    -Dimo

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information