cr

Updating/replacing/creating new film records

We have many legacy board designs which have non-standard films. I'm writing SKILL code to automatically align a board's film records with our internal standard.

While I'm sure there will be multiple questions, here are the first two I've run into:

1. It seems the polyCutLayer parameter of axlFilmCreate() doesn't work. You can easily see this for yourself. Try typing "axlFilmCreate("test" ?polyCutLayer nil)" on the command window in Allegro. I'm returned "nil", indicating the film could not be created, and I see "*WARNING* (axlFilmCreate): Invalid option type: ?polyCutLayer" in the command window. Just to try a different parameter and see that it works, try "axlFilmCreate("test" ?negative t)". I'm returned a "t" and the film is created. Page 139 of 17.4-2019 algroskill.pdf shows this parameter and I can see it listed if I inspect an existing from from the DB, so what gives? Is the polyCutLayer parameter broken when creating films?

2. In conjunction with the above, if I loop through all current films and use axlDeleteObject() to remove them all, and then try to create new films but give an argument to the polyCutLayer parameter, films containing copper layers seem to be automatically created. There are four films (my test board has four layers) with the ETCH/, PIN/, and VIA CLASS/ subclasses. I am able to manually delete all films and see absolutely no films at all. Is there something weird going on here or is this to be expected for some reason?

I'm running Allegro 17.4s002.




cr

E- (SPMHDB-187): SHAPE boundary may not cross itself.

Hi experts,

I have a problem with my design as below

ERROR: in SHAPE (-2.3622 2.3622)

  class = ETCH
  subclass = TOP 
  Part of Symbol Def SHAPE_4725X4725.
      Which is part of a padstack as a SHAPE symbol.
  ERROR(SPMHDB-187): SHAPE boundary may not cross itself.
   Error cannot be fixed.
       Object has first point location at (-2.3622 2.3622).

Can you tell me how to solve my problem?

Thanks a lot.




cr

is there a way to use axlDBCreateShape to create a Dynamic shape attached to a symbol?

Currently I tried this:

axlDBCreateShape(recPolyPlanes t "BOUNDARY/L02" netName sym1)

I get a atom error on car(sym1)

I can do this "static" using ETCH/L02 with out an issue, but I am trying to avoid doing an axlShapeChangeDynamicType().

Thanks,

Jerry




cr

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.




cr

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...  




cr

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,




cr

Creating a circle at 10 mil air gap from a pin

Hi, I'm trying to create a circle from a pin with 10 mil air gap and at 45 degree rotation. The problem that im facing is that, I'm unable to get the bBox upper left coordinates. Because I want my circle to be placed from that coordinate with a 10 mil air gap. And the pins are "regular" and are placed on "Etch/Top" Layer. Kindly help me in solving this issue.




cr

For this Brave New World of cricket, we have IPL and England to thank

This is the 24th installment of The Rationalist, my column for the Times of India.

Back in the last decade, I was a cricket journalist for a few years. Then, around 12 years ago, I quit. I was jaded as hell. Every game seemed like déjà vu, nothing new, just another round on the treadmill. Although I would remember her fondly, I thought me and cricket were done.

And then I fell in love again. Cricket has changed in the last few years in glorious ways. There have been new ways of thinking about the game. There have been new ways of playing the game. Every season, new kinds of drama form, new nuances spring up into sight. This is true even of what had once seemed the dullest form of the game, one-day cricket. We are entering into a brave new world, and the team leading us there is England. No matter what happens in the World Cup final today – a single game involves a huge amount of luck – this England side are extraordinary. They are the bridge between eras, leading us into a Golden Age of Cricket.

I know that sounds hyperbolic, so let me stun you further by saying that I give the IPL credit for this. And now, having woken up you up with such a jolt on this lovely Sunday morning, let me explain.

Twenty20 cricket changed the game in two fundamental ways. Both ended up changing one-day cricket. The first was strategy.

When the first T20 games took place, teams applied an ODI template to innings-building: pinch-hit, build, slog. But this was not an optimal approach. In ODIs, teams have 11 players over 50 overs. In T20s, they have 11 players over 20 overs. The equation between resources and constraints is different. This means that the cost of a wicket goes down, and the cost of a dot ball goes up. Critically, it means that the value of aggression rises. A team need not follow the ODI template. In some instances, attacking for all 20 overs – or as I call it, ‘frontloading’ – may be optimal.

West Indies won the T20 World Cup in 2016 by doing just this, and England played similarly. And some sides began to realise was that they had been underestimating the value of aggression in one-day cricket as well.

The second fundamental way in which T20 cricket changed cricket was in terms of skills. The IPL and other leagues brought big money into the game. This changed incentives for budding cricketers. Relatively few people break into Test or ODI cricket, and play for their countries. A much wider pool can aspire to play T20 cricket – which also provides much more money. So it makes sense to spend the hundreds of hours you are in the nets honing T20 skills rather than Test match skills. Go to any nets practice, and you will find many more kids practising innovative aggressive strokes than playing the forward defensive.

