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

XC95000XL: Merging the tool into the applet to migrate from .bit to .jed #288

Closed
wants to merge 6 commits into from
Closed

Conversation

brainstorm
Copy link
Contributor

No description provided.

@brainstorm
Copy link
Contributor Author

brainstorm commented Dec 5, 2021

I'll be revisiting this soon as I've successfully dumped the target CPLD from my original DNA sequencer repair project :)

I'm posting this comment as self-documentation/thoughts as I go through Glasgow's code to easily context-switch when I retake this task.

Given that I have the contents of isdata.data, i.e:

<glasgow.arch.xilinx.xc9500xl.DR_ISDATA valid=1 strobe=0 data=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>
<glasgow.arch.xilinx.xc9500xl.DR_ISDATA valid=1 strobe=0 data=00000010000100000000000100000000000000000000000100000000000010100000000000000000000000000000000000000000000000000000000000000000>

I was looking for a JED struct to fill to serialize those fuse states... I found the jesd3 parser within Glasgow protocols, but I didn't find a JED writer (serializer), so I guess I'll have to write a struct that conforms with the official JEDEC spec in PDF. Shall I include this one in the glasgow-archive repo if it's not already?.

The example data shown above are fuses representation, I'm obtaining that via a print() inside _fvfyi function.

@whitequark
Copy link
Member

I guess I'll have to write a struct that conforms with the official JEDEC spec (shall I include this one in the glasgow-archive repo if it's not already?)

All you really need for serializing a JED is a bitarray of fuses. Once you can convert the data that has been read out to that, I'll assist you with a JED writer.

@brainstorm
Copy link
Contributor Author

brainstorm commented Dec 16, 2021

Thanks Catherine! When I was exploring this, I was wondering to which extent the JED writer had to conform with the original spec in all its facets or just-functional, i.e:

Screen Shot 2021-12-16 at 9 01 24 pm

Sorry I missed that JEDEC spec PDF/link on the previous comment when I mentioned the glasgow-archive repo, fixed now.

@whitequark
Copy link
Member

All you need to do is to write QF<nfuses>* F0*, and L<nfuse> <data>.

@brainstorm brainstorm marked this pull request as ready for review January 1, 2022 18:54
glasgow run program-xc9500xl --port B --pin-tck 6 --pin-tms 5 --pin-tdi 4 --pin-tdo 7 -f 100 -M read-jed foo.jed
(...)
L1579 0
QF1620*
F0*
L1580 256
QF1620*
F0*
L1581 8224598224228656695780139694427209730
QF1620*
F0*
L1582 0
QF1620*
F0*
(...)

Bits from isdata.data need to be serialized properly as individual bits and also move this function/template where it should belong within Glasgow...
@whitequark whitequark self-requested a review as a code owner July 24, 2023 04:45
@whitequark
Copy link
Member

whitequark commented Oct 26, 2023

Obsoleted by #477. Thank you for putting in the effort!

@whitequark whitequark closed this Oct 26, 2023
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

Successfully merging this pull request may close these issues.

None yet

2 participants