Tutorial on multi-channel PCB design in Altium
Here we show step by step on how to make a multi-channel design with Altium. This is a modified version to the official tutorial Website Link. Here we will illustrate it by creating the same Alitum project files as the AdvLIGO AA and AI Filter Board by Jay Heefner. One can download the Altium files AA_AI_Filter_v6.zip to see how the final PCB project look like, and also the individual file, and this will make the description below more concrete.
Detailed Steps
(New Project) Create a new PCB project: File > New > Project > PCB project. Here we name it as AA_AI_Filter_v6.PrjPCB;
(New Top-level Schematics) Under this new project, right click the project title and select Add New to Project > Schematics. This creates the top-level sheet schematics and we call it Board.SchDoc. In this top-level schematics, we will define wirings for the power, input, and output signals by proper Place Net Labels;
(New Sub-level Schematics) Similarly, we also create a sub-sheet schematics (lower-level sheet) that is identical for all channels. Here we named it AA_AI_Filter.SchDoc. On this schematics, we will make a detailed layout for the filter by connecting OPAs, resistors, and capacitors. In the end, we label the input and output ports by choosing Place>Port. Here we have two input ports: In- and In+, and two output ports: Out- and Out+;
(Linking Top and Sub levels) After finishing working on the sub-sheet schematics AA_AI_Filter.SchDoc, we return to the top-level sheet Board.SchDoc. We need to create a link between the top-level sheet and the sub-sheet by using Sheet Symbol, which is created by choosing Place>Sheet Symbol. After creating the sheet symbol, double click it, and in the Filename slot, choose the sub-level sheet AA_AI_Filter.SchDoc. After this, we need to add ports to the sheet symbol by right click the sheet symbol and choose Sheet Symbol Actions > Synchronize Sheet Entries and Ports. One will lead to placing the sheet entries (One can changes their styles by double click them and modifies their properties).
(Defining Number of Channels) Depending on the number of channels needed, change the designator for the sheet symbol to REPEAT(Channel Name, 1, Number of Channels). In our case, we have eight channels and we name it CH, so we simply use REPEAT(CH, 1, 8) and the designator for the sheet symbol of individual channels would be CH1, CH2, ..., CH8. When the number of components in individual channels is very large, it is wise to first repeat the channel for once and include new channel one at a time: REPEAT(CH, 1, 2) -> REPEAT(CH, 1, 3) -> .... -> REPEAT(CH, 1, n). This will significantly reduce the rendering time and CPU time in the PCB layout that we will talk about soon.
(Connecting to Ports) To successfully connect ports of the sheet symbol to other components in Board.SchDoc, first add REPEAT to the port names. In our case, we have REPEAT(In+), REPEAT(In-), REPEAT(Out+) and REPEAT(Out-). Connect a single wire to each port, and use Net Label to label them. Here we use InputP, InputN, OutputP, and OutputN. Then use a bus to connect to those wires by choosing Place>Bus. Use Net Label to label these buses by InputP[1..8], InputN[1..8], OutputP[1..8], and OutputN[1..8]. This will automatically assign the Net Label to each channel, which can be used to connect to other components (Here we connect to the D-sub connectors).
(Compiling Schematics) After finishing the linking, we are almost done with the schematics, and the last thing before we jump to PCB layout is to compile the schematics by choosing Project > Compile PCB project AA_AI_Filter_v6.PrjPCB. This will automatically assign the designators for the components in different channels.
(New PCB) After finishing the schematics, we now proceed to the PCB layout. Right click the project title and select Add New to Project > PCB. One can also use PCB Board Wizard in the New from Template drop-down menu inside the Files window on the left-side panel to define the board shape and certain rules for the wiring. In any case, one can still modify the board after creating it, so do not hesitate too much on this. Here we name it AA_AI_FilterRevV6.PcbDoc.
(Updating PCB) Choose Design>Import Changes From AA_AI_Filter_v6.PrjPCB. In the pop-up windows, choose Validate Changes and then Execute Changes. This will add the component footprints to the PCB layout. There could be some errors when we have components of which the Altium do not have the right footprints in its library. In this case, you can either ask colleagues to get the schematic library for the footprint, or make one by your own and there is a nice tutorial on the Youtube concerning this Link. Once you have all the right footprints, and you are ready to go to the next step of placing the components.
(Placing Components and Routing) Normally, the components are grouped in different rooms. In our case, we have a room for the top-level schematics and also one room for each channel. The nice thing about the room (or class in general, one can learn more about class and room in the official tutorial Classes_and_Rooms.pdf) is that one can copy the format of one room to another one of the same class. This is extremely useful for multiple-channel pcb. You can focus on one room and have elegant placements and nice routing for one channel (To router, you choose Place > Interactive Routing or choose Auto Route), and later simply copy this nice format to other channels in one click. In order to enable rooms, make sure that in the Project Options>Class Generation, the box in Generate Rooms is checked.
(Copying Format to Other Channels) Once you have done nice work on one channel (in one specific room), you can go to Design > Rooms > Copy Room Formats. First select the one with nice format, and then click the destination room that you want to copy that format. In the pop-up window, you click yes and you will see the magic happens.
(Finishing up the PCB) Once the format is copying to all channels, you can drag individual rooms around to place them in nice places, and the last thing you need to do is to connect them to the I/O connectors and powers. This will be a little bit work, but it is joyful in general after the magic show.
(Adding a Grounding Plate) To have a nice common grounding for the circuit, you need to add a grounding place by using Place>Polygon Pour. Choose the right layer that you want to put it on, and also not to forget to choose GND in the field Connect to Net.
(Final Cleaning up and Rule Checking) You can also use Auto Route to make the final routing. Note that Auto Route might have some confusion with the grounding plate. When you rebuild the polygon, you may find some GND connections are broken after running auto Route. The last thing you need to do is to run the rule checker to see if there are any errors in the PCB layouts (unrouted connections or clearance issues) by choosing Tools > Design Rule Check and Run the Rule Checker to run it. You will have a list of possible errors, and try to fix each of them. If there are no rule violation. You are pretty much done! Congratulations!
(Generating Gerber Files) For fabrications, the manufacturers need Gerber Files. It is rather simple, and you can get them simply by choosing Files > Fabrication Outputs > Gerber Files. In the pop-up window Layers menu, you can choose the necessary layers that the manufactures need. Normally, we check Top Overlay, Top Solder, Bottom Layer, Bottom Solder, Bottom Overlay and Mechanical 1 (which defines the boundary of the board) if we only have a two-sided board. If we have internal layers, we also need to include them.
(Generating Drill Files) The manufacturers also need drill file (by choosing Files > Fabrication Outputs > NC Drill Files) to tell them what kind of drill tools to use. Usually, the manufacturers will give a list of tools that they have, so make sure that the sizes in your drill file are OK, otherwise, they will choose the closest size tool to make those holes, which might be problematic if tight requirements are assumed.
(Sending to PCB Express) With Gerber and the drill files at hand, you are ready to go and send out for fabrications. We usually use PCB Express to fabricate our boards and here is the link to the website Link.
(Time for a Coffee or Tea) Now take few minutes to enjoy your accomplishments by have a cup of coffee or tea;-)
That is all to this tutorial. Good luck! Any question concerning this tutorial, please contact me via email: haixing@caltech.edu
