XC9500 CPLD Series: Features and Architecture
Key Features
- High-Performance Logic:
- 5 ns pin-to-pin logic delays on all pins.
- Supports system performance up to 125 MHz.
- Density Range:
- Available in a variety of configurations:
- 36 to 288 macrocells.
- 800 to 6,400 usable gates, depending on the device size.
- Programmable Logic Blocks (PLBs):
- Each internal block is referred to as a Function Block (FB) or Configurable Function Block (CFB).
- Each block consists of:
- 36 inputs.
- 18 macrocells that can implement combinational or sequential logic.
- FastCONNECT Switch Matrix:
- Provides programmable interconnects between Function Blocks (FBs).
- Ensures uniform delay for signal routing and enhances connectivity.
- I/O Capability:
- Offers 3.3 V or 5 V I/O compatibility.
- High-drive 24 mA outputs for robust signal interfacing.
- Slew rate control on individual outputs to manage signal integrity.
- In-System Programmability (ISP):
- Based on Advanced CMOS 5V Fast FLASH technology.
- Supports 5V in-system programming.
- High endurance with 10,000 program/erase cycles.
- Can program/erase over the full commercial voltage and temperature range.
- Enhanced Design Flexibility:
- Global and product term clocks for precise timing control.
- Set and reset signals at both local and global levels.
- Output enable controls for better output management.
- Power Efficiency:
- Includes programmable power reduction mode for each macrocell.
- Minimizes power consumption in low-activity designs.
- Extensive Design Security:
- Pattern security features to protect intellectual property.
- Safeguards against unauthorized access to design data.
- Boundary-Scan Support (JTAG):
- Full compliance with IEEE Std 1149.1 (JTAG) for testing and debugging.
Architectural Advantages
- Uniform Architecture:
- Each macrocell and FB is designed with a uniform architecture, enabling predictable timing and consistent performance.
- High Fan-In Capability:
- The FastCONNECT switch matrix provides additional logic capability by enabling wired-AND outputs and increasing fan-in without additional timing delay.
- Flexibility in Logic Design:
- Each macrocell supports a wide range of configurations:
- Combinational or sequential functions.
- Multiple types of flip-flops (e.g., D-type, T-type).
- Direct or inverted outputs.
- Each macrocell supports a wide range of configurations:
Applications
The XC9500 series is ideal for:
- High-speed state machines.
- Glue logic for interfacing between systems.
- Embedded controllers and peripheral devices.
Structure of a Function Block
Each Function Block consists of the following key components:
- Inputs
- Each FB can receive 36 input signals.
- These signals are processed as both true and complemented (inverted) forms, resulting in 72 signals for the AND-array.
- Programmable AND-Array
- The AND-array generates product terms based on the logic equations.
- It can create up to 90 product terms, which are used as inputs to macrocells or control signals (e.g., clock, set/reset, output enable).
- The AND-array is highly configurable, enabling complex logic functions.
- Macrocells
- Each Function Block has 18 macrocells.
- A macrocell can implement:
- Combinational logic (e.g., AND, OR, XOR operations).
- Sequential logic (using flip-flops like D-type or T-type).
- Each macrocell can use up to 5 product terms directly from the AND-array.
- Local Feedback Paths
- Outputs from the macrocells can feed back into the AND-array within the same Function Block.
- This allows local connections, enabling:
- Creation of fast state machines.
- Implementation of counters and other feedback-dependent circuits.
- Product Term Allocator
- This mechanism assigns the 90 available product terms to different macrocells.
- The allocator ensures optimal use of resources and avoids wastage.
- Global Signals
- The Function Block receives global signals, including:
- Global Clock: Synchronizes operations.
- Global Reset/Set: Sets or resets all flip-flops in the block.
- Global Output Enable: Controls whether the outputs are active.
- The Function Block receives global signals, including:
- Output Signals
- The FB generates 18 output signals, corresponding to the 18 macrocells.
- These outputs are routed through the FastCONNECT matrix for further use or sent directly to the I/O pins.
Key Features of the Function Block
- Flexible Logic Implementation:
- Can handle combinational and sequential logic simultaneously.
- Each macrocell can be configured individually.
- Efficient Use of Resources:
- Product terms are dynamically allocated to minimize wastage.
- High-Speed Operations:
- Local feedback paths allow quick signal processing without routing outside the FB.
- Configurable Macrocells:
- Each macrocell can act as:
- A logic gate (for simple logic operations).
- A flip-flop (for storing data).
- Each macrocell can act as:
A macrocell is the basic building block inside a Function Block (FB) in the Xilinx XC9500 CPLD.
Structure of a Macrocell
A macrocell in the XC9500 family has the following key components:
- Logic Function Generator
- The macrocell receives product terms from the AND-array in the Function Block.
- It can process up to five product terms directly.
- These product terms are used for:
- Logic operations (e.g., AND, OR, XOR).
- Control signals like clock, set/reset, and output enable.
- Configurable Flip-Flop
- Each macrocell includes a register (flip-flop) for sequential logic.
- Types of flip-flops:
- D-type flip-flop: Stores a single bit of data.
- T-type flip-flop: Used in toggle operations (e.g., counters).
- The flip-flop can be bypassed for purely combinational operations.
- Asynchronous and Synchronous Control
- Each macrocell supports:
- Asynchronous set/reset: Quickly initializes or clears the flip-flop without waiting for a clock signal.
- Synchronous set/reset: Controlled by the clock signal for predictable timing.
- Each macrocell supports:
- Output Configurations
- A macrocell’s output can be:
- Combinational: Logic operation results are sent directly to the output.
- Registered: Data is stored in the flip-flop before being sent out.
- The output can be inverted if required.
- A macrocell’s output can be:
- Product Term Allocator
- Allocates the product terms from the AND-array to macrocells efficiently.
- This flexibility allows sharing product terms among macrocells, minimizing resource usage.
Working of a Macrocell
- Input Stage:
- Receives up to five product terms from the AND-array.
- Logic Processing:
- Processes these terms using combinational logic (AND, OR, XOR, etc.).
- Alternatively, stores the output in the flip-flop for sequential logic.
- Output Stage:
- The processed signal is sent out either directly (combinational) or through the flip-flop (registered).