Quantcast
Channel: Cadence Technology Forums
Viewing all 63271 articles
Browse latest View live

Forum Post: Screw footprint and its keep out region

$
0
0
I'm tasked with creating footprints for generic screws. There is 1 requirement I do not quite understand. I was told that there is some kind tool/machine that would "assemble" the screw onto the PCB (for high volume production). The head of that tool needs a large area to move around after placing said screw. Therefore I need to take that into consideration. 3 questions: 1- does anyone know what the name of that process is? (I tried searching for anything related to it on the web but came up empty) 2- what is the dimension for such keep out region? 3- should I put it under placement boundary or package keep out? If I put it on both, I'll get a DRC. Thanks, Vinh.

Forum Post: RE: Screw footprint and its keep out region

$
0
0
Hi the process is commonly known as "Automatic or Automated Screw insertion" Typically this is done with robotic arms. The main consideration for the pcb would be the height of surrounding components. A good way to think of it is, if you can get a normal screwdriver in there then you should be ok on the Z Axis height requirement for the machine. A good question to ask would be. What is the minimum Z axis height requirement needed to clear components including the physical length of the screwdriver bit. I found a video that shows the concept, but since there are many machines to do this task it would be good to check with the assembly house in advance. https://www.youtube.com/watch?v=5XbAq8PJLng 2 - The dimension of the keep out region is dictated by the z axis "Vertical up/Down" movement of the machine. ( There is no board keep out beyond the size of the screw head ) 3 - You don't really have to do anything out of the ordinary. Make your mounting holes as per the normal way you do them. You could get fancy and a a height property to your mounting holes but it wont really buy you anything I think as the whole process is contingent on the machine. Hope this helps..

Forum Post: RE: Need some advice on how to complete this one microprocessor connection.

$
0
0
I think Wild has the best suggestion below. You have alot of moving pieces so importing your constraints from the previous design may be a good route to go. With respect to the copper area blowing over the vias try a Shape > Polygon, assign a net to the polygon and draw it. You can test things too before you draw that copper pour. Take an area outside your pcb, plonk down a via or footprint and draw the polygon around it. "Dont worry about DRC's" you just want to see what you drew does indeed have the correct clearance. When your finished testing just delete those items.. Another possibility also exists. The shape may be out of date so it is not clearing any pins. You could try "Updating" the shape.

Forum Post: RE: shortcut to bring ADE with current schematic to front

$
0
0
Thanks. I dragged it to the top and then apply, OK but the Run and Stop Simulation button are still placed closely with each other. I guess that it may apply that setting when I restart the software. I can't restart now so I'll check if it works when I can restart it. Also I don't see the Reset button anywhere in the form.

Forum Post: RE: shortcut to bring ADE with current schematic to front

$
0
0
You don't need to restart Virtuoso, but the toolbars are only changed in new windows. So you could close the schematic window and then do Session->Design Window from the ADE window to bring up a new one - this should honour the new toolbar customisation. You didn't say which IC version you're using (the Forum Guidelines suggest you provide this information), but I'm guessing it must be quite old - I think the Reset button was added in an early IC616 hotfix version (Help->About in the CIW gives the version number) Andrew.

Forum Post: RE: Setting TimeStep for Transient simulations : defaulting to ps

$
0
0
To clarify this since you asked a similar question in a very old thread, it's on the transient options form - click Options on Transient and then you'll find it: The strobeoutput that Shawn mention defaults to strobeonly so you don't need to set that. Only if you want the strobe points and the other time steps found by the simulator do you need to change this - e.g. to all . When this is set, the simulator ensures that it solves at the designated strobe time points, which eliminates accuracy issues caused by interpolation if you were to sample the data (e.g using the sample or dft functions in the calculator). That's normally only an issue if you're sampling non-settled data (i.e. at each sample point the signal is still changing), but it can certainly improve accuracy. Why are you doing an FFT in Matlab? You can use the dft function in the calculator to perform an FFT, and since IC617 this no longer requires a power of 2 number of samples (before it rounded to a power of 2). Regards, Andrew.

Forum Post: RE: take a fixed step time

$
0
0
Hmm. Please read the Forum Guidelines which clearly ask you not to post on the end of old threads (this one is 10 years old!), and also not to post duplicate questions. You've done both... However, since this is clarifying the answer above, I'll give a link to my response in the new thread you posted . Andrew

Forum Post: RE: shortcut to bring ADE with current schematic to front

$
0
0
Yea, it works now! This is IC6.16-64b.101. So many helpful tools that I have never heard of.

Forum Post: RE: shortcut to bring ADE with current schematic to front

$
0
0
Good. That said, you're using the Base IC616 release (no hot fixes - often there are important fixes after a major release) from two major releases ago and was released 6 years ago. I can only assume you're at an academic institution, but I'd strongly suggest using something more recent - there's been a lot of development in the meantime! Regards, Andrew.

Forum Post: RE: getting an unknown error while using abeLayerXor in layout

$
0
0
The abeLayerXor does not accept technology file layer representations. It needs an "abe" layer object - as produced by abeNewLayer, abeLayerFromCellView, abeLayerFromShapes or in fact from any of the other abe layer functions. So something like: abe1=abeLayerFromCellView(tf1~>name) abe11=abeLayerFromCellView(tf11~>name) abeOut=abeNewLayer() abeLayerXor(abe1 abe11 abeOut) abeLayerToCellView(abeOut tf12~>name) is probably what you're trying to do. Not sure why you're doing everything with layer numbers - the abe functions expect layer names (hence the ~>name that I use above). Regards, Andrew.

