Author Topic: Searching modern MCU with a (classic) 8bit I/O bus  (Read 14490 times)

0 Members and 1 Guest are viewing this topic.

Offline Berni

  • Super Contributor
  • ***
  • Posts: 4957
  • Country: si
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #50 on: September 03, 2018, 05:43:24 am »
Another way of replacing the 68000 CPU could be the FT600 chip
http://www.ftdichip.com/Products/ICs/FT600.html

Its just a USB to 16/32bit parallel bus chip. Using some glue logic you can likely interface both the address and data bus of a 68000 to it. The other end can go into a PC or any linux SBC like a raspberry pi.

Tho for such a project i think a 32bit ARM is more than good enough. An external memory bus with 16bit data and 24bit address lines is quite common, often address/data multiplexing s supported and you can run it at any timing you want. But with a bit of DMA magic you can do it no problem without a real memory bus controller. These things only run at a few MHz while modern ARM MCUs run in the 100s of MHz
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #51 on: September 03, 2018, 06:19:25 am »
mapped to the KSEG0/1 areas, so there's no MMU setup needed as long as you stick to kernel mode.

this reminds me what SONY did in the 90s with their Playstation1 ...  :D
 

Offline emece67

  • Frequent Contributor
  • **
  • !
  • Posts: 614
  • Country: 00
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #52 on: September 03, 2018, 08:04:23 am »
.
« Last Edit: August 19, 2022, 01:57:42 pm by emece67 »
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #53 on: September 03, 2018, 06:34:24 pm »
FPGA + ARM Cortex-M1 soft core + custom peripheral?

I took such approach years ago, although I used a Nios II processor instead of the ARM.

Regards.
This is a bit over the top in my taste.
 

Offline DC1MCTopic starter

  • Super Contributor
  • ***
  • Posts: 1882
  • Country: de
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #54 on: September 03, 2018, 09:12:57 pm »
@rstofer - thanks for all the documentation and the encouraging words, if you ever came back to Mannheim, you can have all the bier and wurstchen/döner that you can drink/eat. Of course I'm aware of and use the concept of finite state machines, I can happily design this with discrete logic, latches and shift registers, also I know a bit about the FPGA's
The things that I've hate and abhor are the "fiddly bits", the never ending crappy configuration, the incomplete and castrated development environments, the total incompatibility of constrains file and so on, it seem to be a job on itself just to be able to start the design for a specific platform, if you reach simulation and synthesis, it's soon visible that either the simulator needs to be paid, the synthesizer just tells you that you're over the limit of whatever arbitrary shite limit they've defined.
And the available development boards that doesn't cost an arm and a leg, but just an arm :-\, are usually made with out of support devices for which you have to hunt some 2013 version of the software (Looking at you Altera).
I think the development tools and environment for FPGA design are the most beginner hostile tools EVAR, and I totally don't want to start talking about specialized forums, including vendor ones.

Tutorials and books are jumping similar to: "Chapter I - Why do we need VHDL, a history", "Chapter II - My first project, Blinky" to "Chapter III - A highly advanced quad-pipelined design for a DDR6 RAM block with auto-calibration and interfacing with the proprietary Xilinx IPs".
No wonder that people asking in vain for "good FPGA design books and tutorials".
But now that the rant is over, and if I decide to take again the bull by the horns (and be royally kicked  ;D ), which of these boards are you suggesting that will fit the bill and be a good start:

https://www.ebay.de/itm/Mojo-V3-FPGA-Development-Board-Module-Spartan-6-XC6SLX9-for-Arduino-DIY-DE/122831191265

https://www.ebay.de/itm/Waveshare-CoreEP4CE6-ALTERA-Cyclone-IV-EP4CE6E-FPGA-Development-Core-Board/281867406792

 Cheers,
 DC1MC


 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3147
  • Country: ca
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #55 on: September 03, 2018, 11:26:38 pm »
... it seem to be a job on itself just to be able to start the design for a specific platform ...

You just do it once, and then you save your blinky project. When you need a new project, you just make a copy of the blinky.

I don't think creating a blinky for an FPGA takes more time than for an MCU.

Don't start from Spartan-6. Spartan-7 is a better idea.
 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 4957
  • Country: si
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #56 on: September 04, 2018, 05:33:02 am »
Probably a more important decision is to decide what FPGA vendor to go with. The chips in the same price range tend to be pretty compatible with each other and code will port reasonably well across them apart from any hardware specific features (Like hard memory controller, PLL, serdes etc).

