I found why my PCTD 3 tape controller was defying my attempts to probe
it--the XC2064-50 FPGA seems to be dead as a doornail. Regardless of
signal inputs, it remains stubbornly inactive--i.e., my logic analyzer says
that none of the identifiable outputs changes state.
[I've never sued the XC2000 series, a lot of this is based on my
experiences with the XC3000s, but anyway)
I think the XC2000 series are old enough to be RAM based, that is they
have to load their configuration from some external device at power-on.
There are probably 2 ways (at least) to do this, either by connecting it
to an EPROM (whereupon the FPGA will generate sequential addresses to the
EPROM and read in the data) or by giving it a serial clock/data
bitstream, e.g. from a microcontroller or a special Xilinx serial ROM
chip.
You should be able to see some activity on the pins of the configuration
memory device (if, for example, it loads from EPROM and the addresses are
not changing, it's a fair bet that the FPGA has died). There may also be
a pin that changes state to say the thing has been configured, if there
is you could look at that one.
The good thing (for you) is that if the FPGA is dead, it's not a custom
or programmed part (the 'program' is in the external memory device), it
can thereofre be replaced fairly easily (but note that 'improved'
versions, with odd suffixes, may well not be compatible, and would need
diffeerent configuration data).
Since DMA and interrupt logic (as well as configuration) is contained in
the FPGA, attempting to read from any I/O port returned FF. A jumper
bypassing the FPGA for IO read, shows that the drive status lines are
indeed present and readable. Similarly, writing to the appropriate I/O
address causes the expected drive line to wiggle.
Since I don't need soft configurability (only for IRQ and DMA; the I/O
address is set via DIP switch), I may remove the FPGA and substitute some
TTL. I haven't decided yet.
Hang on, this thing isn't configured from the host computer is it (e.g.
by the device dricer loading a bitstream into the chip)? If it is, it
will appaer totally dead until that program's been run.
But do old FPGA's just quietly go belly-up? Or is there something about
Any chip can fail.... I've had XC3000s die.
-tony