fvila

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 25 total)
  • Author
    Posts
  • in reply to: Iterating over polygon vertices #1634
    fvila
    Participant

    Yes, I imagined something like that. Thanks for the quick response! For now I'll try to find an alternative.

    Best regards, and enjoy your vacation!

    Francesc

    in reply to: Iterating over polygon vertices #1632
    fvila
    Participant

    Hello,

    I've been trying to iterate over a generated polygon (from a path, using path.shapeToPoly()), but I cannot find how is done. I've seen that polygon has a function that returns the points (ptlist) which returns a pointer to a point. But I don't know what to do with it. Looking through the help (pointlist section), there is a Point constructor which takes a Point pointer, a size, and an optional parameter which will compress the point list, but I get a not implemented error if I try to use it like that:

    Code:
    # Imagine I've got a path in the variable path
    poly = path.shapeToPoly(cv)

    # Then poly is a polygon
    pts = poly.ptlist()

    point_list = Point(pts, poly.nPoints())

    I am using glade 4.4.20, ub12, 64bits version. Is there any method that allows me to iterate through the points of the polygon?

    Thanks in advance,
    Francesc

    in reply to: Launching LVS #1595
    fvila
    Participant

    Hi Keith,

    I am trying to perform an LVS check to a design and it seems that the gemini program is not being launched.

    I can perform the check from the command line (and it generates the .err file), but if I use the LVS dialog, the console contains:

    ui().verifyLVSRun()
    >>> ui().exportCDL("test", "or", "extracted", "/home/francesc/or_extracted.cdl", "", "(null)", "1", "0", "0", "r", "0", "c" , "-1", "0")
    >>> # INFO: Writing CDL file /home/francesc/or_extracted.cdl
    # INFO: Finished writing CDL file /home/francesc/or_extracted.cdl
    # INFO: Elapsed time = 0,010000s
    # INFO: Starting LVS with args 'gemini -g /home/francesc/or.err -S /home/francesc/or_extracted.cdl /home/francesc/to_compare.net'

    And there is not more output. IIRC, after that last INFO line, gemini output should follow. If I look into the working directory, the .err file is not created.

    I am using Glade version 4.3.58, and, because of the Qt 5 bug Jofre has posted, I cannot update to 4.4.0.

    Thanks in advance,

    Francesc

    Edit: I have tested the windows 4.3.58 version and it launches gemini correctly

    in reply to: TFT extraction bug #1588
    fvila
    Participant

    Hi Keith,

    Many thanks. Now it works perfectly!

    Best regards,

    Francesc

    in reply to: TFT extraction bug #1585
    fvila
    Participant

    Sorry, but there are extra characters on the URL. The correct is:

    http://www.cnm.es/~fvila2/extraction_test_case.zip

    in reply to: TFT extraction bug #1584
    fvila
    Participant

    It should work by now. Maybe the server was on maintenance.

    in reply to: TFT extraction bug #1582
    fvila
    Participant

    I think I have found a complete test case, and I am afraid that there are two different transistors. I attach a GDS file with the test cases and the output of the netlists (the files can be found on http://www.cnm.es/~fvila2/extraction_test_case.zip).

    The GDS contains four cases:
    [ul][li]Case1 contains the same transistor I sent on the first report. This works as intended[/li][li]Case2a and Case2b contain the same transistor as case1, but the fingers extend the gate. On case2a, idTRT abuts the gate layer, and on case2b, idTRT is smaller. Only when idTRT is smaller than the gate, extraction works as intended.[/li][li]Case3 is the same transistor as in case1, but without two fingers. The gate is the same. In this case, extraction works.[/li][li]Case4a and case4b contain the transistor on case3 with the same modifications done in case2a and case2b. That is, with fingers extending the gate layer, and the idTRT recognition layer abutting or smaller than the gate. The extraction only works when idTRT is smaller than the gate layer.[/li][/ul]The extraction script and PCell are the same. Would be possible to support both types of transistors?

    best regards,

    Francesc

    in reply to: TFT extraction bug #1580
    fvila
    Participant

    It appears that now, the dimensions are extracted, but I think that in wrong units. When I export to a CDL netlist, the microns dimensions appear as meters. In the GDS I attached, the devices are extracted with a W=70 L=2000.

    I am still testing it, because for other (fingered) transistors I get some strange results (and the topology is the same).

    in reply to: TFT extraction bug #1575
    fvila
    Participant

    Hi Keith,

    I've been updating my extraction scripts to use the extractTFT function, and I have seen that the L and W parameters are not calculated properly (they are always 0).

    I attach a ZIP file containing the techfile, extraction script, extraction PCell and example design.

    I have tried to put the w and l parameters on the extraction pcell, and the result is the same.

    Best regards,
    Francesc

    EDIT:

    It seems that the attachment cannot be uploaded. You can find it on http://www.cnm.es/~fvila2/ExtractionTest.zip

    in reply to: Extract 3 terminal MOS #1332
    fvila
    Participant

    Hello,

    I do not know if it is a bug or not, but I am trying to extract a 3 terminal device. The device gets extracted correctly, but the SPICE netlist generated is wrong. It generates a four terminal device with the gate duplicated, instead of connecting the bulk to the source.

    It would be possible to generate a 3 terminal MOS (although is not standard SPICE)? Or the three terminal device must be extracted with the generic extractDevice function?

    If it is the latler, how could I pass the pins to the extraction PCell? The function will recieve the shapes as a parameters in addition to the ptlist?

    I attach a sample GDS, techfile and extraction PCell and script of what I am trying to achieve.

    Best regards,

    Francesc Vila

    EDIT: I cannot upload the attachments using the forum. I will send them to your mail.

    in reply to: Bug on partial selection #1330
    fvila
    Participant

    Hello,

    There seems to exist some problems on partial selection when using non-accelerated mode.

    If I launch glade using GLADE_USE_OPENGL=no and try to select an edge (setting selection mode to partial) I obtain:

    Code:
    >>> ui().selectArea(-1489, 3128, -1369, 3691, 0)
    >>> # ERROR: Hit unreachable code! [file db_Obj.h line 547]

    And on the terminal there are a lot these messages:

    Code:
    QCoreApplication::postEvent: Unexpected null receiver

    Partial selection works perfectly when using OpenGL mode.
    I can reproduce this bug on both 32 and 64 bits linux. I have not tested on Windows.

    Thanks in advance,

    Francesc

    in reply to: LVS comparison #1203
    fvila
    Participant

    I'm not able to upload the CDL file. The contents are:

    Code:
    *******************************************************************************
    * CDL netlist
    *
    * Library : default
    * Top Cell Name: test_extract1
    * View Name: extracted
    * Netlist created: 28.Aug.2012
    *******************************************************************************

    *.SCALE METER
    *.GLOBAL VDD VSS

    *******************************************************************************
    * Library Name: default
    * Cell Name: test_extract1
    * View Name: extracted
    *******************************************************************************

    .SUBCKT test_extract1 B A C
    *.PININFO B:B A:B C:B

    RR7 B A pres w=1.501e-05 l=4.251e-05 $X=-1.913e-05 $Y=-8.26e-06
    RR8 B C pres w=1.501e-05 l=4.251e-05 $X=-1.913e-05 $Y=-7.118e-05
    .ENDS

    in reply to: LVS comparison #1202
    fvila
    Participant

    Hi Keith,

    When trying to compare some extracted netlists, the gemini version included exits with a segmentation fault on SPICESetDevices:

    Code:
    Program received signal SIGSEGV, Segmentation fault.
    0x0000000000408ddd in SPICESetDevices ()
    (gdb) bt
    #0 0x0000000000408ddd in SPICESetDevices ()
    #1 0x000000000040a5c2 in ReadSpiceFormat ()
    #2 0x000000000040479b in ReadGraph ()
    #3 0x00000000004047f9 in InitTwoGraphs ()
    #4 0x0000000000404dad in twoGraphs ()
    #5 0x00000000004055f5 in main ()

    As I don't have your gemini source version (the one from Carl Ebeling I have does not have support for spice CDL netlists) I cannot debug it further.

    This happens whatever netlists I pass as a parameter, including passing the same file twice

    I attach the extracted netlist from glade.

    If I try to compare the extracted netlist from the inverter of the example library, the segmentation fault is on another function:

    Code:
    Program received signal SIGSEGV, Segmentation fault.
    0x000000000040b98a in hash ()
    (gdb) bt
    #0 0x000000000040b98a in hash ()
    #1 0x000000000040ba4d in FindEqName ()
    #2 0x000000000040342d in AssignInitialValue ()
    #3 0x000000000040354e in InitialDeviceValues ()
    #4 0x000000000040485c in InitTwoGraphs ()
    #5 0x0000000000404dad in twoGraphs ()
    #6 0x00000000004055f5 in main ()

    Maybe I am doing something wrong?

    BTW, I am using glade 4.3.9 on 64bit linux. The ubuntu10 version.

    Thanks in advance,

    Francesc

    in reply to: Reading connection lines from techfile #1195
    fvila
    Participant

    Many thanks. I'll check this weekend when the new version is uploaded.

    in reply to: Reading connection lines from techfile #1193
    fvila
    Participant

    Hi Keith,

    I found an error when loading glade technology files. On the layer connection section, if the two layers connect without any via, glade reports:

    # ERROR: Line 22: expecting 7 or 9 parameters, 6 given

    On line 22 of the technology file I have:

    CONNECT Metal1 drawing TO Metal2 drawing ;

    Without this line, editing the layer stacks manually, and exporting the technology file, the CONNECT command is the same, so the same error is reported on load.

    I'm using ubuntu x64 version (4.3.6), with python 2.6.8

    Best regards,

    Francesc Vila

Viewing 15 posts - 1 through 15 (of 25 total)