The ability to reuse existing sections of designs islike the quest for the holy grail in our design team – something wevalue highly and dream of finding, but have yet to discover. And if youwere to push me to take a position, I used to doubt it would ever befound.
So I'd have to say that I was skeptical when I read statements aboutdesign reuse in Altium Designer – “I'll believe that when I see it”were my exact words.
Everyone in the team was already practicing design re-use, we werecopying and pasting sections of existing designs ” like standard commsor power supply sub-circuits ” into our current projects.
But there was no integrity in the copied design, because any numberof mistakes could be made during the copy/paste process, and theengineer could and would modify the circuit to suit their idea of agood circuit. That meant it had to be subject to the standard reviewand triple-check sign-off process.
The challenges of design reuse
For design reuse to work, there are a couple of fundamental challengesthat must be solved.
1. Theschematics must be available for everyone to use, but secure from anyediting. We want everyone in the team to be able to easilyexplore and use all our proven circuits, with all additions and changescontrolled and managed by our formal review process.
2. Since thiscentral resource cannot be edited, the design environment must supportthe ability to update the component designators on each new design .This must be done without affecting the assignments on the master copy(as that would break rule 1). This has always been the deal-breaker inthe past ” how to maintain unique component designations in the newdesign, without resorting to some complex and convoluted naming scheme,like R1_Power_1v2, in the master re-use copy.
Well, it's time for this skeptic to put his money where his mouthis. My current design has been prototyped on the Desktop NanoBoard, andit's time to move it to a custom board. I can save loads of time andaccelerate that process if I re-use circuitry directly from the DesktopNanoBoard, so it's time to brave the waters of design reuse.
An elegant approach to design reuse
Like any engineer, I'm always curious to see how things work. So whenmy snazzy new NanoBoard arrived I had the schematic and board filesopen in Altium Designer as soon as the board itself had been plugged inand powered up.
One of the first things that caught my eye on the top schematicsheet for the NB2 was the recycling symbol inside some of the sheetsymbols, ahown below:
Pressing F1 (see in Figure 1 below )as I hovered the mouse over the symbol, I discovered that this was aDevice Sheet Symbol (instead of a standard sheet symbol), which pointsto a Device Sheet, and that Device Sheets are reusable blocks ofcircuitry.
|Figure1. Altium Device Sheet Menu|
I now knew that a reusable chunk of circuitry was called a DeviceSheet, and it was accessed by placing a Device Sheet Symbol. And byclicking the link in the summary in the Knowledge Center panel, I had aPDF called Using Device Sheets open, ready to guide me.
I drilled down into one of the Device Sheets on the NanoBoardschematic, the USB in fact, because my design would use the same USBdevice (Figure 2, below) . TheDevice Sheet had interesting watermarks on it, the recycling symbol wasthere again, and also the text, Read Only. I printed the sheet to checkthat the watermarks were not included, but just the circuitry printedas I'd hoped. They were useful on-screen, but I definitely did not wantthem included in the client's PDF!
|Figure2. Device Sheets are standard schematics, but because they are placedas a Device Sheet Altium Designer can be configured to show them asread only, and recycled.|
(To view a larged view of this figure, clickhere.)
I then checked the help PDF to learn more. I was happy to read thata Device Sheet is actually just a standard schematic sheet, which meansit will be straightforward to take sheets from our existing designs andreuse them as Device Sheets.
I also learned that while a Device Sheet lets me reuse a chunk ofcircuitry, I could also build a hierarchy of Device Sheets if needed.This is perfect for those situations where there is a larger section tobe reused.
Reusing existing circuitry
To let Altium Designer know where my reusable schematics, or DeviceSheets, are stored, I just needed to reference the location in theSchematic ” Device Sheets page of the Preferences dialog. I noticedthat the supplied Altium Device Sheets were already hooked in, so Iadded another link to a suitable location on our network, where I couldstart copying schematics of our own reuseable sections of designs.
In no time at all I had added USB and touchscreen hardware into mydesign (Figure 3, below ), usingthe Place Device Sheet Symbol command and placing the appropriateDevice Sheet Symbols from the Select Device Sheet dialog. SignalHarnesses are an excellent partner for Device Sheets as well. Theybundle nets and buses together so the structural schematic sheets canbe kept clean and simple.
|Figure3. Reusing existing circuitry is as simple as placing a Device SheetSymbol|
So far I was impressed. The Device Sheet mechanism meant it wasstraightforward to exploit our existing proven sections of circuitry,and as an added bonus I had easy access to the circuitry on the AltiumDesktop NanoBoard.
But the big question that remained was how Altium Designer wouldhandle the designators. Although I only had a portion of the hardwarecaptured, I decided to look into it straight away.
Managing the component designators
Back to skimming the Using Device Sheets PDF file. I learned that thesecret to annotating a design with Device Sheets is called Board LevelAnnotation. It's called Board Level Annotation because it allows me tore-annotate my design, as it is destined for the board, withoutre-annotating the original schematics.
I ran the Board Level Annotate command, and discovered in theOptions that there is a flat naming scheme, called$ComponentPrefix$GlobalIndex. This meant I could still have thetraditional R1 to Rn numbering across the entire design, which was justwhat I was after. After running the Board Level Annotation process, Iexplored the results (Figure 4, below )by clicking the Tabs at the bottom of the schematic editor workspace.
|Figure4. Original component annotations are shown on the TOP with there-annotated version on the BOTTOM. Note that the superscripts areoptional, and can be turned off in the Preferences.|
I went back to the PDF to see what other neat features were available.It showed that the Annotate Compiled Sheets command is used to renumberall the sheets in the design, including the Device Sheets. Like BLA(board level annotation), this let me modify the sheet numbering inthis project without affecting the original schematic.
A new Device Sheet and BLA convert
I have to admit that I seriously doubted the design reuse claim when Ifirst read about it. But now, basking in the success of my rapidhardware development – my hardware design capture was half-completealready (Figure 5 below ) and itwasn't even lunch time – I realized how wrong I'd been..
|Figure5. The custom board nearing completion|
Not only did Altium Designer provide a simple yet elegant method ofletting me reuse existing, proven circuitry, it also gave me directaccess to all of the hardware in my prototype design that was runningon my Desktop NanoBoard. And all of these Altium Designer features werefully functional right out of the box.
Phil Loughhead is with Altium Designer Applied Technologies, Altium Ltd.