-
Notifications
You must be signed in to change notification settings - Fork 196
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
XC95288XL and XC95144XL support #285
XC95288XL and XC95144XL support #285
Conversation
The last bits to determine from this changeset are usercode_low/high, according to our IRC discussions... Here's a snippet I took from the #!/usr/bin/env python
import sys
def jed_to_word_address_mapping(jed_address):
block_num = jed_address // 432
block_bit = jed_address % 432
word_addr = block_num * 15
if block_bit < 9 * 32:
word_addr += block_bit // 32
else:
word_addr += 9 + (block_bit - 9 * 32) // 24
return word_addr
def word_address_to_fpgm_fvfy_address_mapping(word_address):
block_num = word_addr // 15
block_off = word_addr % 15
dev_addr = 32 * block_num + 8 * (block_off // 5) + block_off % 5
return dev_addr
jed_addr = int(sys.argv[1])
word_addr = jed_to_word_address_mapping(jed_addr)
print("Word address mapping: {}".format(word_addr))
print("FPGM/FVFY mapping : {}".format(word_address_to_fpgm_fvfy_address_mapping(word_addr))) Which yields the following numbers outlined in the docs, for validation:
I built and examined some example JED files I generated with ISE 14.7 with USERCODE 0000 and 1111, by using the
Running the script above with those address lines:
Most probably I'm missing some crucial bit or I've introduced some error in this analysis, happy to revisit it if something is wrong. |
@whitequark How did you manage to set USERCODEs I'm trying to reduce the degrees of freedom between your analysis (with the |
As per @rroohhh analysis, usercode_low/high is shared across Xilinx CPLD models, see IRC logs for details: https://libera.irclog.whitequark.org/glasgow/2021-10-29 |
LGTM, but please squash the commits into two; one that fixes the logging issue, and another that adds support for the new devices. Please do use our conventions for commit messages as well. |
Thank you! |
Adding support for this Xilinx CPLD after some guidance in:
https://discord.com/channels/613131135903596547/613461005392936961/900928494450638879
After reading about the glasgow-archive in the contribution guidelines, I'll perhaps add the PDF:
https://www.xilinx.com/support/documentation/data_sheets/ds055.pdf
Although the material is quite well covered already in accessions G00014 and G00015?