As a result, batsmen today have a wider array of attacking strokes than earlier generations. Because every run counts more in T20 cricket, the standard of fielding has also shot up. And bowlers have also reacted to this by expanding their arsenal of tricks. Everyone has had to lift their game.

In one-day cricket, thus, two things have happened. One, there is better strategic understanding about the value of aggression. Two, batsmen are better equipped to act on the aggressive imperative. The game has continued to evolve.

Bowlers have reacted to this with greater aggression on their part, and this ongoing dialogue has been fascinating. The cricket writer Gideon Haigh once told me on my podcast that the 2015 World Cup featured a battle between T20 batting and Test match bowling.

This England team is the high watermark so far. Their aggression does not come from slogging. They bat with a combination of intent and skills that allows them to coast at 6-an-over, without needing to take too many risks. In normal conditions, thus, they can coast to 300 – any hitting they do beyond that is the bonus that takes them to 350 or 400. It’s a whole new level, illustrated by the fact that at one point a few days ago, they had seven consecutive scores of 300 to their name. Look at their scores over the last few years, in fact, and it is clear that this is the greatest batting side in the history of one-day cricket – by a margin.

There have been stumbles in this World Cup, but in the bigger picture, those are outliers. If England have a bad day in the final and New Zealand play their A-game, England might even lose today. But if Captain Morgan’s men play their A-game, they will coast to victory. New Zealand does not have those gears. No other team in the world does – for now.

But one day, they will all have to learn to play like this.

The India Uncut Blog © 2010 Amit Varma. All rights reserved.
Follow me on Twitter.




cr

Encryption of IP for Simulation with IES

I'm sending encrypted HDL to a customer who will use Cadence IES for simulation and was wondering how I should go about the encryption.

Does IES support the IEEE's P1735 and if so, where can I find Cadence's public key for performing the encryption?

Or is there an alternative solution that I can use for encryption?




cr

Xcelium Probe -Screen Issue

Hi All,

I want to capture the transition values of certain nodes in a design (i.e. a digital multiplier built with standard cells) and I use probe -screen command to dump the nodal values in text format. Since I only need to capture these values in the ideal situation, I use -nospecify switch with the xrun command :

xrun -clean R16FA_2009.v R4BE_Test.v tb_stop16.v -v stdlib_verilog_models-sdf30.v -access +rwc -mess -timescale 1ns/1ps -nospecify -gui &

and the probe command goes like this : 

probe -screen tb_stop16.mul16.test.L1 -redirect probe1.txt -format "%T L1 Value: %b"  //Here L1 is an array of wires

Although I expect a single transition at a given time instance, I see multiple transitions occurring in the dumped probe1.txt file. i.e. 

Time: 300 PS : 48'bxx0xx0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0xx0xx11x
Time: 300 PS : 48'b000000000000000000000000000000000000000000000110
Time: 4 NS : 48'b001000000000000000000000000000000000000000000100
Time: 4 NS : 48'b011000000010111111111001000000110011011001010101
Time: 8 NS : 48'b010000000010111111111001000000110011011001010101
Time: 8 NS : 48'b110100101100000110000111100001010010111001011100
Time: 12 NS : 48'b010000110011100010001110011100010101010001010101
Time: 16 NS : 48'b000010000010000000000000000010000000010010010100
Time: 20 NS : 48'b000011000010000000000000000010000000010010010100
Time: 20 NS : 48'b000001001001001001011011000010001010011010010100

From the waveform, it appears that only the second value (bold)  of the time instance is correct. Since the simulation is without annotated delays, there are no intermediate transitions in the waveform. How could this be possible ?

Thanks in advance




cr

Is it possible to find or create a Pspice model for the JT3028, LD7552 components?

I would like to add these components to the component bank in ORCAD simulation. Even an accessible or free course that explained how to create these components.




cr

Create a new Constraint Group or Constraint Class ?

When in Constraint Manager, Physical Domain, one can create a new Physical Constraint Class defining specific attributes for a custom rule set. One can then assing this new rule set to a set of nets. To do that it is instructed to create a new Net Class with menu Objects > Create > Net Class. Also on that same menu is available Net Group. Both options create a group that appear in the Constraint Manager Objects Name Column. I have triied both  options and cant really see the difference. 

The Question: What is the difference between creating a Net Class and a Net Group ?  What are the implications ?

Thanks for your help.




cr

e-code: Macro example code for Team Specman blog post

Hi everybody,

 

The attached package is a tiny code example with a demo for an upcoming Team Specman blog post about writing macros.

 

Hilmar




cr

Shell Script rc

Dear

