Kicad massively parallel buffer

I am learning Kicad and making some boards in the process.

This one is a JFET audio buffer using the 2SK2145.

Each buffer is 2 of the 2SK2145 and six SMT resistors. The buffer is U1, U2 and R1 through R6.

The board will be ~ 10" x 12" with 500 pcs of the 2SK2145 making it a 1,000 JFET board.

I have routed the buffer several times and I think I have it optimized enough to go ahead with a build.

Is there a way to recursively instantiate 999 copies of the basic buffer and have the part numbers increment? I want to be able to create a bill of material and have this built at a board house.

249 copies. Sorry for the arithmetic error.

I would be tempted to write a python script to generate portions of the schematic and PCB files, since they are in plain text. At least the PCB file format in 5.X and later is quite understandable.

Thank you. I did not know that. I will go have a look. Cheers

I have been reading and listening to Youtube videos.

Just tried nested hierarchical (H) sheets. That seems to work. I can do 5 H sheets on each page. At the bottom of the nesting is one sheet with my circuit.

I just did an experiment with layers of 3 nested sheets with one sheet at the bottom with a circuit. 27 identical circuits show up on the PCB with incremented annotations.

So, I think I can do two sheets on top with layers below of 5 sheets and get to my 250 circuits. From top to bottom will be 2-5-5-5-1 sheets.

After that I will try the “Replicate Layout” plugin

I would also recommend the SkiDL code. It’s goal is to solve problems like this.

As to the layout side of things, I’m not aware of an easy solution.

Are you trying to “step and repeat” (make an array of) a single design with the goal of having 500 separate but identical boards?

If so, don’t make the CM hate you by doing the consolidated BOM for the whole panel.

What you normally want in this situation is to create a panel of identical boards with a known array step/repeat size. Then provide the pick/place data for ONE board, and let the assembler worry about the array.

This gives them a much easier time dealing with inevitable hiccups in production, like a bad board in the panel (X-out), or if they have to interrupt/resume the array assembly in the middle of the panel (machine fault/feed failures, running out of parts on a cut tape).

OTOH, if the entire big board is a single design, you can ignore this reply.

Great question. It is a massively parallel single buffer made up of hundreds of small buffers. One input. One output. There will be comb-shaped buses to route V+, V-, input, output.

I have laid out an optimal buffer and want to replicate it 249 times and place them in 5 columns of 50 buffers per column.

This is probably what you want (the Replicate Layout one):

I think there was a detailed step-by-step not too long ago on the KiCad forum.

Hi Julia

Yes that plugin is next on the list to use. First I wanted to get 250 identical buffers on to the PCB. Maybe I did not need to do that but wanted to figure out how.

It does work, 5 layers of hierarchy. each sheet calls all of the sheets in the below layer. The bottom sheet has one circuit. quantity of sheets per layer is 2-5-5-5-1. 250 circuits show up on the PCB. Using global labels for the all of the I/O makes the circuits arrive in parallel.

I spoke too soon.

The plugin “Replicate Layout” does not handle my design error-free. There are many places where the individual circuits are overlaid and cannot be extricated from one another.

The problem was not apparent until I zoomed in.

I suspect you may have the steps wrong; this video may help:

Thanks. I did watch that. I have verified that if I move my circuit far enough away from each other there is no problem. I think I have to run the plugin “place footprints” to get more spacing between instances of the circuit

My circuit expands quite a bit compared to the bunched up ratsnest of parts. The instances of the circuit are too close together for the plugin replicate layout to work correctly