Does anyone know if there is an alternative device similar to the Atmel FPSLIC (AVR +FPGA)? I would like something like an 8051 derivative that has some built in configurable programmable logic. The Atmel parts are nice, but overkill for my application. They are also somewhat expensive. My requirements are a bit loose at the moment and I'm searching for a slick approach to a floppy emulator.
Not on the low low cost side of things as far as I am aware. You are much better off with either a soft core solution in a single FPGA, or a seperate micro with an external FPGA or PLD. You have many more options if you go in that direction. i.e. you can use your micro and software tools of choice, and then choose an optium cost/performance FPGA/PLD solution. Would you even need an FPGA for such a solution?
As suggested by others, maybe it is better to use an external CPLD or FPGA. If it is a hobby project and you don't need to minimize the price, just one FPGA would be sufficient, then use your favorite CPU implementation from OpenCores, or some vendor solution, like Nios.
If you want to minimize the price, I think a cheap microcontroller, like this one:
?name=MC9RS08KA1CSC-ND and a cheap CPLD for implementing a FIFO for the 1Mbps interface could work. Lattice has some really inexpensive CPLDs with 3.3V supply voltage, starting from $1.65 for single units and $1.42 for 100 units:
But don't forget to ask the vendor how long they can deliver the parts, if you need it for a product for many years.
Frank Buss, email@example.com
I have these nice logic equations over here and a black thing with many legs over there that you say can do thse equations, now how do I get my equations into the part? Listen very carefully to the answer.
You will be surprised how often the makers of CPLDs and FPGAs make it much harder than needed for you to use there parts. They often have:
(1) A program which only runs or does not run on a specific version of Windows.
(2) A "integrated development environment" that it will take you weeks to figure out how to use with poor documentation.
(3) Only rent you the software not sell or give it to you so you can't be sure that you can fix a problem in 5 years time. This includes renting it for free.
(4) Somebody else does the software and they do the parts so that if you have a problem you will see endless finger pointing.
You fill find that they don't:
(1) Make a "command line" version of the compiler so you can put the CPLD and the micro's code in the same make process.
(2) For ISP parts, they may not make an ASCII file called a JAM/STAPL file but instead force you to use their hard-to-use tool for the job.
You are right, the FPGA synthesizer software is a problem. At least Altera supports older devices in new software releases, too, and the software is free, if you don't need high-end parts with Nios. But they require to renew the Web-licence every some months (same for the rent-version), so you can't be sure that the software still works when they are out of business or some day they might decide not to renew the licence, but redirect you to a page where you can buy it. They should really open source their software and concentrate on the chip development. The solution may be to port to another product, if you got problems like this, which should be not too difficult, if you write portable VHDL code. But redesigning the PCB might be costly.
You'll have this problem with hardwired CPUs, too. But with FPGAs and CPLDs the probability is higher that some problem like this occurs, because the hardware and synthesizer software is more complex.
The Altera software is scriptable with Tcl/Tk. Documenation could be better, but it is possible to integrate it in the make process.
At least for FPGAs you can create a binary file, which you can feed from the microcontroller to the FPGA. I've used this concept in a system which I've helped developing.
Frank Buss, firstname.lastname@example.org