Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is, or will be, the Xilinx XC9536XL supported? #104

Closed
jduraes opened this issue Aug 10, 2021 · 28 comments
Closed

Is, or will be, the Xilinx XC9536XL supported? #104

jduraes opened this issue Aug 10, 2021 · 28 comments

Comments

@jduraes
Copy link

jduraes commented Aug 10, 2021

Hello,

I don't see the Xilinx XC9536XL as one of the supported devices today - so I'm guess the first answer is, "no, not supported". The follow-up question is, will it? When/how, please? :-)

Just to confirm my understanding of the error message below is right, would this be a resulting message for an unsupported device? I'm using a Tigard board to program an Interface 1bis that has the Xilinx on board.

$ openFPGALoader -c tigard IF1bis4bPld.jed
write to ram
Jtag frequency : requested 6.00MHz -> real 6.00MHz
JTAG init failed with: Unknown device with IDCODE: 0x59602093

Many thanks.

@jduraes jduraes changed the title Is, or will be, the Xilinx XC9536XL10 supported? Is, or will be, the Xilinx XC9536XL supported? Aug 10, 2021
@trabucayre
Copy link
Owner

It's true xc9 aren't currently supported. I have one but jed needs to be improved to be less lattice only.
Since you are interested by this support I will working on that.

@jduraes
Copy link
Author

jduraes commented Aug 14, 2021

Thanks very much. Let me know if there is anything you'd like me to test.

@trabucayre
Copy link
Owner

Hi.
I've added support for all XC95 CPLD.
Could you try it?
Thanks

@jduraes
Copy link
Author

jduraes commented Aug 19, 2021

Thank you. Will do it shortly and report back.

@jduraes
Copy link
Author

jduraes commented Aug 19, 2021

I'm guessing, it might have worked!

$ openFPGALoader -c tigard IF1bis4bPld.jed --verify
write to ram
Jtag frequency : requested 6.00MHz   -> real 6.00MHz  
Open file Error: wrong checksum
DONE
Jtag frequency : requested 1.00MHz   -> real 1.00MHz  
Erase flash DONE
Write Flash: [==================================================] 100.00%
Done
Read Flash: [==================================================] 100.00%
Done
Verify Flash: [==================================================] 100.00%
Done

Question: that "error" regarding a wrong checksum on the file I've used, is that a big issue? The file wasn't created by me, so I'm not sure what that means. It appears to have programmed the CPLD successfully nonetheless - although I cannot confirm it just yet.

Before I can test the device I need to program two other MCUs on the device, so I'll do that next and give the final confirmation later. Many thanks again.

@jduraes
Copy link
Author

jduraes commented Aug 19, 2021

Just for completeness:

$ openFPGALoader -c tigard --detect
write to ram
Jtag frequency : requested 6.00MHz   -> real 6.00MHz  
index 0:
	idcode 0x59602093
	manufacturer xilinx
	family xc9500xl
	model  xc9536xl
	irlength 8

@trabucayre
Copy link
Owner

Could you share your jed (not by copy/paste here). It's weird I've build a jed for the same device as you and the checksum is correctly computed...
Thanks

@jduraes
Copy link
Author

jduraes commented Aug 19, 2021

Sure; here it is.
IF1bis4cPld.zip

@trabucayre
Copy link
Owner

Thanks.
I've reproduce your issue and found my error. Now I need to check now for lattice's jed too and ASAP when I'm sure this not introduce regression, I push the fix.

@jduraes
Copy link
Author

jduraes commented Aug 20, 2021 via email

@trabucayre
Copy link
Owner

I have pushed fix for checksum. The error is about the way to compute checksum.
This check is, with xc9500xl, only to verify file is not corrupted. Your CPLD has been correctly programmed.

@jduraes
Copy link
Author

jduraes commented Aug 20, 2021

Nice one. Thank you for all your help.

@trabucayre
Copy link
Owner

It's okay for you. Can I close this issue?

@jduraes
Copy link
Author

jduraes commented Aug 23, 2021