I want to automate the synthesis of 100 IP cores so i wrote a small script (see below),

 but i am stuck on <rc>

In easy way, rc seems does not like be called in a shallscript

To make it works i need get in each folder, call the rc and then run <souce synth.tcl>

Please anyone know how can i by pass the problem ?

Thank you so much

foreach i(*.C)

    cd $i   
    rc
    source synth.tcl
   
    cd ..
end




cr

Creating transition coverage bins using a queue or dynamically

I want to write a transition coverage on an enumeration. One of the parts of that transition is a queue of the enum. I construct this queue in my constructor. Considering the example below, how would one go about it.

In my coverage bin I can create a range like this A => [queue1Enum[0]:queue1Enum[$]] => [queue2Enum[0]:queue2Enum[$]]. But I only get first and last element then.

typedef enum { red, d_green, d_blue, e_yellow, e_white, e_black } Colors;
 Colors dColors[$];
 Colors eColors[$];
 Lcolors = Colors.first();
 do begin
  if (Lcolors[0].name=='d') begin
   dColors.push_back(Lcolors);
  end
  if (Lcolors[0].name=='e') begin
   eColors.push_back(Lcolors);
  end
 end while(Lcolors != Lcolors.first())

 covergroup cgTest with function sample(Colors c);
   cpTran : coverpoint c{
      bins t[] = (red => dColors =>eColors);   
   }
 endgroup

bins t[] should come out like this(red=>d_blue,d_green=>e_yellow,e_white)

 




cr

Creating cover items for sparse values/queue or define in specman

Hello,

I have a question I want to create a cover that consists a sparse values, pre-computed (a list or define) for example l = {1; 4; 7; 9; 2048; 700} I'd like to cover that data a (uint(bits:16)) had those values, Any suggestion on how to achieve this, I'd prefer to stay away from macros, and avoid to write a lot of code

struct inst {

  data :uint(bits:16);
  opcode :uint(bits:16);
  !valid_data : list of uint(bits:16) = {0; 12; 10; 700; 890; 293;};
  event data_e;
  event opcode_e;

  cover data_e is {
     item data using radix = HEX, ranges = {
     //I dont want to write all of this
     range([0], "My range1");
     range([10], "My range2");
     //... many values in between
    range([700], "My rangen");
    };


    item opcode;


   cross data, opcode;
};

post_generate() is also {
    emit data_e;
};
};




cr

Delay Degradation vs Glitch Peak Criteria for Constraint Measurement in Cadence Liberate

Hi,

This question is related to the constraint measurement criteria used by the Liberate inside view. I am trying to characterize a specific D flip-flop for low voltage operation (0.6V) using Cadence Liberate (V16). 

When the "define_arcs" are not explicitly specified in the settings for the circuit (but the input/outputs are indeed correct in define_cell), the inside view seems to probe an internal node (i.e. master latch output)  for constraint measurements instead of the Q output of the flip flop. So to force the tool to probe Q output I added following coder in constraint arcs :

# constraint arcs from CK => D
define_arc
-type hold
-vector {RRx}
-related_pin CP
-pin D
-probe Q
DFFXXX

define_arc
-type hold
-vector {RFx}
-related_pin CP
-pin D
-probe Q
DFFXXX

define_arc
-type setup
-vector {RRx}
-related_pin CP
-pin D
-probe Q
DFFXXX

define_arc
-type setup
-vector {RFx}
-related_pin CP
-pin D
-probe Q
DFFXXX

with -probe Q liberate identifies Q as the output, but uses Glitch-Peak criteria instead of delay degradation method. So what could be the exact reason for this unintended behavior ? In my external (spectre) spice simulation, the Flip-Flop works well and it does not show any issues in the output delay degradation when the input sweeps.

Thanks

Anuradha




cr

Crime Branch : ક્યાંક ગાડીઓ ની ચોરી તો ક્યાંક અપહરણ, તો ક્યાંક ફેસબૂક પાર કોઈ છેતરાયું

Crime Branch : ક્યાંક ગાડીઓ ની ચોરી તો ક્યાંક અપહરણ, તો ક્યાંક ફેસબૂક પાર કોઈ છેતરાયું




cr

-Crime Branch : દારૂબંધીમાં પણ ભાઇબંધી, સાવકા પિતાના માસુમ પર અત્યાચાર

Crime Branch : દારૂબંધીમાં પણ ભાઇબંધી, સાવકા પિતાના માસુમ પર અત્યાચાર




cr

Crime Branch: સુરતના ડભોલીમાં મદદના બહાને સ્વામીનો યુવતી પર બળાત્કાર




cr

Crime Branch : પુત્રની ભૂલ ભોગવી પિતાએ, નોકરનો વિશ્વાસઘાત

Crime Branch : પુત્રની ભૂલ ભોગવી પિતાએ, નોકરનો વિશ્વાસઘાત




