Go to main content

School of Computer Science Intranet

APT research areas

Discover our main research areas

MUCS-PCB - The University of Manchester School Of Computer Science PCB design software


The MUCS-PCB software was developed between 1985 and 1992 as part of a research project exploring PCB routing algorithms. The package is aimed at producing multilayer (2-16 layer) digital PCBs and was used for a number of years for routing boards designed in the department of computer science for production at out local PCB fab.

MUCS-PCB consists of:

  1. A textual design entry tool: ncap
  2. A ViewLogic Viewdraw netlist interface: vtoncap
  3. Gerber and Unix plot file plotting utils: gerber and unixplot
  4. Three autorouters:
    • layer_pair - a two-layer serial router
    • mat - a true multilayer serial router
    • procore - an automated rip-up global router using simulated annealing techniques to achieve excellent results

A fuller description of the routers can be found here.

MUCS-PCB is available under the terms of the Free Software Foundation's GNU General Public License version 2.
Designs produced using MUCS-PCB do not contain significant portions of the tools and so are the property of the copyright owner of the original board description and are not required to be placed under the GNU GPL.

Copyright (C)1985-2001 Doug Edwards, Tim Spiers, Zahir Moosa,

The University of Manchester School Of Computer Science (MUCS) Oxford Road, Manchester, M13 9PL, UK

MUCS-PCB is free software; you can redistribute it and/or modify
	  it under the terms of the GNU General Public License as published by
	  the Free Software Foundation; either version 2 of the License, or
	  (at your option) any later version.

	  MUCS-PCB is distributed in the hope that it will be useful,
	  but WITHOUT ANY WARRANTY; without even the implied warranty of
	  GNU General Public License for more details.

Development of MUCS-PCB is encouraged, especially under the guise of the GNU EDA project gEDA although the authors would be interested to hear of any interesting uses to which the tools are put.

MUCS-PCB is configured with GNU automake and autoconf and tested on Linux 2.1 (RedHat 5.2, i686), SunOS 4.1.4 (sun4 sparc) and Solaris 2.6 (SunOS 5.6,i386 and sparc). (2001-10-25: doesn't time move on, anyway, MUCS-PCB should still build with sensible POSIX platforms, I'm currently using RedHat Linux 7.2 and Solaris 8) If you have any problems with the way the configure scripts are set up please submit a bug report.

MUCS-PCB distribution files can be found in http://apt.cs.manchester.ac.uk/ftp/pub/amulet/pcb/. Currently available files are:

Unix plot images of the demo. PCBs can be found here: madarch, mainboard, memboard, timu,

The mainboard and memboard demos are parts of hardware accelerator for PCB routing based on the routing algorithms used in MUCS-PCB. This accelerator was designed using MUCS-PCB tools and nicely demonstrates that it's not only compilers which have bootstrapping problems ;). A photo of a populated mainboard can be found here.

Last but not least: the TREE board (photos front, close up and back). The TREE is a reconfigurable logic board base around a pair of Xilinx gate arrays (an XC4006 and an XC3020) and an Hitachi H8 microcontroller. The gate arrays can be programmed from a Sun workstation using Viewlogic ViewDraw schematic capture or using VHDL synthesis. The board itself has as I/O devices:

  • A two digit 7 segment LED display
  • A 20 key keypad
  • 64KB of SRAM
  • ADC and DAC converters
  • A speaker (conncted to the DAC), a microphone, analogue inputs/outputs

A dozen or so TREE boards have been produced and are used in this department to teach digital logic design to second year undergraduates.