I cannot yet confirm if the CPLD is working as expected, as I suspect I have an issue in my device elsewhere, but writing/verifying the FPGA appears to happen ok. So I have to assume that it is working correctly. I also no longer get that checksum error. Yes, please close the issue.

@tcmichals
Copy link

tcmichals commented Jul 15, 2022

I'm also trying to use a xc9536xl and did the following:
./openFPGALoader -c digilent_hs3 --detect
Jtag frequency : requested 6.00MHz -> real 6.00MHz
index 0:
idcode 0x9602093
manufacturer xilinx
family xc9500xl
model xc9536xl
irlength 8

Then do a:
./openFPGALoader -c digilent_hs3 /home/tcmichals/Downloads/G_MAIN.jed --verify
Jtag frequency : requested 6.00MHz -> real 6.00MHz
Open file DONE
Erase flash DONE
Write Flash: [==================================================] 100.00%
Done
Jtag frequency : requested 1.00MHz -> real 1.00MHz
Read Flash: [==================================================] 100.00%
Done
Verify Flash: [==================================================] 100.00%
Fail
Error: wrong value: read 00 instead of 40

i will also try and debug this, will reprogram using a working tool then attempt to just verify and see what that is not working first.

@trabucayre
Copy link
Owner

I will retry this week-end. But could you share your jed file?
Thanks!

@tcmichals
Copy link

Yes, here it is.
G_MAIN.zip

@trabucayre
Copy link
Owner

Thanks for the bitstream.
I have retried to flash my board: it's works. But it's an xc9572xl and unfortunately it's a bit hard to find your model (or at least with short delivery delays).
But before: a check between 1532.bsd and the 36 model must be done, 36 and 72 have not exactly the same sequence.

@tcmichals
Copy link

OK, what is the best way to debug this issue?

@trabucayre
Copy link
Owner

I have ordered one board but I have to wait for 2 or 3 weeks.
When you flash a bitstream without verify write the new bitstream is not working? True?
The first thing is to check flow_program behaviour to verify if everything is ok for this specific model.
I have started to do that.
In some points there is delays based on clock frequency: maybe values are too short.

@tcmichals
Copy link

When you flash a bitstream without verify write the new bitstream is not working? True?
Correct, it is not working.

@tcmichals
Copy link

FYI: xc3sprog does work with this device.

./xc3sprog -c jtaghs2 ~/Downloads/G_MAIN.jed -v
TIM XC3SPROG (c) 2004-2011 xc3sprog project $Rev: 774 $ OS: Linux
Free software: If you contribute nothing, expect nothing!
Feedback on success/failure/enhancement requests:
http://sourceforge.net/mail/?group_id=170565
Check Sourceforge for updates:
http://sourceforge.net/projects/xc3sprog/develop

Using built-in device list
Using built-in cable list
Cable jtaghs2 type ftdi VID 0x0403 PID 0x6014 Desc "Digilent USB Device" dbus data e8 enable eb cbus data 00 data 60
Using Libftdi, Using JTAG frequency 6.000 MHz from undivided clock
JTAG chainpos: 0 Device IDCODE = 0x59602093 Desc: XC9536XL
Device is not blank
Programming Sector 107.
Programming time 10909.4 ms
Verify Sector 107
Success! Verify time 137.5 ms
USB transactions: Write 1954 read 1734 retries 461

@trabucayre
Copy link
Owner

Maybe it's a good starting point to check if xc9536xl has some small specificities I have lost.

@trabucayre
Copy link
Owner

I have received my xc9536XL board and fixed issue: one of delays was too short.
Repo is now updated: could you check in your side to confirm the fix is working (or not).
Thanks.

@tcmichals
Copy link

openFPGALoader v0.9.0

Is working.

@trabucayre
Copy link
Owner

Thanks!
@jduraes is it ok for you too? Can I close this issue?

@jduraes
Copy link
Author

jduraes commented Sep 4, 2022 via email

@trabucayre
Copy link
Owner

Thanks.
Don't hesitate to reopen or create a new issue if something goes wrong!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants