• 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. Logic Design
  3. memory synthesis RTL Compiler commands

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 61
  • Views 16280
  • 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

memory synthesis RTL Compiler commands

archive
archive over 17 years ago

I am trying to synthesize my RTL code which instantiates a memory.
I have the memory SIMULATION models which are not synthesizable.
I also have its *.v, *.lib, *.lef, *.tlf files.

question: How do I synthesize my RTL code using the memory model files? Do I let it turn into a blackbox during synthesis?

Someone else wrote to me:
To integrate the block, the *.lib file can be read into Synopsys (read_lib command) and transformed to a compiled Synopsys library (write_lib command) to get to a *.db file. This *.db file needs to be in the link_library variable (together with all other libraries needed to get the circuit together) and everything should work fine then. In the code of the circuit, the memory is called like any other cell then.

For RTL Compilier, there should be similar commands like read_lib/write_lib to get from the *.lib to the compiled library that the synthesizer tool needs.


I know Synopsys DC Compiler "read_lib" is equivalent to "set_attribute library".
Is there an equivalent RC command to "write_lib" ?

Thank you for your kind help,
aps


Originally posted in cdnusers.org by alexsieh
  • Cancel
  • archive
    archive over 17 years ago

    Hi aps,

    sounds like you already have the .lib for your memory so you should be ok if you specify the .lib in your library attribute and then you will no longer need to read the behavioral RTL

    good luck,
    gh-


    Originally posted in cdnusers.org by grasshopper
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Alex,

    ASIC synthesizers do no infer memories from RTL in the way FPGA synthesis tools do. Wafer fabs do not give parametric timing data so that an ASIC synthesis tool recognizes the size of the RAM and infers the RAM core automatically.

    Therefore you must use a special program called memory generator or macro generator, which generates memories out of synthesis. Then you can add it as *.lib file which is actually timing data, not RTL. This program is given usually by wafer fab.

    To your 2nd question:
    RTL Compiler does not support Synopsys file formats and convert libraries between various formats. And also, you don't need to convert libraries. *.lib (liberty) file format is a standard file format (like IBIS specification) among all EDA tools.

    HTH.


    Originally posted in cdnusers.org by sporadic crash
    • 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