Using FPGA to feed 80386

R

Rick C. Hodgin

Guest
Would it be possible to connect an FPGA up to
an 80386 (or other) CPU, to respond to memory
and port requests, and leverage it as a resource?

I'm thinking software runs on the 80386, given
it by the FPGA, instructing it as a type of co-
processor, which does things on command.

I see voltage differences as an issue.

Best regards,
Rick C. Hodgin
 
On Thursday, 11 December 2014 20:55:20 UTC+1, Rick C. Hodgin wrote:
Would it be possible to connect an FPGA up to
an 80386 (or other) CPU, to respond to memory
and port requests, and leverage it as a resource?

I'm thinking software runs on the 80386, given
it by the FPGA, instructing it as a type of co-
processor, which does things on command.

I see voltage differences as an issue.

Best regards,
Rick C. Hodgin

http://igg.me/at/zynq
:) get one

I did build many of my work stations myself, 8088 based, 80386 was advanced stuff.

All is doable, question is what makes sense and what is fun.

Hacking bare metal Zynq is FUN!
 
How would I handle the disparate voltages? Are
there rail devices which support N pins in at V1,
which then support V2 out the other side? So I
would wire 80386 to rail-1, and rail-2 to FPGA?

Best regards,
Rick C. Hodgin
 
hamilton wrote:
On 12/11/2014 1:24 PM, Rick C. Hodgin wrote:
How would I handle the disparate voltages?

What does this mean ??

The 80386 uses 5V. I was thinking the Altera
Cyclone V GX Starter Kit only supported up to
3.3V. But I see now it supports 5V on GPIO pins.

Best regards,
Rick C. Hodgin
 
Tim Wescott wrote:
"Support" as in it will let you power a GPIO
block from 5V? Or does it just mean that a
3.3V GPIO pin is 5V tolerant?

It says you can assign 5V to each pin, which I
assume means true I/O. I would use externally
regulated 5V power supply, as from an old case,
for all CPU Vcc inputs. The GPIO would only
power data and a handful of switches.

If the latter, then you need to make sure that
the '386 has TTL-level inputs (V_HI < 3V or so).

Definitely a 5V part circa 1986. Ceramic 16 MHz
package.

Best regards,
Rick C. Hodgin
 
On Thursday, December 11, 2014 5:11:44 PM UTC-5, Tim Wescott wrote:
On Thu, 11 Dec 2014 11:55:14 -0800, Rick C. Hodgin wrote:

Would it be possible to connect an FPGA up to an 80386 (or other) CPU,
to respond to memory and port requests, and leverage it as a resource?

I'm thinking software runs on the 80386, given it by the FPGA,
instructing it as a type of co- processor, which does things on command.

I see voltage differences as an issue.

Best regards,
Rick C. Hodgin

Are you doing this to have fun playing with obsolete processors, or do you
have a job to do?

If it's the former -- have fun.

If it's the latter -- you are aware that there are all sorts of far more
modern solutions to this general problem than the one you're proposing,
yes?

It's a mental exercise right now. I have never considered anything about
hardware in my past. I'm a software guy, and always thought of hardware
as being outside of my reach. However, a short time ago I was introduced
to Verilog and the FPGA. Since then I've had this flood of ideas on how
things might work ... so, I ask questions. :)

I do have an old 80386-16 MHz ceramic CPU (several actually), along
with 80486 through Pentium various models (some of which are 3.3V),
along with AMD K5, etc.

I was basically just thinking through the process.

Best regards,
Rick C. Hodgin
 
Rick C. Hodgin <rick.c.hodgin@gmail.com> wrote:
Would it be possible to connect an FPGA up to
an 80386 (or other) CPU, to respond to memory
and port requests, and leverage it as a resource?

The 80286 was designed to work with the 80287 or 80387
math coprocessor. That interface is a little less general
than the 8086, but it could be possible that way.

Otherwise, yes, you could do it as an ordinary I/O device on
memory or I/O space.

I'm thinking software runs on the 80386, given
it by the FPGA, instructing it as a type of co-
processor, which does things on command.

I see voltage differences as an issue.

I think the 386 has TTL level I/O pins. There are a few
different ways to do that. One is a resistor big enough not to
hurt the input when the protection diode conducts.

-- glen
 
On 11/12/2014 19:55, Rick C. Hodgin wrote:
Hi Rick,
Would it be possible to connect an FPGA up to
an 80386 (or other) CPU, to respond to memory
and port requests, and leverage it as a resource?

Sure, look at the 387 interface. The 386 does all the hard work of
decoding the effective address and when the data is ready the 387 grabs
it.

I'm thinking software runs on the 80386, given
it by the FPGA, instructing it as a type of co-
processor, which does things on command.

I see voltage differences as an issue.

Have a look at Enterpoint's Craignell module schematics:

http://www.enterpoint.co.uk/component_replacements/craignell.html

Regards,
Hans.
www.ht-lab.com



Best regards,
Rick C. Hodgin
 
On 2014-12-11 Antti wrote in comp.arch.fpga:
http://igg.me/at/zynq
:) get one