There are basically 3 major vendors to consider. Xilinix or Altera/Intel have the best software tools, its hard to say who is better because one does one thing better while the other does the other thing better. So far i prefer Altera but its mostly just personal taste. Lattice is the 3rd major player and they have worse tools and IP libraries, but the chips are cheaper. As far as the software goes all vendors will try to sell it to you for a >$1000 subscription, but you are often perfectly fine with the free version.

Where things get tricky is when you want to use the more fancy IP blocks. A lot of them are not free and actually very expensive, but they will give you a lot of them in the software subscription mentioned above for free. So if you do DDR3, Ethernet, SDI, FFT etc then you can only use the trial versions of those IP blocks (They run for an hour or so on a FPGA before locking up on purpose)

On top of it all writing HDL code is slow and annoying as soon as you start doing more complex things and when things don't work they are hard to debug why they don't work. Yes it sure beats by a long shot wiring together a bunch of 74HC chips to do a thing, but writing C code for a MCU is still much easier. So FPGAs usually need a good reason to outweigh there drawbacks, most common reason is that other solutions (Like MCUs) are too slow. But don't forget you can also use a tiny cheap FPGA just to implement glue logic between your MCU and the rest of the system just to save the MCU from some bitbanging.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #57 on: September 04, 2018, 11:36:41 am »
On top of it all writing HDL code is slow and annoying as soon as you start doing more complex things and when things don't work they are hard to debug why they don't work.

I agree. besides, a good methodology is mandatory in this case, as well as a strong modular approach of the design and test bench, and good HDL simulator.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #58 on: September 04, 2018, 11:50:47 am »
so, all the uncertainty principles and corollary axioms about that are telling us that we'd best use an ASIC CPU chip, attached to an FPGA as peripherical devices, glue logic, and miscellanea rather than a softcore with a bunch of peripherals and logic in the same chip  :popcorn:
 

Offline DC1MCTopic starter

  • Super Contributor
  • ***
  • Posts: 1882
  • Country: de
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #59 on: September 04, 2018, 05:57:02 pm »
...
Don't start from Spartan-6. Spartan-7 is a better idea.

Any 40EUR Spartan7 development boards ?
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #60 on: September 04, 2018, 06:57:55 pm »
Any 40EUR Spartan7 development boards ?

I guess only second hand on eBay.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #61 on: September 04, 2018, 07:08:47 pm »
anyway, I recommend the old & awesome XILINX Spartan3E FPGA Starter Kit.

I have recently bought a stock of 5 cards with an onboard s3-1600 for 100 euro / each from a reseller in UK. It's a very big FPGA, there is also a cheaper version with less logic cells. One board is for me, the other 4 boards are for people in my little team @ down the bunker.

this board is great because it has a very good documentation and a lot of features:
- Xilinx XC3S500E/XC3S1600E Spartan-3E FPGA
- Up to 232 user-I/O pins
- >> 10K logic cells
- Xilinx 4 Mbit Platform Flash configuration PROM
- Xilinx 64-macrocell XC2C64A CoolRunner™ CPLD
- 64 MByte (512 Mbit) of DDR SDRAM, x16 data interface, 100+ MHz
- 16 MByte (128 Mbit) of parallel NOR Flash (Intel StrataFlash)
- 2-line, 16-character LCD screen
- PS/2 mouse or keyboard port
- VGA display port
- 10/100 Ethernet PHY (requires Ethernet MAC in FPGA)
- Two 9-pin RS-232 ports (DTE- and DCE-style)
- On-board USB-based FPGA/CPLD download/debug interface
- 50 MHz clock oscillator
- SHA-1 1-wire serial EEPROM for bitstream copy protection
- Hirose FX2 expansion connector
- Three Digilent 6-pin expansion connectors
- Four-output, SPI-based Digital-to-Analog Converter (DAC)
- Two-input, SPI-based Analog-to-Digital Converter (ADC) with programmable-gain pre-amplifier
- Rotary-encoder with push-button shaft
- Eight discrete LEDs
- Four slide switches
- Four push-button switches
- SMA clock input
- 8-pin DIP socket for auxiliary clock oscillator

 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3147
  • Country: ca
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #62 on: September 05, 2018, 12:07:34 am »
...
Don't start from Spartan-6. Spartan-7 is a better idea.

Any 40EUR Spartan7 development boards ?

60 perhaps: https://store.digilentinc.com/cmod-s7-breadboardable-spartan-7-fpga-module/

Or build your own. Small Spartan-7 costs only $15.
 

Offline Berni

  • Super Contributor
  • ***
  • Posts: 4957
  • Country: si
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #63 on: September 05, 2018, 06:02:53 am »
That's a pretty nice looking dev board, but usually what you want to look for is a board that has a ton of IO brought out to easy to solder headers. Tho some LEDs and buttons are nice to have.

