12-07-2012 10:26 PM
I got problem when programing fpga.
Error Message is
Pragram FPGA Failed.
Reason : FPGA configuration encountered errors.
Program FPGA failed.
ERROR : Connection to Board Failed. Could not find a supported debug device on the board. Check if the jumper settings on the board are correct.
Acutall, i read many posting about this error.
But i couldn't find the same error with my error.
And, my project is made by a basic hello world project.
What should i check?
1. JTAG is connected ==> O.K.
2. bit and elf file is correctly made. ==> O.K.
If you need more information about this, tell me plz.
(p.s. i attach this sources. even though i want to attach the my project files, i couldn't it because of the limitted file size.)
Thank you for reaind this post.
12-10-2012 05:10 AM
The error is stating that the JTAG cannot connect to the debug modul in your system.
If you are using the Microblaze this is the MDM. If you created this in BSB this should be OK.
If you are using a custom board, I would check your clcok and reset to see if they are correct.
I would check the polarity of the reset to see if it is correct.
12-10-2012 03:52 PM
Thank you for your reply.
as you said, the problem is the polarity of reset.
and Could i ask one more thing?
i want to use the funtions, XSpi_WriteReg/XSpi_ReadReg, for writing and reading the registers in sdk.
But there are many register offset values.
for example, XSP_DGIER_OFFSET / XSP_IISR_OFFSET / XSP_CR_OFFSET / XSP_TFO_OFFSET / ....
What should i use it of them when i want to write the register and read the data ?
Again, thank you for taking time.
12-11-2012 07:55 AM
If you know how the register is mapped (by reading the datasheet), then you can write directly to the register.
However, I would recommend that you use the offsets, and the masks so you dont corrupt the register as this
will just lead to issue.
So, for example if you want to reset the device, you would write to the reset bit in the register.
You can either write to
Or you can use the predefined offsets and masks:
This just leaves you less oppertunity to mess things up :-)
12-11-2012 05:24 PM
(c.f. I am using the chip TDC-GP21 that is communicated with FPGA by SPI)
But what if i want to use other OPCODEs?
I mean I want to read IDs by setting OPCODE as 0xB7, but i dont know how mask is used.
XSpi_WriteReg(BaseAddr + 0xB7, ???)
And In this chip, there are 6 configurations for writing registers.
Then If i want to configure this chip,
this code is OK?
XSpi_WriteReg(BaseAddr, 0, Register0);
XSpi_WriteReg(BaseAddr, 1, Register1);
XSpi_WriteReg(BaseAddr, 2, Register2);
XSpi_WriteReg(BaseAddr, 3, Register3);
XSpi_WriteReg(BaseAddr, 4, Register4);
XSpi_WriteReg(BaseAddr, 5, Register5);
Thank you for continously reading and replying
12-12-2012 03:03 AM
The mask is just used so you dont mistakenly write to any other bits in the register.
So taking the reset example I used previously. The reset bits were
so taking the reset example I used before the reset mask was 0x0000000A
this will OR with the register address using the mask. So it will only flip the bits set in the mask
This is a safety thing so the application wont corrupt the register by mistake.
You can create you own mask, the masks are provided in the drivers as an aid.
you can see them defined in the header files.
In your code, you would be better usng the low level driver, and writing as
#define Register0 0x0000000A
This will set bit 1 and 3 to 1 at register BaseAddr+0