As a byproduct of the PiDP-11 console support, I’ve defined a more or less ‘standard’ pin layout for the 40-pin connector on most of the Intel/Altera/Terasic FPGA boards – obviously carrying all the signals for the console itself, but also for the most basic peripherals that all PDP2011 systems need: a serial port for the console, an additional serial port, and the SPI interface signals for the Ethernet chip and the sd card for a disk. Basic, for sure, but also more than enough for enjoying the PDP-ness, and all of it conveniently fits on the 40 pins.
In the history of PDP2011, I’ve been using jumper wires to make all the required connections. That was easy enough with the older boards, as those usually had serial port and card connectors already – so mostly only some debugging stuff or the PMODNIC100 needed to be hooked up. But, DE0Nano was already a bit more of a challenge – mostly because there weren’t enough power pins to make direct connections to several PMODs. And then the console… well, the Raspberry Pi marketplace does have 40-pin jumper cables, those do come in handy. But, I’m thinking about a standard peripheral board to connect FPGA board, console panel, serial ports, sd card, and the PMODNIC100 together.
So far, I’ve set up the standard pin layout for three boards – obviously DE0Nano, but also DE10-Lite and DE0-CV. Like so:
To | de0nano pin | de10lite pin | de0cv pin | connector pin |
rx1 | PIN_T9 | PIN_V10 | PIN_H16 | 1 |
tx1 | PIN_F13 | PIN_W10 | PIN_A12 | 2 |
rx2 | PIN_R9 | PIN_V9 | PIN_H15 | 3 |
tx2 | PIN_T15 | PIN_W9 | PIN_B12 | 4 |
panel_row[1] | PIN_T14 | PIN_V8 | PIN_A13 | 5 |
panel_row[2] | PIN_T13 | PIN_W8 | PIN_B13 | 6 |
panel_col[2] | PIN_R13 | PIN_V7 | PIN_G17 | 7 |
rts1 | PIN_T12 | PIN_W7 | PIN_D13 | 8 |
xu_debug | 9 | |||
cts1 | PIN_T11 | PIN_V5 | PIN_G17 | 10 |
VCC5 | 11 | |||
GND | 12 | |||
panel_col[1] | PIN_T10 | PIN_W5 | PIN_G14 | 13 |
sdcard_miso | PIN_R11 | PIN_AA15 | PIN_J18 | 14 |
panel_xled[2] | PIN_P11 | PIN_AA14 | PIN_J19 | 15 |
panel_xled[3] | PIN_R10 | PIN_W13 | PIN_G11 | 16 |
panel_col[8] | PIN_N12 | PIN_W12 | PIN_H10 | 17 |
panel_xled[4] | PIN_P9 | PIN_AB13 | PIN_J11 | 18 |
sdcard_sclk | PIN_N9 | PIN_AB12 | PIN_H14 | 19 |
sdcard_cs | PIN_N11 | PIN_Y11 | PIN_A15 | 20 |
sdcard_mosi | PIN_L16 | PIN_AB11 | PIN_J13 | 21 |
panel_xled[5] | PIN_K16 | PIN_W11 | PIN_L8 | 22 |
panel_col[9] | PIN_R16 | PIN_AB10 | PIN_A14 | 23 |
panel_col[6] | PIN_L15 | PIN_AA10 | PIN_B15 | 24 |
panel_col[7] | PIN_P15 | PIN_AA9 | PIN_C15 | 25 |
panel_col[5] | PIN_P16 | PIN_Y8 | PIN_E14 | 26 |
panel_col[3] | PIN_R14 | PIN_AA8 | PIN_G18 | 27 |
xu_mosi | PIN_N16 | PIN_Y7 | PIN_E16 | 28 |
VCC3.3 | 29 | |||
GND | 30 | |||
panel_col[4] | PIN_N15 | PIN_AA7 | PIN_F14 | 31 |
panel_col[10] | PIN_P14 | PIN_Y6 | PIN_G15 | 32 |
panel_col[11] | PIN_L14 | PIN_AA6 | PIN_G16 | 33 |
xu_cs | PIN_N14 | PIN_Y5 | PIN_F12 | 34 |
xu_miso | PIN_M10 | PIN_AA5 | PIN_G16 | 35 |
panel_row[0] | PIN_L13 | PIN_Y4 | PIN_G15 | 36 |
panel_col[0] | PIN_J16 | PIN_AB3 | PIN_G13 | 37 |
panel_xled[0] | PIN_K15 | PIN_Y3 | PIN_G12 | 38 |
xu_sclk | PIN_J13 | PIN_AB2 | PIN_J17 | 39 |
panel_xled[1] | PIN_J14 | PIN_AA2 | PIN_K16 | 40 |
The actual pin layout and the signals that go on the connector are already pretty much fixed – I’d like of course to be able to add more, like RTS/CTS for the second serial port, but there aren’t enough pins and I don’t see which others I could take out – except maybe xu_debug, but that’s only one. What I am still thinking about is to make a small PCB that connects everything together; but there is a surprising number of details to consider. I should probably do my next post on that subject.
Meantime, I’m working on a new sd card controller that will support SDHC cards, finally!
One Comment
I am really interested to see these developments, especially the SDHC card support. I have a PiDP-8i, but not yet a PiDP-11. This might convince me to get one.