Re: gEDA-user: Design Flow Roadmap starting point

2007-03-17 Thread Igor2
On Sun, 18 Mar 2007, al davis wrote:

>> *  Finally, how should PCB behave with a hierarchical
>> schematic?
>
>Right click on a symbol, select "go inside", and another drawing 
>opens up showing what's inside.  gschem also should act this 
>way.

I like this idea very much. In case of PCB it also would make sense to
add a way to display in place what's inside. With an "expand
all" functionality this would allow one to see the whole pcb with all
inner structures at once, without needing to export to ps.




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


Re: gEDA-user: Design Flow Roadmap starting point

2007-03-17 Thread al davis
On Saturday 17 March 2007 00:13, John Griessen wrote:
> David Baird wrote:  (about data tie ins to higher
> abstractions than "just boards")jg I've been thinking (maybe
> just dreaming?) about an extensible system which allows the
> representation of information which has not yet even been
> envisioned, while also providing forwards and backwards
> compatibility as new component representations are devised. 
> For these reasons, OWL struck me somewhat and now I am
> learning OWL and trying to see if I can really make it do
> what I want.  --  A simple example  --  convey to a PCB
> program that a set of nets are actually grouped

That's why gnucap is using plugins now.  I assume that's the 
reason for PCB, too.  I think gnucap's approach is more 
aggressive, in the sense that everything is moving to plugins, 
making the system completely user configurable.

> Stuart Brorson wrote:
>The discussion about hierarchy should focus on the
> following points:
>
> *  What kind of data structures are desirable?  How would
> they look? Right now, the main data structure for a schematic
> is a linear linked list of graphical objects (for each
> schematic page).  Some list items point to others (i.e. to
> support component attributes). How would that change to
> support hierarchy?
>
> *  ONce a datastructure is decided upon, then what does the
> file format look like?  Note that our current file format
> maps fairly closely onto the internal data structures. 
> Preserving this close mapping is a desirable goal. 
> Therefore, the data structures defining hierarchy should
> more-or-less dictate what the file format should look like.

You have the order backwards.  Design the file format first, 
then the data structures.  The file format should be designed 
as a language for expressing what you want to express.  If the 
thing being expressed is a printed circuit board, the language 
should be meaningful and expressive in that context.

If the data structures are already designed, I still say design 
the file format "first" in the sense that it should ignore the 
data structures.

Fitting the file format to the data structures permanently locks 
you to the mistakes of the first cut.  Designing the file 
format description language first leaves you free to change the 
underlying algorithms and data structures later.

File formats that are data structure dumps cause big problems in 
the long run.

I still believe we need an interchange file format, that should 
be a VHDL derivative.  VHDL has most of the capabilities 
needed, and is an industry standard.  If something is missing, 
we can add it, and propose it back to the standards committee.  
They might even welcome it.

gnetlist really needs to be redone, from the ground up.  This 
VHDL based intermediate format is the way to do it.

gnetlist has served us well so far, but we have learned a lot by 
doing it and using it, and it is time to move on.

> *  How should gschem behave once hierarchy is architected in?
>  Right now you attach a source= attribute to a symbol.  Then
> you do "schematic down" on that symbol to dive into the
> sub-schematic.  Is that OK?  Or what's a better scheme?
>
> And how to handle re-use blocks?  That is, if I have a
> sub-schematic which I instantiate four times, how should it
> be refdesed in the netlist?  If I dive into one of the four
> instantiations and edit it, is it OK that the other three
> instantiations are also updated.
>
> A list of use-cases would be helpful here.
>
> *  Similarly, how should gnetlist behave?  A use-case list
> would be useful.

Any extraction should preserve hierarchy, in hopes that the 
target tool also benefits from it.  If it doesn't, you need a 
separate flattener pass, separate from the translation.

Regardless, the translation must be 100%, lossless, in both 
directions.

gschem attributes need to have types.  The type is just a 
string, but important.  That way one type can be those passed 
to a simulator, another can be those passed back from the 
simulator, etc.  Since the type is just a string, new types can 
be added at any time.  An attribute should be able to have 
multiple types.


> *  Finally, how should PCB behave with a hierarchical
> schematic?

Right click on a symbol, select "go inside", and another drawing 
opens up showing what's inside.  gschem also should act this 
way.



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


