R
rickman
Guest
On 4/6/2016 12:08 PM, Rick C. Hodgin wrote:
MCUs have a various means of programming them which often allow the use
of a simple USB port and a small chip. FPGAs have two ways of
programming... JTAG and a proprietary serial interface, each brand and
sometimes even family of FPGAs are different. The proprietary
interfaces are often very similar, but the programmers are different. I
just buy a cable from the makers and live with that. There are
"universal" cables sold on eBay but I've never tried one so I don't know
how well they work. I should as I have manufacturing needs and only
have one cable with no spares. I should either buy a new cable or try
using one of the universal ones.
If you have an eval board, it may have a chip on board to handle the
programming or it may require a cable. I have an iCEblink40 (Lattice)
eval board that uses USB. Looks like they use an AT90USB2 with custom
programming to bring up the FPGA. I bet other manufacturers do similar
things on their low end boards. If you can get the code you could copy
that, or just tie into the signals and use that programmer with your FPGA.
I like some of the Lattice chips because they have Flash. Once you
program them the programmer is no longer needed. If you are going to
use a RAM configured part you need something to program the FPGA every
time you power it up, so might as well design an MCU programmer onto
your board.
--
Rick
On Wednesday, April 6, 2016 at 11:51:16 AM UTC-4, rickman wrote:
On 4/6/2016 8:20 AM, Rick C. Hodgin wrote:
I don't want to spend a lot of time trying to get it to work, but if
I can, it would be really nice to be able to have my CPU side-by-side with
a real-world product, able to test out compatibility.
You should be able to design one board with an FPGA, a 386 socket and a
386 plug which will work for any of the three things you have talked
about doing, emulating the mobo with your FPGA, emulating the 386 with
your FPGA and monitoring the 386 in a real mobo with the FPGA.
386 Chip
____________
++++++++++++ FPGA
============== _____________
|||||||||||| ,,,,,,,,,,,,,
=================================================== PCB
||||||||||||
Plugs into 386 Mobo
When emulating the 386 unplug it from the socket. When emulating the
mobo, unplug from the mobo. When monitoring the 386 in operation plug
in the 386 and plug the board into the mobo.
If you aren't in a hurry, I can help you with the PCB design. I can use
this as a learning tool to come up to speed with KiCAD which I've been
meaning to do.
I think this sounds like a great solution. I've never programmed an
FPGA outside of the dev board and dev environment (Quartus), so I have
no idea how I'd program the on-board FPGA as you indicate. If it's
possible, your design looks amazing.
How is the FPGA programmed when it's not on a dev board? Is it that
certain pins feed into its programming mechanism, and those would be
wired to a usb port we'd add to the board for that purpose?
MCUs have a various means of programming them which often allow the use
of a simple USB port and a small chip. FPGAs have two ways of
programming... JTAG and a proprietary serial interface, each brand and
sometimes even family of FPGAs are different. The proprietary
interfaces are often very similar, but the programmers are different. I
just buy a cable from the makers and live with that. There are
"universal" cables sold on eBay but I've never tried one so I don't know
how well they work. I should as I have manufacturing needs and only
have one cable with no spares. I should either buy a new cable or try
using one of the universal ones.
If you have an eval board, it may have a chip on board to handle the
programming or it may require a cable. I have an iCEblink40 (Lattice)
eval board that uses USB. Looks like they use an AT90USB2 with custom
programming to bring up the FPGA. I bet other manufacturers do similar
things on their low end boards. If you can get the code you could copy
that, or just tie into the signals and use that programmer with your FPGA.
I like some of the Lattice chips because they have Flash. Once you
program them the programmer is no longer needed. If you are going to
use a RAM configured part you need something to program the FPGA every
time you power it up, so might as well design an MCU programmer onto
your board.
--
Rick