Hi All,
I'm doing an internal project for my tiny company and have chosen to use
a Xilinx XC9572 and an Atmel ATMEGA324P along with 6 74LS245
transceivers for this portion.
This project is a board to interface to an ancient (but initially very
expensive) machine, replacing the original interface with a modern one.
The original is all 5V and I don't care about speed, density, power
consumption or cost too much. I'm mostly interested in ease of
implementation and reliability.
Anyway, I bought a Xilinx USB II cable the other day and was looking for
any pointers or tips you may have.
I have both Windows XP SP3 and Ubuntu 8.04 available for development.
I'd prefer to do most or all work under Ubuntu. Is that practical using
the Xilinx toolset?
I am currently working on the schematic/board for the above and plan on
clocking both the CPLD and uP at 20MHz. Any thoughts on the necessity of
using a four-layer board (inner layers power/ground)?
The basic function of the CPLD will be to accept byte-wide writes to one
of 16 possible registers from the "ancient machine" (Intel 8085 @3.0
MHz.) and to store this in the CPLD as a 12 bit value, possibly
double-buffered, then to interrupt the uP. The uP will read and decode
the 12 bit value from the CPLD and store the 8 bit part in RAM. Going in
the other direction the uP will write to a single 8 bit wide register,
possibly double-buffered, in the CPLD which will cause the CPLD to issue
an interrupt to the "ancient machine". Sometime later the "ancient
machine" will read the register in the CPLD and the CPLD will clear the
interrupt line.
Back in '86-'88 I got fairly proficient with 22V10s and ABEL. I haven't
done any programmable logic since then.
Later in this project I'll be using a mid-sized
FPGA (probably Spartan
3) to implement some faster and more complex logic (specialized 20 Mbps
data stream organized in scan lines)
Thanks.