Glasgow Uses An FPGA As An Embedded Systems Multitool

Everyone who builds embedded systems wants tools to help build and debug systems faster, so it isn’t uncommon to see boards outfitted with various tools like serial port sniffers. We’ve seen a few incarnations and the latest is Glasgow. The small board uses an FPGA and claims to do the following:

  • UART with automatic baud rate determination
  • SPI or I2C
  • Read and write common EEPROMs and flash chips
  • Read and write common EPROMs including a data rescue function
  • Program AVR chips via SPI
  • Play back JTAG SVF files
  • Debug ARC and some MIPS CPUs
  • Program XC9500LX CPLDs
  • Communicate to several wireless radios and CPUs
  • Do sound synthesis
  • Read raw data from floppy drives

The revC board is the first to be relatively functional and sports 16 I/O pins operating at up to 100 MHz, although the documentation hints that 6 MHz might be the top of what’s easily accomplished. The software is written in Python and the iCE40 FPGA toolchain that we’ve talked about many times in the past.

This already looks like a useful tool and the reconfigurable nature of FPGAs makes it a good platform to expand. The documentation discusses the difficulty in debugging things for the board, so the base software offers support such as a built-in logic analyzer to help.

We have seen dev boards become bench tools, like using the iCEstick as a logic analyzer. It’s nice to see dedicated tools like this one built up around the speed and versatility of FPGAs.

13 thoughts on “Glasgow Uses An FPGA As An Embedded Systems Multitool

    1. Yeah, it follows the idea of the bus pirate, but definitely FAR more capable. Apart from anything else, it has 16 data pins vs the bus pirate, as well as the ability to actually max out a 480Mbps USB2.0 connection if fed correctly.

  1. I’ve been following the development, and this is definitely the real deal: no need for all the hedge words in the article. It’s a legitimate USB to anything adapter. (Eg, recently it was used to extract data from a failing eeprom in what is apparently actually a cutting edge undervolting technique.) Eagerly awaiting the crowd supply campaign to enter public availability.

  2. Heh, we actually made a similar project this year as our final year project using the diligent Zybo board that runs the os in itself, so no need for plugging it in another system.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.