Skip to the content
6 layers86.4 × 54.6 mmBeagleBone Black.unrouted, the printed circuit board in 3D

BeagleBone Black.unrouted

The-OpenROAD-Project-Attic/SA-PCB44

Annealing-based PCB placement tool

Size
86.4 × 54.6 mm
Copper layers
6
Thickness
1.6 mm
Parts
275
Nets
272
Pads
1,510
Tracks, vias
0, 0
Pours
33
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
10 May 2019
Updated
26 May 2020

Overview

BeagleBone Black.unrouted is an open-source printed circuit board by The-OpenROAD-Project-Attic, from the The-OpenROAD-Project-Attic/SA-PCB repository on GitHub, published under the BSD-3-Clause licence. It is a 6-layer board of 86.4 × 54.6 mm with 275 parts on 272 nets.

It is built around the IP4283CZ10-TBR, TPD4S012DRY and TXS0108ERGYR, with the 24LC32AT-I/OT, LTST-C191TBKT and BSS138W-7-F among its other parts. Its parts include 124 resistors, 64 capacitors, 10 ICs, 5 crystals and 3 diodes.

Main components

12

README

readme.md

SA-PCB

SA-PCB: Simulated Annealing-based Placement For PCB Layout

Getting Started

Installation

Pre-requisites

  • GCC compiler >= 4.8.5
  • boost library >= 1.62
  • cpp-taskflow >= 2.0
  • Python >= 3.6
  • shapely >= 1.6.4
  • matplotlib >= 3.0.2
  • docopt >= 0.6.2
  • numpy >= 1.15.4
  • argparse >= 1.1
  • tqdm >= 4.30.0 [python-multistart]
  • numba >= 0.42.1 [python-multistart]
  • multiprocessing [python-multistart]
  • yaml
  • json
  • Recommended OS: Centos6, Centos7 or Ubuntu 16.04

Clone repo and submodules

text
$ git clone --recursive https://github.com/choltz95/c-pcb-annealer
$ cd ~/c-pcbannealer
$ pip install -r requirements.txt
$ make install
$ make

Fix eagle2bookshelf errors

text
You may have to fix some Swoop errors. Download DRU.py and place into the eagle2bookshelf
directory.

 $ wget https://raw.githubusercontent.com/NVSL/Swoop/master/Swoop/DRU.py
 $ mv DRU.py eagle2bookshelf

Check your installation

text
To make sure your installation is correct and the current tool version is stable enough,
run a Hello World application:

$ make test
$ open test.png

How to execute

text
./sa parameters
   -i <optional, value> : for denoting # outer iterations PER SA INSTANCE
   -j <optional, value> : for denoting 'j'*#nodes inner iterations
   -t <optional, value> : for denoting initial temperature
   -f <optional, str>   : for output filename
   -e <optional, float> : convergence epsilon
   -v <optional>        : Ben-amur flag
   -x <optional, int>   : simulated annealing instance index
   -p <required, string>: input placement board
   -d <optional, {0-3}> : debug verbosity
   -r <optional, {0-3}> : rotation
   EXAMPLE: ./sa -i 20000 -j 20 -t 1 -p input -f output

License

Description

C++ annealer for simple PCB placement of polygonal components. Supports the following:

  • Analytical overlap for arbitrary polygons using boost geometries
  • Support 90 deg., 45 deg., free rotation [free rotation in progress]
  • HPWL cost term for wirelength
  • BEN-AMEUR et al. cost-normalization & automatic initial temperature
  • Variable placement shift window, smaller displacement with temperature
  • Geometric temperature updates (cooling schedule) based on Timberwolf schedule
  • Bookshelf parser
  • Bookshelf version translator
  • Plotting & animations

Limitations / Current issues / In development

  • Parallel multistart [Issues with cpp-taskflow. Still support for multi-start via python script.]
  • R-Tree spatial indexing for fast overlap computation
  • Free rotation
  • Algorithm very sensitive to parameters
  • Broken support for weighted modules/nets
  • Set up Dockerfile
  • Support json configuration files for algorithm parameters

Authors

  • Chester Holtz, Devon Merrill, James (Ting-Chou) Lin, Connie (Yen-Yi) Wu (Ph.D. advisor: Chung-Kuan Cheng, Steven Swanson).
  • Pull requests to improve the tool are very appreciated.

