I have created this post for everyone who is interested to know more about x86 Motherboard design process. However it may apply for any kind of similar projects – e.g. processor board design.
The table can be downloaded here (looks much nicer in PDF).
This table describes one of the possible ways to develop custom Motherboard.
|#0||Motherboard Prototype Development Starts|
|Select CHIPSET.||Motherboard HW Design|
|Download all the available CHIPSET Reference schematics and documents. Select one board (the one which is closest to the custom specification) and use it as your Starting schematic.||Motherboard HW Design|
|From the schematic remove everything you don’t need.||Motherboard HW Design|
|Add peripherals and features from the other reference boards (the reference boards from the same CHIPSET) to your schematic (e.g. Super IO). Try to connect them the same way as they are connected in the reference boards – they will be then supported by existing BIOS.||Motherboard HW Design|
|Find reference boards of the peripherals which are not available on the CHIPSET reference boards, but are required by specification. Be sure there is existing BIOS support for these peripherals/chips (e.g. Ethernet, Audio, Bridges, … ). Check the BIOS support with chip manufacturer. Tip: If you are not sure – if ADD a peripheral or NOT, then ADD IT. You can always remove it later and you don’t need to waste time with waiting for a decision.||Motherboard HW Design|
|Contact manufacturers of the chips which are not in the CHIPSET reference schematics, and ask for their reference schematics. Be sure you have reference schematic for every chip used on the board (if reference schematic is available).||Suppliers / Manufacturers|
|Customize reference schematics e.g. replace power supplies. Do rest of the changes to fully meet your board specification.||Motherboard HW Design|
|At this stage schematic Draft is ready.||Motherboard HW Design|
|Create Schematic Symbol Library and find components in supplier database (e.g. I use Digikey, Farnell, Mouser, …). Update all components in the current schematic with the new created components. The new components should contain information such Description, Manufacturer, Product Number, Supplier, Supplier number, Price. Tip: If you can’t find a component in supplier database DO NOT USE IT in your design. Find a replacement. Otherwise you may have a lot of trouble to buy the component later on.||Motherboard HW Design|
|#4||At this stage Preliminary schematic is ready||Motherboard HW Design|
|Generate preliminary BOM, check most expensive components, calculate price for board quantity 1k (compare with competitors), calculate price for prototype, optimize schematic (Are cheaper circuit/chip available? Can similar components be replaced by one? e.g. similar resistors, …).||Motherboard HW Design|
|If a component is not available via standard supplier, contact the component manufacturer and ask for quotation/samples. Identify components with lead time longer than 6 weeks and order them.||Suppliers / Manufacturers|
|Add footprints and 3D models into your library.||Motherboard HW Design|
|Do preliminary placement, check if components physically fits on the board (often the board size is defined by specification). Now is the time to make decision what will stay and what will be removed. Make 3D model of the board and check if opposite/mating connectors will fit (Mating connectors for headers are often bigger than connectors placed on the board. If the on board connectors are very close to each other then it may not be possible to plug the connectors in). Check component height (if limited by specification or stand off components e.g. under SODIMM slots, under CF stand off connector, …).||Motherboard HW Design|
|#6||Check schematic symbols (open datasheet, check if pin numbers and pin names are correct).||Motherboard HW Design|
|Compile and check schematic (Check where every net is connected, compare with reference schematics, check component values, voltage level, current consumption, Pull UPs/DOWNs, Input <-> Output connection, Differential pair connections +/-, …). Add Classes (e.g. MEM_BANK0, MEM_CMD, …), name important nets (e.g. voltage feedback, high current paths, …), start power nets with sign “+” and add voltage value (e.g. +3.3V). Go through schematic checklists (often provided by chip manufacturers).||Motherboard HW Design|
|Check footprints (check if pin numbering is ok, use measuring tool in your EDA software and compare dimensions with recommended FOOTPRINT, use same measuring tool and check your footprint comparing to COMPONENT dimensions. Does it fit?).||Motherboard HW Design|
|#8||At this stage Checked schematic is ready. Preliminary 3D model of the board is available.||Motherboard HW Design|
|Do Placement. Check mechanical components (board outline, position of mounting holes, connector position, …) and Lock them down. Think about Thermal solution (heatsink, fan, heatspreader, ..) and how it will be mounted on the board. Think how the board will fit into your enclosure. Think about power distribution – where on board power supplies will be placed (the best close to the power input connector) and where analog circuits will be placed (away from power supplies and digital parts).||Motherboard HW Design|
|Set PCB basic rules (I normally use track 0.1mm/0.1mm for space/gap, VIA 0.45mm/0.2mm for pad/drill, uVIA 0.25mm/0.1mm for pad/laser drill) and start layout.||Motherboard HW Design|
|Order all components.||Suppliers / Manufacturers|
|Do preliminary memory layout (leave some space around memory area for length matching).||Motherboard HW Design|
|Do preliminary layout for buses with a lot of signals e.g. PCI, ISA, …||Motherboard HW Design|
|Check all the received components, compare components physically with your footprint. Print your PCB in scale 1:1, open the bag with components and place the component on your printed PCB. Check if component fits ok. Mark it down.||Suppliers / Manufacturers|
|Do final placement under CPU – decoupling capacitors, reference voltages, precise resistors. Do fanout under CPU.||Motherboard HW Design|
|Order CHIPSET reference board. This board will be used during development process (e.g. to compare timing, voltages, …). The BIOS from this board may be used as a bring up BIOS for the new board.||Suppliers / Manufacturers|
|Start communication with BIOS development companies. Ask for quotation on BIOS customization. Look for Debugging tools – you will need a diagnostic board which can read POST code send by BIOS (e.g. if board doesn’t boot, and there is no display output, the card will help you to identify where BIOS stopped).||BIOS Development|
|Do final placement under Chipset – decoupling capacitors, reference voltages, precise resistors. Do fanout under Chipset.||Motherboard HW Design|
|Do layout for isolated peripherals – the peripherals which are in corners and easy to do layout. Always do fanout VIAs first and then connect nets in inner layers.||Motherboard HW Design|
|Do layout for power supplies. Do not forget place VIA arrays for high current power rails.||Motherboard HW Design|
|Start from easiest corner and move systematically. This way you will see your progress. Plan ahead – think about which layers will be used for certain connections (e.g. if uVIAS are used, try to connect pins without using buried VIAS – this saves a lot of space). Your goal is to connect all the nets – at this time do not worry too much about violations. When you connect all the pins, you will see which areas need special attention – the areas with a lot of violations.||Motherboard HW Design|
|Go through violations and remove them. Start from critical areas.||Motherboard HW Design|
|#14||Now you have preliminary layout||Motherboard HW Design|
|Optimize layout a little bit, focus on areas with very high track density. Make space for length matching and high current paths.||Motherboard HW Design|
|Ask PCB manufacturer for stackup information, provide them with your preliminary layout (based on the preliminary layout they can tell you price for the new PCB), list requirements (e.g. impedances, minimum via, PCB thickness, …).||PCB Manufacturing|
|Do memory length matching. Tip: Use an excel file to record track lengths. It is very useful to have the file e.g. when new revision of PCB is designed, its easy to check if memory layout is ok and un-touched.||Motherboard HW Design|
|Do layout optimization (power distribution, power planes, check number of VIAs for high current paths, re-route differential pairs to match required impedance – do it based on information from your PCB manufacturer, length match other signals which require it). Check VIA maximum current, check maximum track current – does your layout meet these power supply requirements? Go through Layout checklists (chip manufacturers often provide Layout checklist for their chips).||Motherboard HW Design|
|Add manufacturing information directly into PCB (create assembly drawing layer, add a table with information about PCB e.g. used impedances and track geometry, add a note with gerber file description – what layer is in what file).||Motherboard HW Design|
|Check your PCB. Now is the time to update all tracks with 50/55 OHM impedances – check information from PCB manufacturer and set all 0.1mm tracks to the new width. Generate Outputs: 3D pdf file, 3D step file, PCB manufacturing files (Stackup information, Gerbers, Drill files, Drill Drawing), Board Assembly files (BOM with one component per line e.g. U13 10uF, BOM with grouped components by type e.g. 10x 100nF, Assembly TOP and BOTTOM Drawing – document which shows component position on the board, Mechanical Drawing with board dimensions, Pick and Place file), Schematic in pdf.||Motherboard HW Design|
|#16||Send PCB into production||Motherboard HW Design|
|Order PCB.||PCB Manufacturing|
|Order all missing components and cables.||Suppliers / Manufacturers|
|Order All debugging tools.||BIOS Development|
|Design Breakout boards – Do Breakout Schematic. Note: Breakout boards are the boards which convert a pin header to real world connector e.g. audio header to jacks, Ethernet header to RJ45 connector, USB header to USB connectors, …||Breakout HW Design|
|Do Breakout PCB Layout.||Breakout HW Design|
|#18||Send Breakout PCB into production.||Breakout HW Design|
|Order Breakout PCB.||PCB Manufacturing|
|Generate BOM for Breakouts.||Breakout HW Design|
|Order ALL missing components and components for breakouts – including cables, crimps, wires, mating connectors …||Suppliers / Manufacturers|
|Make all cables.||Breakout HW Design|
|Check if all tools, cables, breakouts are ready, order if something is missing.||Suppliers / Manufacturers|
|Send all components to Assembly company. If Breakout Boards are assembled in house, keep the Breakout components & PCBs and build them.||Board Assembly|
|#20||The Motherboard PCB is now back from production and delivered to Assembly company.||Motherboard HW Design|
|The Motherboard is assembled.||Board Assembly|
|Motherboard PROTOTYPE is READY.||Motherboard HW Design|
|Breakouts are READY, Cables are READY.||Breakout HW Design|
|#22||Motherboard HW Verification Starts|
The number of weeks needed for motherboard desing may vary, but the timing in this document fits to most projects with tollerance +/- 4 weeks. The time needed for design depends on several factors e.g. good specification, board size, number of components, number of differences between reference schematic and specification, ….
9 thoughts on “x86 Motherboard Development Process – Step by Step”
this is very interesting.
I’m doing high-speed board design for DSP/FPGA boards routinely as a part of my
job. But I would like to design x86 board as a skill challenge. Could you
please answer my question? Is there any way to obtain x86 reference design
without signing a NDA with microprocessor/chipset manufacturers? I tried to get
access to Intel designs but they refused me with apparent arrogance.
Hi Dennis, all x86 designs I have been working on required NDA. Try AMD, they are more accessible than Intel.
Robert, thank you for the reply. I will try and reach AMD now.
what would you call Out of your experience as the biggest challenge in the x86 design?
Phil, biggest challenge? I would not say there are biggest/smallest challenges. Challenges are always big for me – so there are many. For example, a big challenge is to design a board from scratch which is sold to customers as first version. Other challenges are for example to fit all required peripherals into a small space – and then make layout for this board. When you think for example about Power supplies, Ethernet boards, Audio, SATA Drives, … all these are hard enough to develop as separate boards and you need to integrate all these peripherals together with CPU, chipset and memories into one board and is expected everything will work at first time. I would say, that certainly is a big challenge.
Also, it’s extremely hard for first prototypes. When you think about how many things can go wrong (wrong schematic, wrong symbol/footprint, wrong layout, wrong component, wrong manufacturing, wrong software, mechanical …) it’s always great feeling to see the board booting up for very first time 🙂 That’s why I like challenges.
Is this based on full time work (around 40 hours a week)?
I normally book in 5 hours / day (25 hours per week)
I’m not sure I can find a modern design schematics for laptops boards (which I’ interested in) – do you have a source for such things?
Maybe have a look here: http://www.fedevel.com/welldoneblog/2013/07/design-your-own-intel-x86-motherboard/