MEGA640 vs. XMEGA128A1U for this project

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have been contemplating making a handheld board that simulates/emulates a PDP-8, but with an octal control panel so you can key in instructions and step through them and watch how they affect the accumulator, etc.  I also want it to be able to run a lot of the PDP-8 software such as OS/8, etc.  I've played around with some PDP-8 emulation and what I've always loved about the machine is its simplicity.  So, back to the idea of making one, at first I was thinking it would be workable to use some SPI FRAM for the memory because it needs 32768 12-bit words of memory, certainly more than any AVR has.  After considering the speed of serial memory, even if I run it at almost 8M, it is still going to take 5us or so to load or save a value and the PDP-8 instruction speed was 1.2us total so I am scrapping the idea.  That leaves me with two choices, either abandon the idea of doing it with an AVR and go to a STM32 with enough built in SRAM or use parallel memory (SRAM, FRAM, etc.) with an AVR.  I've done a little STM32 work with Atollic TrueStudio and while it was workable, it is a whole different world.  I prefer the simplicity of AVR's.  I also plan to drive 9 seven segment displays, a row of LED's, and scan two keyboard rows, so 8 columns + 12 rows and 20 pins are gone there.  5 pins for the microSD with card detection.  4 pins for two UART's.  A 64 pin could probably be done with a couple of latches for the memory (16 addr, 8 data minimum, or 15 addr, 12 data for a word at a time).  My experience is that I'd almost always rather just go to the 100 pins and not deal with the latches though.  So I am looking at these two and here is my comparison between them so far:

 

                flash   sram    price   speed
XMEGA128A1U     128     8k      6.26    32
MEGA640         64      8k      8.16    10.6
MEGA1280        128     8k      10.95   10.6

XMEGA benefits:
  Speed, could do a 29.4912 MHz instead of 9.216 MHz (3.2x faster)
  Cheaper.
  110 baud capable because of baud scaling.
  Memory interface, but would have to do 12 bits in two 8 bit passes, still easier though, and likely faster.

 

MEGA benefits:
  Stronger pin drive strength 40mA instead of 25mA.
  Simpler.
  Memory interface, but less flexible and requires latches I wouldn't use, so not usable.

 

Other thoughts?

Last Edited: Wed. Apr 17, 2019 - 12:47 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Parallel SRAM instead of serial?

--Mike

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yep, parallel it must be.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:
I have been contemplating making a handheld board that simulates/emulates a PDP-8,

Just not the same without a paper tape reader/punch!

 

Sounds like fun....

 

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
stack gold/silver https://www.onegold.com/join/713...

 

 

 

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:
Other thoughts?
versus megaAVR, XMEGA AVR adds a SDRAM controller and a DMA controller.

parallel FRAM - alternate is parallel MRAM, or, backing storage on SPI (flash, FRAM, MRAM, SD, etc)

Parallel Interface MRAM | Everspin

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How many of these PD/8 do you plan to make then? Is "price" really a factor in picking a single chip??

 

(Oh and the reason the format is wrong in your code section is that I suspect you may have used [ code ] tags rather than simply pasting/tying the text in to the code editor)

 

As for "Other thoughts" - perhaps the obvious one in 2019 - why not Cortex?

Last Edited: Wed. Apr 17, 2019 - 08:51 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You are right clawson, price isn't a huge deal.  Unknown how many I might make though.  You are also correct about the code tags!  When you say Cortex do you mean an ARM of some sort?  I mentioned STM32 above.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I did a pdp8 emulation recently on a nordic nrf51. Something like a samd5 or a stm32f4xx series should have more than enough ram for a 32kword pdp8. Similarly a ESP32 will comfortably handle it along with a terminal via webpage using wifi. For that matter, the esp32 wrover module with 4MB ram would comfortably emulate a pdp11 and run unix. You could run the emulation on the second core.

With the pdp8 emulation, i also ran it on a 200MHz cortex R4 for a larf. Probably the worlds most reliable pdp8!

Last Edited: Wed. Apr 17, 2019 - 12:51 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alank2 wrote:
So, back to the idea of making one, at first I was thinking it would be workable to use some SPI FRAM for the memory because it needs 32768 12-bit words of memory, certainly more than any AVR has.
Now see the requirement for non-volatile memory :

PDP-8 Core Memory Information

alank2 wrote:
Other thoughts?
FPGA

Overview :: PDP-8 Processor Core and System :: OpenCores

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I thought about the FPGA direction, I've played around with Grant's multicomp a bit...