And you probably don't want to be making your own dev board to start with. FPGAs can be quite complex with how much external crap they need and often come in pain in the ass packages. But it is a good idea to keep the price of the chip in mind for when you want to turn your project into a custom PCB. I seen 500 USD dev boards where the FPGA chip alone on it costs twice that much if a average joe was to buy it in small quantity (They sell the chips to devboard making partners really cheap).
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3147
  • Country: ca
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #64 on: September 05, 2018, 01:15:43 pm »
That's a pretty nice looking dev board, but usually what you want to look for is a board that has a ton of IO brought out to easy to solder headers. Tho some LEDs and buttons are nice to have.

I personally prefer breadboardable things - you can easily connect whatever you feel necessary, easily dismantle. Of course, if you go above 200 MHz there will be problems.

If you don't like breadboards, you can solder the S7 (or similar) board onto a custom PCB which will have all the LEDs and connectors you want. And it now costs only $5 for decent size 4x4 PCB.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #65 on: September 05, 2018, 01:24:46 pm »
Of course, if you go above 200 MHz there will be problems.

you mean above 50Mhz  :popcorn:
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3147
  • Country: ca
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #66 on: September 05, 2018, 01:38:47 pm »
Of course, if you go above 200 MHz there will be problems.

you mean above 50Mhz  :popcorn:

I tested recently (BTW with similar FPGA board). 200 MHz digital signals worked quite well on my breadboard. I didn't have the IBIS model for the breadboard, but simulations with simple RLC models confirm this too. I was going to start a blog, may be presenting real data on my tests is a good topic for my first blog ... when I have time :)

 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #67 on: September 05, 2018, 02:35:49 pm »
I tested recently (BTW with similar FPGA board). 200 MHz digital signals worked quite well on my breadboard

frankly, I don't believe it :popcorn:
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #68 on: September 05, 2018, 02:41:56 pm »
we, at DownTheBunker are rebuilding the php code of the site, and we can offer space in a dedicated format

currently, I am not working at this, I am busy with HDL, hence the site looks like a bazaar, which was/is the primary reason for it, but things will change.
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #69 on: September 05, 2018, 02:51:16 pm »
which of these boards are you suggesting that will fit the bill and be a good start:

c

