Home > Community > Forums > Custom IC Design > Layout: from Encounter to Virtuoso

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Layout: from Encounter to Virtuoso 

Last post Fri, Apr 9 2010 7:56 PM by acomerma. 10 replies.
Started by konx 03 Aug 2009 03:17 AM. Topic has 10 replies and 8510 views
Page 1 of 1 (11 items)
Sort Posts:
  • Mon, Aug 3 2009 3:17 AM

    • konx
    • Not Ranked
    • Joined on Mon, Aug 3 2009
    • Amsterdam, Netherlands
    • Posts 9
    • Points 135
    Layout: from Encounter to Virtuoso Reply

    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.

     

     

     

     

    Filed under: , , ,
    • Post Points: 20
  • Tue, Aug 4 2009 10:04 AM

    • mariek
    • Not Ranked
    • Joined on Fri, Feb 6 2009
    • Posts 5
    • Points 70
    Re: Layout: from Encounter to Virtuoso Reply

    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 

     

    • Post Points: 20
  • Wed, Aug 5 2009 1:03 AM

    • konx
    • Not Ranked
    • Joined on Mon, Aug 3 2009
    • Amsterdam, Netherlands
    • Posts 9
    • Points 135
    Re: Layout: from Encounter to Virtuoso Reply

     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.  

    • Post Points: 20
  • Wed, Aug 5 2009 10:23 AM

    • mariek
    • Not Ranked
    • Joined on Fri, Feb 6 2009
    • Posts 5
    • Points 70
    Re: Layout: from Encounter to Virtuoso Reply

    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 

     

    • Post Points: 20
  • Thu, Aug 6 2009 1:46 AM

    • konx
    • Not Ranked
    • Joined on Mon, Aug 3 2009
    • Amsterdam, Netherlands
    • Posts 9
    • Points 135
    Re: Layout: from Encounter to Virtuoso Reply

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

     Francesco.

    • Post Points: 20
  • Tue, Apr 6 2010 8:56 PM

    • acomerma
    • Not Ranked
    • Joined on Fri, Dec 4 2009
    • Posts 7
    • Points 110
    Re: Layout: from Encounter to Virtuoso Reply

    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

    • Post Points: 20
  • Wed, Apr 7 2010 2:14 PM

    Re: Layout: from Encounter to Virtuoso Reply

    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.

    • Post Points: 20
  • Wed, Apr 7 2010 2:49 PM

    • acomerma
    • Not Ranked
    • Joined on Fri, Dec 4 2009
    • Posts 7
    • Points 110
    Re: Layout: from Encounter to Virtuoso Reply

     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

     

    • Post Points: 35
  • Wed, Apr 7 2010 2:52 PM

    Re: Layout: from Encounter to Virtuoso Reply

     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.

    • Post Points: 5
  • Thu, Apr 8 2010 6:33 PM

    • Alex Soyer
    • Top 75 Contributor
    • Joined on Tue, Jan 12 2010
    • Sophia-Antipolis, Alpes-Maritimes
    • Posts 87
    • Points 1,640
    Re: Layout: from Encounter to Virtuoso Reply

    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

    • Post Points: 20
  • Fri, Apr 9 2010 7:56 PM

    • acomerma
    • Not Ranked
    • Joined on Fri, Dec 4 2009
    • Posts 7
    • Points 110
    Re: Layout: from Encounter to Virtuoso Reply

     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

    • Post Points: 5
Page 1 of 1 (11 items)
Sort Posts:
Started by konx at 03 Aug 2009 03:17 AM. Topic has 10 replies.