• 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. RTL Compiler does not make use of "non-conventional" multiple...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 62
  • Views 1537
  • 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

RTL Compiler does not make use of "non-conventional" multiple-output cells

vdbem
vdbem over 14 years ago

Hi,

I will try to be brief, but if you need any detail please ask me,

in summary, the problem is: if I describe in my liberty file a cell with multiple-outputs, the mapper (RTL Compiler) is not able to make use of it ... (if I put them together with convetional single-output cells, the tool just use the single-output cells, if I put only the multiple-output cells, it is not able to complete the mapping because does nor recognize the fundamental basic functions needed)

probable important points:
    1) There is no syntax error during the execution
    2) The logic functions of the outputs does not share inputs, an example is S1 = !(A & B) and S2 = !(C + D), so they are not like a Full-Adder..
    3) I've been using functional liberties (.lib with no information about power or timing, just the logic functions and the area set to "1"),

If I use a liberty like this one below, which is basically a cell with two "encapsulated" inverters, the tool does not even recognize the existence of inverters in the library,

  cell(two_encapsulated_invs){
    area : 1;
    pin(a){ direction : input; }
    pin(b){ direction : input; }
    pin(Z0){   direction : output;
                  function : "!a";
                  timing(){  related_pin : "a";  }
              }
    pin(Z1){  direction : output;
                 function : "!b";
                 timing(){  related_pin : "b";  }
              }
  }

so my question is:
 - Is it possible to make RTL Compiler able to use multiple-output cells if they are not the "expected kind" like a full-adder?
   (in any version of it, ours is v08.10-s222_1 (32-bit), built Mar 25 2009 (32-bit), but the question is more like to know if the map algorithm is aware of such situation, or what command would make it aware)

thank you,
best regards

  • Cancel
Parents
  • grasshopper
    grasshopper over 13 years ago

     Hi vdbem,

     

     RC does indeed support MOGs (multi-output gates) such as compressor cells, etc. However your versions is 2-3 years old and officially unsupported. I suggest you move to RC10.1.302 from http://downloads.cadence.com

     

    gh-

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • grasshopper
    grasshopper over 13 years ago

     Hi vdbem,

     

     RC does indeed support MOGs (multi-output gates) such as compressor cells, etc. However your versions is 2-3 years old and officially unsupported. I suggest you move to RC10.1.302 from http://downloads.cadence.com

     

    gh-

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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