A
Antti Lukats
Guest
Hi
until recently I did live in good faith that all decent FPGAs do have
bitstream integrity checks and do not start in case of configuration loading
errors.
This seems not to be case at least for Xilinx Virtex2 FPGAs.
I do have a desing and FPGA evaluation system where I constantly see
bitstreams that start but have erratic behaviour. This can only be explained
that there have been errors during download but impact (JTAG download) does
not report and error and FPGA starts as it would be OK. After power off and
reconfigure the error is gone.
1) from Xilinx answers: if prog_b pin is being pulsed during JTAG download
then the FPGA configuration sync is lost what yields to bullshit loaded into
FPGA and FPGA starting with that bullshit with no errors being reported
during configuration. My system has a button and pullup resistor on prog
pin - nobody is pushing it during download.
2) Xilinx Virtex2 FPGA have a new feature called AutoCRC what is more
reliable as the CRC used in older FPGAs. The normal CRC check (RCRC command
and write to CRC register) are still being used unless its a debug
bitstream! -- Good god, but why does impact generate bitstreams with CRC
value fixed 0x5F57 for all Virtex2/p/s3 devices ?? the meaning of CRC is
that is not constant but calculated?
Ok, the AutoCRC is written, but the AutoCRC should only operate on frame
data? how are other config writes protected if the normal CRC check seems to
be bypassed ???
Antti
PS 0x0000DEFC !!!
for those who do not know the meaning 0xDEFC its the DEFault Crc value
written to CRC register when CRC check is disabled.
When CRC check is enabled CRC is 0x5F57 but the meaning of that - sorry I
can not decode! it must be a magical value that matches any good CRC value
(a calculated value!)
PPS Xilinx: where is the algorithm for AutoCRC ???
until recently I did live in good faith that all decent FPGAs do have
bitstream integrity checks and do not start in case of configuration loading
errors.
This seems not to be case at least for Xilinx Virtex2 FPGAs.
I do have a desing and FPGA evaluation system where I constantly see
bitstreams that start but have erratic behaviour. This can only be explained
that there have been errors during download but impact (JTAG download) does
not report and error and FPGA starts as it would be OK. After power off and
reconfigure the error is gone.
1) from Xilinx answers: if prog_b pin is being pulsed during JTAG download
then the FPGA configuration sync is lost what yields to bullshit loaded into
FPGA and FPGA starting with that bullshit with no errors being reported
during configuration. My system has a button and pullup resistor on prog
pin - nobody is pushing it during download.
2) Xilinx Virtex2 FPGA have a new feature called AutoCRC what is more
reliable as the CRC used in older FPGAs. The normal CRC check (RCRC command
and write to CRC register) are still being used unless its a debug
bitstream! -- Good god, but why does impact generate bitstreams with CRC
value fixed 0x5F57 for all Virtex2/p/s3 devices ?? the meaning of CRC is
that is not constant but calculated?
Ok, the AutoCRC is written, but the AutoCRC should only operate on frame
data? how are other config writes protected if the normal CRC check seems to
be bypassed ???
Antti
PS 0x0000DEFC !!!
for those who do not know the meaning 0xDEFC its the DEFault Crc value
written to CRC register when CRC check is disabled.
When CRC check is enabled CRC is 0x5F57 but the meaning of that - sorry I
can not decode! it must be a magical value that matches any good CRC value
(a calculated value!)
PPS Xilinx: where is the algorithm for AutoCRC ???