June 20, 2013 (I noticed Blogger doesn't automatically keep track of dates...)
So, for this voice board I'm integrating 2 VCO's, 1 VCF, 1 audio VCA, 2 ADSR's, and several CV VCA's. Since several of the sub-circuits are repeated, I didn't want to do the extra work of maintaining a schematic and doing the layout for each copy (instance). As I mentioned in the previous chapter, I had switched from Eagle PCB to DesignSpark in order to accommodate the size of the circuit, however I came to realize that it didn't manage multiple instances of sub-circuits very well. And just when I was starting to get comfortable with it.
Next I gave Kicad a try. This one allowed me to have multiple instances of a sub-circuit in the schematic. In fact the schematic portion handled this very well, making it easy to navigate hierarchy and manage sub-circuit symbols etc. I was very pleased with it until I got to the layout phase. At this point I felt things kind of fell apart as REFDES management wasn't as friendly as I would have liked and it didn't seem possible to copy the same layout of a sub-circuit to the multiple instances without complicated scripts.
Once again the hunt was on for a tool with the features I wanted. It seems I'm asking a bit much out of the freely available tools. My last hope was gEDA. Being open source I did not find gEDA to be nearly as easy to use as the other tools, but I have some familiarity working with open source software so I dove in and managed to make it work. Schematic entry handled the sub-circuits OK but not as nicely as Kicad. REFDES' were kind of nice in that you could use hierarchical definitions, though there seems to be some debate about whether or not this is preferred vs. a simpler numbering scheme. After working through this, I can see the benefit of simpler numbering (less cluttered silk screen). But what really sold me on gEDA was one key feature: Load layout to buffer.
This is what I had been looking for. Now I could take a sub-circuit and lay it out by itself, then paste that layout into the main board layout multiple times saving me the work of laying out each instance. I only needed one fairly simple script to rename the REFDES' for each instance.
So now I have all the pieces in one layout. It's a good deal larger than I expected (despite the move to SMT). I'm going through the process of trying to optimize the final layout. In hindsight, I'm not sure all the effort I went through to layout sub-circuits was worth it as far as making progress towards getting the board done, but at least it was educational. For future projects I may just stick with Kicad as the sub-circuit handling in schematic capture was very nice and useful, and I think I can manage the layout as long as I'm not doing a lot of copies of one sub-circuit. But I'll try to finish this board out on gEDA.