ski

SKILL to Identify a LABEL over an Instance

Hello,

I am in a need of a skill program to find all instances of a specific cell (Including Mosaics), throughout the hierarchy. The program should print the instance's name, xy coordinates at the top level, and extract a label name that is dropped on top of it. In case there is no label on top of the found instance, the program should print "No Label Found" in the report text file. This program aims to map PADs cells within top level.

I am using the below Cadence's solution to find instances and it works well. The missing feature is to identify LABELs that are on top of the found instances. 

I tried to use dbGetOverlap() function, within the below code, in few setups but it seems to fail to identify the existence of labels on top of the found instances.

For example: 


overlapLabel=dbGetTrueOverlaps(cv cadr(instBox) list("M1" "text"))

I am interested to add to the Cadence's solution below some code in order to identify labels on top of the found instances.

Any tip would be greatly appreciated.

Thanks,

Danny


--------------------------------------------------------

procedure(HilightCellByArea(lib cell level)
let((cv instList rect instBox)
;; Deleting old highlights.To prevent uncomment the below line
when(boundp('hset) hset->enable=nil)
cv=geGetWindowCellView()
rect=enterBox(
         ?prompts list("Enter the first corner of your box."
                        "Enter the last corner of your box.")
                )
     instList=dbGetOverlaps(cv rect nil level nil)
;; It uses hilite layer packet. You can change it to y0-y9 layer or any other hilite lpp
     ;;hset = geCreateHilightSet(cv list("y0" "drawing") nil)
     ;;hset = geCreateHilightSet(cv list("hilite" "drawing1") nil)
     hset = geCreateHilightSet(cv list("hilite" "drawing") nil)
        hset->enable = t
  foreach(instId instList
     if(listp(instId)
        then
        instBox=CCSTransformBBox(instId)
        instId=car(instBox)
        when(instId~>libName==lib && instId~>cellName==cell
                geAddHilightRectangle(hset cadr(instBox))
                fprintf(myFileId, "Highlighted the %L instance %L of hierarchy at:%L "
                        cell buildString(append1(caddr(instBox)~>name instId~>name) "/") cadr(instBox)
                     foundFlag=t)
                )
        else
        when(instId~>libName==lib && instId~>cellName==cell
                geAddHilightFig(hset instId)
                fprintf(myFileId, "Highlighted the %L instance %L of top cell at:%L "
                         cell instId~>name instId~>bBox)
                         foundFlag=t
                        )
                );if listp
        ) ;foreach
t
) ;let
) ;procedure
procedure(CCSTransformBBox(inst)
let((flatList y location)
while(listp(inst)
        y = car(inst)
        flatList = append(flatList list(y))
        inst = cadr(inst) ; next inst
       );while
location=dbTransformBBox(inst~>bBox dbGetHierPathTransform(list(flatList inst)))
list(inst location flatList)
);let
);procedure




ski

How can I make a SKILL procedure not callable?

Inside the scope of isCallable there is code which I don't want to be executed.

The procedure named in isCallable to-day is callable.

I want to make that procedure so it cannot be called.  How do I do that?

I can't change the isCallable line or the scope.  I want to change its behavior by making sure that the procedure does not exist (obviously this would be done before the code is executed).




ski

post-execution on an interrupted SKILL routine

I have a SKILL script that executes the callback of a menu item, and depends on first redefining an environment variable. 

When a user interrupts the script with ctrl-C, the script cannot finish to set the environment variable back to its default value.

How can I write the script in a way that handles a user interrupt to reset the changed environment variable after the interrupt?




ski

Select all members of a constraint with SKILL

I want to select a constraint, and then run a SKILL command that returns a list with the members of that constraint. Is this possible?

Thx,




ski

Displaying contents of a modeless dialog box during execution of a SKILL script

I have a modeless informational dialog box defined at the beginning of a SKILL script, but its contents don't display until the script finishes.

How do you get a modeless dialog box contents to display while a SKILL script is running?

procedure(myproc()

   prog((myvars)

     hiDisplayAppDBox()    ; opens blank dialog box - no dboxText contents show until script completes!

     ....rest of SKILL code in script...launches child processes

   );prog

);proc




ski

Skill code to disable all callbacks

Can anybody assist with a Skill code /function to disable all callbacks




ski

skill ocean: how to get instances of type hisim_hv from simulation results?

Hi there,

I'm running a transient simulation, and I want to get all instances with model implementation hisim_hv because after that I want to process the data and to adjust some parameters for this kind of devices before dumping the values.

What is the easiest/fastest way to get those instances in skill/ocean?

What I did until now: 

- save the final OP of the simulation and then in skill

openResults()
selectResults('tranOp)
report(?type "hisim_hv" ?param "vgs")

Output seems to be promising, and looks like I can redirect it to a file and after that I have to parse the file.

Is there other simple way? I mean to not save data to file and to parse it.

Eventually having an instance name, is it possible to get the model implementation (hsim_hv, bsim4, etc..)? 

Best Regards,

Marcel




ski

BoardSurfers: Training Insights: Loading SKILL Programs Automatically

Imagine you are on a vacation with your family, and suddenly, your phone starts buzzing. You pick it up and what are you looking at is a bunch of pending, unanswered e-mails. You start recollecting the checklist you had made before taking off only to realize that you haven’t put on the automatic replies! (read more)




ski

Equivalent skill for Create Detail

Hi Guys,

Anyone know equivalent skill for create detail.

Eugene




ski

Compare the database footprint with library footprint -Skill

I would like to generate the comparison report of database footprint with library footprint if any mismatch available.

Is there a way to take if it possible means can anyone please guide me or share me the skill code please.

Thanks,

Pradeep




ski

Skill code to Calculating PCB Real-estate usage using placement boundaries and package keep ins

Other tools allow a sanity check of placement density vs available board space.  There is an older post "Skill code to evaluate all components area (Accumulative Place bound area)"  (9 years ago) that has a couple of examples that no longer work or expired.

This would be useful to provide feedback to schismatic and project managers regarding the component density on the PCB and how it will affect the routing abilities.  Thermal considerations can be evaluated as well 

Has anyone attempted this or still being done externally in spread sheets?




ski

Skill : Draw Line 17.2 works , 17.4 doesn't

Hi , 

I am sharing with you some simple skill script that draw line in user layer :

axlCmdRegister("DrawLine" 'DrawLine)
procedure(DrawLine()
   layer_name = "substrate geometry/userlayer"
   mypopup = axlUIPopupDefine(nil '(
      ("Done" "axlDBTransactionCommit(mark), axlFinishEnterFun()")
      ("Oops" "axlDBTransactionOops(mark), when(zerop(--oopsNum)")
      ("Cancel" "axlDBTransactionRollback(mark), axlCancelEnterFun()")
      ("MENU_SEPARATOR", nil)))
   axlUIPopupSet( mypopup)
   ; Clear the dynamic buffer
   axlClearDynamics()

   if(axlLayerGet(layer_name) != nil then
      if(axlIsVisibleLayer(layer_name) == nil then
         axlVisibleLayer(layer_name,t)
         axlVisibleUpdate(t)
      );End if
   else
      if(axlLayerGet("substrate geometry") == nil then
         layer_name = "board geometry/userlayer"
         axlLayerCreateNonConductor(layer_name)
         axlVisibleLayer(layer_name,t)
         axlVisibleUpdate(t)
      else
         axlLayerCreateNonConductor(layer_name)
         axlVisibleLayer(layer_name,t)
         axlVisibleUpdate(t)
      );End if
   );End if

   ; Clear mypath to nil, then loop gathering user picks:
   mypath = nil
   mark = axlDBTransactionStart()
   flag = t
   allP = list(nil)
   seg1 = nil
   seg2 = nil
   while( (mypath = axlEnterPath(?lastPath mypath))
      if(flag == t then
         p = axlDBCreatePath(mypath, layer_name)
         seg1 = car(car(car(p))->segments)
         seg2 = car(cdr(car(car(p))->segments))
         path = axlPathStart( list(car(seg1->startEnd)) , 0)
         axlPathLine( path , 0 , car(cdr(seg1->startEnd)))
         if(seg2 then
            axlPathLine( path , 0 , car(cdr(seg2->startEnd)))
         );end if
         flag = nil
      else
         p = axlDBCreatePath(mypath, layer_name)
         seg1 = car(car(car(p))->segments)
         seg2 = car(cdr(car(car(p))->segments))
         axlPathLine( path , 0 , car(cdr(seg1->startEnd)))
         if(seg2 then
            axlPathLine( path , 0 , car(cdr(seg2->startEnd)))
         );end if
      );end if
      allP = cons(car(car(p)) allP)
   );Loop
   axlDBCreatePath(path, layer_name)
   forall( x allP axlDeleteObject(x))
);End procedure

Is anyone can help to understand why this script can work with 16.5/16.6/17.2 and doesn't work with 17.4 ?

To be more informative in 17.4 this script behaves differently , when i am trying to draw line i can't zoom in/out ,i can't use my shortcuts to snap it on segment/middle/edge , it's like it's waiting only for next X/Y user click , all other functions just disabled .

Thanks .




ski

SKILL script for Subclasses and Artworks

I have made a customized menu in PCB Editor which I now would like to fill with content.

First of all I would like to have commands to add (or delete) layers in the board. I have parameter files (.prm) that describes both the stackup and the artwork for 2, 4, 6 and 8 layers.

I guess I could record a script (macro) where I use the "Import Parameter file" dialogue but this will get windows flickering by etc. Can I do this with SKILL instead?

I realize that it is possible (somehow) to do a SKILL-script that completely builds up the stackup and artworks for boards with different number of layers but I then have to edit the SKILL everytime I need to change anything. My thinking is that it perhaps is easier just to call the prm-file, which is easy to modify from within Allegro without knowing anything about SKILL.

I'm also looking for a solution to remove some Subclasses, containing certain keywords with a SKILL script but since I'm completely new to SKILL I don't really know where to begin.

Any assistance would be much appreciated.




ski

How to reload a SKILL-script in Allegro

I am working on some SKILL scripts which are loaded by allegro.ilinit at startup.

If I edit my .il-files how do I get them updated in Allegro?

Right now I restart the program but there must be a simpler way.

A newbie question, I know...  




ski

PCB Editor SKILL program for finding pin location

Hi,

I wanted to find the location of a pin in the design using skill program. pin_dbids = axlDBGetDesign()->pins, this gives me all the dbids of the pins that are present in my design. But when im entering that dbid, pad = axlDBGetPad("000001EA8FD8B9F8" "package geometry/assembly_top" "regular") it is throwing an error stating "This dbid is not user defined. Please enter the user defined". So please provide me a snippet so that I can get the exact pin location in the design using skill script.




ski

How to call a skil file in the other skill file to create one new function.

Hi guys,

eDave,

I need to call (replay) a skill to combine some skills to ONE UI for more convenience and using as more easier.

Please help me to find the command to execute this.(code for example as more good)

HT,




ski

Breaking a clineseg into multiple segments with SKILL code

Hello All,

May I know if there is a way to breakup a selected clinesegment into a few clinesegments by just using SKILL code

Thanks All





ski

California Bans RFID Skimming











ski

Skippipe: Skipping The Watermark In Digital Content

Whitepaper called Skippipe: Skipping the watermark in digital content.




ski

Improve Your Fundraising Approach and Skills at NetSquared Meetups

Fall has arrived, and with it comes fundraising season. More than one-third of charitable giving happens in the last three months of the year, and the emergence of Giving Tuesday (on November 28 this year) makes the year's end even more critical for charities.

Feeling overwhelmed? Your local NetSquared group is here to help with free, in-person events being held across the U.S. and the globe.

Naples, Florida, is hosting a meetup on tools for effective email fundraising; Chippewa Falls, Wisconsin, is hosting a series of Giving Tuesday brainstorming sessions; and Chicago, Illinois, will explore how your CRM can save end-of-year fundraising plans.

With more than 75 events scheduled for October, there's probably an event scheduled for your community, so RSVP now for one of our meetups.

Join us!

Upcoming Tech4Good Events

This roundup of face-to-face nonprofit tech events includes meetups from NetSquared, NTEN's Tech Clubs, and other awesome organizations. If you're holding monthly events that gather the #nptech community, let me know, and I'll include you in the next community calendar, or apply today to start your own NetSquared group.

Jump to events in North America or go international with events in

North America

Monday, October 2, 2017

Tuesday, October 3, 2017

Wednesday, October 4, 2017

Thursday, October 5, 2017

Friday, October 6, 2017

Monday, October 9, 2017

Tuesday, October 10, 2017

Wednesday, October 11, 2017

Thursday, October 12, 2017

Saturday, October 14, 2017

Monday, October 16, 2017

Tuesday, October 17, 2017

Wednesday, October 18, 2017

Thursday, October 19, 2017

Friday, October 20, 2017

Monday, October 23, 2017

Tuesday, October 24, 2017

Wednesday, October 25, 2017

Monday, October 30, 2017

Tuesday, October 31, 2017

Central and South America

Wednesday, October 4, 2017

Africa and Middle East

Sunday, October 1, 2017

Monday, October 2, 2017

Saturday, October 7, 2017

Wednesday, October 11, 2017

Friday, October 13, 2017

Saturday, October 14, 2017

Sunday, October 15, 2017

Saturday, October 21, 2017

Saturday, October 28, 2017

Asia and Pacific Rim

Tuesday, October 3, 2017

Wednesday, October 4, 2017

Tuesday, October 10, 2017

Sunday, October 15, 2017

Europe and U.K.

Tuesday, October 3, 2017

Wednesday, October 4, 2017

Friday, October 6, 2017

Saturday, October 7, 2017

Wednesday, October 11, 2017

Thursday, October 12, 2017

Saturday, October 14, 2017

Monday, October 16, 2017

Tuesday, October 17, 2017

Wednesday, October 18, 2017

Thursday, October 19, 2017

Wednesday, October 25, 2017

Thursday, October 26, 2017

Tuesday, October 31, 2017

Left photo: Gregory Munyaneza / NetSquared Rwanda / CC BY

Center photo: Chrispin Okumu / NetSquared Kenya / CC BY

Right photo: Chrispin Okumu / NetSquared Kenya / CC BY






ski

Free economic zones showcase Belarus's skills and stability

Besides perks such as tax breaks, Belarus’s six free economic zones offer investors convenient logistics and, for companies from neighbouring Ukraine and Russia, a geopolitical safe place to do business. Wendy Atkins reports.




ski

Sen. Murkowski introduces pair of Alaskan hydroelectric power bills

Hearings on a pair of bills held by the U.S. Senate Energy and Natural Resources Committee this week could potentially lead to an expansion of hydroelectric power in Alaska.




ski

Guy Fieri loves John Krasinski and 'The Office' as much as you do

Guy Fieri — one of the most popular celebrity chefs— has spent nearly 15 years starring in and hosting entertaining culinary shows. But one of Fieri's favorite things to watch on television isn't food-focused. It's the workplace comedy, The Office.

That's right, the Mayor of Flavortown is obsessed with the employees of Dunder Mifflin's Scranton branch. And much to his delight, he recently got to team up with one of the show's former stars, John Krasinski, to help lift spirits and raise money for restaurant workers in need.

Fieri guest starred on the potluck episode of Some Good News, in which Krasinski invited famous chefs to cook viewer-submitted recipes on video chat. Fieri made a "Dynamite," which has Big Sloppy Joe Energy. And then Krasnski surprised him by announcing a $3 million PepsiCo donation to his Restaurant Employee Relief Fund, which provides financial assistance to restaurant workers impacted coronavirus. Read more...

More about The Office, John Krasinski, Guy Fieri, Tv Shows, and Some Good News




ski

JavaScript Skimmers Found Hidden in 'Favicon' Icons

Malwarebytes Researchers Say Attacks Appear Related to Magecart
Cybercriminals are hiding malicious JavaScript skimmers in the "favicon" icons of several ecommerce websites in an effort to steal payment card data from customers, researchers at Malwarebytes say.




ski

JavaScript Skimmers Found Hidden in 'Favicon' Icons

Malwarebytes Researchers Say Attacks Appear Related to Magecart
Cybercriminals are hiding malicious JavaScript skimmers in the "favicon" icons of several ecommerce websites in an effort to steal payment card data from customers, researchers at Malwarebytes say.




ski

JavaScript Skimmers Found Hidden in 'Favicon' Icons

Malwarebytes Researchers Say Attacks Appear Related to Magecart
Cybercriminals are hiding malicious JavaScript skimmers in the "favicon" icons of several ecommerce websites in an effort to steal payment card data from customers, researchers at Malwarebytes say.




ski

JavaScript Skimmers Found Hidden in 'Favicon' Icons

Malwarebytes Researchers Say Attacks Appear Related to Magecart
Cybercriminals are hiding malicious JavaScript skimmers in the "favicon" icons of several ecommerce websites in an effort to steal payment card data from customers, researchers at Malwarebytes say.




ski

[Interview] Kaczyński turning Poland into 'Franco's Spain'

Polish ruling party chairman Jarosław Kaczyński is trying to turn the country into a Roman Catholic dictatorship, Poland's former foreign minister has said.




ski

Spotlight on Education: EWC Students Develop Leadership Skills by Organizing Cultural Festival

Spotlight on Education: EWC Students Develop Leadership Skills by Organizing Cultural Festival

East-West Fest logo designed by Imon Chowdhooree, an EWC degree fellow from Bangladesh.


Vietnamese students performed a dance from the Central Highlands of Vietnam.


Truna Jaya, or "victorious youth," a traditional dance from Bali, Indonesia.


East-West Center students from Indonesia.




ski

EWC Graduate Students Develop Leadership Skills and Discuss Global Challenges at International Conference

Lee Howell of the World Economic Forum presents the keynote address at the International Graduate Student Conference.IGSC co-chairs Apinya Jantunyarux & Asmatullah Junejo (center) with presenter Lee Howell and EWC directors and board members.





ski

Catalent, Inc. (CTLT) CEO John Chiminski on Q3 2020 Results - Earnings Call Transcript





ski

Catalent, Inc. (CTLT) CEO John Chiminski on Q3 2020 Results - Earnings Call Transcript




ski

Catalent, Inc. (CTLT) CEO John Chiminski on Q3 2020 Results - Earnings Call Transcript




ski

Bashorun Askia Preaches Love, Compassion At Ramadan

Managing Director of Delta State Oil Producing Areas Development Commission (DESOPADEC) Bashorun Askia Ogieh has urged all Muslim faithful to show more love and compassion in this holy month of […]




ski

Skin whitening precautions that you need to observe

Some people think that skin whitening is just for beautification purposes, but this is not always the case as it is also a great means of maintaining skin health. And... Read more >




ski

What to Consider When You Want to Lighten Your Skin

In the modern world, people are looking for ways to look more attractive and feel confident about themselves. And one of the methods that have been sorted after by many... Read more >





ski

First supermoon of 2020 brightens up Edirne skies

A supermoon is seen over Turkey's northwestern Edirne province on Feb. 9, 2020. The astronomical event occurs when the moon is closest to Earth in its orbit, making it appear much larger and brighter than usual. (AA Photo)