Shim design (2)

So, picking up from where I ended up in the last post – basically, waiting for inspiration on how to best address the lack of elegance of the DE0nano + shim + PiDP-11. I did try several things – I made a lot of nice colourful 40-pin ribbon cables, different ways of folding and pushing them into the console box. Didn’t really work.

I discussed my shim plans with several people but the lightbulb, Eureka-style solution did not happen. What I did get was a new insight in how much difference there is in what people are looking for in terms of peripherals, and in how they want their system to look in the end – ranging from a finished box with only the bare essentials neatly connected on the rear end of the box, to a maxed-out PDP that pushes the limits of what was possible back in the day, and with wires all over the place. Not easy to find a common ground, a design that would potentially resonate with all of that.

Anyway, a bit of time passed without finding a solution… and then, just at the right moment when I got back home after a nice and long holiday… Jan Secker posted a message in the PiDP11 mailing list, about the CYC1000 FPGA board that he was hooking up to his PiDP11. By far the smallest FPGA board I’d seen, and also by far the cheapest – with exactly the right components on to form the basis of a nice PDP2011 system. The Cyclone-10 FPGA on it is the latest generation too – smaller structures on the chip, and that means higher clock speeds. And it’s comfortably large enough to hold a PDP2011/70 with FPU, PiDP console driver, disk and Ethernet controllers, and still have more than a quarter of its capacity free for other things…

In fact, there’s only one downside to the CYC1000 – it doesn’t have that many pins. Exactly enough for a ‘normal’ PDP2011 with PiDP-11 console, one disk, Ethernet, and one or two terminals. Just about perfect for a functional system, not quite so for the people looking for a maxed-out PDP. And that gave me the idea to go for two different streams – CYC1000 and a minimal lowest-possible-cost shim for the ‘normal’ systems, and DE0-nano for the maxed-out systems.

The design for the shim was relatively easy. As tempting as it was to put an sd card connector and ENC424 Ethernet front end and magnetics on, I decided not to do that and instead just rely on PMODs for all the extra bits – firstly because I felt a bit out of depth designing for the ENC424 chip, and anticipated that I’d have to do several prototype rounds to iron out mistakes; but secondly and maybe even more important, the complexities of sourcing the components, especially since I could not find a single supplier for all the parts I needed.

Afterwards, when the first prototype was already on my desk, another fairly essential reason occurred to me – the physical aspects of the PiDP-11 console box. As many messages on the PiDP mailing list have shown, it’s not entirely trivial to integrate connectors for Ethernet, serial and cards neatly on the rear lid of the box… and there’s hardly enough room for the bigger PMODs like NIC and full-size SD. But at least this way each owner can decide for himself how to make everything fit – while I dream about the next step and have everything work wirelessly!

Anyway, some photos for illustration:

The CYC1000 FPGA board as it comes out of its tiny box
With a 2×6 pin PMOD header soldered on
The smallest possible PDP2011 system. Console on the FTDI chip on the board, and one disk controller on the micro-SD.
Slightly bigger with a connector for a full size SD card
PMODs for micro-sd and Ethernet – since both only need one row of the 2×6 connector, a simple splitter cable works very nicely.
The shim!
CYC1000 mounted in the PiDP11. Note the RS232 port on top of the CYC1000.
View from the side – also showing the bypass resistors on the PiDP pcb.

Right, enough for today. The next instalment will have some more detail about the shim and the difficulties of logistics. I didn’t quite manage to post daily as I planned for this week – not many things work out according to plan currently. But it should be soon.


Faye April 15, 2020

Thanks for this, it will get me started with the pieces I have. I have to wait for the front panel kit. I used simh to install RSTS/E v9, cobol81 and Basic Plus 2. Definitely a trip down memory lane. Which disk drivers do you have working? Is there a guide I can follow to get up to speed with FPGA programming?

sytse April 15, 2020

To get up to speed with FPGAs – most of the development kits come with examples. For instance in the DE0Nano manual, chapter 8 and onwards. Even if you don’t plan on doing any VHDL or Verilog coding, it’ll help to get used to the way of thinking and to get to know the toolchain. The CYC1000 documentation in comparison is (ahem) really, really basic – but all the toolchain info is the same.

Disk drives, the best one is probably the RH – which is the internal name for what really is an RH70 controller with RP06 disk. That one can deal with SDHC cards.

There’s also the RK – but that only does SD cards, not SDHC. And the RL, which is even worse because it requires you to format the disk image into a special format.

A lot more info is on the howto pages – not all very up to date for the CYC1000 maybe but I’m getting there