1-110
The output of the module, Y, is used for data being input
to the chip. Side I/O modules have a dedicated output
segment for Y extending into the routing channels above
and below (similar to logic modules). Side I/O modules
may also connect to the array through nondedicated Long
Vertical Tracks (LVTs). Top/Bottom I/O modules have no
dedicated output segment. Signals coming into the chip
from the top or bottom must be routed using F-fuses and
LVTs (F-fuses and LVTs are explained in detail in the
routing section). I/O signals connected to I/O modules on
either the top or bottom of the array may incur a delay
penalty over signals connected to I/O modules on the
sides.
Hard Macros
Designing within the Actel design environment is
accomplished using a building block approach. Over 350
logic function macros are provided in the 1200XL design
library. Hard macro logic functions range from simple SSI
gates such as AND, NOR, and Exclusive OR to more
complex functions such as flip-flops with 4:1 Multiplexed
Data inputs. Hard macros are implemented in the ACT 2
architecture by using one or more C-modules or
S-modules. Over 200 of the macros are implemented in a
single module, while several two-module macros are also
available. Two-module hard macros always utilize a
module-pair, either SS, CC, CS, or SC. Because one- and
two-module macros have small propagation delay
variances, their performances can be predicted very
accurately. Hard macro propagation delays are specified in
the data sheet. Soft macros comprise multiple hard macros
connected together to form complex functions. These
functions range from MSI functions to 16-bit counters and
accumulators. A large number of TTL equivalent hard and
soft macros are also provided. Soft macro delays are not
specified in the data sheet.
Routing Structure
The 1200XL architecture uses Vertical and Horizontal
routing tracks to interconnect the various logic and I/O
modules. These routing tracks are metal interconnects that
may either be of continuous length or broken into pieces
called segments. Segments can be joined together at the
ends using antifuses to increase their lengths up to the full
length of the track.
Horizontal Routing
Horizontal channels are located between the rows of
modules and are composed of several routing tracks. The
horizontal routing tracks within the channel are divided
into one or more segments. The minimum horizontal
segment length is the width of a module-pair, and the
maximum horizontal segment length is the full length of
the channel. Any segment that spans more than one-third
the row length is considered a long horizontal segment. A
typical channel is shown in Figure 6. Nondedicated
horizontal routing tracks are used to route signal nets.
Dedicated routing tracks are used for the global clock
networks and for power and ground tie-off tracks.
Vertical Routing
Other tracks run vertically through the module. Vertical
tracks are of three types: input, output, and long. Vertical
tracks are also divided into one or more segments. Each
segment in an input track is dedicated to the input of a
particular module. Each segment in an output track is
dedicated to the output of a particular module. Long
segments are uncommitted and can be assigned during
routing. Each output segment spans four channels (two
above and two below), except near the top and bottom of
the array where edge effects occur. LVTs contain either
one or two segments. An example of vertical routing
tracks and segments is shown in Figure 7.
Antifuse Structures
An antifuse is a “normally open” structure as opposed to
the normally closed fuse structure used in PROMs or
PALs. The use of antifuses to implement a Programmable
Logic Device results in highly testable structures as well
as efficient programming algorithms. The structure is
highly testable because there are no preexisting
connections; therefore, temporary connections can be
made using pass transistors. These temporary connections
can isolate individual antifuses to be programmed as well
as isolate individual circuit structures to be tested. This can
be done both before and after programming. For example,
all metal tracks can be tested for continuity and shorts
between adjacent tracks, and the functionality of all logic
modules can be verified.
1200XL DB DS Page 110 Tuesday, October 3, 1995 8:36 AM