cr

Crime Branch: મહુવા ફેરવાયું પોલીસ છાવણીમાં, Internet સેવા કરાઇ બંધ

Crime Branch: મહુવા ફેરવાયું પોલીસ છાવણીમાં, Internet સેવા કરાઇ બંધ




cr

Crime Branch : જમાઈ બન્યો જમ, બુટલેગરો બેફામ, લગ્નવાંચ્છુકો સાવધાન

Crime Branch : જમાઈ બન્યો જમ, બુટલેગરો બેફામ, લગ્નવાંચ્છુકો સાવધાન




cr

Crime Branch: સાહિલે યુવતી સાથે બ્રેકઅપને લીધે કર્યો આપઘાત?




cr

Crime Branch: 8 હજાર જમા કરાવો અને ગાડી મેળવો, નકલી માર્કશીટનું કૌભાંડ

Crime Branch: 8 હજાર જમા કરાવો અને ગાડી મેળવો, નકલી માર્કશીટનું કૌભાંડ




cr

Crime Branch: અમદાવાદમાં એકજ દિવસમાં 1 હત્યા, 3 રાઉન્ડ ફાયરિંગ અને 4 ચોરી




cr

Crime Branch : ફિટનેસ સેન્ટરમાં ગુજાર્યો રેપ !, ચોરી માટે ખેતર કર્યું ભાડે

Crime Branch : ફિટનેસ સેન્ટરમાં ગુજાર્યો રેપ !, ચોરી માટે ખેતર કર્યું ભાડે




cr

Crime Branch: એક ઠપકો અને મળ્યું મોત, જન્મદાતા બન્યો હવસખોર

Crime Branch: એક ઠપકો અને મળ્યું મોત, જન્મદાતા બન્યો હવસખોર




cr

Crime Branch : માનવ તસ્કરીનો પર્દાફાશ, યોગી કે ભોગી ?

Crime Branch : માનવ તસ્કરીનો પર્દાફાશ, યોગી કે ભોગી ?




cr

Crime Branch: પહેલા કરી મિત્રતા... લગ્નની લાલચ આપી ગુજાર્યો બળાત્કાર

Crime Branch: પહેલા કરી મિત્રતા... લગ્નની લાલચ આપી ગુજાર્યો બળાત્કાર




cr

CrimeBranch: વિનય શાહના ઘરેથી CID ને મહત્વના દસ્તાવેજ હાથ લાગ્યા




cr

CrimeBranch: પારિવારિક ઝઘડો બન્યો લોહિયાળ




cr

Crime Branch: કોણે આપી સરપ્રાઈઝ ? કોણે આપી ધમકી ?

Crime Branch: કોણે આપી સરપ્રાઈઝ ? કોણે આપી ધમકી ?




cr

CrimeBranch: ગુજરાતમાં બાળ તસ્કરીના રેકેટનો પર્દાફાશ




cr

Crime Branch: ગુજરાત પર નક્સલવાદીઓની નજર




cr

Crime Branch: ભત્રીજો બન્યા સગા કાકા માટે યમરાજ, ઘરકંકાસ એટલી હદે વધ્યો કે...

Crime Branch: ભત્રીજો બન્યો સગા કાકા માટે યમરાજ, ઘરકંકાસ એટલી હદે વધ્યો કે...




cr

Crime Branch: છોટાઉદેપુરના ભોદરા ગામમાં ડાકણ માનીને મહિલાનું માથું કાપી નાખ્યું




cr

Crime Branch: બોટાદમાં 6 વર્ષની બાળકી સાથે દુષ્કર્મ




cr

Crime Branch: ધર્મશાળાના રૂમમાં અગનખેલ, આંધળા પ્રેમની આંધળી દાસ્તાન




cr

Crime Branch: ડ્રગ્સનો સોદાગર પોલીસની પકડમાં, સફરજનની આડમાં ચરસનો જથ્થો લાવતો હતો




cr

Crime Branch: એસીબીના સકંજામાં ક્લાસ વન અધિકારી મનીષ ગૌતમ




cr

Crime Branch: વિનય શાહની કોર કમિટીના તમામ સભ્યોની ધરપકડ




cr

Crime Branch: 1000 કરોડનું 100 કિલો ડ્રગ્સ જપ્ત , 6 વ્યક્તિની ધરપકડ




cr

Crime Branch: દેવેન્દ્રસિંહની સ્યુસાઇડ નોટમાં અનેક ખુલાસા




cr

Crime Branch: નારોલના 10 વર્ષના કન્હૈયાની હત્યાનો ભેદ ઉકેલાયો




cr

Crime Branch: ભૂતપૂર્વ પત્ની સાથેના અંગતપળના ફોટા કર્યા વાયરલ





cr

Apple Accused Of Crackdown On Jailbreaking