Forum Post: RE: VerilogA, one or the other parameter implementation

$
0
0
Hi Emiel, This is not something that would be done with VerilogA - it's CDF (Component Description Format) that handles this kind of thing. You would go to Tools->CDF->Edit in the CIW, pick "Base" as the type and pick the cell you're creating, and for the two parameters (I'm assuming they are called vpk and dbm) you'd set the editable condition to: vpk: blankstrp(cdfgData->dbm->value) dbm: blankstrp(cdfgData->vpk->value) In other words, each field is editable if the other field is a blank string. You can also change the prompts to something more readable than the parameter name for each parameter in the CDF. Regards, Andrew.

Forum Post: RE: Sweeping different design variables at the same time within an (qpss) analysis

$
0
0
I didn't see the issue with entering -10000 so I must have done something different from you - I suggest you contact customer support with the precise details of how you produced that bug so that we can fix it (just telling me here won't get it fixed, by the way as I'm doing this in my spare time... it's always best to come from a customer report). Regards, Andrew.

Forum Post: RE: update instance cdf properties after storeDefaults changed

$
0
0
[quote userid="429121" url="~/cadence_technology_forums/f/custom-ic-skill/40476/update-instance-cdf-properties-after-storedefaults-changed/1360354#1360354"]Hi Andrew, did you have the chance to write already this function and article?[/quote] Sorry, no. I've not had the chance to do this yet. Regards, Andrew.

Forum Post: RE: Unable to do some functions in the layout. Getting Errors

$
0
0
Hi Bala, The first: Setting layout .cdsenv variable pinShape to "auto pin" errors out Create Pin form and fails to pop up (article says to remove the entry setting related to pinShape in your .cdsenv or .cdsinit). For example if you have: envSetVal("layout" "pinShape" 'cyclic "auto pin") Then comment it out in in your .cdsinit. The second: Not seen this specifically. Can you do this and repeat the error and post the details of what is output: sstatus(errsetTrace t) _stacktrace=50 Also please report what getVersion(t) returns - knowing what version you're using is quite important. I think it must be IC617 or similar vintage because of the first error, but just want to check. Regards, Andrew.

Forum Post: RE: Running multiple AC sims during a transient analysis

$
0
0
You can define more than one stability analysis - the rest you'd need to define in an include file rather than through OCEAN (so you could use OCEAN to add another model file (say) containing the spectre statements for the additional stability analyses). For example: stb1 stb start=1 stop=1G dec=20 probe=IPRB0 stb2 stb start=1 stop=10G dec=20 probe=IPRB1 stb3 stb start=1 stop=100G dec=20 probe=I7.IPRB1 (they don't have to have the same sweeps). Then you can do ?acnames list("stb" "stb1" "stb2" "stb3") to reference the one defined via an analysis() call in OCEAN plus the rest coming from the include file. Regards, Andrew.

Forum Post: RE: use output signals from other circuits as input for simulation

$
0
0
If you run the first simulation, you could plot the output curve that's going to be the input to the next simulation. Then in ViVA, select that trace and do Right Mouse->Send To->Export and pick Files of Type to be "SPECTRE". Give a file name (you can clip and interpolate should you need to, or just save the raw data). You can then use a vsource with the type as "pwl" and specify that you want to read the data from a file, and give the file you saved from the first simulation (can also be done with vpwlf from analogLib). Regards, Andrew.

Forum Post: RE: Dynamic nodesets on DC Sweeps

$
0
0
Nodesets are only used at the first point of any swept analysis - they are used to find the operating point or initial transient solution (in the case of a transient). So if you do a DC operating point, node sets are used for that. Or they're used for the DC before an AC analysis. Or a DC before a transient (if you give a readns, say), or for the DC operating point at the beginning of a sweep. Yes, you can define a nodeset using a condition such as you've given. Regards, Andrew.

Forum Post: RE: Making a monte carlo simulation component specific

$
0
0
Hi Andrew, I have one quick question related to this: does it also apply to process variations? In IC615, we can specify the instance for mismatch in ADE XL "Run Monte Carlo Sampling", however, there's no option for process. Therefore, if I want to ignore PV for specific instances in my test bench, how can I do that? Thanks!

Forum Post: RE: Setting TimeStep for Transient simulations : defaulting to ps

$
0
0
Thank you, Andrew, for taking your valuable time to provide greater detail, and more importantly, making the response much more valuable for HariV and others! Shawn

Forum Post: RE: Remove one of the paths from a multi-part path

$
0
0
I split this from the original (8 year old) thread because it didn't really need to be part of that old thread (see the forum guidelines - the pinned post at the top of each forum - this makes it easier for somebody searching later to find something relevant). You could do this by selecting the resulting object and then using this SKILL code to remove the halo and convert the paths to no longer be a multi-part path (you could put this on a bindkey if it's something you're doing regularly) - just call CCFremoveHalo(). procedure(CCFremoveHalo(@optional (objects geGetSelSet())) let((rodId haloShapes) foreach(object objects rodId=rodGetObj(object) ;------------------------------------------------------------------ ; Identify the sub parts with 4.4 width (not using ; == on floating point numbers for safety) ;------------------------------------------------------------------ when(rodId haloShapes= setof(subShape rodId~>subShapes abs(subShape~>width-4.4)<0.0001) ) ;------------------------------------------------------------------ ; Remove the rod-ness and delete the halo shapes ;------------------------------------------------------------------ rodUnNameShape(rodId) foreach(halo haloShapes dbDeleteObject(halo) ) ) t ) ) Regards, Andrew
Viewing all 63271 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>