xc2bit 0.0.4

A library for working with Xilinx Coolrunner-II bitstreams
Documentation

xc2bit: A library for working with Xilinx Coolrunner-II bitstreams

xc2bit is a library for reading and writing bitstreams for the Xilinx Coolrunner-II family of CPLD devices.

This project is the result of a reverse-engineering effort involving a combination of imaging physical CPLD devices and black-box reverse-engineering of generated .jed files. It is not an official project of Xilinx, Inc. and is not affiliated or endorsed by Xilinx, Inc.

Logically, a Coolrunner-II CPLD contains the following major blocks: function blocks (occasionally abbreviated to FBs), a global interconnect (occasionally referred to as the ZIA or the AIM), and input/output blocks (occasionally abbreviated to IOBs). Function blocks are further divided into the PLA (programmable logic array, a matrix of AND and OR gates) and macrocells. In the Coolrunner-II architecture, macrocells also contain an XOR gate and a register. The global interconnect accepts inputs from IOBs and function blocks and connects these inputs into the PLA of each function block. IOBs also have direct connections to a corresponding macrocell in a function block. (The reverse is not always true - on larger devices, there are macrocells that are not connected to IOBs.) As a special exception, the smallest 32-macrocell devices also have one single input-only pin that is connected directly into the global interconnect and does not have a corresponding macrocell.