Re: gEDA-user: Design Flow Roadmap starting point

2007-03-17 Thread Steve Meier
My imediate use for recessing has to do with ridged flex riged boards.
In one example we have a circuit board that has for example a ridged
section on the right that has a connector, this section has to have one
level of thickness. connected to this ridged is a section of flex, on
the other side of the section of flex these is a section of ridged
material that has a flip chip a resistor and a few capacitors. This
second ridged section has a different thickness then the first. It is
thinner and we achieve this by having few layers. Continuing on we have
another section of flex and then a final section of ridged. This last
section of ridged has yet a third thickness then the other two ridged
sections.

All of this is constructed in layers that are glued and pressed
together. So we cut out different holes out of the different layers
before aligning them and gluing them and pressing them. Problem is that
the pads have to be on different layers. We over came this by pretending
at layout that they were different boards and getting the shop to merge
the gerbers.

I think there is a second reason, (note the i think) in that some very
high frequency devices have pins that stick streight out their sides so
as to avoid bends. But that these devices also would like to be heat
sinked to the ground plane. This is again an I think and I am looking
for an example.

Steve M.

DJ Delorie wrote:
>> Yes fab shops can cnc the layers before gluing and pressing them
>> together.
>> 
>
> Drool.  Yeah, you'd need the "layer types" patch to really manage
> that, as you'd be able to tag multiple pcb layers as "outline" layers
> and associate them with specific board layers or whatnot.
>
> You could do it now, except that they'd have all the pins' copper on
> them as well as the outline.
>
> The only thing you can't do already is tell pcb to put elements on
> inner layers.
>
> Of course, I'm curious *why* you need to recess parts...
>
>
> ___
> geda-user mailing list
> geda-user@moria.seul.org
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>
>   



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


Re: gEDA-user: Icarus Verilog with Xilinx simprims...

2007-03-17 Thread CSB
Wow, thanks for the quick responses !

> Does iverilog support SDF backannotation?  The SDF has the delay  
> information.

Ah ! Now you mention it, I remember removing a $sdf_annotate line
from the generated verilog file. It was causing an error with vvp,
so I just removed the offending line and quickly forgot about it... The
error is: "$sdf_annotate: This task is not defined by any modules."
I just found a topic about iSDF in this mailing list; I will see what
I can do with that.
 
> Any specific reason why you're running a post-fit simulation?  The  
> RTL simulation tells you if your logic is functionally correct, and  
> the static timing analyzer (using your timing constraints) tells you  
> if you've met timing.  If both are good, there's no need to run a  
> post-fit simulation.

Well, that's where I'm most confused. I followed some instructions
that explained how to use TestBencher (part of ISE). Is that what
you are referring to? What I saw of it didn't impress me much...
For my design, I didn't specify any timing constraints since I'm not
concerned so much about speed as correct operation. Also, the amount
of specify-able stuff was overwhelming, so I decided to skip that
part 8~)
My reasoning was that I would run a post-fit simulation, and see if
there were any glitches, or unusual operation. Mostly, I was thinking
about timing hazards.
But your comment makes me ask: does the fitted design guarantee
a glitch-free operation ? (the only remaining issue would be speed,
hence the timing constraints)

I should also add that I'm fairly new to digital design, so I might
be missing the point entirely.


> Dr. Deming told us that the Asian focus on direction of most closely
> approaching perfection is a better goal than arbitrarily chosen
> accept/reject criteria American style.  Perhaps he was thinking
> orientally?

While I tend to agree with the oriental principle, I can't pretend
to be looking for perfection for the moment. Functionality would be a
good start ! Perfection can come later; I need to walk before
I can run...


Thanks for your time,
Christian
-- 
  CSB
  [EMAIL PROTECTED]

-- 
http://www.fastmail.fm - Same, same, but differentÂ…



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


Re: gEDA-user: Design Flow Roadmap starting point

2007-03-17 Thread DJ Delorie

> One practical solution for very small parts is to hid the refdes on the
> board but make a large assembly drawing that has them.

That's almost what I did.  I make the refdes's as big as the parts,
right on top of them, and printed them out as an assembly drawing.  I
just didn't put them on a silkscreen.

This was about the time I added the lock-text and only-text settings ;-)


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


