1 This file is the start of a wish list of features/improvements in no particular
4 -----------------------------------------------------------------------------
5 - The ability to create more complex pad shapes. For example, a pad which
6 has a square end on one end and a round end on the other. Or, for example,
8 -----------------------------------------------------------------------------
10 -----------------------------------------------------------------------------
11 - Support in both the layout editor and in components for additional non-mask
13 - A layer with some alignment marks. Uses are for connectors which must
14 be mounted a specified distance from the board edge. You could
15 align the alignment layer with the board outline. I've used the
16 assembly layer for this in the past.
18 - A keepout area for copper. One use is if you create a microstrip
19 filter and want to prevent traces from being accidentally placed
20 too close or you want to keep the autorouter away from that area.
22 - A keepout area for drills. This is useful in some applications where
23 you need to put vias on top of a pad, but need to keep other areas
24 of a pad via-free. The application here is, for example, a Johnstech
25 socket for a QFN package. See johnstech.inc.
27 -----------------------------------------------------------------------------
28 - Support for an arbitrary number of copper layers or at least lots more than
31 -----------------------------------------------------------------------------
32 - Support for including soldermask relief in a component. Useful for some
33 engineering sockets used with advanced high frequency packages such as QFN
34 which require a certain area to be clear of soldermask and silk.
35 -----------------------------------------------------------------------------
37 -----------------------------------------------------------------------------
38 - The ability to create components that include copper polygons and pads where
39 the user should connect up to. This would enable creating elements like
40 a microstrip filter, a spiral inductor, patch antenna, etc which could easily
41 be handled by the layout. You'd want some sort of keepout region around to
42 at a minimum cause a DRC violation if you got traces too close to part of your
43 microstrip stuff. Another application is a solder bridgable gap. This is
44 typically made by taking a square or round pad and making a diagonal cut
45 across it. Currently, you can make such a thing with a polygon, but it can't
46 become part of a component which is verified for connectivity.
48 -----------------------------------------------------------------------------
50 - some support for hierarchy. I don't have a completely clear vision of how this
51 should work. The things I'd like to accomplish are the following:
52 - When layout out a fully differential circuit, its nice to be able to
53 layout a 1/2 circuit and instantiate two copies of it. This helps ensure
54 that the layout is absolutely symmetric.
56 - When laying out multiple channels of some circuit, its nice to not have
57 to replicate the work.
59 -----------------------------------------------------------------------------
61 - Some link back to the library for components. That way if I update a broken
62 footprint in my library I don't have to manually fix every instance of it.
64 -----------------------------------------------------------------------------
66 - A way to store the active/inactive list of nets so when you exit pcb and
67 load it again, the set of nets is saved. Also, when reloading the netlist
68 this saved set should be compared and merged as best as possible. This
69 way, you can keep ground and power rats off while the design is still changing.
71 -----------------------------------------------------------------------------
73 - A 'distribute components' feature. This would let you select a group of
74 components and automatically place them, but with no attention paid to
75 connectivity. It would simply move them apart. Useful if you've used
76 a tool such as gsch2pcb that created a new board from a schematic, but all
77 devices are on top of each other.
79 -----------------------------------------------------------------------------
83 -----------------------------------------------------------------------------
85 - a database of which elements (and which version of that element) have been
86 verified through fabrication.
88 -----------------------------------------------------------------------------
89 - Port to GTK for a more modern look and feel along with providing an easy
90 path to a native windows port.
91 -----------------------------------------------------------------------------