Citations

  • Sechen, C. and Sangiovanni-Vincentelli, A. L., "The Timber-Wolf placement and routing package", IEEE J. Solid-State Circuits 30:510–522 1985.
  • Spindler, P. and Johannes, F., "Fast and Accurate Routing Demand Estimation for Efficient Routability-driven Placement ", IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2007.
  • C.-K. Cheng, A. B. Kahng, I. Kang and L. Wang, "RePlAce: Advancing Solution Quality and Routability Validation in Global Placement", to appear in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2018. (Digital Object Identifier: 10.1109/TCAD.2018.2859220)
  • Ben-Ameur, Walid. "Computing the initial temperature of simulated annealing." Computational Optimization and Applications 29, no. 3 (2004): 369-385.
  • James M. Varanelli and James P. Cohoon. Two-stage simulated annealing methodology. In Proceedings of the 5th Great Lakes Symposium on VLSI, pages 50–53, Buffalo, NY, 16.-18. March 1995. IEEE, Los Alamitos, CA. †EI M153001/95
  • K. D. Boese A. B. Kahng and S. Muddu A new adaptive multistart technique for combinatorial global optimizations, Operations Research Letters, 16(2): 101-113, September, 1993.

Parts

275
QtyValueFootprintReferences
2410k, 1%R0402R1, R2, R3, R12, R13, R16, R18, R19, R20, R23, R24, R25, R28, R30, R119, R121 +8
23.1uF, 6.3VC0402KC2, C13, C15, C17, C18, C21, C22, C24, C25, C43, C44, C45, C47, C48, C49, C50 +7
17100k, 1%R0402R57, R58, R61, R63, R65, R67, R69, R71, R73, R75, R76, R78, R80, R82, R85, R123 +1
1647pF, 6.3VC0402KC27, C28, C29, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39, C40, C41, C42
120, 1%R0402R14, R26, R27, R29, R35, R36, R37, R38, R39, R54, R114, R122
1133, 5%R0402R60, R62, R64, R66, R68, R70, R72, R140, R141, R142, R143
1033, 5%R0603R86, R126, R127, R128, R129, R130, R131, R134, R135, R136
10PTR1B1,27B1,27TP6, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP23
81kR0402R89, R90, R92, R96, R100, R104, R124, R125
7LTST-C191TBKT0603-LEDBT, PWR, USR0, USR1, USR2, USR3, WL
610kR0402R98, R99, R101, R102, R103, R105
64.75k, 1%R0402R21, R22, R43, R52, R53, R55
6FIDUCIALFIDUCIAL_40MILFUD1, FUD2, FUD3, FUD4, FUD5, FUD6
52.2uF, 6.3VC0603KC16, C54, C55, C56, C57
5TESTPAD/W_HOLE_1X1TESTPAD_W_HOLE_1X1TP1, TP2, TP3, TP4, TP5
41.5k, 1%R0402R41, R42, R115, R118
418pF, 50VC0402KC3, C4, C5, C6
4MOUNTING_HOLEMOUNTING_HOLEMGT1, MGT2, MGT3, MGT4
310uF, 6.3VC0603KC19, C20, C61
31k BLM15AG102SN1DR0402FB5, FB6, FB7
32.2uF, 6.3VC0805KC9, C12, C14
3DNP 1kR0402R97, R108, R109
3MINI_PUSHBUTTONMINI_PUSHBUTTONPOWER, RESET, S2
2TH-2X23P8, P9
210pFC0402KC46, C60
2150kR0402R10, R11
21uFC0402KC8, C10
247uF DNPCT3528C11, C23
2BSS138W-7-FSOT-323(DIODES)T3, T4
2DNPR0402R45, R49
2IP4283CZ10-TBRSOT1176-1(NXP)IC7, IC8
2STPS140ADIODE_SMAD3, D4
2TPD4S012DRYSON-6(TI)-DRYIC14, IC15
2TXS0108ERGYRR-PVQFN-N20(TI)IC10, IC11
2U.FL-R-SMT-1(10)U.FL-R-SMT-1ANT1, ANT2
1PJ-102B_POWER_CONX12
1TH-1X6X1
1JTAGP2
1USB_HOST_HORIZONTAL_W_CHASSIS_GNDX3
1MICRON_EMMC_153IC22
1.1, 0805R0805R17
10 DNPR0402R91
10.1 Ohm, 08050805-RESISTORFB4
11.5kR0402R106
1100, 1%R0402R88
110118192-0001LF10118192-0001LF(MICRO-USB-B-AMPHENOL-FCI)X4
110118241-001RLFHDMI-TYPE-D-10118241X5
110k 1%R0402R46
110uF,10VC0603KC1
11206L025YRSM-1206F1
1150 Ohm 800mA0805-RESISTORFB3
11MR0402R95
11M, 1%R0402R8
11uF, 6.3VC0402KC64
12.5k Ohm (BLM18BD252SN1D)0805-RESISTORFB2
122R0402R34
1220 Ohm 800mA0805-RESISTORFB1
1220uF 6.3VD_7343-31WC62
124 MHzCRYSTAL_5X3.2MMQ4
124LC32AT-I/OTSOT23-5(MICROCHIP)IC4
127k, 1%R0402R120
132.768kHzCRYSTAL_3.2X1.5Q2
133R0402R110
14.12kR0402R94
14.7uF, 6.3VC0805KC7
140.2k 1%R0402R47
1499R0402R44
17.15kR0402R93
1AP2112K-1.8TRG1 3.3VSOT23-5IC19
1ASDMB-24.576MHZ-LC-TOSCILLATOR-2.5X2.0-BBBOSC1
1BAT54CSOT23D8
1DNP 10kR0402R111
1DNP 10k 1%R0402R50
1DNP 1M, 1%R0402R56
1DNP 40.2k 1%R0402R51
1DNP 499R0402R48
1DNP MMBT2907SOT23-BECT2
1DNP TLVH431 (SOT-23-3)DBZ_R-PDSO-G3IC6
1MMBT2907SOT23-BECT1
1NZ2520SB-32.768KHZ-NSA3534CNZ2520SOSC2

