To the 2901 bit slicers out there

jim stephens jwsmail at
Thu Dec 28 13:47:03 CST 2017

On 12/27/2017 8:35 PM, Randy Dawson via cctalk wrote:
> Since I know there's tons of PDP/11 geniuses here, and other gurus with a NOVA 4, and a Tektronix 4052 guy (I have the 4051):
> What have you done, with microprogramming this part?  In your architecture,  have you changed the microcode, create an instruction to enhance your machine?
> I would be interested in any hardware projects, stories (or even in the FPGA, I hear its a popular thing to copy);
The Ultimate Corporation licensed the Pick system to run on Honeywell 
hardware (among others).  Initial implementation was on a DPS6 with WCS 
written for the DPS6 in a firmware extension of the DPS6 firmware that 
executed Pick directly.  Parts of the DPS6 instructions routines were 
used, as well as using a kernel written in DPS6 assembler to run the 
peripherals, disk tape, and serial ports.

Very early a co-processor which was exclusive to Pick was designed and 
it was implemented with 2901 hardware.  The design for that board was a 
32 bit wide arithmetic and logical system.  it had only handshakes with 
its host system and no I/O.  It used host memory for the pick system 
since the pick system is a virtual architecture.

The Honeywell incarnation of the co-processor was hosted on a disk 
controller derived host board modified and supplied to Ultimate by 
Honeywell.  Another version was implemented for the PDP 11 qbus and had 
a custom host adapter to couple the co-processor to the host.

The host in either case ran a kernel for I/O and other such tasks, as 
well as being the main boot processor and control in both cases.

It was required that systems boot from either half inch tape or disk 
(once installed).

The 2901 firmware was implemented with the Pick assembler which is table 
driven.  I don't think much of it would assemble on an AMD tool, as is 
the case with most Pick assemblers.  It is easy to get the pick system 
to do your assembler if you use the conventions of the syntax they use.  
However there was generally a desire on both honeywell and dec to have 
all tools resident on Pick.  there were no toolchains in the released 
and production product that was not completely hosted on that system.

Debugging in all cases was done with tools from Hilevel of Irvine. Bjorn 
Dahlberg, founder of Hilevel came up with a concept to integrate rom 
simulation and hardware simulation tools, and assembler and tools into a 
product, and had a very flexible tool that could accomodate most 
variations for such as bitslice designs needed.  Since the designer 
specified all but the basic 4 bit width, the number of slices coupled, 
the micro sequencing and other features as one might put into a 
microprocessor system had to be dealt with.

Hilevel tools would allow you to simulate all eproms or proms in a 
system, and load them dynamically.  They also had a very powerful 
assembler / linker / loader tool that they would use to provide a 
working environment with a support computer attached to their rom simulator.

They also would allow you to add run control to the system, to allow 
stepping tracing start / stop or any other controls you needed by 
routing signals out to the Hilevel box, and then assigning commands to 
control the signals.

For example instead of having to flip a bunch of bits to start or step 
your system, you set up a macro to do something and could name it "step" 
or "run" or whatever.  There were comparators to allow one to do 
breakpoints.  Also I know of some cases where register examinations were 

I think the Ultimate projects were probably a test case for them as far 
as features.  Mr. Dahlberg had previously worked @ Microdata as had most 
of the Ultimate folks (others were Pick people), and that helped.


More information about the cctalk mailing list