Re: gEDA-user: Design Flow Roadmap starting point

2007-03-17 Thread Steve Meier
One practical solution for very small parts is to hid the refdes on the
board but make a large assembly drawing that has them.

Steve Meier

DJ Delorie wrote:
>> S2/S2/L1  S2/S2/C1 and S2/S2/U1
>>
>> is the RenumberBlock funtion capable of this?
>> 
>
> It currently pulls the last string of digits (suffix) off for
> renumbering, but pulling the first string shouldn't be too hard.  It
> doesn't give you automatic updating, though.  If you edit the master
> block, you'd cut out the copies, and re-copy/renumber the master block
> to make new copies.
>
> We could script this if we had an action to select a region, but it
> would certainly be better if it "just knew" about such blocks.
>
>   
>> Because when you use those virtual 01005 capcitors there isn't a lot
>> of room for a readable refdes as it is
>> 
>
> Too true.  I didn't even bother with a silkscreen on the furnace
> board, and that's only 0603s.
>
>
> ___
> geda-user mailing list
> geda-user@moria.seul.org
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>
>   



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


Re: gEDA-user: Icarus Verilog with Xilinx simprims...

2007-03-17 Thread John Griessen

Andy Peters wrote:
the
static timing analyzer (using your timing constraints) tells you if 
you've met timing.  If both are good, there's no need to run a post-fit 
simulation.

Dr. Deming told us that the Asian focus on direction of most closely 
approaching perfection
is a better goal than arbitrarily chosen accept/reject criteria American style. 
 Perhaps he was
thinking orientally?  Anyway, that wasn't his question.  He asked how to get 
the timing info into iverilog.

John Griessen

PS No specific knowledge of Xilinx, can't help, CSB.  (If I'm correct, those are
defined in the *.v files of the XILINX/verilog/src/simprims/
directory, one file for each module.)


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


Re: gEDA-user: Icarus Verilog with Xilinx simprims...

2007-03-17 Thread Andy Peters

On Mar 17, 2007, at 3:15 PM, CSB wrote:


Hi all,
 I am trying to use Iverilog along with xilinx's SIMPRIMS. Well,
I managed, but I am getting strange results with simulations.

I'll try to explain how I'm doing this (I'm new to CPLDs, Verilog
and Icarus...)

First, I generate the post-fit verilog module from Xilinx ISE
project navigator. This is the .v file containing all the nets
and gates, for example X_AND2, etc... If I'm correct, those are
defined in the *.v files of the XILINX/verilog/src/simprims/
directory, one file for each module. They all contain timing
information, which is what I'm after. So, I add
"-y%XILINX%/verilog/src/simprims/" to my iverilog command,
and it generates no error. Then, I run vvp, and generate a VCD
from my testbench. So far, so good.

I open the VCD, but it seems like the timing information hasn't
been simulated. For example, there is no delay between a clock
event and a counter update, etc. The levels are all OK, states
are the same as the pre-synthesis simulation, so I really have
no clue of what's wrong.

One thing I've noticed is that the SIMPRIMS modules all have
a `timescale directive, the glbl.v file has a different one, and
my testbench is again different... could it be that some timing
gets "rounded" off ?

Thanks for any info,
Christian


Does iverilog support SDF backannotation?  The SDF has the delay  
information.


Any specific reason why you're running a post-fit simulation?  The  
RTL simulation tells you if your logic is functionally correct, and  
the static timing analyzer (using your timing constraints) tells you  
if you've met timing.  If both are good, there's no need to run a  
post-fit simulation.


-a 



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


gEDA-user: Icarus Verilog with Xilinx simprims...

2007-03-17 Thread CSB
Hi all,
 I am trying to use Iverilog along with xilinx's SIMPRIMS. Well,
I managed, but I am getting strange results with simulations.

I'll try to explain how I'm doing this (I'm new to CPLDs, Verilog
and Icarus...)

First, I generate the post-fit verilog module from Xilinx ISE
project navigator. This is the .v file containing all the nets
and gates, for example X_AND2, etc... If I'm correct, those are
defined in the *.v files of the XILINX/verilog/src/simprims/
directory, one file for each module. They all contain timing
information, which is what I'm after. So, I add
"-y%XILINX%/verilog/src/simprims/" to my iverilog command,
and it generates no error. Then, I run vvp, and generate a VCD
from my testbench. So far, so good.

I open the VCD, but it seems like the timing information hasn't
been simulated. For example, there is no delay between a clock
event and a counter update, etc. The levels are all OK, states
are the same as the pre-synthesis simulation, so I really have
no clue of what's wrong.

One thing I've noticed is that the SIMPRIMS modules all have
a `timescale directive, the glbl.v file has a different one, and
my testbench is again different... could it be that some timing
gets "rounded" off ?

