[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: pcb crooked traces



At 06:31 AM 10/8/2010, you wrote:
On Fri, Oct 8, 2010 at 5:46 PM, Armin Faltl <armin.faltl@xxxxxx> wrote:
> Gabriel Paubert wrote:
>>
>> Really, the inch is by definition 2540µm, not the other way around since
>> over 50 years ago.
>>
>
> As far as I know, 1" = 25400um, but I see your point ;-)
>
> The only practical consideration I see is, that the internal unit of PCB
> allows handling with integer-arithmetic (makes comparisons a lot
> faster and safer than floating point).
> Assuming 32-bit signed numbers with 1/100mil this gives:
>   254nm resolution and +-545.46m coordinate range
> 32-bit signed and 1nm gives:
>   1nm resolution ;-) and +-2.147m coordinate range

The point is that using 1 nm allows both metric and inch coordinates to be represented without introducing errors. Working in units of 0.01 mil does not allow metric to be expressed without rounding error. This error may show up in most designs, but if a consideration is to allow boards larger than 2 meters across, I would think that the possibility of rounding error for metric measurements accumulating to a significant error could be a problem.


> I don't know, if pcb really uses fix-point arithmetics, but even if
> not a reasonable internal unit has some importance. AFAIK with
> floating point, the average internal number should be around 1.
>
> HTH, Armin
>

No floating point, all integer to avoid rounding errors.

DJ,  are the pcb units still wrapped in the accessor macros for
converting between internal representation and real world values?

If so...  Guys change the converters and have at your hearts content.
It should be a 2 hour patch.

Now for conversion errors, are you really seeing errors in your metric PCBs?

As far as I am concirned the internal unit is meaningless provided it
is fine enough.

I know no fab house that is going to have a tolerance as good as 254nm or .01mil

That is not the concern. The problem is that on input a metric value will have a rounding error. When that error is compounded by the arithmetic (for example accumulative error in a large connector or chip pin spacing) the final error can become significant.


So as far as it matters in the real world, getting other things done
in pcb is much more important, than a conversion to metric base units.
 meaning proposing that we make PCB 64 bit and nanometers is
redicolus.  We will double our ram usage and not gain ANY benifits.

Going to 64 bits buys you nothing if you don't increase the resolution of your internal units... other than allowing you to design PCBs nearly the size of the solar system.


And to think this started out cause I suggested to use a really corse
grid to start layouts, and keep things pretty.

Use metric if your primarally using metric parts and use mils if your
using inch defined parts.

Chances are that people arn't placing their parts by snapping to pin
one to move it on grid when placing anyhow.

Why not? That is exactly what I do. I put my parts on grid and where practical, set the grid to match my parts. That keeps my traces from having jaggies.

BTW, in the program I use, I can turn on snap to grid and route orthogonal and 45 degrees only. This allows me to route from pins to the grid without having any trace segments that are not on a 45 degree angle. Does PCB also support this?


BTW, I'd vote for 1 unit, and a scale value.  That is if you are
making a 10 meter antenna,  Then you set the PCB's scale to 0.1mm.

I'm not sure what that even means. Are you suggesting that the internal representation be adjusted by the user?

Rick



_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user