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
Didn't find your answer? Ask the community — no account required.
A
Antti
formatting link
:) 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!
R
Rick C. Hodgin
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
R
Rick C. Hodgin
Nice.
Best regards, Rick C. Hodgin
H
HT-Lab
On 11/12/2014 19:55, Rick C. Hodgin wrote: Hi Rick,
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.
Have a look at Enterpoint's Craignell module schematics:
formatting link
Regards, Hans.
formatting link
S
Stef
On 2014-12-11 Antti wrote in comp.arch.fpga:
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:
formatting link
(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.
H
hamilton
What does this mean ??
R
Rick C. Hodgin
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
T
Tim Wescott
You want a level shifter or translator:
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
T
Tim Wescott
"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
T
Tim Wescott
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
T
Tom Gardner
IIRC Intel has wittered about such a thing in the last year. Informed opinion seemed skeptical that it would amount to much.
I suspect Intel's objective was to try to take the steam out if ARM's sails, since ARM is more than happy for you to embed their processors in your own logic; see any smartphone for details.
A much more interesting half-way house is Xilinx's Zynq chips, i.e a dual-core ARM and FPGA fabric, tightly intertwined with decent Verilog/VHDL tools and software development environments.
Have a look at the MicroZed and similar boards.
Not if the FPGA and processor are in the same package, which is the best arrangement.
R
Rick C. Hodgin
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.
Definitely a 5V part circa 1986. Ceramic 16 MHz package.
Best regards, Rick C. Hodgin
R
Rick C. Hodgin
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
G
glen herrmannsfeldt
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 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
R
rickman
I suggest you dig harder on this issue. It has been a long time since FPGAs were 5 volt tolerant. The only way I know to make the FPGA 5 volt tolerant is to either use a current limiting resistor on the input pin (a very poor solution because the pin capacitance and the series resistance create a low pass filter that prevents any fast changes) or level shifters which come in many forms.
I use Quick Switch shifters on my current design. They are really just analog switches with Vcc driven by 5 volts with an internal diode drop. This puts the gate drive at a voltage so that nothing over about 3.3 volts will pass though the switch. So it clamps the 5 volt side to 3.3 volts when connecting to your FPGA I/Os. Since 5 volt TTL type logic levels are compatible with 3.3 volt TTL logic levels all is good. The delay through the switches is a lot less than the prop delays through a logic gate so they are faster too.
Check to see if they are using some type of voltage conversion devices between the FGPA and the I/O pins. It would be very unusual if they do. Otherwise the FPGA I/Os are designed for multiple voltage standards up to 3.3 volts.
Rick
T
Tim Wescott
You're not answering my question. "Supports 5V" can mean one of two things, both of which meanings I've stated. "Assign 5V to each pin" essentially carries the same two meanings.
Can you power the FPGA GPIO from 5V, so that you get 5V out? Or can it just stand to get 5V on an input without the FPGA operating incorrectly?
Great. Wonderful. 5V logic comes in a lot of different flavors. For the purposes of our discussion, you can break it into the set of all parts that need a full 5V on a logic input to correctly interpret the answer as a '1', and parts that can get by with 3.3V. So which is it?
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
R
rickman
Not directly from the FPGA. He said he is using the "Cyclone V GX Starter Kit". This board puts a 47 ohm resistor in series with the I/Os to the header along with Schotkey diodes to 3.3 volts and ground. If this is driven from 5 volt logic it may pop the diodes and the 47 ohm resistor won't protect the FPGA inputs. This board is *not* 5 volt tolerant.
If he is going to use the 386 he has to build a board anyway. So that board can contain 5 volt to 3.3 volt converters to make it all work properly.
Interesting that the starter kit has Arduino compatible headers on it. I wonder if anyone has built an Arduino compatible CPU board with a 386, lol
Rick
T
Tim Wescott
I think the OP needs to learn a bit more about the wonderful world of logic levels (and Rick H. -- feel free to ask).
My inclination is that if the guy needs to make a board anyway, he may as well put the FPGA on it, and not mess around trying to make a board to stick onto the starter kit. I don't know enough about the parts involved to know if, at that point, he can get away with putting them together without level translators or not. I suspect not -- I'll bet that 386 has
5V CMOS-level inputs, and that the Altera part can't be run with 5V on the I/O. But I am NOT going to take the time to dig through data sheets -- the OP can do that as part of his education in digital hardware design.
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
R
Rick C. Hodgin
The Starter Kit says 5V, 1 amp max. I assume that means drive current, if that's the correct phrase. :-)
I don't know. :-) So far as my thinking goes: I assign a meaning to some of the GPIO pins, and whatever magic needs to happen under the hood to get that particular pin to work at 3.3V or 5V happens without me having to worry about it at this level.
I don't know. I looked at the data sheet on the 1986 80386DX, and it showed a number of pins being used which indicated 5V. I assumed the entire chip was 5V because I later remember receiving a Pentium-233 chip that was labeled 3.3V explicitly on the case, which made me think that this later chip was something new at that voltage.
But, I could be wrong on all counts.
Best regards, Rick C. Hodgin
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.