[url=https://www.ebay.de/itm/Waveshare-CoreEP4CE6-ALTERA-Cyclone-IV-EP4CE6E-FPGA-Development-Core-Board/281867406792]https://www.ebay.de/itm/Waveshare-CoreEP4CE6-ALTERA-Cyclone-IV-EP4CE6E-FPGA-Development-Core-Board/281867406792


 Cheers,
 DC1MC

To be honest, I don't like either but I would use the Xilinx chip because that's what I know.  I also like Xilinx ISE which I think will work with Spartan 6 (need to confirm that).  I'm just coming up to speed with Vivado and it's a process.  The big difference, as you point out, is the constraints file.  I don't pretend to understand the Vivado incantation.

Remember I said "blink an LED then build a CPU"?  Copy and Paste, that's the trick.  Get something working then expand it.  My first projects followed exactly that path:  Blink an LED, implement the T80 (Z80) core, make it run CP/M.  Nothing in the middle...

I think you will find that any of the references I linked are approachable.  I'm old and certainly on a downhill slide but I can still keep up with those books.  I really like the LC-3 project as a demonstration in the design process.

The Xilinx board you linked will work and the price is pretty compelling.  But I wouldn't want to use it.  Why?  Because it doesn't have gadgets.  I NEED 7 segment displays, lots of LED, plenty of switches and pushbuttons.  Most times these are required for the project and other times they are just helpful for debugging.  The obvious problem: price goes through the ceiling.  It is difficult to spend a lot of money on boards not knowing if you like the concept.  So, to get started, anything will work.  I would go with Xilinx only because that's what I have been using for about 15 years.

This board has a lot of gadgets, no 7 segment displays but that LCD display is interesting
https://www.ebay.de/itm/Digilent-Xilinx-Spartan-3E-FPGA-Starter-Board-only/273323417096?hash=item3fa3585e08:g:b6cAAOSwWDBa-eEQ

This next board was my all-time favorite when I was starting out.  The fact that it has static RAM is a plus.  My first incantation of the IBM 1130 ran on this board with a 16 digit 7 segment display hung off the right edge and a compact flash connected to one of the top connectors.  I like this board because it has a LOT of IO connections.

https://www.ebay.de/itm/digilent-xilinx-spartan-3-starter-board-w-breadboard-1-proto-3-F-3/192240256662?hash=item2cc2698696:g:59EAAOSwjvJZXsPi

Alas, it is used.  I'm not sure I would take the risk.  The fact that it includes the prototype board is pretty nice.

Over the years I have bought a bunch of boards.  I really don't know how many but a dozen wouldn't surprise me, probably more. The point is, get started with what you can afford, learn the process and then branch out.

The Nexys 4 DDR board is my new favorite.  It is quite expensive and perhaps not the best place to start.  But it has 'gadgets', lots of them.  The Arty is a popular board but that Basys 3 is very useful.  Maybe later on.  All take Vivado because they all use the newer Artix 7 chip.

https://store.digilentinc.com/fpga-for-beginners/

Here's a German company that builds a variety of boards:
https://www.ztex.de/usb-fpga-2/

I bought the 2.01 board to help a fellow debug his project which used one:
https://www.ztex.de/usb-fpga-2/usb-fpga-2.01.e.html

The Debug board is a handy attachment
https://www.ztex.de/usb-fpga-2/debug.e.html

I'm not so happy with the device programming details.  I don't recall how it works at the moment but I remember having to diddle with various Windows executables to get it programmed.  The FX2 device is pretty slick but working with it seems to be a PITA compared to using Digilent's Adept software.

That Mojo-V3 is probably a good place to start.  But it's old technology (these days) and seems to be too small to implement the T80 core.  As a stepping stone, it should work fine.

Everybody starts somewhere and the Mojo is a low cost entry point.  Here's the 'blinking LED'
https://www.deviceplus.com/how-tos/fpga-tutorial-intro-to-fpgas-with-the-mojo-part-1/


« Last Edit: September 05, 2018, 03:12:34 pm by rstofer »
 

Offline NorthGuy

  • Super Contributor
  • ***
  • Posts: 3147
  • Country: ca
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #70 on: September 05, 2018, 03:06:35 pm »
I tested recently (BTW with similar FPGA board). 200 MHz digital signals worked quite well on my breadboard

frankly, I don't believe it :popcorn:

Very good. You conduct your own tests and simulations and you publish them. Then we can compare yours to mine and see where they agree and where they differ and try to understand why. That's how science works.

You don't want to say that the 50 MHz figure which you have heard somewhere on the Internet is a representation of the final truth, do you?
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #71 on: September 05, 2018, 04:02:20 pm »
the Internet is a representation of the final truth

On the internet, there are ... a lot of things ...
« Last Edit: September 08, 2018, 04:12:37 pm by legacy »
 

Offline bingo600

  • Super Contributor
  • ***
  • Posts: 1989
  • Country: dk
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #72 on: September 05, 2018, 07:33:08 pm »
I wanted so much to make a 6800/Z80 to SPI bus emulator with a small FPGA/CPLD, but sadly while I can design it, I don't have enough knowledge to do the development of the HDL code :(.

I run FLEX (MC6809) on this $12 FPGA board  (Add a 512K Ram + misc comps for the Base PCB)
http://searle.hostei.com/grant/Multicomp/index.html

https://www.retrobrewcomputers.org/forum/index.php?t=msg&goto=1260&&srch=cyclone#msg_1260

I got the "Base PCB" from the guyzz here
https://www.retrobrewcomputers.org/forum/index.php?t=thread&frm_id=1&

/Bingo
 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9890
  • Country: us
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #73 on: September 05, 2018, 09:03:22 pm »
I said earlier that I like FPGA boards with gadgets.  Unfortunately, they come at a price.

SPI is the answer!  I posted earlier the code to make 16 console entry switches with a Microchip Port Expander.  Somewhere I have code to make a 16 digit 7 segment display using a Maxim chip (I believe, haven't looked lately).

So, on stripped down development boards, create a couple of SPI interfaces and you're in business.  Worst case, it takes 4 pins per interface.  Maybe use another port expander to provide LEDs.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 3507
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: Searching modern MCU with a (classic) 8bit I/O bus
« Reply #74 on: September 05, 2018, 09:22:41 pm »
I said earlier that I like FPGA boards with gadgets.  Unfortunately, they come at a price.

SPI is the answer!  I posted earlier the code to make 16 console entry switches with a Microchip Port Expander.  Somewhere I have code to make a 16 digit 7 segment display using a Maxim chip (I believe, haven't looked lately).

So, on stripped down development boards, create a couple of SPI interfaces and you're in business.  Worst case, it takes 4 pins per interface.  Maybe use another port expander to provide LEDs.
My personal favorite is actually using small STM32 microcontrollers, especially STM32F030. The STM32 UART has a single-pin bidirectional mode, effectively making it a single-ended RS485 equivalent. This gives me two-wire (signal + ground) multi-drop peer to peer networking.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf