Quantcast
Channel: Mentor Graphics Communities: Message List
Viewing all 4541 articles
Browse latest View live

Routing Differential Pairs

$
0
0

I'm routing differential pairs on multiple layers.  I've set up a Conditional Rule to change the line width as I change layers while routing these diff-pairs but is there a way to change the routing grid at the same time without having to remember to do it manually?  The line width and spacing needs to be different on each layer so the grid will need to change every time I change layers.  Thanks in advance for any assistance.

Don


Re: how to export the class group in PADS layout ??

$
0
0

File Export and save ASCII file and select Rules. Use File Import to read rules into your other layout. This will overwrite the rules you have in the layout. A work around is you can cut just the class rules from the one ASCII file and paste them into another ASCII file and then open modified ASCII file.

How to avoid unnecessary register loads using powerpc-eabi-gcc

$
0
0

I'm finding that compiling with gcc (without optimisation) produces assembly code which contains a number of unnecessary register loads which increases the code size and slows it down. I'm reluctant to turn on optimisation as this makes it difficult to debug. Are there any switches on gcc I could use to overcome this?

For example this fragment of C:

  for (i = 0; i < MAX_CHANNEL+1; i++)
  {
    na_entry = &NodeArray[i];

    na_entry->NodeNumber = i;
    na_entry->gen_io_offset = 0;

    /* clear all digital output records to 'off' state */
    for (j = 0; j < MAX_OPGROUPS; j++)
    {
      na_entry->ogroup[j] = 0;
    }
  }

 

compiles to this:

stw 0,8(31)  # i, tmp125

b .L2  #

.L5:

.loc 1 131 0

lwz 0,8(31)  # i, i.135

mulli 9,0,20  # D.6999, i.135,

lis 0,NodeArray@ha  # tmp127,

addic 0,0,NodeArray@l  # tmp126, tmp127,

add 0,9,0  # tmp128, D.6999, tmp126

stw 0,16(31)  # na_entry, tmp128

.loc 1 133 0

lwz 0,8(31)  # i, tmp129

extsh 9,0  # D.7000, tmp129

lwz 0,16(31)  # na_entry, tmp130

mr 11,0  #, tmp130

sth 9,0(11)  # na_entry_6->NodeNumber, D.7000

.loc 1 134 0

lwz 0,16(31)  # na_entry, tmp131

li 9,0  # tmp132,

mr 11,0  #, tmp131

sth 9,2(11)  # na_entry_6->gen_io_offset, tmp132

.loc 1 137 0

li 0,0  # tmp133,

stw 0,12(31)  # j, tmp133

b .L3  #

.L4:

.loc 1 139 0 discriminator 2

lwz 9,16(31)  # na_entry, tmp134

lwz 0,12(31)  # j, tmp136

add 0,9,0  # tmp135, tmp134, tmp136

li 9,0  # tmp137,

mr 11,0  #, tmp135

stb 9,15(11)  # na_entry_6->ogroup, tmp137

.loc 1 137 0 discriminator 2

lwz 0,12(31)  # j, tmp138

addic 0,0,1  # tmp139, tmp138,

stw 0,12(31)  # j, tmp139

.L3:

.loc 1 137 0 is_stmt 0 discriminator 1

lwz 0,12(31)  # j, tmp140

cmpwi 7,0,1  #, tmp141, tmp140

ble 7,.L4  #

.loc 1 129 0 is_stmt 1

lwz 0,8(31)  # i, tmp142

addic 0,0,1  # tmp143, tmp142,

stw 0,8(31)  # i, tmp143

.L2:

.loc 1 129 0 is_stmt 0 discriminator 1

lwz 0,8(31)  # i, tmp144

cmpwi 7,0,60  #, tmp145, tmp144

ble 7,.L5  #

 

There are 4 times where r0 is loaded from the stack just after being stored so presumably the loads could be eliminated. Also the 3 main variables in this loop: i, j & narray_entry are always being loaded into r0. If 3 separate registers were used many of the loads could be avoided. Does anyone have any thoughts on this?

simulating 8 SDR SDRAM modules bussed together

$
0
0

hello, I'm struggling to get a good simulation of 8 ISSI IS42S16320B modules bussed together.  I'm hoping that someone has some good advice; it seems that memory cards have lots of memory modules bussed together, so I must be doing something wrong.  The receiver is the A0 signal and the driver is a FPGA pin from Microsemi ProASIC3.  I have IBIS models from the vendors and I'm assuming that all modules are on the top layer and signal routing is on the top and bottom layers and connected with vias.  the clock speed is 125 MHz.   For the simulation, there's lots of reflections at the driver and the receivers look heavily distorted and unusable. I've even tried a simulation where the trace lengths are zero and it still doesn't work.  attached are the schematic and a simulation. any help is appreciated!

I have a part number that I want replace with another part number (different footprints), I'm using xDM Library for my schematic

$
0
0