I did build many of my work stations myself, 8088 based, 80386 was advanced stuff.

All is doable, question is what makes sense and what is fun.

Hacking bare metal Zynq is FUN!

It indeed is! I started not too long ago on the zynq, using the Avnet
MicroZed. Now have a daul core bare metal app running. I found this blog
very helpful:
http://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chronicles-Part-61-PicoBlaze-Part-Six/ba-p/551888
(scroll to the bottom of the page for an index of all articles, starting
at the very first steps.

Even if you are not using the MicroZed I think most of it is very useful
for getting familiar with the zynq.

--
Stef (remove caps, dashes and .invalid from e-mail address to reply by mail)

mathematician, n.:
Some one who believes imaginary things appear right before your _i's.
 
On 12/11/2014 1:24 PM, Rick C. Hodgin wrote:
> How would I handle the disparate voltages?

What does this mean ??
 
On Thu, 11 Dec 2014 12:24:15 -0800, Rick C. Hodgin wrote:

How would I handle the disparate voltages? Are there rail devices which
support N pins in at V1,
which then support V2 out the other side? So I would wire 80386 to
rail-1, and rail-2 to FPGA?

Best regards,
Rick C. Hodgin

You want a level shifter or translator:

<http://www.digikey.com/product-search/en/integrated-circuits-ics/logic-
translators/2556437>

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
 
On Thu, 11 Dec 2014 14:03:14 -0800, Rick C. Hodgin wrote:

hamilton wrote:
On 12/11/2014 1:24 PM, Rick C. Hodgin wrote:
How would I handle the disparate voltages?

What does this mean ??

The 80386 uses 5V. I was thinking the Altera Cyclone V GX Starter Kit
only supported up to 3.3V. But I see now it supports 5V on GPIO pins.

"Support" as in it will let you power a GPIO block from 5V? Or does it
just mean that a 3.3V GPIO pin is 5V tolerant?

If the latter, then you need to make sure that the '386 has TTL-level
inputs (V_HI < 3V or so).

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
 
On Thu, 11 Dec 2014 11:55:14 -0800, Rick C. Hodgin wrote:

Would it be possible to connect an FPGA up to an 80386 (or other) CPU,
to respond to memory and port requests, and leverage it as a resource?

I'm thinking software runs on the 80386, given it by the FPGA,
instructing it as a type of co- processor, which does things on command.

I see voltage differences as an issue.

Best regards,
Rick C. Hodgin

Are you doing this to have fun playing with obsolete processors, or do you
have a job to do?

If it's the former -- have fun.

If it's the latter -- you are aware that there are all sorts of far more
modern solutions to this general problem than the one you're proposing,
yes?

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
 
How would I go about making my own boards?
I am aware of commercial companies which
have software you can download, and construct
the layout through their process manufacturing,
and you will receive boards and solder masks.

But are there things you can do yourself? Buy a
blank copper layer, cover with a photoresist,
expose a mask, and then chemically etch away
the exposed or unexposed are (depending on
the resist)?

Best regards,
Rick C. Hodgin
 
I found this video. It was interesting. Also some
instructables on the process.

http://www.youtube.com/watch?v=tWnfnt2rNO0

Best regards,
Rick C. Hodgin
 
Even better:

http://m.youtube.com/#/watch?v=4SNkzoOvoD8

Best regards,
Rick C. Hodgin
 
On 12/14/14, 1:47 PM, Rick C. Hodgin wrote:
How would I go about making my own boards?
I am aware of commercial companies which
have software you can download, and construct
the layout through their process manufacturing,
and you will receive boards and solder masks.

But are there things you can do yourself? Buy a
blank copper layer, cover with a photoresist,
expose a mask, and then chemically etch away
the exposed or unexposed are (depending on
the resist)?

Best regards,
Rick C. Hodgin

Yes, there are home kits for building boards. Unless you go VERY fancy,
you will be limited to 2 sided boards, and likely do NOT have plated
through holes, so you need to solder through jumpers to get from one
side to the other.

Generally, the line width you can make with this sort of system isn't
any where near what you can do with commercial fabrication.

If you are only planning a few boards, it may be cheaper to use some of
the short run prototype shops, as there is a moderate investment in
tools to be able to make your own boards.
 
Rick C. Hodgin <rick.c.hodgin@gmail.com> wrote:
How would I go about making my own boards?
I am aware of commercial companies which
have software you can download, and construct
the layout through their process manufacturing,
and you will receive boards and solder masks.

But are there things you can do yourself? Buy a
blank copper layer, cover with a photoresist,
expose a mask, and then chemically etch away
the exposed or unexposed are (depending on
the resist)?

You can do that for 1 and 2 layers, and if you don't need tight
tolerance. You won't get plated through holes, so you have to
wire through all vias.

The commercial places are, as far as I know, reasonably priced
for what they do.

-- glen
 
Version 2.0. Much faster, cleaner:

http://m.youtube.com/watch?v=uIIwU29H3E8

Best regards,
Rick C. Hodgin
 

Welcome to EDABoard.com

Sponsor

Back
Top