Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2f48a32a8e12
Choose a base ref
...
head repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2439f1c4cf6a
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Oct 29, 2021

  1. Copy the full SHA
    a784380 View commit details
  2. Copy the full SHA
    2439f1c View commit details
Showing with 21 additions and 4 deletions.
  1. +8 −1 software/glasgow/applet/program/xc9500xl/__init__.py
  2. +13 −3 software/glasgow/database/xilinx/xc9500xl.py
9 changes: 8 additions & 1 deletion software/glasgow/applet/program/xc9500xl/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Ref: Using the XC9500/XL/XV JTAG Boundary Scan Interface
# Document Number: XAPP069
# Accession: G00014
# Ref: XC95288XL High Performance CPLD
# Document Number: DS055
# Accession: G00081
# Ref: XC95144XL High Performance CPLD
# Document Number: DS056
# Accession: G00082
# Ref: XC9572XL BSDL files
# Accession: G00015
# Ref: black box reverse engineering of XC9572XL by whitequark
@@ -537,8 +543,9 @@ async def interact(self, device, args, xc9500_iface):
if xc9500_device is None:
raise GlasgowAppletError("cannot operate on unknown device with IDCODE=%#10x"
% idcode.to_int())

self.logger.info("found %s rev=%d",
idcode.to_int(), xc9500_device.name, idcode.version)
xc9500_device.name, idcode.version)

usercode = await xc9500_iface.read_usercode()
self.logger.info("USERCODE=%s (%s)",
16 changes: 13 additions & 3 deletions software/glasgow/database/xilinx/xc9500xl.py
Original file line number Diff line number Diff line change
@@ -10,16 +10,26 @@


devices = [
XC9500XLDevice("XC9536XL",
idcode=(0x049, 0x9602),
XC9500XLDevice("XC95288XL",
idcode=(0x049, 0x9616),
bitstream_words=1620,
word_width=16,
word_width=128,
usercode_low=90, usercode_high=105),
XC9500XLDevice("XC95144XL",
idcode=(0x049, 0x9608),
bitstream_words=1620,
word_width=64,
usercode_low=90, usercode_high=105),
XC9500XLDevice("XC9572XL",
idcode=(0x049, 0x9604),
bitstream_words=1620,
word_width=32,
usercode_low=90, usercode_high=105),
XC9500XLDevice("XC9536XL",
idcode=(0x049, 0x9602),
bitstream_words=1620,
word_width=16,
usercode_low=90, usercode_high=105),
]

devices_by_idcode = defaultdict(lambda: None,