I want to replace a 0402 part number with a 0603 part number in my schematic, I'm using xDM Library tools. !

VX.2 xDxDesigner - select component grays out all others

$
0
0

With VX.2 xDxDesigner, selecting a component results in all existing components to be grayed out. This needs

to be set so that this can be reset to not-grayed out.

How Do I Increase Non-Electrical layers

$
0
0

I have 30 layers now.  I have used all of my available non-electrical layers.  So I need to add a few more but I can't find a way to do this without going to "max layers".  This will make 250 layers!  I don't need that many!

xDM Library

$
0
0

Is there anyone on here that is using xDM Library Tools?


Is it possible to add sheets or hierarchical blocks by automation?

$
0
0

Background:

We have an Excel tool for making our motherboards where we specify the connector pinouts and the nets connecting the different pins. This generates a netlist that we import into Expedition PCB.

 

In order for us to be able to apply more complex constraints to the nets I'm thinking about writing a script that reads the netlist and automatically draws the nets in a DxDesigner schematic. The schematic itself would not have any greater value to us as such, but it would allow us to use CES for constraint entry.

 

Now to my question, since we are talking about a lot of connector pins (e.g. the design I'm working on right now has some 1500 pins) the scheamtic would need to occupy more than one schematic sheet. Therefore I'm wondering if it is possble to let the script create new hierarchic blocks at the top level schematic, or if that's not possible at least add new sheets to the current schematic? I've searched in the DxDesigner Automation Reference but I couldn't find anything.

 

//Björn

Re: VX.2 xDxDesigner - select component grays out all others

$
0
0

To request changes to functionality please post the request on Ideas Mentor Ideas for xDX Designer 

From my understanding of the request this is an issue particularly with the standard Expedition colour scheme.

Re: Routing Differential Pairs

$
0
0

Hi,

When setting up the differential pair, you get the attached image in PADS Layout -> Setup->Design Rules -> Differential Pairs.

When you select a differential pair from the list on the right top, you can press Add on the right bottom half of the window, where you can define rules for other layers than the default <All Layers>.

Franz

Unbenannt.PNG

Re: Merge Profiles on Communities/Ideas

Cell creation question

$
0
0

I am looking to create the cell for the attached connector from Wurth - Part number 74980111211.  I have a question as to how to best define the pads / mounting holes for this part.  This part has two alignment / location pegs that are plastic and require drilled holes.  As the pegs are plastic, these holes do not need to be plated.  There are also two solder pads for the case to get soldered to.  Here is where I would connect the net Chassis Ground.  The problem is that these solder pads encroach into the area of the mounting holes.  My question is: How do I properly define these features in PADS Professional?

 

I could:

- Place the mounting holes and pads a separate items, but won't this cause DRC issues later on down the line?

Re: Database for DxDatabook

$
0
0

So, my options I've heard so far are access DB (which isn't simultaneous user friendly), sqlite (which isn't simultaneous user friendly), and omnify which I've already stated I am evaluating.  What are the other ways small teams use PADS with some form of a central database? 

Grow/Shrink Rectangle

$
0
0

Trying to write a method that will grow/shrink an object, however there is nothing in the shapes collection.  I have added the correct pSafeArrayOfPoints and I can see the array populate, Im not sure why shapes is empty.  Here is my code in C#.  Curious if anyone has done something similar or could help point me where I may be doing something wrong.

 

public Array GrowShrink(Array newPntArray, string growShrinkValue)

        {

            Array pointsArray = null;          

            double resizeAmt = double.Parse(growShrinkValue);

            int length = newPntArray.GetLength(1);

 

 

            var maskEngine = Com.Dispatch<MaskEngine>("MGCPCBEngines.MaskEngine");                                  

            Mask mask = maskEngine.Masks.Add();                       

            object pSafeArrayOfPoints = (object) newPntArray;

            mask.Shapes.AddByPointsArray(length, ref pSafeArrayOfPoints);          

            mask.Oversize(resizeAmt, EMaskEngineOversizeType.emeOversizeTypeSquare);

            Shapes shapes = mask.Shapes;                                

            try

            {

                foreach (Shape item in shapes)

                {

                    pointsArray = item.PointsArray;

                }                              

            }

          return pointsArray;

     }


Re: xDM Library

Re: Database for DxDatabook

$
0
0

You can use any ODBC compliant database to connect with Databook. You have already evaluated MySQL and it also supports Oracle.

Re: Database for DxDatabook

$
0
0

And the problem isn't necessarily connecting dxdatabook to MySQL in that case, it is having a good method to enter new data with some level of consistency.

Re: Cell creation question

$
0
0

you can build a custom pad near the hole

 

Cattura.PNG

Re: Cell creation question

$
0
0

I was trying to not have to go down that route.  This would be a very simple task to do with associated copper in PADS professional.

 

Thanks

Viewing all 4541 articles
Browse latest View live


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