Thanks for any info,
Christian
-- 
  CSB
  [EMAIL PROTECTED]

-- 
http://www.fastmail.fm - Email service worth paying for. Try it for free



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


Re: gEDA-user: File corrupted after segmentation fault in pcb

2007-03-17 Thread DJ Delorie

If you edit the .pcb file and remove all the Rats[] entries (they're
all at the end) it will at least load.  However, all the layer
information is missing, so you'll have to re-add all the layers and
redefine the layer groups.

Do you have a save file in /tmp, or in the same directory as the
original file but with '-' appended?


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


gEDA-user: File corrupted after segmentation fault in pcb

2007-03-17 Thread Mikael W. Bertelsen
Hi all!

I tried out the gEDA package and I am very impressed! My thanks to all
who contributed to this project!

I created a layout in pcb and just needed the last finish before the
board was done. Unfortunately I marked two rats nets together with
my component which I wanted to delete. When I hit the delete button
pcb gave me a segmentation fault, and now the layout file is corrupted.

I know the layout file is ASCII, but as a first time user it is not
trivial to repair the file. Therefore, I will ask any of you to help
me repair the file.
I have no auto-backup since this apparently does not work quite yet in
pcb.

The files are located here:
Layout file: http://kom.aau.dk/~mwbe03/msp430-eval.pcb
Netlist: http://kom.aau.dk/~mwbe03/msp430-eval.net
Footprints: http://kom.aau.dk/~mwbe03/footprints/

Version:
#> pcb -V
PCB version 20070208


Debugger output:
#> gdb pcb msp430-eval.pcb 
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are welcome to change it and/or distribute copies of it under certain \
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for \
details.
This GDB was configured as "i486-slackware-linux"...Using host \
libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run 
Starting program: /opt/geda/geda-install/bin/pcb 

Program received signal SIGSEGV, Segmentation fault.
DrawRat (Line=0xb745e5c0, unused=0) at draw.c:1878
1878  if (TEST_FLAG (SELECTEDFLAG | FOUNDFLAG, Line))

Just for the records; The debugger solution above were found using
google when trying to search for a solution to my problem.

Thank you for any pointers or solutions to my problem.

Cheers,
Mikael



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


gEDA-user: updated design flow wiki

2007-03-17 Thread John Griessen

http://geda.seul.org/wiki/geda:design_flow_and_hierarchy_roadmap

Has current comments pro and con and feasibility.

I paraphrased and edited.  Please tell me if it was too much
without YELLING.  :-)

John G


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


gEDA-user: Re: Design Flow Roadmap starting point

2007-03-17 Thread Levente
DJ Delorie <[EMAIL PROTECTED]> wrote:
> 
>> While I am at it. PCB should be able to do hidden vias, buried vias
>> and micro vias...
> 
> If we can get the "layer types" project done (this is listed as the
> non-copper layers project in SoC), we'll be able to have a concept of
> a "layer stack" (unless we just assume the physical stack matches the
> GUI layer layout).
> 
> The next project after that is what I call a "multi-pin", which is a
> standard pin, but with a much more intense copper description, one for
> each layer, with drill depth parameters et al.  That would include
> blind and buried vias.  Microvias is just a drill size after that,
> unless you need them called out in a different .cnc file.


I use the CR5000 system at my work, where you can define so called padstack.
With it, you can place any copper, non copper layers, than you can use your
padstack to build elements up. The copper and non-copper layers are totally
independent.

BTW hard drc. With CR5000, you can define so called Ignore areas (as non copper
layers). For example, an area, where you can not place wire, another where you
can not place other components. IMHO, these are very useful features.

Just my HUF 100...

 

-- 
Levente
http://web.interware.hu/lekovacs



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