• 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. Custom IC Design
  3. Layout: from Encounter to Virtuoso

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 127
  • Views 17784
  • 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

Layout: from Encounter to Virtuoso

konx
konx over 16 years ago

Hi! 

I'm a new user of the forums :)

This is the problem I have at the moment: 

I have a complete design in Encounter of a block called Pixel, and I want
to export it to cadence virtuoso. Reading on internet and the help,
I've seen that I have to export a GDSII file (basically, I can produce
2 file: the outputStream called pixel_output_stream and the Map file
streamOut.map).

Now, I'm trying to import these file using File --> Import --> Stream
in the CIW window of cadence.

In the Stream File field I specify the path to pixel_output_stream,
while I use the map file in the Layer tab that I can find clicking on
option (here I can upload the map file).

Obviously I specify even the tech library (cmrf8sf, Arti2009DM and
others).

then, I click Translate.

the final result is not
correct; I have this error:

ERROR (58): Failed to create the new layer purpose pair 'DIEAREA:ALL'.
It will be skipped and all the shapes on this LPP will be dropped.

I have this error 163 times, exactly the number of the Stream layer
that I can see when I upload the streamOut.map file.

The final result (in Virtuoso) is a design with correct shape and with
all the cells (flip-flop, etc...), but with no routing between cells
(but I did it in Encounter) and without supply and ground rings
(again, I did it in Encounter).

I received an answer in other forum, where they point out that the Encounter streamOut file is (more or less) like this:

E.g. of stream out file:
---------------------------------------------------------------------------

-----------------------------------------------------------------------------------
METAL1          NET                           1            0
METAL1          SPNET                      2            0
METAL1          PIN                         3              0
METAL1          LEFPIN                     4            0
METAL1          FILL                        5                0
METAL1          VIA                          6               0
METAL1          VIAFILL                    7              0
METAL1          LEFOBS                    8              0
NAME            METAL1/NET              9               0
NAME            METAL1/SPNET        10             0
NAME            METAL1/PIN              11              0
NAME            METAL1/LEFPIN         12            0
VIA12           FILL                              13            0
VIA12           VIA                              14             0
VIA12           VIAFILL                       15              0
--------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Instead, the Virtuoso streamIn file is:

 E.g. of stream in file:
---------------------------------------------------------------------------

-----------------------------------------------------------------------------------
#Cadence Layer(M*foundry*)  Layer Purpose  Encounter Stream layer
Stream Datatype
   viap1                                        drawing         1,2,3                                0
   met1                                        drawing         4,5,6,7,8,9,10                   0
   met1I                                       drawing          11                                   0
   met1T                                      drawing           12,13,14,15                     0
   viam1                                       drawing         16,17,18                          0
--------------------------------------------------------------------------------------------------------------------------------------------------------------

"As you can see, some layers from Encounter were merged so they lose
functionality in Virtuoso. "

Questions: 

The last file, is a file that is provided with the technology libraries,
is something that should be generated by Encounter or Virtuoso, or is
something that I have to generate by myself following some rules? (in this case, which rules?)

Moreover: if I have these 2 map files, what file I need to specify in
XStream? If you go to CIW --> File --> Import --> Stream and click on
Option and then select tha Layout tab, here you can specify a map
file. At the moment I'm uploading the streamOut.map generated by
Encounter. Do I have to specify the other one (supposing I'll be able
to find it out)?

