I just committed the Layer Stack Manager feature. Some comments below:
Le 03/09/2019 à 20:47, Evan Shultz a écrit : > A few comments from the peanut gallery using Simon's "497" build... > > Some things Seth suggested that I support and don't see: > - Units could be shown once at the top of the panel or in each column > header instead of each cell of the table. That would reduce clutter a > bit and shorten the string that needs to go into each cell. > - Moving the right-side stuff (impedance control and board finish) into > a separate panel of the dialog would allow the table to be wider. It's > awfully cramped right now. > - Alternating a color across each row would make the table easier to > visually parse. > > And some suggestions from me, as a knucklehead who has ran into many > issues with stackup: > 1. In the left pane of the dialog, there is a mix of "Stack-up" and > "Stackup". Fixed > 2. Dielectric layers are the only items in the Name column that do not > start with a capital letter. Fixed > 3. This panel and the popups use a mix of sentence capitalization, camel > case, and capitalizing every word. While it doesn't impair understanding > the panel's purpose, it doesn't look polished. > 4. The "X" column is not salient. It is the only column header with a > popup, and that's required because the function is opaque. Along with > the comment above about expanding the table, using a more verbose term > (or an icon?) for this column would be nice. Good idea. > 5. There are tables in the Defaults > Text & Graphics and Design Rules > > Net Classes panels. Having column dividers makes the table much easier > to read. Adhering to that style, I suspect, would improve readability of > the stackup table. The layer stack panel does not use a wxGrid. My first implementation used a wxGrid, but I had a lot of issues. > 6. I don't see the value of the "Board thickness" textbox at the top > left. It changes the dielectric layer thicknesses when clicking the Set > Dielectric Thickness button, but it sets the thickness of all dielectric > layers equal. I have rarely seen this done in practice and never for an > impedance-controlled board. This button seems to be mainly of value for > simple boards with low layer counts. For a 2- or 4-layer board it's not > much of a burden for the user to set the dielectric thickness manually > to whatever they want, or leave it alone as the user probably doesn't > care, and I can't imagine a high layer count board using controlled > impedances having all dieletric layers with the same thickness. So this > button doesn't seem useful to me. It's likely I'm daft and just don't > get it. > 7. One use for this is to specify the materials to be used by the board > vendor. Picking a dielectric material type not in the list means keying > in the parameters manually, probably after selecting "FR4". This can get > tedious. It would be nice to have a list of materials, perhaps from an > external file which could be shared company-wide, with approved > materials (NanYa NP-175FR, ITEQ IT-180A, etc.). Selecting one of these > materials would import the proper parameters. Perhaps an entire stackup, > and just the stackup, could be imported from a file or existing board. User defined dielectric material is not yet available. I'll add it later. > 8. Along with the above, allowing a custom name for the dielectric layer > lets the user better communicate design intent to the board vendor. And > if a custom material can be named once, perhaps it could appear as a > selectable material in the list so other dielectric layers could use the > same material with just a click. I get that keeping things in sync would > then be a pain but I'm trying to imagine ways to avoid manually typing > in the same info many times. Good idea. However it need a modifcation of .gbrjob specifications. > 9. Another equally important use for this table is to select track width > for single-ended and diff pair tracks (and in both broadside- and > edge-coupled DPs). This table is a logical place to report all three > impedances in new columns so the user can select the stackup, and then > design constraints, before routing begins. While I can understand this > being a later piece of the puzzle, I mention it in case there's anything > that makes sense to do now. Do not dream: one can calculate impedance only is basic cases. > 10. It would be convenient if the copper thickness could be selected in > ounces, even if that was converted to a mm thickness after selecting a > value from the pulldown list. Selecting copper thicknesses (with custom > names) and board finishes is another obvious set of selections that > could be included in a company configuration as mentioned above. You can enter a value with units: for instance 1oz instead of 0.035mm > 11. Additionally, selecting the thickness on outer layers does not > capture if the thickness is fully copper or copper plated up to the > specified thickness. While it doesn't necessarily affect board thickness > or impedance, this is an open area that can lead to getting boards NOT > as intended which I understand is the whole point of adding this table > so far. > 12. In order to get the exact stackup I want, often coupled with > material availability, I have sometimes used multiple dielectric layers > between conductor layers. Currently only a single dielectric layer > between conductor pairs is supported. Have you a link to this kind of boards? > 13. Especially when dealing with board vendors who speak another > language, a graphic is a powerful communication tool. Creating a drawing > like > https://img.taodabai.com/upload/4e/78/4e789a33d80a15c0aa480e11699e1b48.jpg, > which captures the materials and shows a proportional drawing of the > board cross-section, is a very powerful tool. I wouldn't expect this to > be implemented right away because the current features are nice, but > having the hooks to make a Python plugin that can generate a board > cross-section in the board fab drawing from the stackup table would be > very nice. > > This is awesome and a huge benefit; designing a board doesn't matter if > it's not built as desired. Folks making advanced boards with KiCad > should appreciate this new feature very much. Please take the above as > enthusiastic suggestions and not condemnation. > > Thanks JP! > Thanks for your input. -- Jean-Pierre CHARRAS _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp