1. Introduction
This is the fifth part of my EAGLE Tutorial series, following on from EAGLE Tutorial: Library Part Creation Part 4 - Advanced Packages and Package Variants. If you haven't read the previous articles then I recommend you take a look there first as they set the scene for this part of the tutorial series and gives some general tips on using EAGLE.
We've already covered how to create complete devices and from the previous tutorials we learned all the steps required to create a symbol for a device and multiple packages and hook them all together into a functional and usable device. However, sometimes just a single symbol really doesn't cut the mustard. This works fine for small devices with pins that are numbered in the tens but what about when you have a large microprocessor or an FPGA with hundreds or even thousands of pins? How big would the symbol need to be? Another scenario where using a single symbol is suboptimal is devices where there are maybe multiple identical parts to a single device which you may want to place individually on a schematic to help draw up a circuit more clearly. Examples of this might be a quad op-amp, a hex inverter, or a high pin count connector.
2. Creating a multi-symbol device
2.1. Quick overview of the example part
2.1.1. Functional Overview
For this tutorial we are going to look at the THD4524 from Texas Instruments which is a quad very low power, negative rail input, rail-to-rail output, fully differential amplifier. You can see the data sheet for the extended temperatute part here: http://www.ti.com/lit/ds/symlink/ths4524-ep.pdf
The device is organised as per the following:
As you can see there are four identical amplifier stages. Each has a differential input, a common mode input voltage, a power down input, a differential output and a positive supply rail. All four amplifiers in the package share the same common negative power rail.
2.1.2. Pinout
For the amplifier sections the pinouts are:
Pin Name | Channel 1 | Channel 2 | Channel 3 | Channel 4 |
---|---|---|---|---|
PD | 1 | 6 | 11 | 16 |
Vin+ | 2 | 7 | 12 | 17 |
Vin- | 3 | 8 | 13 | 18 |
Vocm | 4 | 9 | 14 | 19 |
Vout+ | 36 | 31 | 26 | 21 |
Vout- | 37 | 32 | 27 | 22 |
Vs+ | 35 | 30 | 25 | 20 |
For the common negative input rail the pinout is:
Pin Name | Pin Numbers |
---|---|
Vs- | 5, 10, 15, 23, 24, 28, 29, 33, 34, 38 |
2.2. Creating symbols based on functional groups
So we can see from the above that there are two distinct functional groups. There are the op-amp channels in one group and the common negative rail in the other. What we need to do is create a single symbol to represent each of these groups. This is no different from how we've created symbols before so I won't redo this again, I will just show each of the symbols as I have drawn them in my library.
The first symbol is the main op-amp channel symbol:
Finally we need a symbol for the common Vs- rail:
2.3. Creating the device
We now start to create the device exactly the same way as we did in Part 3. This time however, instead of just adding a single symbol to the device we add four of the op-amp channel symbols and one common rail symbol.
In the schematic when we place the parts we want the symbols to have meaningful reference designators so we can easily differentiate between them, e.g. U1-A, U1-B, U1-C, U1-D, U1-PWR. We do this by using the NAME command and giving each symbol in the device view a corresponding suffix name. In this case we want them to be called -A, -B, -C, -D, and -PWR.
Now, we can go ahead and map the pins exactly as we did previously. When you look in the pin mapping dialog, you will see that the names we chose in the step above are prefixed to the pin names so you can see to which symbol they belong. Once you've mapped all the pins you should have something which looks like the following:
Now there is one final thing we need to do is ensure that the symbols are added correctly. You will see that next to each symbol there are two properties. AddLevel and SwapLevel. We'll delve into these further in a subsequent tutorial so for now I will tell you that we'll be setting the properties on the -PWR symbol to AddLevel=must and SwapLevel=0 and for the op-amp symbols -A/B/C/D we will set the properties to AddLevel=next and SwapLevel=1. Once these are set the library view will look like the following:
We'll finish off by adding any attributes we need and updating the description for the device as we did previously.
3. The finished multi-symbol device
Once it's all done you should see something like the following:
You'll see in this example I have added an attribute called DATASHEET. This is something I add to all my parts. I have a ULP which adds a right click context menu entry 'View Datasheet' which uses this attribute and launches the datasheet in the system default browser which is exceedingly useful when you need to get to a datasheet for a part quickly. You can find this ULP and several others over on my EAGLE ULP Utilities Library blog page. I'll be covering adding attributes to parts in the next instalment of this EAGLE tutorial series.
This concludes the fifth part of my new EAGLE tutorial series. Let me know what you think in the comments below and if you have any questions please feel free to ask!