Sorry if these are stupid questions, but for me these are all new
things :)

 Thanks in advance for help

 Francesco.

 

 

 

 

  • Cancel
  • mariek
    mariek over 16 years ago

    Hi Francesco,

    The preferred method for exporting a database from Encounter to Virtuoso is through the use of OpenAccess (IC 6.1.3) or DEF (IC 5.1.41 and DEF 5.5). This will resolve your layer mapping issues and will retain the connectivity information in the database.  The resulting cellView may be modified with VCE and returned to Encounter for an ECO. Using GDSII eliminates this ECO flow option.

    If you want to continue with the GDSII option, then the layer map file used with Encounter streamOut should be modified such that it aligns with that used for Virtuoso.  Please consult the Encounter product documentation for details on the format of the mapfile used by Encounter.  What you have included in your e-mail transcript is a generic map file based upon you LEF.

    Hope this helps,

    Marie Kunesh 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • konx
    konx over 16 years ago

     Hi Marie,

     thank you for your aswer.

     As you said, I found the OpenAccess database as a quite good method to export layout from Encounter to Virtuoso. I still have a couple of question about this new method:

    1) When I use the "Import Design" GUI in Encounter and select Advance tab there is a OpenAccess form. In the fields "Reference Libraries", "Abstract view names" and "layout view names" I put (in a generic way) respectively: cmrf8sf Arti2009DM, abstract and layout. I don't use the "Use OA netlist" because I think I need to use this option only if I already have an OA netlist. Am I right?

     2) After importing the design, I P&R it. Then, I go to Design --> Save Design As --> OA: here I can save the design inside a library that I have to define previously (before any import) in a lib.defs file. The question is: where do I have to put this file? The situation is the following: Encounter is running in a directory called "encounter" while I want to save the design in a directory called "Francesco_1", where I already have the schematic view of my design. So, in the lib.defs file, I've define the path of Francesco_1 directory (together with the path to cmrf8fs, Arti2009DM libraries) and I put this file in the Encounter directory. Is this reasoning correct?

    3) After saving my design in Francesco_1 I can open the layout view. The problem, here, is that I can see the routing and the power/ground rings BUT all the cells (flip-flop, inverter, etc...) are using the abstract view! If I want to see the complete layout (with n-well, p-well, internal routing of the standard cell) I have to select a cell, press 'Q' (the Property window pop-up) and change the view from abstract to layout. Is there a way to do this thing automatically for all the cells? 

    Thank you very much for help!

     

    Francesco.  

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mariek
    mariek over 16 years ago

    Hi Francesco,

     1) The OA netlist field is used only when an existing cellView contains the netlist information. This could be done with a cellView which was created with VLS-XL or with Encounter.  Most designs start with a Verilog netlist.

     2) The lib.defs must be in your working directory: "encounter".  It contains the pointer to "Francesco_1" such that saveOaDesign will be able to find its path.

    3) The Encounter saveOaDesign command does not enable remastering abstracts to layout. To do this, you can use Encounter's  oaOut command along with  "-leafViewNames {layout}" option.  If you want to restore the OA cellView with Encounter, you will need to use both saveOaDesign and oaOut commands.  Alternatively, you can use saveOaDesign and then use Virtuoso to remaster the abstracts to layouts.

    Hope this answers your questions,

    Marie 

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • konx
    konx over 16 years ago

    Thank you very much for your help, more or less the problem is solved now :)

     Francesco.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • acomerma
    acomerma over 15 years ago

    I'm having two issues with encounter and virtuoso layouts when saved and read in OA. 

    My setup is virtuoso 6.1.3 and soc encounter  7.1, techno AMS kit 4.0.

     As commented before, to get the full layout view I save OA using the option -leafViewNames {layout}, but when I do this I obtain misplaced standard cells with lots of DRC errors (they seem to be a little bit moved). I can export without the option and change the view in virtuoso without this kind of errors, but it should be more easily if I could just export directly.

     The second issue is I don't get the pins in virtuoso, how do I get them??

     

    Albert

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Albert,

    Can you log this as a service request with Cadence Customer Support?

    I thought the problem might be due to a mismatch between the LEF abstract views and the views in Virtuoso - but that doesn't sound likely because the problem doesn't occur if you remaster the views within Virtuoso.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • acomerma
    acomerma over 15 years ago

     Ok, I will try

    and regarding the I/O pins?? why I can't see them in virtuoso (the name of the nets is correct but the pin is not present)?

    Albert

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

     Albert,

    I don't know. I'd have to try it to find out, and quite honestly I don't have the bandwidth today to try this (it's not something I'm that familiar with, to be honest, as it's outside my usual field of expertise). So ask at the same time you file a service request.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Alex Soyer
    Alex Soyer over 15 years ago

    Hi Albert,

    Concerning the move of the cell when switchingfrom abstract to layout it could be due to some origin mismatch between abstrcat and layout view.

    Could you please check on the Navigator if the pins are there ?

    If they are not visible it could be due to placement status (invisiblke if placement status = unplaced) or due to missing definition of the layer in term of display in that case you can run oa2dfII on your library to fix teh problem.

    I hope it helps,

    Alex

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • acomerma
    acomerma over 15 years ago

     Hi Alex,

     thanks for you ideas.

    The origin on abstract and layout view are the same, so that's not the problem... it's strange because this misplacement seems to be only present on some of the HVRING cells of AMS, so perhaps the problem is on the ams script that generates this ring...

    On navigator pins are there, I think the problem is that AMS rules for ASSURA only detect pins if they have a LABEL on the PIN layer, which is not created on the oaOUT.

     

    Albert

    • 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