AHA3411 is a lossless compression
coprocessor IC for hardcopy systems on many
standard platforms, including PCI Bus. The device
is targeted for high throughput and high resolution
hardcopy s ystems.
Multiple record counters, higher clock
frequency, advanced banding and duplex printing
features enhance this product from the first
StarLite introduction, AHA3410. Identical
compression algori th m and simi lar firmware
considerations ease migration to this second
generation device.
Blank band generation in real time and
prearming registers between records enable
advanced banding techniqu es. Bands may be in raw
uncompressed, compressed or blank format in the
frame buffer. The device processes all three formats
and outputs the raster data to the printer engine.
Appropriate register s are prearmed when switch ing
from one type to the next. Separate byte ordering
between the Compressor and the Decompressor
with bit order control in to the compressor allow ful l
reversal of the image data for duplex printing
support. A system may use mult iple record counters
and End-of-Transfer interrupts to easily handle
pages partitioned into smaller records or bands.
This document contains f unctional des cription,
system configurations, register descriptions,
electrical characteristics and ordering information.
It is intended for system de signers considering a
compression coprocessor in their embedded
applications. Software simulation and an analysis of
the algorithm for printer and copier images of
various com plexity are also available for
evaluation. A comprehensive Designer’s Guide
complements this document to assist with the
system design. Section 1 1.0 contains a list of related
technical publications.
1.1CONVENTIONS, NOTATIONS AND
DEFINITIONS
– Active low signals h ave an “N” appended to the
end of the signal name. For example, CSN and
RDYN.
– A “bar” over a signal name indicates an inverse of
the signal. For example, SD
of SD. This terminology is used only in logic
equations.
–“Signal assertion” means the output signal is
logically true.
– Hex values are represented with a prefix of “0x”,
such as Register “0x00”. Binary values do not
contain a prefix, for example, DSC=000.
indicates an inverse
– A range of signal names or re gister bits is denoted
by a set of colons between the numbers. Most
significant bit i s always shown first, followed by
least significant bit. For example, VOD[7:0]
indicates signal names VOD7 through VOD0.
– A logical “AND” function of two signals is
expressed with an “&” between variables.
– Mega Bytes per second is referred to as MBytes/
sec or MB/sec.
– In re ferencing micropr ocessors, an x, xx or xxx is
used as suffix to indicate more than one
processor. For example, Motorola 68xxx
processor family includes various 68000
processors from Motorola.
– Reserved bits in registers are referred as “
– REQN or ACKN ref er to either CI, DI, CO or DO
Request or Acknowledge signals, as applicable.
res”.
1.2FEATURES
PERFORMANCE:
• 33 MBytes/sec burst rate, 33 MBytes/sec
maximum sustained
• 132 MBytes/sec burst data rate over a 32-bit data bus
• 33 MBytes/sec synchronous 8-bit video in and
video out ports
• Simultaneous compression and decompres sion at
full bandwidth
• Average 15 to 1 compression ratio for 1200 dpi
bitmap image data
• Advanced banding support: blank bands, prea rmng
FLEXIBILITY:
• Big Endian or Little Endian; 32 or 16-bit bus
width and data bit/byte reordering for duplex
printing support
• Programmable Record Lengt h, Record Count and
Scan Length Registers may be prearmed
• Scan line length up to 2K bytes
• Interfaces directly with various MIPS, Motorola
68xxx and Cold FIRE, Intel i960, and Am29K
embedded processors
• Pass-through mode passes raw data through
compression and decompression engines
• Counter checks errors in decompression
SYSTEM INTERFACE:
• Single chip compression/ decompre ssion soluti on
– no external SRAM required
The coprocessor device has three external high
speed synchronous data ports capable of transferring
once every 33 MHz clock. These are a 32-bit
bidirectional data port, an 8-bit Video Input Data
(VID) port and a Video Output Data (VOD) port.
The 32-bit port is capable of transferring up to 132
MBytes/sec. The VID and VOD are capable of up to
33 MBytes/sec each.
The device accepts uncompressed data through
the 8-bit VID port or the 32-bit data port into its
Compression In FIFO (CI FIFO). The 32-bit data
port may be configured for 16-bit transfers.
Compressed data is available through the 32-bit data
port via the Compressed Output FIFO (CO FIFO).
The sustained data rate through the compression
engine is 33 MBytes/sec.
CO
FIFO
16x32
DO
FIFO
16x32
888
VOD
PORT
COEORN
COEOTN
(To Printer)
VOEOTN
VOEORN
VOREQN
VOD[7:0]
VOACKN
AHA3411
StarLiteTM
6
CSN
DIR
RDYN
PA[5:0]
INTRN
Decompression data may be simultaneously
processed by the device. Decompression data is
accepted through the 32-bit data port, buffered in
the Decomp ression Input FIFO (DI FIFO) and
decompressed. The output da ta is made available on
the 32-bit d ata port via the Decompres sion Output
FIFO (DO FIFO) or the 8-bit Video Output port.
The decompression engine runs on the 33 MHz
clock and is capable of processing an unco mpressed
byte every clock, i.e., 33 MB/sec.
The four FIFOs are organized as 16×32 each.
For data transfers through the three ports, the
“effective” FI FO sizes dif fer according to their data
bus widths. The table below shows the size of the
data port and the “effective” FIFO size for the
various configurations supported by the device.
Table 1:Data Bus and FIFO Sizes Supported by AHA3411
OPERATIONDATA BUS WIDTHPORTEFFECTIVE FIFO SIZE
Compression Data In8Video In16 x 8
Compression Data In/O ut32Data Port16 x 32
Compression Data In/O ut16Data Port16 x 16
Decompression Data In/Out32Data Port16 x 32
Decompression Data In/Out16Data Port16 x 16
Decompressed Data Out8Video Out16 x 8
Page 2 of 50PS3411-0600
Page 8
Advanced Hardware Architectures, Inc.
Table 2:AHA3411 Connection to Host Microprocessors
PIN NAMEi960Cxi960KxIDT3081
PAALADLatched AddressLatched Address
CSN
DIR
PDDLADA/DA/D[7:0]
SD
RDYNNo Connect
DRIVEN
CLOCKPCLKNo Connect
Movement of data for compression or
decompression is performed using synchronous
DMA over the 32-bit data port. The Video ports
support synchronous DMA mode transfers. The
DMA strobe conditions are co nfigurabl e for the 32 bit data port depending upon the system processor
and the available DMA controller.
Data transfer for compres sion or
decompression is synchronous over the three data
ports functioning as DMA masters. To initiate a
transfer into or out of the Video ports, the device
asserts VxREQN, the external device responds with
VxACKN and begins to t ra nsf er da ta over the VID
or VOD busses on each succeeding rising edge of
the clock until VxREQN is deasserted. The 32-bit
port relies on the FIFO Threshold settings to
determine the transfer.
The sections below describe the various
configurations, programming and other special
considerations in developing a compressi on system
using AHA3411.
CS
W/R
WAIT
DEN
CS
W/RWRR/W
READY
READY
System Dependent
2.0SYSTEM CONFIGURATION
This section provides information on
connecting AHA341 1 to variou s micro processors.
2.1MICROPROCESSOR INTERFACE
The device is capable of interfacing directly to
various processors for embedde d application. T able 2
and Table 3 show how AHA341 1 s houl d be
connected to various host micr oprocessors.
All register accesses to AHA3411 are
performed on the 8-bit PD bus. The PD bus is the
lowest byte of the 32-bit microprocessor bus.
During reads of the internal registers, the upper 24
bits are not driven. System designers should
terminate these lines with Pullup resis tors.
the microprocesso r port. Both active high and a ctive
low write enable si gnals are al lowed a s well as two
modes for chip select. T he mode of oper atio n is set
by the PROCMODE[1:0] pins. The
PROCMODE[1] signal selects when CSN must be
active and also how long an access lasts.
determines the le ngth of the acces s. CSN must be at
least 5 clocks in length. On a read, valid data is
driven onto PD[7:0] during th e 5th clock. If CSN is
longer than 5 clocks, t hen valid data c ontinues to be
driven out onto PD[7:0]. When CSN goes inactive
(high), PD[7:0] goes tristate (asynchronously) and
RDYN is driven high as ynchronously . CSN must be
high for at least t wo clocks. RDYN is always drive n
(it is not tristated when P RO CM OD E [1 ] is high). The
mode is typical of processors such as the Motorola
68xxx.
fixed at 5 clocks, PD[7:0] is onl y driven dur ing the
fifth clock, and RDYN is driven high for the first 4
clocks and low during the fifth clock. RDYN is
tristated at all other times. Write data must be driven
the clock after CSN is sampled low. Accesses may
be back to back with no delays in between. This
mode is typical of RISC processors s uch as the i960
and Am29K.
DIR pin. If PROCMODE[0] is high, then the DIR
pin is an active low write enable. If PROCMODE[0]
is low, then the DIR pin is an active high write
enable. Figure 2 through Figure 5 illustrate the
detailed timing diagrams for the microprocessor
interface.
micropro cessors, refer to AHA Application Note
(ANDC16), Designer’ s Guide for StarLi teProducts. AHA Applications Engineering is
available to supp ort with other pr ocessors not i n the
Designer’s Guide.
System Dependent
System Dependent
System DependentSystem Dependent
SYSCLK
AHA3411 provi des four modes of operat ion for
When PROCMODE[1] is high, CSN
When PROCMODE[1] is low, accesses are
PROCMODE[0] determines the polarity of the
For additional notes on interfacing to various
Motorola
MCFS102(ColdFIRE)
Decoded Chip Select
System Dependent
ACKTA
BCLOCK
TM
Family
PS3411-0600Page 3 of 50
Page 9
Advanced Hardwar e Architectures, Inc.
Table 3:Microprocessor Port Configuration
PROCMODE[1:0]DIRCYCLE LENGTH EXAMPLE PROCESSOR
00Active high writefixedi960
01Active low writefixed
10Active high writevariable
11Active low writevariable68xxx, MIPS R3000
Figure 2:Microprocessor Port Write (PROCMODE[1:0]=“01”)
CLOCK
PA[5:0]
CSN
DIR
PD[7:0]
RDYN
A0
D0D1
Figure 3:Microprocessor Port Read (PROCMODE[1:0]=“01”)
CLOCK
PA[5:0]
CSN
DIR
A0
A1
A1
A2
PD[7:0]
RDYN
D0
D1
Page 4 of 50PS3411-0600
Page 10
Advanced Hardware Architectures, Inc.
Figure 4:Microprocessor Port Write (PROCM OD E [1:0 ] = “11”)
CLOCK
PA[5:0]
CSN
DIR
PD[7:0]
RDYN
A0
D0
Figure 5:Microprocessor Port Read (PROCMODE[1:0]=“11”)
CLOCK
PA[5:0]
CSN
A0
A1
A1
DIR
PD[7:0]
RDYN
D0
PS3411-0600Page 5 of 50
Page 11
Advanced Hardwar e Architectures, Inc.
ACKN()& SD()
ACKN()& SD()
ACKN
delayed
()& SD
delayed
()
ACKN
delayed
()& SD
delayed
()
ACKN()& ACKN
delayed
()
ACKN()& ACKN
delayed
()
3.0FUNCTIONAL DESCRIPTION
This section describes the various data ports,
special handling, data formats and clocking
structure.
3.1DATA PORTS
AHA3411 cont ains two data input po rts, CI and
DI, and two data output ports, CO and DO on the
same 32-bit data bus, D[31:0]. Data transfers are
controlled by external DMA control. The logical
conditions under which data is written to the input
FIFOs or read from the output FIFOs are set by t he
DSC (Data Strobe Condition) field of the
Configuration 1 register.
A strobe condition defines under what logical
conditions the input FIFOs ar e written or the output
FIFOs read. CIACKN, COACKN, DIACKN,
DOACKN, and SD pins combine to strobe data in a
manner similar to DMA controllers. The DMA
Mode sub-section descr ibes t he var ious da ta st robe
options.
System
3.2DMA MODE
On the rising edge of CLOCK when the stro be
condition is met, the port with the active
acknowledge either strobes data into or out of the
chip. No more than one port may assert
acknowledge at any one time. Table 4 shows the
various conditions that may be programmed into
register DSC.
Figure 6 through Figure 11 illustrate the DMA
mode timings for single, four word and eight word
burst transfers for DSC=100 selection. For other
DSC settings, please refer to Appe ndix A. Note that
the only differe nce between odd and eve n values of
DSC is the polarity of SD. Waveforms are only
shown for polari ties of SD correspondi ng to specific
systems.
Table 4:Internal Strobe Conditions for DMA Mode
DSC[2:0]LOGIC EQUATIONSYSTEM CONFIGURATION
ACKN
)& ACKN
000
001No specifi c system
ACKN
()& SD()
)& ACKN
()& SD()
delayed
delayed
010General purpose DMA controller
011
100No specifi c system
101No specifi c system
110No specific sy stem
111No specific syst em
CKN
SD
i960Cx with internal DMA contro ller. SD is co nnected to
WAITN.
i960Kx with external, bus master type DMA controller.
SD is connected to RDYN.
delayed
delayed
ACKN delayed 1 clock=
SD delayed 1 cloc k=
Page 6 of 50PS3411-0600
Page 12
Advanced Hardware Architectures, Inc.
Figure 6:DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
D0D1
Figure 7:DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
D1D0
Figure 8:DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3
PS3411-0600Page 7 of 50
Page 13
Advanced Hardwar e Architectures, Inc.
Figure 9:DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition
of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
D1D0D2D3
Figure 10: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3D4D5D6D7
Figure 11: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3D4D5D6D7
Page 8 of 50PS3411-0600
Page 14
Advanced Hardware Architectures, Inc.
3.3PAD WORD HANDLING IN
BURST MODE
The StarLite compr ession algorit hm appends
a 15 bit End-of-Record codeword to terminate a
compression record. If a word containing an Endof-Record comes out during a bur st read, the words
following the End-of-Record are invalid (pad)
words. This prevents a burst read from crossing
record boundaries. The first word of the next burst
read is the first word of the next record. Any pad
words not previously removed must be deleted.
T wo methods are available to delete pad words.
During decompression pad words may be deleted by
using the Decompression Pause on Record
Boundaries bit (DPOR), in the Decompression
Control register. After the part is paused, the DI FIFO
must be reset by asserting the DIRST bit in the Port
Control register. Decompressor must also be reset by
asserting DDR bit in Decompression Control register.
The COEOTN signal is asserted when an End-ofRecord is present on the output of the CO FIFO and
the compression record counter has decremented to
zero, thus indicating the end of a transfer comprised
of one or more compressed records.
Another method to remove pad words during
compression is to read the Compressed Byte Count
register after pausing at an End-of-Record and
subtract this from the system’s received word count.
This difference is the number of pad words that
must be removed from the end of the compressed
record.
The COEORN signal is asserted when an Endof-Record is present on the out put of the CO FIFO.
COEORN is deasserted after the transfer. In some
systems COEORN can be used to generate a DMAdone condition if conditioned with the
acknowledge.
3.4DMA REQUEST SIGNALS
AND STATUS
AHA3411 requests data using request pins
(CIREQN, DIREQN, CO REQN, DOR EQN ). The
requests are controlled by programmable FIFO
thresholds. Both input and output FIFOs have
programmable empty and full thresholds set in the
Input FIFO Thr esho ld
registers. By requesting only when a FIFO can sustain
a certain burst size, the bus is used more efficiently.
Operation of these request signals should not be
confused with the request signals on the video ports.
CIREQN or DIREQN active indicates space
available in the particular input FIFO, and COREQN
or DOREQN active indicates data is available in the
particular output FIFO. These request signals inactive
andOutput FIFO Threshold
does not prevent data transfers. The data transfers are
controlled solely with the particular acknowledge
signal being active.
The input requests, CIREQN and DIREQN,
operate under the fol lowing priori tize d ru les, li sted
in order of highest to lowest:
1) If the FIFO reset in the
register is active, the request is inactive.
2) If a FIFO overflow interrupt is active, the
request is inactive.
3) If the FIFO is at or below the empty
threshold, the request remai ns active.
4) If the FIFO is at or above the full threshold,
the request stays inactive.
The output requests, COREQN and DOREQN,
operate under the fol lowing priori tize d ru les, li sted
in order of highest to lowest:
1) If the FIFO reset in the
register is active, the request is inactive.
2) If the output FIFO underflow interrupt is
active, the request is inactive.
3) If an EOR is pres ent in the output FIFO, th e
request goes active.
4) If the output FIFO is at or above the full
threshold, the request goes acti ve.
5) If an EOR is read (strobed) out of the FI FO,
the request goes inactive during the same
clock as the strobe (if ERC=0), otherwi se it
goes inactive on the next clock.
6) If the output FIFO i s at or below the empt y
threshold, the request goes inact ive.
Port Control
Port Control
3.4.1FIFO THRESHOLDS
For maximum efficiency, the FIFO t hresholds
should be set in such a way that the compressor
seldom runs out of data from the CI FIFO or
completely fills the output FIFO. The FIFOs are 16
words deep.
For example, in a system with fixed 8-word
bursts, good values for the thresholds are:
IET=3, IFT=4, OFT=D, OET=C
Setting the input full threshold to one higher
than the input empty threshold simply guarantees
that the request deasserts as soon as possible. The
latency between a word being strobed in and the
request changing due to a FIFO threshold condition
is 3 clocks. This should be ke p t in mi nd wh e n
programming threshold values. Refer to Section 4.0
of AHA Applicat i o n Not e ( AND C1 6) , Designer’s
Guide for StarLite
thorough discussion of FIFO thresholds. The
following figure shows an example of an input FIFO
crossing its full threshold.
TM
Family Products for a more
PS3411-0600Page 9 of 50
Page 15
Advanced Hardwar e Architectures, Inc.
Figure 12: FIFO Threshold Example (IFT=4, DSC=2, 1 Word Already in FIFO)
CLOCK
3
234
45
6
5
7
6
8
78
9
CIACKN
CIREQN
Threshold
Counter
D
1
1
2
Note:CIREQN deasserted when threshold counter exceeds IFT=4, but additional words are reading as long as
ACKN is asserted.
Figure 13: Request vs. End-of-Record, Strobe Condition of DSC=010
CLOCK
ACKN
D
EOR-2
EOR-1
EOR
REQN
(ERC=0)
REQN
(ERC=1)
EORN
3.4.2REQUEST DURING AN END-OF-RECORD
The request deasserts at an EOR in one of two
ways. If ERC bit in System Conf igurati on 1 is zero,
the request deasserts as ynchronously during the
clock where the EOR is strobed out of the FIFO.
This leads to a lo ng output delay for REQN, but may
be necessary in some systems. For DSC values of 4
or 5, the request deasserts the first clock after the
acknowledge pulse for the EOR. If ERC is set to
one, then the request deasserts synchronously the
clock after the EOR is strobed out. The minimum
low time on the request in this case is one clock.
The request delay varies between the different
strobe conditions. See Section 8.0 AC Electrical Specifications for further details.
3.4.3REQUEST STATUS BITS
An externa l microproc essor can also read the
value of each reque st using the CIREQ and COREQ
bits in the Compression Port Status register and the
DIREQ and DOREQ bits in the Decompression Port Status register. Please note the request status
bits are active high while the pins are active low.
Page 10 of 50PS3411-0600
Page 16
Advanced Hardware Architectures, Inc.
3.5DATA FORMAT
The width of the D bus is selected with the
WIDE bit in System Configuration 0. If WIDE=1,
then D is a 32-bit bus. If WIDE=0, D is a 16-bit bus.
If the bus is configured to be 16-bits wide
(WIDE=0), all data tran sfe rs occur on D[15:0] and
the upper 16 bits of the bus, D[31:16], should be
terminated with Pullup resistors. If WIDE=0, the
FIFO is sixteen words deep.
Since the compression algorithm is byte oriented,
it is necessa ry for AHA34 1 1 t o know t he orde ring of
the bytes within the word. The COMP and DECOMP
BIG bits in System Configuration 0 select bet wee n
big endian and little endian byte ordering for the
compression and decomp re ssi on chann el. Lit tle
endian stores the first byte in the lower eight bits of a
word (D[7:0]). Big endian stores the first byte in the
uppermost eight bits of a word (D[31:24] for
WIDE=1, D[15:8] for WIDE=0) for the
decompression e ngi ne o r c ompression engin e.
REVERSE BYTE in the System Configuration 0 register allows the bit order into the compression
engine to be swapped. This control is useful for
reversing a page of data for duplex printing
applications and has no significant impact on
compression ratio performanc e.
3.6ODD BYTE HANDLING
All data transfers to or from either the
compression or decompression engines are performed
on the D bus on word boundaries. Since no provision
is made for single byte transfers, occasionally words
will contain pad bytes. Following is a description of
when these pad bytes are necessary for each of the
data interfaces.
3.6.1COMPRESSION INPUT AND PAD BYTES
Uncompressed data input into AHA3411 is
treated as re cords. The length of these records is
fixed by the value in the Record Length or RLEN
register. This register contains the number of
uncompressed bytes in each record. If the value in
RLEN is not an integer multiple of number of bytes
per word as selec ted by WIDE, the fi nal word in the
transfer of the record contains pad bytes. The
compression engine s imply discards these pad bytes
and has no effect on either the dictionary or the
output data stream. The next re cord must begin on a
word boundary.
The minimum value for RLEN is 4 bytes.
3.6.2COMPRESSION OUTPUT AND
PAD BYTES
If a record ends on a byte other than the l ast byte
in a word, the final word contains 1, 2 or 3 pad bytes.
The pad bytes have a value of 0x00. Th is appli es to
the 32-bit data port only.
3.6.3DECOMPRESSION INPUT, PAD BYTES
AND ERROR CHECKING
This port recognizes th e end of a re cord by the
appearance of a special End-of- Record sequence in
the data stream. Once this is seen, the remaining
bytes in the current word are treated as pad bytes
and discarded. The word following the end of the
record is the beginning of the next record.
When operating in decompression mode, the
Decompression R ecord Length (DRLEN) register
can be used to provid e error checking. The e xpected
length of the decompressed record is programmed
into the DRLEN register. The decompressor then
counts down from the value in DRLEN to zero.
A DERR interrupt is issued if an EOR is not
read out of the decompressor when the counter
expires or if an EOR occurs before the counter
expires (i.e., when the record length s do not match).
If the DERR interrupt is mask ed, use of the DRLEN
register is optional.
When operating in pass-t hrough mode, there is
no End-of-Record codeword for the decompressor
to see. In pass-through mode, the user must set the
record length in the DRLEN register.
3.6.4DECOMPRESSION OUTPUT AND
PAD BYTES
When the decompressor detects an End-ofRecord codeword, it will add enough pad bytes of
value 0x00 to complete the current word as defined
by the WIDE bit in the System Configuration 0
register. For example, if a record ends on a byte
other than the last byte in a word, the final word
contains 1, 2 or 3 pad bytes. This applies to the 32bit data port only, not th e VOD port. The VOD port
never outputs pad bytes since it is 8-bits wide.
PS3411-0600Page 11 of 50
Page 17
Advanced Hardwar e Architectures, Inc.
Figure 14: Timing Diagram, Video Input
CLOCK
VIREQN
VIACKN
VID[7:0]
don’t
care
03
12
3.7VIDEO INTERFACES
3.7.1VIDEO INPUT
The video input port is enabled by the VDIE bit
in the System Configuration 1 register . The port use s
VIREQN to indicate that the port can accept another
byte. The value on VID[7:0] is written into
AHA3411 each clock that VIREQN and VIACKN
are both low.
The video input port as serts VIREQN whenever
there is room in the CI FIFO. The value s in IET and
IFT are all ignored. Th e compressi on input FI FO is
16 bytes
transfer up to one byte per clock (33 MB/sec). The
DMA interface cannot acce ss the compression input
FIFO when VDIE is set.
3.7.2VIDEO OUTPUT
bit in the System Configuration 1 regist er. The port
uses VOREQN to indicate that the byte on
deep in this mode. The video in put port can
The video output port is enabled by the VDOE
don’t care
45
VOD[7:0] is valid. An 8-bit word is re ad each clock
when both VOREQN and VOACKN are sampled
low on a rising edge of CLOCK. Pad bytes at an end
of record are discarde d by the video outp ut port and
do not appear on VOD[7:0]. When the byte on
VOD[7:0] is the last by te in a record, the VOEORN
signal goes low. To use VOEORN as an End-ofRecord indicator, it should be conditioned with
VOREQN and VOACKN. Unlike a DMA transfer,
there are no pad bytes after an End-of-Record.
VOEOTN operates similar to VOEORN. It
flags the end of an output transfer of one or more
decompressed records. VOEOTN is as ser te d when
the End-of-Record is at the out put of the DO FIFO
and the decompression record count has
decremented to zero.
The port requests whenever a valid byte is
present on the output. The values in OET and OFT
are all ignored. The decompression output FIFO is
16 bytes
deep in this mode. The video output port
can output up to one byte per clock (33 MB/sec).
The DMA interface cannot access the
decompression output FIFO when VD OE is set.
don’t
care
Figure 15: Timing Diagram, Video Output
CLOCK
VOREQN
VOACKN
VOD[7:0]
VOEORN,
VOEOTN
Page 12 of 50PS3411-0600
031245
Page 18
Advanced Hardware Architectures, Inc.
3.8ALGORITHM
AHA3411 compressi on is an efficient
implementation of an algorithm opti mized for
bitonal images. For some comp ari son data ref er to
the AHA Application Note ( AN D C 1 3 ),
Compression
Performance: StarLiteTM: ENCODEB2 on
Bitonal Images. A software emulation of the
algorithm is availabl e fo r eva lua tion.
3.9COMPRESSION ENGINE
The compression engine supports either
compression or pass-through processes. The
compression engine is enabled with the COMP bit in
the Compr ession Contr ol register . When the engine is
enabled, it takes data from the CI F I F O as it becomes
available. This data is either compressed by the engine
or passed through unaltered. This pass-through mode
is selected with the CPASS bit in the Compr essi on Control register . The CP ASS bit may only be changed
when COMP is set to ‘0’. The contents of the
dictionary are preserved when COMP is changed.
However, when CPASS is changed, the contents are
lost. Consequently, the device cannot be changed
from pass-through mode to compression mode or vice
versa without losing the contents of the dictionary.
The compressor can be instr uct ed to ha lt at t he
end of a record or an end of multiple-record
transfer. If the CPOR bit is set, the compressor stops
taking data out of the CI FIFO immediately after the
last byte of a record, and the COMP bit i s cleared. If
the CPOT bit is set the compressor halts at the end
of the multip le-record transfer. The CEMP bit
indicates the compressor has emptied all data.
Compressio n is restarted by setting the C OMP bit.
The compression engine takes dat a fr om the
compression input FIFO at a maximu m rate of 33
MBytes/sec. Two conditions cause the data rate to
drop below the maximum. The first is caused by the
compression input FIFO running empty of dat a to be
compressed. The second conditi on i s ca used by the
output FIFO filling. Whe n thi s occ urs , the engine
halts and waits for the FIFO. While halted, the engine
goes into a low power standby mode. Refe r to the
table in Section 7.1 for the e xte nt of power savings.
The compression byt e counter counts the number
of bytes output from the CO data port. The counter is
valid to read after a compression end of transfer
interrupt (CEOT), or pausing after End-of-Record.
3.10DECOMPRESSION ENGINE
The decompression engine is enabled with the
DCOMP bit in the Deco mpr ession Contr ol register .
When the engine is enabled, it takes data from the
DI FIFO as it becomes available. This dat a is either
decompressed by the engine or passed through
unaltered. Pass-through mode is selected with the
DPASS bit. DPASS may only be changed when
DCOMP is set to zero and DEMP is set to one. The
contents of the dictionary are preserved when
DCOMP is changed. However, when DPASS is
changed, the contents are lost. Consequently,
AHA3411 cannot be changed from pass-through
mode to decompression mode or vice versa without
losing the contents of the dictionary.
The decompressor can be i nstructed to halt at the
end of a record or an end of multiple- record tr ansfer.
If the DPOR bit is set, the de compressor stops taking
data out of the DI FIFO immediat ely a ft er t he l ast
byte of a record, and the DCOMP bit is cl ear ed. I f
DPOT bit is set the decompressor halts at the end of
the multiple-record trans fer . The DEMP bit indicates
the decompressor has emptied of a ll data . Decompression is restarted by s et tin g the DCOMP bit. If
DPOR or DPOT is set and data from a second r ecord
enters the FIFO immediately aft er t he f ir st r ecord,
bytes from the second record wil l ha ve en ter ed t he
decompressor prior to decoding the EOR. An implication of this is that bytes from the second record will
remain in the decompressor and pr event DEMP from
setting after all o f t he dat a f rom the first record has
left the decompressor. This differs f rom operatio n of
the compression engine. In eit her mode , a DEOR
interrupt is generated wh en t he l ast byt e of a decompressed record is read out o f th e chip, and DEOT
when the last byte of a transfer is read out of the chip.
The decomp ressor takes data from the
decompression input FIFO at a maximum rate of
33 MBytes/sec. AHA3411 can maintain this data
rate as long as th e deco mpression i nput FIFO i s not
empty or the decompression out put FIFO is not full.
Caveat: Changing the mode for the
decompressor between r ecords or multiple-record
transfers must be done with the data of t he following
record or transfer held off until the DEOR status bit
is true for the current record and the Decompression Control regist ers have been reprogrammed. This
reprogramming can occur automatically with
prearming.
3.11PREARMING
Prearming is the ability to write certain
registers that apply to the next record w hile the
device is processing the current record. These
registers may be prearmed for record bounda ri es.
Prearming is automatic, meani ng there is no way to
disable it. If a prearmable register is written while
the part is bus y processing a re cord, at the end o f the
record the part takes its program from the register
value last written. Compression Control and
Decompression Control registers each have
separate corresponding prearm registers.
PS3411-0600Page 13 of 50
Page 19
Advanced Hardwar e Architectures, Inc.
The lower 3 bytes of both the Compression
Record Length and the Decompression Length
registers are prearmable. They may be changed and
the new values loaded into the respective counter at
the next End-of-Record. If the most significant byte
is written in either of the Record Length registers, the
counter is immediately reloaded with the new 4 byte
value in the particular register .
3.12INTERRUPTS
Nine conditions are reported in the Interrupt
Status/ Cont rol 1 and Status/Control 2 registers as
individual bits. All interrupts are maskable by
setting the corres ponding bits in the In terrupt Mas k
register . A one in the Interrupt Mask register means
the corresponding bit in th e Interrupt Status /Control
register is masked and does not affect the interrupt
pin (INTRN). The INTRN pin is active whenever
any unmasked interrupt bit is set to a one.
An End-of-Record interrupt is posted when a
word containing an end-of-record is strobed out of
the compression or decompression output FIFO
(CEOR and D EOR respectively). A DEOR interrupt is also reported if an end-of-record is read from
the video output po rt. A compression or decompression end of transfer interrupt will also be posted if
this is the la st record of a t ransfer.
End-of-Transfer interrupts are posted when an
EOR occurs that c auses the c ounter to decrement to
zero. These are CEOT and DEOT, and they apply to
both the compression and decompression engines
respectively.
Four FIFO error conditions are also reported.
Overflowing the input FIFOs generates a CIOF or
DIOF interrupt. An ove rflow can only be cleared by
resetting the respective FIFO via the Port Control
register.
Underflowing the output FIFOs (readi ng when
they are not ready) generates a COUF or DOUF.
Underflow interru pts are cleared b y writing a one to
COUF or DOUF. In the event of an underflow, the
respective FIFO mus t be reset. Note that in systems
using fixed length b ursts which rearbit rate duri ng a
burst, the CO FIFO may reques t another burst when
the record actually finishes near the end of the
current burst. In this scenario a second burst takes
place causing a FIFO under flow . As long as a pause
on End-of-Record is used, d ata is not corrupted. The
FIFO simply must be reset.
3.13DUPLEX PRINTING
the compressor . Bit order control allows revers al of
the data bits within each byte of data. For example,
reverse order means bi t-7 is swapped wit h bit-0, bit-
6 is swapped with bit-1, et c.... Duri ng compres sion
operation of th e back side of the p age the data words
are sent to the AHA3411 device in reverse order.
The byte order is swapped if necessary by the
COMP BIG bit in the System Configuration 0
Register. The bit order within each byte is revers ed
with the REVERSE BYTE bit in this same register.
During decompression of th is reversed page the
DECOMP BIG bit in this register must be
programmed to the same value used when this p age
of data was compressed. Use of this feature has
virtually no effect on the compression ratio when
compared to compressing in forward order.
3.14BLANK BANDS
Setting DBLANK in the Decompression
Control regist er causes the nex t record outpu t from
the Decompressor to be comprised of a repeating 8bit pattern defined by the Pattern register.
DBLANK automatically clears at the end of the
next record. This command bit may be prearmed by
writing to the Decompression Control Prearm
register . When pr ogramming the device to generate
blank records the system must not send data to be
decompressed until the device has reached the end
of record for the blank record.
3.15LOW PO WER MODE
The AHA34 11 is a data-driven system. When
no data transfers are tak ing place, only the clock and
on-chip RAMs including the FIFOs require power.
To reduce power consumption to its absolute
minimum, the user can stop the clock when it is
high. With the system clock stopped and at a high
level, the current consumption is due to leakage.
Control and Status registers are preserved in this
mode. Reinitialization of Control registers are not
necessary when switching fr om Low Power to
Normal operating mode.
3.16TEST MODE
In order to facilitate board level testing, the
AHA3411 provides the ability to tristat e all out puts.
When the TEST0 pin is high, all outputs of the chip
are tristated. When TEST0 is low, the chip returns to
normal operation.
Duplex Printing is the ability to print on both
sides of the page. AHA3411 supports this with
separate endian control for the Compressor and
Decompressor, and bit order control at the input to
Page 14 of 50PS3411-0600
Page 20
Advanced Hardware Architectures, Inc.
4.0REGISTER DESCRIPTIONS
The microprocessor configures, controls and monitors IC operation through the use of the registers
defined in this section. All registers are reset to zero on RSTN unless otherwise stated. The bits labeled “
are reserved and must be set to zero when writing to registers unless otherwise noted.
A summary of registers is listed below.
Table 5:Internal Registers
DEFAULT
ADDRESS R/WDESCRIPTIONFUNCTION
AFTER
RSTN
PREARM
res”
0x00R/W System Configuration 0
0x01R/W System Configuration 1
0x02R/W Input FIFO Thresholds
0x03R/W Output FIFO Thresholds
0x04RCompression Ports Status
0x05RDecompression Ports Status
0x06R/W Port ControlReset Individual FIFOs0x0FNo
After reset, its c ontents are undefined . It must be written be fore any input or out put data movement may
be performed.
COMP BIG-Selects between little or big endian byte order for the compressor. See table.
DECOMP BIG-Selects between little or big endian byte order for the decompressor. See table.
REVERSE BYTE- When this bit is one the byte data entering the compressor is re ver sed. Bit0 is swapped
res -Bits must always be written with zeros.
WIDE -Selects between 32 and 16-bit D buses.
COMP BIG or
DECOMP BIG
00Little Endian data order16-bit words
01Little Endian data order32-bit words
bit7bit6bit5bit4bit3bit2bit1bit0
res
with bit7, bit1 is swapped with bit6, bit2 is swapped with bit5, etc. . .
This register is cleared by reset.
DSC[2:0] - Data Strobe Condition. Control the condition used to str obe da ta into and out of the data ports
res -Bits must always be written with zeros.
ERC -EOR Request Control. Determines when COREQN and DOREQN deassert at an End-of-
bit7bit6bit5bit4bit3bit2bit1bit0
res
on the D bus. T a ble 4 shows the p rogramming for t he strobe cond ition for va rious DMA modes.
Record. If ERC=0, then the req uest deasser ts asynchronou sly during the clock when an EOR is
strobed out. If ERC=1, then the request deasserts synchronously the clock after an EOR is
strobed out. See Figure 18 through Figure 21.
VDIEVDOEERC
res
DSC[2:0]
PS3411-0600Page 17 of 50
Page 23
Advanced Hardwar e Architectures, Inc.
VDOE -VDO Port Enable. When this bit is set, the data from the decompression output FIFO goes to
the VDO port. When the bit is clear, the decompressed data is read by DMA on the D bus.
VDIE -VDI Port Enable. When this bit is s et, the VDI port handshakes data and writes it into the
compression input FIFO. Whe n the bit is clea r , the compres sion input FIFO is wri tten by DMA
from the D bus.
After reset, its c ontents are undefined . It must be written be fore any input or out put data movement may
be performed.
OET[3:0] - Empty threshold for output FIFOs. If the numb er of words in the output FIF O (CO or DO) is
OFT[3:0] - Full threshold for output FIFOs. If the number of words in the output FIFO (CO or DO) is
bit7bit6bit5bit4bit3bit2bit1bit0
less than or equal to this number , the reques t for the chann el is deassert ed (except in the ca se of
an End-of-Record).
greater than or equal to th is number, the request for that channel is asserted.
4.5COMPRESSION PORTS STATUS, ADDRESS 0x04 - READ ONLY
Address
0x04COEMPCIEMPresCEORCOREQCOETCIREQCIFT
This is a read only register. Writing to this re giste r has no eff ect. Af ter re set, its content s are undef ined.
CIFT -Compression input FIFO full thr esh old. This signal is active when the CI FIFO is greater th an
CIREQ -Compression input request signal state. Reports the current state for the CIREQN pin. Notice
COET -Compression output FIFO empty th reshold. This bit is acti ve when the CO FIFO is l ess than or
Page 18 of 50PS3411-0600
bit7bit6bit5bit4bit3bit2bit1bit0
or equal to the programmed FIFO full threshold. After reset and the Input FIFO Threshold
register has been written, this bit contains a zero.
that this bit is active high while the pin is active low. Therefore, the value of this bit is always
the inverse of the value of the signal. After reset this bit contains a zero.
equal to the programmed FIFO empty threshold. After reset and the Output FIFO Threshold
register has been written, this bit contains a one.
Page 24
Advanced Hardware Architectures, Inc.
COREQ -Compression output request signal state. Repor ts the current stat e for the COREQN pin. Notice
that this bit is active high while the pin is active low. Therefore, the value of this bit is always
the inverse of the value of the signal. After reset this bit contains a zero.
CEOR -Compression output end of record. Thi s bit is act ive when the output FIF O contai ns the end-of -
record code. After reset this bit contains a zero.
res -Bits must always be written with zeros.
CIEMP -Compression input empty. This bit is active when the CI FIFO is empty. After reset this bit
contains a one.
COEMP -Compression output empty. This bit is active when the CO FIFO is empty. After reset this bit
contains a one.
4.6DECOMPRESSION PORTS STATUS, ADDRESS 0x05 - READ ONLY
Address
0x05DOEMPDIEMPresDEORDOREQDOETDIREQDIFT
This is a read only register. Writing to this re giste r has no eff ect. Af ter re set, its content s are undef ined.
DIFT -Decompression input FIFO full th reshold. This signal i s active when the DI FIFO i s at or a bove
DIREQ -Decompression input request signal st ate. Reports t he current stat e for the DIREQN pi n. Notice
DOET -Decompression output FIFO empty threshold. This bit is active when the D O FIFO is at or
DOREQ -Decompression output request signal state. Reports the current state for the DOREQN pin.
DEOR -Decompression output end of record. This bit is active when th e output FIFO contai ns the End-
res -Bits must always be written with zeros.
bit7bit6bit5bit4bit3bit2bit1bit0
the progra mmed FIFO full threshold. After reset and the Input FIFO Threshold register has
been written, this bit contains a zero.
that this bit is active high while the pin is active low. Therefore, the value of this bit is always
the inverse of the value of the signal. After reset this bit contains a zero.
below the programmed FIFO empty threshold. After reset and the Output FIFO Threshold
register has been written, this bit contains a one.
Notice that this bit is active high while the pin is active low. Therefore, the value of this bit is
always the inverse of the value of the signal. After reset this bit contains a zero.
of-Record code. After reset this bit contains a zero.
DIEMP -Decompression input empty. This bit is active when the DI FIFO is empty. After reset this bit
contains a one.
DOEMP -D ecompression output empty. This bit is active when the DO FIFO is empty . After reset this bit
contains a one.
PS3411-0600Page 19 of 50
Page 25
Advanced Hardwar e Architectures, Inc.
4.7PORT CONTROL, ADDRESS 0x06 - READ/WRITE
Address
0x06resDORSTDIRSTCORSTCIRST
This register is initialized to 0x0F after reset.
CIRST -Compression input reset. Setting this bit to a one resets the CI FIFO and clears state machines
CORST -Compression output reset. Setting this bit to a one resets the CO FIFO and clears state machines
DIRST -Decompression input reset. Setting this bit to a one resets the DI FIFO and clears the state
DORST -Decompression output reset. Setting this bit to a one resets the DO FIFO and clears the state
res -Bits must always be written with zeros.
bit7bit6bit5bit4bit3bit2bit1bit0
on the compression input port. The reset condition remains active until the microprocessor
writes a zero to this bit.
on the compression output port. The reset condition remains active until the microprocessor
writes a zero to this bit.
machines in the decompression input port. The reset condition remains active until the
microprocessor writes a zero to this bit.
machines in the decompression output port. The reset condition remains active until the
CPOR -Compression Pause on record boundaries. When this bit is set to one, the compressor stops
COMP -Compression. Setting this bit to a one enables the data compression engine (or pass-through
CEMP -Compression engine empty. This bit is set to a one when no data is present inside the
CDR -Compression Dictionary Reset. Setti ng this bit immediate ly resets the compress or including th e
CPASS -Compression pass-through mode. While this bit is set, data is passed directly through the
bit7bit6bit5bit4bit3bit2bit1bit0
taking data from the input FIFO once a record boundary is found. A record boundary is
indicated by the RLEN register decrementing to zero. Upon finding the record boundary,
COMP is cleared. This bit may only be changed when COMP is set to zero. After system reset,
this bit is cl eared.
mode if CP ASS is set) to take data from the compression input FIFO. If this bit is cleared,
compression stops. The bit is automatically cleared at the end of a record if CPOR is set or at the
end of a transfer if CPOT is set. The compression can be restarted without loss of data by setting
COMP. After reset, this bit is cleared.
compressor. Writing to this bit has no effect. After system re set, this bit i s set.
compression dictionary. The reset condition remains active until the microprocessor writes a
zero to this bit.
compression engine without any effect on either the dictionary or the data itself. This bit may
only be changed when compression is disabled (COMP=0) and the compression engine is
empty of data (CEMP=0). The p ass -through operation is started by setti ng COMP. To s top the
pass-through operat ion, COMP should be cleared (t o pause opera tion) and then CPASS may be
cleared.
CPOT -Compression Pause on Transfer boundaries. When this bit is set the compressor stops taking
data from the input FIFO once the end of transfer is reached indicated by the Record Counter
decrementing to zero. Upon finding the End of Transfer boundary the COMP bit is cleared.
CPOT can only be set when COMP is cl eared.
res -Bits must always be written with zeros.
CPREARM -Prearm Enable. When this bit is set, Compression Control Prearm register is loaded into the
Compression Control regi ster when the next end of record leaves the compressor. The prearm
does not occur if there is any data in the compressor to prevent data corruption.
This register is used for production testing. Must be written with zero if at all. Resets to zero.
res -Bits must always be written with zeros.
bit7bit6bit5bit4bit3bit2bit1bit0
PS3411-0600Page 23 of 50
Page 29
Advanced Hardwar e Architectures, Inc.
4.15COMPRESSION LINE LENGTH, ADDRESS 0x16, 0x17 - READ/WRITE
Address
0x16LINE[7:0]
0x17resLINE[10:8]
This register contains information necessary for the compression operation. It must be set prior to any
compression operation. It should only be changed when COMP is cleared and CEMP is set. After changing
compression configuration, the compressor should be reset using CDR. These registers are undefined after reset.
res -Bits must always be written with zeros.
LINE[10:0]-Line length. The number of bytes in the scan line is programmed here.
This register is initialized to 0x04 after reset. This register can be prearmed.
DPOR -Decompression Pause on record boundaries. When th is bit is set to on e, the decompressor sto ps
bit7bit6bit5bit4bit3bit2bit1bit0
taking data from the input FIFO once a record boundary is found. Upon finding the record
boundary , DCOMP is cleared . This bit may only be changed wh en DCOMP is set to zero. After
system reset or DDR, this bit is cleared.
DCOMP - Decompression. Setting this bit to a one enables the decompression engine (or pass-through
mode if DPASS is set) to take data from the decompression input FIFO. If this bit is cleared,
decompression stops. The bit is automatically cleared at the end of a record if DPOR is set.
Decompression can be r est ar te d wit hout loss of data by setting DCOMP. After system reset o r
DDR, this bit is cleared.
DEMP -Decompression engine empty. This bit is set when the dec ompression engi ne is cleared of dat a.
Writing to this bit h as no effect. After system reset, this bit is set.
DDR -Decompression Dictionary Reset. Setting this bit immediately resets the decompressor
including the decompression dictionary. The reset condition remains active until the
microprocessor writes a zero to this bit.
DPASS -Decompression pass-through mode. While this bit is set, data is passed directly through the
decompression engine without any effect on the data. This bit may only be changed when
decompression is disabled (DCOMP=0) and the decompression engine is empty of data
(DEMP=1). The pass-th rough operat ion is sta rted by sett ing DCOMP. To stop t he pass-thr ough
operation, DCOMP should be cleared (to pause operation) and then DPASS may be cleared.
DPOT -Decompression Pause on Transfer Boundaries. When this bit is set the decompressor stops
taking data from the input FIFO once a decompression end of transfer boundary is found
indicated by the Decompression Record Counter decrementing to zero.
DBLANK -Decompression Blank record. The data in the next record output from the decompressor is a
repeating byte pattern using the 8-bit data defined in the PATTERN register. DBLANK
automatically clears at the end of the record when the Decompression Record Count
decrements to zero. When using DBLANK to generate a blank record the device must not
contain data to be decompressed an d the syste m must not send data to be dec ompressed for a ny
future records until the part has reached the End-of-Record for the blank record.
Page 24 of 50PS3411-0600
Page 30
Advanced Hardware Architectures, Inc.
DPREARM -Prearm Enable. When this bit i s set, Decompre ssion Control Prearm regi ster is lo aded into the
Decompression Control register when the next end of record leaves the decompressor. The
prearm does not occur if there is any data in the decompressor to prevent data corruption.
This regist er is used for production tes ting only. Must be written wi th zero if at all. Initialized to 0x00
after reset.
bit7bit6bit5bit4bit3bit2bit1bit0
4.18DECOMPRESSION LINE LENGTH, ADDRESS 0x1C, 0x1D - READ/WRITE
Address
0x1CLINE[7:0]
0x1DresLINE[10:8]
This register conta ins information necessary for the decompression opera tion. It must be set prior to any
decompression operati on. It sho uld only be ch anged bet ween rec ords when DCOMP is clear ed and DEMP
is set. These registers are undefined af ter reset.
res -Bits must always be written with zeros.
LINE[10:0]-Line length. The number of bytes in the scan line is programmed here.
bit7bit6bit5bit4bit3bit2bit1bit0
Minimum value is 16. For scan line lengths larger than the maximum allowed, set to 16.
4.19COMPRESSION RECORD COUNT, ADDRESS 0x20, 0x21 - READ/WRITE
Address
0x20RC[7:0]
0x21RC[15:8]
These registers are initialized to 0xFFFF after reset.
RC[15:0] - Record Count is the number of records in the current transfer. This counter is decremented as
This register is initialized to 0x00 after reset.
CEOT -Compression End-of-Transfer Interrupt. This bit is set when an end of transfer condition is
DEOT -Decompression End-of-Trans fer Interr upt. This bit is s et when a deco mpression end of transfer
res -Bits must always be written with zeros.
bit7bit6bit5bit4bit3bit2bit1bit0
reached indicated by the compression Record Counter counting down to zero. The
microprocessor must write a one to this bit to clear this interrupt.
condition is reached indicated by the Decompression Record Counter counting down to zero.
The microprocessor must w rite a one to this bit to clear this interrupt.
PS3411-0600Page 25 of 50
Page 31
Advanced Hardwar e Architectures, Inc.
4.21INTERRUPT MASK 2, ADDRESS 0x29 - READ/WRITE
Address
0x29resDEOTMCEOTM
This register is initiali zed to 0xFF after reset.
CEOTM - Compression En d-of-Transfer Interrupt Mask. When set to a one, prevents Compression End-
DEOTM - Decompression End-of-Transfer Interrupt Mask. When set to a one, prevents Decompression
res -Bits must always be written with zeros.
bit7bit6bit5bit4bit3bit2bit1bit0
of-Transfer from causing INTRN to go active.
End-of-Transfer from causing INTRN to go active.
4.22DECOMPRESSION RECORD COUNT, ADDRESS 0x2C, 0x2D - READ/WRITE
Address
0x2CDRC[7:0]
0x2DDRC[15:8]
These registers are initialized to 0xFFFF after reset.
DRC[15:0] -Decompression Record Count is the number of records in the current transfer. Expiration of
bit7bit6bit5bit4bit3bit2bit1bit0
this counter causes a CEOT interrupt to be posted.
BCNT[31:0]-Compressed Byte Count is the number of bytes output from the CO FIFO, rounded up to a
bit7bit6bit5bit4bit3bit2bit1bit0
word boundary defined by WIDE, for the current record. Systems may use this data to remove
pad words from the compressed data stream. The count gets reset at the beginning of each
record and when CORST is active.
Page 26 of 50PS3411-0600
Page 32
Advanced Hardware Architectures, Inc.
4.24COMPRESSION CONTROL PREARM, ADDRESS 0x34 - READ/WRITE
Address
0x34NCPREARM
This register is initialized to 0x04 after reset.
res -Bits must always be written with zeros.
See Compression Control register for bit descriptions. This register is the prearm register for the
Compression Control register.
bit7bit6bit5bit4bit3bit2bit1bit0
res
NCPOTNCPASSNCDR
res
NCOMPNCPOR
4.25PATTERN, ADDRESS 0x35 - READ/WRITE
Address
0x35PATTERN[7:0]
This register is undefined after reset.
P ATTERN[7:0]-Pattern is the 8-bit data used to generate blank bands or rec ords. If DBLANK is set, t he part
bit7bit6bit5bit4bit3bit2bit1bit0
outputs this register value repeatedly for the entire record (or band).
4.26DECOMPRESSION CONTROL PREARM, ADDRESS 0x38 - READ/WRITE
This regist er is used for production tes ting only. Must be written wi th zero if at all. Initialized to 0x00
after reset.
res -Bits must always be written with zeros.
See Decompression Control re gister for bit descriptions. This register is the prearm register for the
Decompression Control register.
bit7bit6bit5bit4bit3bit2bit1bit0
PS3411-0600Page 27 of 50
Page 33
Advanced Hardwar e Architectures, Inc.
5.0SIGNAL DESCRIPTIONS
This section contains descriptions for all the pins. Each signal has a type code associated with it. The
type codes are described in the following table.
TYPE CODEDESCRIPTION
IInput only pin
OOutput only pin
I/OInput/Output pin
SSynchronous signal
AAsynchronous signal
5.1MICROPROCESSOR INTERFACE
MICROPROCESSOR INTERFACE
SIGNALTYPEDESCRIPTION
PD[7:0]I/O
S
PA[5:0]I
S
CSNI
S
DIRI
S
RDYNO
A,S
INTRNO
S
PROCMODE[1:0]I
S
Processor Data. Data for all microprocessor reads and writes of
registers within AHA34 11 are performed on this bus. This bus ma y
be tied to the Data bus, D[31:0], provided microprocessor accesses
do not occur at the same time as DMA accesses.
Processor Address Bus. Used to address internal registers within
AHA3411.
Chip Select. Selects AHA3411 as the source or destination of the
current microprocesso r bus c ycle. CSN needs only be ac tive for one
clock cycle to start a microprocessor access.
Direction. This signal indicates whether the access to the register
specified by the P A bus is a read or a write. The polarity of this signal
is programmed with the PROCMODE0 pin.
Ready. Indicates valid data is on the data bus during read operation
and completion of write operation. Its operation depends on
PROCMODE[1:0] settings.
Interrupt. The compression and decompression processes generate
interrupts that are reported with this signal. INTRN is low whenever
any non-masked bits are set in the Interrupt Status/Control
Microprocessor Port Confi guration Mode. Selects the polarity of the
DIR pin and operation of the CSN pin. Refer to Section 2.1
Microprocessor Interface for details. (Figure 2 through Figure 5)
register.
Page 28 of 50PS3411-0600
Page 34
Advanced Hardware Architectures, Inc.
5.2DATA INTERFACE
DATA INTERFACE
SIGNALTYPEDESCRIPTION
D[31:0]I/O
S
DRIVENI
A
SDI
S
CIREQNO
S
CIACKNI
S
COREQNO
A,S
COACKNI
S
COEORNO
S
COEOTNO
S
DIREQNO
S
DIACKNI
S
DOREQNO
A, S
DOACKNI
S
Data for all channels is transmitted on this bus. The ACKN is used to
distinguish between the four channels. Dat a being written to AHA341 1 is
latched on the rising edge of CLOCK when the strobe condition is met.
Data setup and hold times a re relative to CLOCK. If the bus is configured
to 16-bit transfers (WIDE=0), data is carried on D[15:0]. In this case,
D[31:16] should be terminated with pullup resistors.
Drive Enable. Active low output dri ver enable. Thi s input must be low in
order to drive data onto D[31:0] in accordance with the current strobe
condition.
Strobe Delay . Active high. Allows insertion of wait states for DMA
access to the FIFOs. The strobe condition, as programmed in the DSC
field of System Configuration 1, enables this signal and selects its
polarity.
Compression Input Data Request , active low. This signal, when active,
indicates the ability of the CI FIFO to accept data.
Compression Input Data Acknowle dge. Active low. This signal, when
active, indicates the data on D is for the compression input FIFO. Data on
D is latched on the rising edge of CLOCK when the strobe condition is
met.
Compressio n Output Data Request, active low. When this signal is
active, it indicates the a bility of the CO FIFO to tran smit data.
Compression Output Data Acknowledge. Active low. The defi nition of
COACKN varies with the data strobe condition in System Configuration 1. See Table 4.
Compression Output End-of-Record, active low. COEORN is active
when the word curren tl y on the out put of the CO FIFO contains an Endof-Record.
Compression Output End-of-Transfer, active low. COEOTN is active
when the word currentl y on the out put of the CO FIFO c ontains t he Endof-Transfer.
Decompression Input Data Request, active low. When this signal is
active, it indicates the ability of the DI port to accept data.
Decompression Input Data Acknowledge. Active low decompression
data input. When t his signa l is acti ve, it ind icate s the dat a on D is for the
decompression input port. Data on D is latched on the rising edge of
CLOCK when the strobe condition is met.
Decompression Output Data Request, active low. When this signal is
active, it indicates the ability of the DO port to transmit data.
Decompression Output Data Acknowledge . The definition of DOACKN
varies with the data strobe condition in System Configuratio n 1. See
Table 4.
PS3411-0600Page 29 of 50
Page 35
Advanced Hardwar e Architectures, Inc.
5.3VIDEO INTERFACE
VIDEO INTERFACE
SIGNALTYPEDESCRIPTION
VIREQNO
S
VIACKNI
S
VID[7:0]I
S
VOREQNO
S
VOACKNI
S
VOD[7:0]O
S
VOEORNO
S
VOEOTNO
S
Video Input Request. Active low output indicating that the VDI port is
ready to accept another byte on VID[7:0].
Video Input Acknowledge. Active low input indicating that VID[7:0] is
being driven with a valid byte.
Video Input Data. The value on this input bus is written into AHA3411
when both VIREQN and VIACKN are active.
Video Output Request. Active low output indicating that the byte on
VOD[7:0] is valid.
V ideo Output Acknowledge. Active l ow input indicating that the external
system is ready to read VOD[7:0].
Video Output Data. The value on this output bus is read when both
VOREQN and VOACKN are low.
Video Output End of Record is active low indicating the byte on
VOD[7:0] contains the last byte in a record.
Video Output End of Transfer is active low indicating the byte on
VOD[7:0] contains the last byte in a multi-record transfer.
5.4SYSTEM CONTROL
SYSTEM CONTROL
SIGNALTYPEDESCRIPTION
CLOCKISystem Clock. This signal is connected to the clock of the
microprocessor. The Intel i960Cx calls this pin PCLK.
RSTNI
A
TEST0I
A
TEST1I
A
Power on Reset. Active l ow rese t si gnal. AHA3411 must be reset before
any DMA or microprocessor activity is attempted. RSTN should be a
minimum of 10 CLOCK periods.
Board Test mode. When TEST is high, all outputs are tristated. When
TEST is low, the chip performs normally.
Used for production tests. This input should always be tied low.
1PA setup time8ns
2PA hold time2ns
3CSN setup time8ns
4CSN hold time2ns
6CSN to valid RDYN15ns
7RDYN valid delay16ns
8RDYN drive disable10ns
9DIR setup time8ns
10DIR hold time2ns
12P D valid delay16ns
13P D drive disable12ns
14PD setup time8ns
15PD hold time2ns
16CSN high to PD tristate10ns
17CSN high to RDYN high15ns
Page 38 of 50PS3411-0600
Page 44
Advanced Hardware Architectures, Inc.
Figure 27: Interrupt Timing
CLOCK
INTRN
12
Table 12:Interrupt Timing Requirements
NUMBERPARAMETERMINMAXUNITS
1INTRN delay time15ns
2INTRN hold time2ns
Figure 28: Clock Timing
1
CLK
34
2
2.0V
1.4V
0.8V
5
Table 13:Clock Timing Requirements
NUMBERPARAMETERMINMAXUNITS
1CLOCK rise time2ns
2CLOCK fall time2ns
3CLOCK high time12ns
4CLOCK low time12ns
5CLOCK period30ns
Figure 29: Power On Reset Timing
CLOCK
2
RSTN
1
3
Table 14:Power On Reset Timing Requirements
NUMBERPARAMETERMINMAXUNITS
1RSTN low pulsewidth10clocks
2RSTN setup to CLOCK rise15ns
3RSTN hold time2ns
Notes:
1) RSTN signal can be asynchronous to the CLOCK signal. It is internally synchronized to the rising edge of
CLOCK.
PS3411-0600Page 39 of 50
Page 45
Advanced Hardwar e Architectures, Inc.
9.0PACKAGE SPECIFICATIONS
P
B
DETAIL A
D
D1
A
A2
A
L
A1
(LCA)
100
125
126
127
128
97
98
99
AHA3411A-033 PQC
E1
E
P
(LCB)
3231302928
JEDEC outline is MO-108
Page 40 of 50PS3411-0600
Page 46
Advanced Hardware Architectures, Inc.
PLASTIC QUAD FLAT PACK PACKAGE DIMENSIONS
NUMBER OF PIN AND SPECIFICATION DIMENSION
SYMBOL
MINNOMMAX
(LCA)32
(LCB)32
A3.74.07
A10.250.33
A23.23.373.6
D30.9531.231.45
D127.992828.12
E30.9531.231.45
E127.992828.12
L0.730.881.03
P0.8
B0.30.350.4
128
SB
10.0 ORDERING INFORMATION
10.1AVAILABLE PARTS
PART NUMBERDESCRIPTION
AHA3411A-033 PQC
10.2PART NUMBERING
AHA3411A-033PQC
Manufacturer
Device Number:
3411
Revision Letter:
A
Package Material Codes:
PPlastic
Device
Number
33 MBytes/sec Simultaneous Lossless Data Compression/
Decompression Coprocessor IC
Revision
Level
Speed
Designation
Package
Material
Package
Type
Test
Specification
Package Type Codes:
Q Quad Flat Pack
Test Specifications:
CCommercial 0°C to +70°C
PS3411-0600Page 41 of 50
Page 47
Advanced Hardwar e Architectures, Inc.
11.0RELATED TECHNICAL PUBLICATIONS
DOCUMENT #DESCRIPTION
TM
PB3410C
PB3411
AHA Product Brief – AHA3410C StarLite
Compression/Decompression Coprocessor IC
AHA Product Brief – AHA3411 StarLite
Decompressor IC
PB3422AHA Product Brief – AHA3422 StarLite
PB3431
PS3410C
PS3422
PS3431
AHA Product Brief – AHA3431 StarLite
Decompressor IC, 3.3V
AHA Product Specification – AHA3410C St a r L i t e
Lossless Data Compression/Decompression Coprocessor IC
AHA Product Specification – AHA3422 StarLite
Decompressor IC
AHA Product Specification – AHA3431 StarLite
AHA Application Note – Designer’s Guide for StarLite
AHA3422 and AHA3431
TM
Compression on Continuous Tone Images
GLGEN1General Glossary of Terms
STARSWStarLite
TM
Evaluation Software (WindowsTM)
T. Summers, “Applying Compression/Decompression in High-Performance Printers
PCTP127
and Copiers”, Conference Proceeding: The 1995 Silicon Valley Personal Computer
Design Conference and Exposition
T. Summers, “Compression T echnologies in Printers”, A paper presentation at Seybold
Conference, 1995
25 MBytes/sec Simultaneous Lossless Data
TM
33 MBytes/sec Simultaneous Compressor/
TM
16 MBytes/sec Lossless Decompressor IC
TM
40 MBytes/sec Simultaneous Compr es s o r /
TM
25 MBytes/sec Simultaneous
TM
16 MBytes/sec Lossless
TM
40 MBytes/sec Simultaneous
TM
Designer’s Guide
TM
Family Products: AHA3411,
Page 42 of 50PS3411-0600
Page 48
Advanced Hardware Architectures, Inc.
APPENDIX A:ADDITIONAL TIMING DIAGRAMS FOR DMA MODE TRANSFERS
Figure A1:DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
D0D1
Figure A2:DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
D1D0
Figure A3:DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3
PS3411-0600Page 43 of 50
Page 49
Advanced Hardwar e Architectures, Inc.
Figure A4:DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition
of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
D1D0D2D3
Figure A5:DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3D4D5D6D7
Figure A6:DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3D4D5D6D7
Page 44 of 50PS3411-0600
Page 50
Advanced Hardware Architectures, Inc.
Figure A7:DMA Mode Timing for Single Word Writes, Strobe Condition ofDSC=010
CLOCK
ACKN
SD
DRIVEN
D
D0D1
Figure A8:DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
D1D0
Figure A9:DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=010
CLOCK
CLOCK
ACKN
ACKN
SD
SD
DRIVEN
DRIVEN
D0D2D1D3
D
D
D0D2D1D3
PS3411-0600Page 45 of 50
Page 51
Advanced Hardwar e Architectures, Inc.
Figure A10: DMA Mode Timing for Four Word Burst Read, One Wa it State, Strobe Condition
of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
D1D0D2D3
Figure A11: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3D4D5D6D7
Figure A12: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
D2D1D3D4D5D6D7D0
Page 46 of 50PS3411-0600
Page 52
Advanced Hardware Architectures, Inc.
Figure A13: DMA Mode Timing for Single Word Writes, Strobe Condition ofDSC=011
CLOCK
ACKN
SD
DRIVEN
D
D0D1
Figure A14: DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D1D0
Figure A15: DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3
PS3411-0600Page 47 of 50
Page 53
Advanced Hardwar e Architectures, Inc.
Figure A16: DMA Mode Timing for Four Word Burst Read, One Wa it State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D1D0D2D3
Figure A17: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D0D2D1D3D4D5D6D7
Figure A18: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D2D1D3D4D5D6D7D0
Page 48 of 50PS3411-0600
Page 54
Advanced Hardware Architectures, Inc.
Figure A19: DMA Mode Timing for Single Word Writes, Strobe Condition ofDSC=111
CLOCK
ACKN
SD
DRIVEN
D
D0D1D2
Figure A20: DMA Mode Timing for Single Word Reads, Strobe Condition ofDSC=111
CLOCK
ACKN
SD
DRIVEN
D
D1D0D2
PS3411-0600Page 49 of 50
Page 55
Advanced Hardwar e Architectures, Inc.
APPENDIX B:SEQUENTIAL REGISTER TABLE
ADDRESSDESCRIPTION
00System Configuration 0
01System Configuration 1
02Input FIFO Thresholds
03Output FIFO Thresholds
04Compression Ports Stat us
05Decompression Ports Status
06Port Control
07Interrupt Status/Control 1
09Interrupt Mask 1
0AVersion
0CDecompression Record Length 0
0DDecompression Record Length 1
0EDecompression Record Length 2
0FDecompression Record Length 3
10Compression Record Length 0
11Compression Record Length 1
12Compression Record Length 2
13Compression Record Length 3
14Compression Control
15Compression Reserved
16Compression Line Length 0
17Compression Line Length 1
18Decompression Control