4 Replies Latest reply on Nov 27, 2014 11:35 PM by chenkk

    Recommend workflow for creating parameterized layout cells

    chenkk

      I have Pyxis Layout v10.4 installed.

       

      I create parameterized layout cells by writing the device generator in a text ample file, then run $create_device_cell() on it.

      Sometimes I need to make changes in the ample file because the device cell wasn't what I expected.

      If I run the $create_device_cell command again, Pyxis complains "Error : Design object already exists".

      I have go to Project Navigator and delete the device cell, before running $create_device_cell again.

       

      Is there a better way to do update device cells ?

       

      Thanks.

      KK

        • 1. Re: Recommend workflow for creating parameterized layout cells
          ron_tinnell

          Hello KK,

           

          You do have to delete the existing device to create a new one. You can do this directly from Pyxis Layout however using the $$delete_object() function. Here is an example.

           

          $$delete_object("$MGC_DESIGN_KIT/devices/pmos/pmos", "Ic_dev_cell_template");

           

          This function is documented in the Pyxis Project Manager Reference Manual located in the PDF file $MGC_HOME/docs/pdfdocs/pyxis_pm_ref.pdf.

           

          Regards,

          Ron

          • 2. Re: Recommend workflow for creating parameterized layout cells
            chenkk

            [1] Thanks Ron, but the $$delete_object function doesn't work for me.

            I did read the pyxis_pm_ref.pdf, check for typos, and played around with the @check/@no_check options, to no effect.

            Unfortunately this function returns void, so I can't debug further.

             

            [2] I should add that when I encounter the "Error : Design object already exists", I go to Project Navigator to manually delete the device cell.

            Then I will see a ".nfs0000000011bf416c00001210" file (type Mgc_file) appear in its place in Project Navigator.

            If I run the $create_device_cell function again, I get back the same error message.

            Then I have to close Pyxis Layout, the .nfs file disappears, and I can generate the device cell again.

             

            Sometimes the device cell doesn't appear in Project Navigator.

            Because nothing was created due to a serious mistake in the device generator (logic, syntax, etc).

            So I can't manually delete the device cell.

            In this case, I just close Pyxis Layout.

             

            In short, manually delete the device cell + close Pyxis Layout works for me.

             

            [3] I hope, in the future, the Pyxis developers could consider enabling an overwrite option for create_device_cell.

            • 3. Re: Recommend workflow for creating parameterized layout cells
              ron_tinnell

              Hello,

               

              The file you mention with the .nfs prefix is created by the operating system. Pyxis Layout keeps layout views that you open in memory, including newly created layout. You might be able to use the delete command if you unload the data first. You can do this with the menu "File-> Unload Cells" or by calling the function $unload_closed_cells()

               

              Regards,

              Ron

              • 4. Re: Recommend workflow for creating parameterized layout cells
                chenkk

                Yes, the following works for me :

                1. $close_window(@discard, @context) : close the layout window that appears due to the $create_device_cell() function

                2. then use $unload_closed_cells() and $$delete_object(), the order of these 2 is not important.

                 

                Now I can put these functions in a dofile and save some mouseclicks.

                Great.