The 262 most common of 275 parts.

Similar boards

  • 4 layers55 × 35 mmPocketbeagle, the printed circuit board in 3D

    Pocketbeagle

    beagleboard/pocketbeagle

    BeagleBoard.org PocketBeagle - ultra small, ultra flexible, ultra affordable

    50 parts284CC-BY-4.0
  • 2 layersBeehiveSat SBC, the printed circuit board in 3D

    BeehiveSat SBC

    CanGulmez/PCB-Designs

    PCB board designs with KiCAD 8

    351 parts
  • 12 layers86.4 × 54.6 mmBeaglebone ai rev a2, the printed circuit board in 3D

    Beaglebone ai rev a2

    embeddedos-org/eCAD-Hardware-Products

    Hardware designs + EE docs + Board datasheets of Multiple products

    766 parts8MIT
  • 2 layers55 × 35 mmBaconbits, the printed circuit board in 3D

    Baconbits

    e-ale/BaconBitsCapeHW

    Design files for the Bacon Bits MiniCape for the PocketBeagle

    64 parts23
  • 4 layers46 × 46 mmReform camera, the printed circuit board in 3D

    Reform camera

    cetola/reform-next-mirror

    The original Open Hardware laptop, reloaded.

    125 parts
  • 2 layers100 × 100 mmDsi shield bga, the printed circuit board in 3D

    Dsi shield bga

    openzynqhardware/dsi-shield-xc6slx16

    151 parts1
  • 2 layers100 × 71 mmArmed, the printed circuit board in 3D

    Armed

    ed-ni/Armed

    Arduino compatbile using the Arduino Core STM32 and working with the Marlin 2.0 3D printer firmware.

    210 parts
  • 2 layers89.9 × 49.8 mmDatalogger2039 TMP117 adapter, the printed circuit board in 3D

    Datalogger2039 TMP117 adapter

    rtek1000/Datalogger_2039

    This is an 8-channel logger for collecting temperature data (431 160 readings). Data export via USB Flash Drive (Pendrive).

    134 parts4

Questions

How big is the BeagleBone Black.unrouted PCB?

It measures 86.4 × 54.6 mm and has 6 copper layers, 1.6 mm thick.

What parts does the BeagleBone Black.unrouted use?

275 parts, built around the IP4283CZ10-TBR, TPD4S012DRY, TXS0108ERGYR and 24LC32AT-I/OT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the BeagleBone Black.unrouted KiCad files?

From the The-OpenROAD-Project-Attic/SA-PCB repository on GitHub, at the commit this page was made from: the board is designs/BeagleBone/BeagleBone_Black.unrouted.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the BeagleBone Black.unrouted design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).