EmbeddedRelated.com
Forums

POP-11 (PDP-11/40 in an FPGA)

Started by Scott August 16, 2007
On Wed, 2007-08-22 at 15:24 -0600, woodelf wrote:

> You need another meg ... REAL UNIX is only 22 bit adressing. :(

Not quite true. You can very reasonably run
UNIX 7th Edition within 256 kB of RAM.

Hellwig
> The new boards are nice but since I am doing homebrew at home
> I am rather limited with my limited construction skills.
I have the same problem - I can't handle BGA devices and I am
reluctant to solder 208 pin flat packs.
>
> Does the board have a provision for a serial rom for power up
> FPGA load?
Absolutely!
>
> >
> > I like the idea of a $149 PDP-11/40 running Unix. Now if I can just
> > port the code.
>
> You need another meg ... REAL UNIX is only 22 bit adressing. :(
Not a problem! The Spartan 3E Starter Board (different board) has 32
MB DDR SDRAM but only 500k gates. It also has an Ethernet chip and
some other goodies for the same price. There is a MONSTER 1.6M gate
Spartan 3E Development Board with some neat features for $295 (out of
my price range for this project).

Or the NEXYS board with 1M gate device for $119 which has 16 MB of
PSDRAM. This is certainly viable!

It looks like the author only used an 18 bit address but I'm not 100%
sure of that.

Richard
--- In f..., Hellwig Geisse
wrote:
>
> On Wed, 2007-08-22 at 15:24 -0600, woodelf wrote:
>
> > You need another meg ... REAL UNIX is only 22 bit adressing. :(
>
> Not quite true. You can very reasonably run
> UNIX 7th Edition within 256 kB of RAM.
>
> Hellwig
>

Would that also apply to Unix V6? As I look at the memory address
lines, I only see 0..17 or 256 kB.

Richard
An Altera board that seems more than adequate would be the Cyclone II
FPGA Starter Development Kit. At $150 is is reasonable and has 8 MB
of SDRAM as well as 32KB of SRAM and 4 MB Flash. It has a lot of
gadgets (audio CODEC, 10 switches, 4 pushbuttons, 18 LEDs and 4 ea 7
segment display) but the best part is that it has two 40 pin expansion
ports with 36 signals each. With a little cable juxtaposition, one of
these would drive an ATA drive quite nicely.

Or, skip the ATA thing and use the on-board SD/MMC socket.

I haven't used Altera but I am certainly thinking about this board
http://www.altera.com/products/devkits/altera/kit-cyc2-2C20N.html

Richard
On Wed, 22 Aug 2007 23:32:41 -0000, you wrote:

>--- In f..., Hellwig Geisse
>wrote:
>>
>> On Wed, 2007-08-22 at 15:24 -0600, woodelf wrote:
>>
>> > You need another meg ... REAL UNIX is only 22 bit adressing. :(
>>
>> Not quite true. You can very reasonably run
>> UNIX 7th Edition within 256 kB of RAM.
>>
>> Hellwig
>
>Would that also apply to Unix V6? As I look at the memory address
>lines, I only see 0..17 or 256 kB.
>
>Richard

My recollection of v6 (1977-'78 when I last went over the code in
detail [may still have a listing around here]) is that 256k was more
than enough memory for good use. I think it was released earlier
(1976 or so?) Anyway, it was in going through the O/S listings of V6
that I first learned C. (I already knew PDP-11 assembly well, by
then.)

By the way, I like the idea of an FPGA-based PDP-11/40 (or better, a
PDP-11/70 with its cache memory) with a full front panel that usually
appeared with them. (I did not ENJOY the ones without the array of
address/data switches on their front panels, such as the PDP-11/24,
PDP-11/34 or the PDP-11/44.)

Jon
woodelf wrote:
> You need another meg ... REAL UNIX is only 22 bit adressing. :(

Many versions of Unix, including 6th edition and 7th edition, ran fine on
a PDP-11 with only 18-bit addressing. Good thing, too, as the early
PDP-11s didn't have 22-bit addressing. Unix commonly ran on the 11/40,
11/45, and 11/34, all of which only had 18-bit addressing.

22-bit addressing and separate I/D space are only required for later
versions such as 2.11 BSD. 22-bit addressing is only available on
the 11/44, 11/70, and F11 and J11 based systems.

Eric
Ya i grabbed a copy too, while it was there.

Curious tho, what is the small board in that last picture, with the HDD
attached?

>
> Re: POP-11 (PDP-11/40 in an FPGA)
> Posted by: "rtstofer" r...@pacbell.net rtstofer
> Tue Aug21,2007 5:02pm (PST)
> It's back! See http://shimizu-lab.dt.u-tokai.ac.jp/pop11.html
>
> This time I'll download it and put it on a CD! Perhaps this winter
> I'll get around to converting it to run on a Spartan 3 Starter Board.
> If I read the info correctly, it was built on a chip with 100k gates
> so a 1M gate Spartan 3 ought to work!
>
> Richard
To post a message, send it to: f...
To unsubscribe, send a blank message to: fpga-cpu-unsubscribe

> Many versions of Unix, including 6th edition and 7th edition, ran
fine on
> a PDP-11 with only 18-bit addressing.

In which case the Spartan 3 Starter Board with 1 MB of asynchronous
RAM is adequate.

The only 'gotcha' I can see is the fact that the Spartan 3 FPGA is not
5V tolerant and the hard disk is 5V logic. There are level shifters
to deal with this. The A2 connector has plenty of signals (31 that I
have been able to use) for the hard drive. A little interface board
that plugs into A2, performs level shifting and provides a header for
the 40 pin IDE cable would be perfect.

There's plenty of space on the B1 connector to do the SPI <-> Panel stuff.

I'll get started as soon as the weather changes. Summer is for boats,
winter is for electronics.

Richard
Hi Richard,

> The only 'gotcha' I can see is the fact that the Spartan
> 3 FPGA is not 5V tolerant and the hard disk is 5V logic.
> There are level shifters to deal with this.

Spartan-3/-3E I/O can be made 5V-tolerant by using an external series
current limiting resistor to limit the current into the upper clamp diode to
10 mA. This makes the input 5V-tolerant. If the I/O is TTL, which it
probably is, you can drive it with a CMOS output, and the swing will be TTL
compliant, which is a low below .8V and a high above 2V.

Regards,

Austin
Hellwig Geisse wrote:
> On Wed, 2007-08-22 at 15:24 -0600, woodelf wrote:
>
> > You need another meg ... REAL UNIX is only 22 bit adressing. :(
>
> Not quite true. You can very reasonably run
> UNIX 7th Edition within 256 kB of RAM.
>
> Hellwig
I forgot -- UNIX came before Bill Gates and 640K of memory.
Unix does cheat however, most of the people back then time sharing
tended only to use small sized programs rather than the monster sized
programs of today.
I/O I expect was often 300 baud too.
Ben alias woddelf