ETC AHA3431STARLITE

Product Specification
AHA3431 StarLiteTM
40 MBytes/sec Simultaneous
Compressor/Decompressor IC, 3.3V
2365 NE Hopkins Court
Pullman, WA 99163-5601
tel: 509.334.1000
fax: 509.334.9000
e-mail: [email protected]
www.aha.com
advancedhardwarearchitectures
PS3431-0500
Advanced Hardware Architectures, Inc.
Table of Contents
1.0 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Conventions, Notations and Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Functional Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.0 System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Microprocessor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.0 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1 Data Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 DMA Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 Pad Word Handling in Burst Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 DMA Request Signals and Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4.1 FIFO Thresholds. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4.2 Request During an End-of-Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.3 Request Status Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5 Data Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6 Odd Byte Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6.1 Compression Input and Pad Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6.2 Compression Output and Pad Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6.3 Decompression Input, Pad Bytes and Error Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.6.4 Decompression Output and Pad Bytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.7 Video Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7.1 Video Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7.2 Video Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.8 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.9 Compression Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.10 Decompression Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.11 Prearming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.12 Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.13 Duplex Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.14 Blank Bands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.15 Low Power Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.16 Test Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.0 Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1 System Configuration 0, Address 0x00 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 System Configuration 1, Address 0x01 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 Input FIFO Thresholds, Address 0x02 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4 Output FIFO Thresholds, Address 0x03 - Read/Write. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5 Compression Ports Status, Address 0x04 - Read Only. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.6 Decompression Ports Status, Address 0x05 - Read Only. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7 Port Control, Address 0x06 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.8 Interrupt Status/Control 1, Address 0x07 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.9 Interrupt Mask 1, Address 0x09 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.10 Version, Address 0x0A - Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.11 Decompression Record Length, Address 0x0C, 0x0D, 0x0E, 0x0F - Read/Write. . . . . . . . . . . . . . . . . . . . 22
4.12 Compression Record Length, Address 0x10, 0x11, 0x12, 0x13 - Read/Write . . . . . . . . . . . . . . . . . . . . . . 22
4.13 Compression Control, Address 0x14 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.14 Compression Reserved, Address 0x15 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.15 Compression Line Length, Address 0x16, 0x17 - Read/Write. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.16 Decompression Control, Address 0x18 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.17 Decompression Reserved, Address 0x1A - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
PS3431-0500
i
Advanced Hardware Architectures, Inc.
5.0
6.0
7.0
8.0
9.0
10.0
11.0
4.18 Decompression Line Length, Address 0x1C, 0x1D - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.19 Compression Record Count, Address 0x20, 0x21 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.20 Interrupt Status/Control 2, Address 0x27 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.21 Interrupt Mask 2, Address 0x29 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.22 Decompression Record Count, Address 0x2C, 0x2D - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.23 Compression Byte Count, Address 0x30, 0x31, 0x32, 0x33 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.24 Compression Control Prearm, Address 0x34 - Read/Write. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.25 Pattern, Address 0x35 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.26 Decompression Control Prearm, Address 0x38 - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.27 Decompression Reserved, Address 0x3A - Read/Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Signal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1 Microprocessor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2 Data Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3 Video Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.4 System Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
DC Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.1 Operating Conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.2 Absolute Maximum Stress Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
AC Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Package Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.1 Available Parts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.2 Part Numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Related Technical Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Appendix A:Additional Timing Diagrams for DMA Mode Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Appendix B:Recommended Power Decoupling Capacitor Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
ii
PS3431-0500
Advanced Hardware Architectures, Inc.
Figures
Figure 1: Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Figure 2: Microprocessor Port Write (PROCMODE[1:0]=“01”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 3: Microprocessor Port Read (PROCMODE[1:0]=“01”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 4: Microprocessor Port Write (PROCMODE[1:0]=“11”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 5: Microprocessor Port Read (PROCMODE[1:0]=“11”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 6: DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=100. . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 7: DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=100. . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 8: DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition of DSC=100 . . . . . . . . . 7
Figure 9: DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition of DSC=100 . . . . . . . . . 8
Figure 10: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition of DSC=100 . . . . . . . . 8
Figure 11: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition of DSC=100 . . . . . . . . 8
Figure 12: FIFO Threshold Example (IFT=4, DSC=2, 1 Word Already in FIFO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 13: Request vs. End-of-Record, Strobe Condition of DSC=010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Figure 14: Timing Diagram, Video Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 15: Timing Diagram, Video Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 16: Pinout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 17: Data Interface Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 18: Request Deasserts at EOR, Strobe Condition of DSC=0-3, 6-7; ERC=0 . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 19: Request Deasserts at EOR, Strobe Condition of DSC=0-3, 6-7; ERC=1 . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 20: Request Deasserts at EOR, Strobe Condition of DSC=4 or 5; ERC=0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 21: Request Deasserts at EOR, Strobe Condition of DSC=4 or 5; ERC=1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 22: Output Enable Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 23: Video Input Port Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 24: Video Output Port Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 25: Microprocessor Interface Timing (PROCMODE[1]=0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 26: Microprocessor Interface Timing (PROCMODE[1]=1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 27: Interrupt Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 28: Clock Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 29: Power On Reset Timing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure A1: DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=000............................................... 43
Figure A2: DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=000............................................... 43
Figure A3: DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition of DSC=000 ............... 43
Figure A4: DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition of DSC=000 ............... 44
Figure A5: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition of DSC=000 .............. 44
Figure A6: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition of DSC=000.............. 44
Figure A7: DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=010............................................... 45
Figure A8: DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=010............................................... 45
Figure A9: DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition of DSC=010 ............... 45
Figure A10:DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition of DSC=010 ............... 46
Figure A11:DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition of DSC=010 .............. 46
Figure A12:DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition of DSC=010.............. 46
Figure A13:DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=011............................................... 47
Figure A14:DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=011............................................... 47
Figure A15:DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition of DSC=011 ............... 47
Figure A16:DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition of DSC=011 ............... 48
Figure A17:DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition of DSC=011 .............. 48
Figure A18:DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition of DSC=011.............. 48
Figure A19:DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=111............................................... 49
Figure A20:DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=111............................................... 49
PS3431-0500
iii
Advanced Hardware Architectures, Inc.
Tables
Table 1:
Table 2:
Table 3:
Table 4:
Table 5:
Table 6:
Table 7:
Table 8:
Table 9:
Table 10:
Table 11:
Table 12:
Table 13:
Table 14:
iv
Data Bus and FIFO Sizes Supported by AHA3431 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
AHA3431 Connection to Host Microprocessors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Microprocessor Port Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Internal Strobe Conditions for DMA Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Internal Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Data Port Timing Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Request vs. EOR Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Output Enable Timing Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Video Input Port Timing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Video Output Port Timing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Microprocessor Interface Timing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Interrupt Timing Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Clock Timing Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Power On Reset Timing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
PS3431-0500
Advanced Hardware Architectures, Inc.
1.0
INTRODUCTION
AHA3431 is a lossless compression
coprocessor IC for hardcopy systems on many
standard platforms. The device is targeted for high
throughput and high resolution hardcopy systems.
The AHA3431 is functionally backward compatible
to the AHA3411.
Enhancements to this product over the
AHA3411 include improved I/O timings, higher
operating frequency and data rate, and lower power.
Blank band generation in real time and
prearming registers between records enable
advanced banding techniques. 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 registers are prearmed when switching
from one type to the next. Separate byte ordering
between the Compressor and the Decompressor
with bit order control into the compressor allow full
reversal of the image data for duplex printing
support. A system may use multiple record counters
and End-of-Transfer interrupts to easily handle
pages partitioned into smaller records or bands.
This document contains functional description,
system configurations, register descriptions,
electrical characteristics and ordering information.
It is intended for system designers considering a
compression coprocessor in their embedded
applications. Software simulation and an analysis of
the algorithm for printer and copier images of
various complexity are also available for
evaluation. A comprehensive Designer’s Guide
complements this document to assist with the
system design. Section 11.0 contains a list of related
technical publications.
1.1
CONVENTIONS, NOTATIONS AND
DEFINITIONS
– Active low signals have 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 indicates an inverse
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.
– A range of signal names or register bits is denoted
by a set of colons between the numbers. Most
significant bit is always shown first, followed by
PS3431-0500
–
–
–
–
–
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 referencing microprocessors, 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 “res”.
REQN or ACKN refer to either CI, DI, CO or DO
Request or Acknowledge signals, as applicable.
1.2
FEATURES
PERFORMANCE:
• 40 MBytes/sec maximum sustained compression
and decompression rate
• 160 MBytes/sec burst data rate over a 32-bit data
bus
• 40 MBytes/sec synchronous 8-bit video in and
video out ports
• Maximum clock speeds up to 40 MHz
• Simultaneous compression and decompression at
full bandwidth
• Average 15 to 1 compression ratio for 1200 dpi
bitmap image data
• Advanced banding support: blank bands,
prearming
FLEXIBILITY:
• Big Endian or Little Endian; 32 or 16-bit bus
width and data bit/byte reordering for duplex
printing support
• Programmable Record Length, 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, and Intel i960 embedded
processors
• Pass-through mode passes raw data through
compression and decompression engines
• Counter checks errors in decompression
SYSTEM INTERFACE:
• Single chip compression/decompression solution
– no external SRAM required
• Four 16 × 32-bit FIFOs with programmable
threshold counters facilitate burst mode transfers
OTHERS:
• Low power modes
• Software emulation program available
• 128 pin quad flat package
• 3.3V operation
• Test pin tristates outputs
• Firmware, Register, Pinout and Functional
compatible with 5V, AHA3411
Page 1 of 50
Advanced Hardware Architectures, Inc.
DOREQN
COREQN
DIREQN
CIREQN
SD
DOACKN
COACKN
DIACKN
Functional Block Diagram
CIACKN
Figure 1:
DATA PORT CONTROL
(From Scanner)
VIREQN
VID[7:0]
8
VID
PORT
CI
FIFO
VIACKN
8
COEORN
CO
FIFO
8
COMPRESSOR
16x32
COEOTN
16x32
32
D[31:0]
DRIVEN
DATA
PORT
32
32
(To Printer)
DI
FIFO
8
DO
FIFO
8
DECOMPRESSOR
16x32
16x32
1.3
FUNCTIONAL OVERVIEW
The coprocessor device has three external high
speed synchronous data ports capable of
transferring once every clock cycle. These are a 32bit 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 4
bytes per clock. The VID and VOD are capable of
up to one byte per clock.
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
Table 1:
INTRN
RDYN
DIR
FIFO). The sustained data rate through the
compression engine is one byte per clock.
Decompression data may be simultaneously
processed by the device. Decompression data is
accepted through the 32-bit data port, buffered in
the Decompression Input FIFO (DI FIFO) and
decompressed. The output data is made available on
the 32-bit data port via the Decompression Output
FIFO (DO FIFO) or the 8-bit Video Output port.
The decompression engine is capable of processing
an uncompressed byte every clock.
The four FIFOs are organized as 16×32 each.
For data transfers through the three ports, the
“effective” FIFO sizes differ 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.
Data Bus and FIFO Sizes Supported by AHA3431
OPERATION
DATA BUS WIDTH
Compression Data In
Compression Data In/Out
Compression Data In/Out
Decompression Data In/Out
Decompression Data In/Out
Decompressed Data Out
8
32
16
32
16
8
Page 2 of 50
CSN
6
PA[5:0]
PD[7:0]
8
VOD
PORT
VOEOTN
VOEORN
VOREQN
VOD[7:0]
VOACKN
AHA3431
StarLiteTM
MICROPROCESSOR INTERFACE
PROCMODE[1:0]
RSTN
CLK
TEST
CLOCK
8
PORT
Video In
Data Port
Data Port
Data Port
Data Port
Video Out
EFFECTIVE FIFO SIZE
16 x 8
16 x 32
16 x 16
16 x 32
16 x 16
16 x 8
PS3431-0500
Advanced Hardware Architectures, Inc.
Table 2:
AHA3431 Connection to Host Microprocessors
PIN NAME
i960Cx
i960Kx
IDT3081
Motorola
MCFS102(ColdFIRE)
PA
CSN
DIR
PD
SD
RDYN
DRIVEN
CLOCK
A
CS
W/R
D
WAIT
No Connect
DEN
PCLK
LAD
CS
W/R
LAD
READY
READY
System Dependent
No Connect
Latched Address
System Dependent
WR
A/D
System Dependent
ACK
System Dependent
SYSCLK
Latched Address
Decoded Chip Select
R/W
A/D[7:0]
System Dependent
TA
System Dependent
BCLOCK
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 configurable for the 32bit data port depending upon the system processor
and the available DMA controller.
Data transfer for compression 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 transfer data 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 compression system
using AHA3431.
2.0
SYSTEM CONFIGURATION
This section provides information on
connecting AHA3431 to various microprocessors.
2.1
MICROPROCESSOR INTERFACE
The device is capable of interfacing directly to
various processors for embedded application. Table
2 and Table 3 show how AHA3431 should be
connected to various host microprocessors.
All register accesses to AHA3431 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 resistors.
PS3431-0500
AHA3431 provides four modes of operation for
the microprocessor port. Both active high and active
low write enable signals are allowed as well as two
modes for chip select. The mode of operation 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.
When PROCMODE[1] is high, CSN
determines the length of the access. CSN must be at
least 5 clocks in length. On a read, valid data is
driven onto PD[7:0] during the 5th clock. If CSN is
longer than 5 clocks, then valid data continues to be
driven out onto PD[7:0]. When CSN goes inactive
(high), PD[7:0] goes tristate (asynchronously) and
RDYN is driven high asynchronously. CSN must be
high for at least two clocks. RDYN is always driven
(it is not tristated when PROCMODE[1] is high). The
mode is typical of processors such as the Motorola
68xxx.
When PROCMODE[1] is low, accesses are
fixed at 5 clocks, PD[7:0] is only driven during 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 such as the i960.
PROCMODE[0] determines the polarity of the
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.
For additional notes on interfacing to various
microprocessors, refer to AHA Application Note
(ANDC16), Designer’s Guide for StarLiteTM Family
Products. AHA Applications Engineering is
available to support with other processors not in the
Designer’s Guide.
Page 3 of 50
Advanced Hardware Architectures, Inc.
Table 3:
Microprocessor Port Configuration
PROCMODE[1:0]
DIR
00
01
10
11
Active high write
Active low write
Active high write
Active low write
Figure 2:
CYCLE LENGTH EXAMPLE PROCESSOR
fixed
fixed
variable
variable
i960
68xxx, MIPS R3000
Microprocessor Port Write (PROCMODE[1:0]=“01”)
CLOCK
PA[5:0]
A0
A1
CSN
DIR
PD[7:0]
D0
D1
RDYN
Figure 3:
Microprocessor Port Read (PROCMODE[1:0]=“01”)
CLOCK
PA[5:0]
A0
A1
A2
CSN
DIR
PD[7:0]
D0
D1
RDYN
Page 4 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure 4:
Microprocessor Port Write (PROCMODE[1:0]=“11”)
CLOCK
PA[5:0]
A0
A1
CSN
DIR
PD[7:0]
D0
RDYN
Figure 5:
Microprocessor Port Read (PROCMODE[1:0]=“11”)
CLOCK
PA[5:0]
A0
A1
CSN
DIR
PD[7:0]
D0
RDYN
PS3431-0500
Page 5 of 50
Advanced Hardware Architectures, Inc.
3.0
FUNCTIONAL DESCRIPTION
3.2
This section describes the various data ports,
special handling, data formats and clocking
structure.
3.1
DATA PORTS
AHA3431 contains two data input ports, 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 the
DSC (Data Strobe Condition) field of the System
Configuration 1 register.
A strobe condition defines under what logical
conditions the input FIFOs are 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 describes the various data strobe
options.
Table 4:
DSC[2:0]
DMA MODE
On the rising edge of CLOCK when the strobe
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 Appendix A. Note that
the only difference between odd and even values of
DSC is the polarity of SD. Waveforms are only
shown for polarities of SD corresponding to specific
systems.
Internal Strobe Conditions for DMA Mode
LOGIC EQUATION
000
( ACKN ) & ( ACKN delayed ) & ( SD )
001
( ACKN ) & ( ACKN delayed ) & ( SD )
SYSTEM CONFIGURATION
i960Cx with internal DMA controller. SD is connected to
WAITN.
No specific system
010
( ACKN ) & ( SD )
011
( ACKN ) & ( SD )
100
( ACKN delayed ) & ( SDdelayed )
General purpose DMA controller
i960Kx with external, bus master type DMA controller.
SD is connected to RDYN.
No specific system
101
( ACKN delayed ) & ( SD delayed )
No specific system
110
( ACKN ) & ( ACKN delayed )
No specific system
111
( ACKN ) & ( ACKN delayed )
No specific system
ACKN delayed = ACKN delayed 1 clock
SD delayed = SD delayed 1 clock
Page 6 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure 6:
DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
Figure 7:
D0
D1
DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
Figure 8:
D0
D1
DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
PS3431-0500
D0
D1
D2
D3
Page 7 of 50
Advanced Hardware 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
D0
D1
D2
D3
Figure 10: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
D2
D3
D4
D5
D6
D7
Figure 11: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=100
CLOCK
ACKN
SD
DRIVEN
D
Page 8 of 50
D0
D1
D2
D3
D4
D5
D6
D7
PS3431-0500
Advanced Hardware Architectures, Inc.
3.3
PAD WORD HANDLING IN
BURST MODE
The StarLite compression algorithm appends
a 15 bit End-of-Record codeword to terminate a
compression record. If a word containing an Endof-Record comes out during a burst 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.
Two 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-of-Record 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 output 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.4
DMA REQUEST SIGNALS
AND STATUS
AHA3431 requests data using request pins
(CIREQN, DIREQN, COREQN, DOREQN). The
requests are controlled by programmable FIFO
thresholds. Both input and output FIFOs have
programmable empty and full thresholds set in the
Input FIFO Threshold and Output FIFO Threshold
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
PS3431-0500
COREQN or DOREQN active indicates data is
available in the particular output FIFO. These
request signals inactive 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 following prioritized rules, listed
in order of highest to lowest:
1) If the FIFO reset in the Port Control
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 remains 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 following prioritized rules, listed
in order of highest to lowest:
1) If the FIFO reset in the Port Control
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 present in the output FIFO, the
request goes active.
4) If the output FIFO is at or above the full
threshold, the request goes active.
5) If an EOR is read (strobed) out of the FIFO,
the request goes inactive during the same
clock as the strobe (if ERC=0), otherwise it
goes inactive on the next clock.
6) If the output FIFO is at or below the empty
threshold, the request goes inactive.
3.4.1
FIFO THRESHOLDS
For maximum efficiency, the FIFO thresholds
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 kept in mind when
programming threshold values. Refer to Section 4.0
of AHA Application Note (ANDC16), Designer’s
Guide for StarLiteTM Family Products for a more
thorough discussion of FIFO thresholds. The
following figure shows an example of an input
FIFO crossing its full threshold.
Page 9 of 50
Advanced Hardware Architectures, Inc.
Figure 12: FIFO Threshold Example (IFT=4, DSC=2, 1 Word Already in FIFO)
CLOCK
D
1
2
3
4
5
6
7
8
2
3
4
5
6
7
CIACKN
CIREQN
Threshold
Counter
Note:
1
8
9
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.2
REQUEST DURING AN END-OF-RECORD
The request deasserts at an EOR in one of two
ways. If ERC bit in System Configuration 1 is zero,
the request deasserts asynchronously during the
clock where the EOR is strobed out of the FIFO.
This leads to a long 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.
Page 10 of 50
3.4.3
REQUEST STATUS BITS
An external microprocessor can also read the
value of each request 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.
PS3431-0500
Advanced Hardware Architectures, Inc.
3.5
DATA 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 transfers 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 necessary for AHA3431 to know the
ordering of the bytes within the word. The COMP
and DECOMP BIG bits in System Configuration 0
select between big endian and little endian byte
ordering for the compression and decompression
channel. Little 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 engine or compression
engine.
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 performance.
3.6
ODD 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.1
COMPRESSION INPUT AND PAD BYTES
Uncompressed data input into AHA3431 is
treated as records. 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 selected by WIDE, the final word in the
transfer of the record contains pad bytes. The
compression engine simply discards these pad bytes
and has no effect on either the dictionary or the
output data stream. The next record must begin on a
word boundary.
The minimum value for RLEN is 4 bytes.
PS3431-0500
3.6.2
COMPRESSION OUTPUT AND
PAD BYTES
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.
The pad bytes have a value of 0x00. This applies to
the 32-bit data port only.
3.6.3
DECOMPRESSION INPUT, PAD BYTES
AND ERROR CHECKING
This port recognizes the end of a record 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 Record Length (DRLEN) register
can be used to provide error checking. The expected
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 lengths do not match).
If the DERR interrupt is masked, use of the DRLEN
register is optional.
When operating in pass-through 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.4
DECOMPRESSION 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 the VOD port. The VOD port
never outputs pad bytes since it is 8-bits wide.
Page 11 of 50
Advanced Hardware Architectures, Inc.
Figure 14: Timing Diagram, Video Input
CLOCK
VIREQN
VIACKN
don’t
care
VID[7:0]
0
1
2
3.7
VIDEO INTERFACES
3.7.1
VIDEO INPUT
don’t care
The video input port is enabled by the VDIE bit
in the System Configuration 1 register. The port uses
VIREQN to indicate that the port can accept another
byte. The value on VID[7:0] is written into
AHA3431 each clock that VIREQN and VIACKN
are both low.
The video input port asserts VIREQN whenever
there is room in the CI FIFO. The values in IET and
IFT are all ignored. The compression input FIFO is
16 bytes deep in this mode. The video input port can
transfer up to one byte per clock (33 MB/sec). The
DMA interface cannot access the compression input
FIFO when VDIE is set.
3.7.2
VIDEO OUTPUT
The video output port is enabled by the VDOE
bit in the System Configuration 1 register. The port
uses VOREQN to indicate that the byte on
3
4
5
don’t
care
VOD[7:0] is valid. An 8-bit word is read each clock
when both VOREQN and VOACKN are sampled
low on a rising edge of CLOCK. Pad bytes at an end
of record are discarded by the video output port and
do not appear on VOD[7:0]. When the byte on
VOD[7:0] is the last byte 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 asserted when
the End-of-Record is at the output 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. The DMA
interface cannot access the decompression output
FIFO when VDOE is set.
Figure 15: Timing Diagram, Video Output
CLOCK
VOREQN
VOACKN
VOD[7:0]
0
1
2
3
4
5
VOEORN,
VOEOTN
Page 12 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
3.8
ALGORITHM
AHA3431 compression is an efficient
implementation of an algorithm optimized for
bitonal images. For some comparison data refer to
the AHA Application Note (ANDC13), Compression
Performance: StarLiteTM: ENCODEB2 on
Bitonal Images. A software emulation of the
algorithm is available for evaluation.
3.9
COMPRESSION ENGINE
The compression engine supports either
compression or pass-through processes. The
compression engine is enabled with the COMP bit in
the Compression Control register. When the engine is
enabled, it takes data from the CI FIFO 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 Compression
Control register. The CPASS 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 instructed to halt at the
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 is cleared. If the
CPOT bit is set the compressor halts at the end of the
multiple-record transfer. The CEMP bit indicates
the compressor has emptied all data. Compression is
restarted by setting the COMP bit.
The compression engine takes data from the
compression input FIFO at a maximum 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 data to be
compressed. The second condition is caused by the
output FIFO filling. When this occurs, the engine
halts and waits for the FIFO. While halted, the engine
goes into a low power standby mode. Refer to the
table in Section 7.1 for the extent of power savings.
The compression byte 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.10 DECOMPRESSION ENGINE
The decompression engine is enabled with the
DCOMP bit in the Decompression Control register.
When the engine is enabled, it takes data from the
PS3431-0500
DI FIFO as it becomes available. This data 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,
AHA3431 cannot be changed from pass-through
mode to decompression mode or vice versa without
losing the contents of the dictionary.
The decompressor can be instructed to halt at
the end of a record or an end of multiple-record
transfer. If the DPOR bit is set, the decompressor
stops taking data out of the DI FIFO immediately
after the last byte of a record, and the DCOMP bit is
cleared. If DPOT bit is set the decompressor halts at
the end of the multiple-record transfer. The DEMP
bit indicates the decompressor has emptied of all
data. Decompression is restarted by setting the
DCOMP bit. If DPOR or DPOT is set and data from
a second record enters the FIFO immediately after
the first record, bytes from the second record will
have entered the decompressor prior to decoding the
EOR. An implication of this is that bytes from the
second record will remain in the decompressor and
prevent DEMP from setting after all of the data from
the first record has left the decompressor. This
differs from operation of the compression engine. In
either mode, a DEOR interrupt is generated when
the last byte of a decompressed record is read out of
the chip, and DEOT when the last byte of a transfer
is read out of the chip.
The decompressor takes data from the
decompression input FIFO at the maximum clock
rate. AHA3431 can maintain this data rate as long as
the decompression input FIFO is not empty or the
decompression output FIFO is not full.
Caveat: Changing the mode for the decompressor
between records or multiple-record transfers must be
done with the data of the following record or transfer
held off until the DEOR status bit is true for the current
record and the Decompression Control registers have
been reprogrammed. This reprogramming can occur
automatically with prearming.
3.11
PREARMING
Prearming is the ability to write certain registers
that apply to the next record while the device is
processing the current record. Prearming occurs
automatically at the end of a record. If a prearmable
register is written while the part is busy processing a
record, at the end of 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.
Page 13 of 50
Advanced Hardware 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.12 INTERRUPTS
Nine conditions are reported in the Interrupt
Status/Control 1 and Status/Control 2 registers as
individual bits. All interrupts are maskable by
setting the corresponding bits in the Interrupt Mask
register. A one in the Interrupt Mask register means
the corresponding bit in the 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 DEOR respectively). A DEOR
interrupt is also reported if an end-of-record is read
from the video output port. A compression or
decompression end of transfer interrupt will also be
posted if this is the last record of a transfer.
End-of-Transfer interrupts are posted when an
EOR occurs that causes the counter 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 overflow can only be cleared by
resetting the respective FIFO via the Port Control
register.
Underflowing the output FIFOs (reading when
they are not ready) generates a COUF or DOUF.
Underflow interrupts are cleared by writing a one to
COUF or DOUF. In the event of an underflow, the
respective FIFO must be reset. Note that in systems
using fixed length bursts which rearbitrate during a
burst, the CO FIFO may request 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 underflow. As long as a pause
on End-of-Record is used, data is not corrupted. The
FIFO simply must be reset.
3.13 DUPLEX PRINTING
the compressor. Bit order control allows reversal of
the data bits within each byte of data. For example,
reverse order means bit-7 is swapped with bit-0, bit6 is swapped with bit-1, etc.... During compression
operation of the back side of the page the data words
are sent to the AHA3431 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 reversed
with the REVERSE BYTE bit in this same register.
During decompression of this reversed page the
DECOMP BIG bit in this register must be
programmed to the same value used when this page
of data was compressed. Use of this feature has
virtually no effect on the compression ratio when
compared to compressing in forward order.
3.14 BLANK BANDS
Setting DBLANK in the Decompression
Control register causes the next record output 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 programming 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.15 LOW POWER MODE
The AHA3431 is a data-driven system. When
no data transfers are taking 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 from Low Power to
Normal operating mode.
3.16 TEST MODE
In order to facilitate board level testing, the
AHA3431 provides the ability to tristate all outputs.
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. AHA3431 supports this with
separate endian control for the Compressor and
Decompressor, and bit order control at the input to
Page 14 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
4.0
REGISTER DESCRIPTIONS
The microprocessor configures, controls and monitors IC operation through the use of the registers
defined in this section. The bits labeled “res” 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
ADDRESS R/W
DESCRIPTION
0x00
R/W System Configuration 0
0x01
R/W System Configuration 1
0x02
R/W Input FIFO Thresholds
0x03
R/W Output FIFO Thresholds
0x04
R
Compression Ports Status
0x05
R
Decompression Ports Status
0x06
0x07
0x09
0x0A
R/W
R/W
R/W
R
0x0C
R/W
0x0D
R/W
0x0E
R/W
0x0F
R/W
0x10
R/W Compression Record Length 0
0x11
0x12
0x13
R/W Compression Record Length 1
R/W Compression Record Length 2
R/W Compression Record Length 3
0x14
R/W Compression Control
0x15
R/W Compression Reserved
0x16
R/W Compression Line Length 0
0x17
R/W Compression Line Length 1
PS3431-0500
Port Control
Interrupt Status/Control 1
Interrupt Mask 1
Version
Decompression Record
Length 0
Decompression Record
Length 1
Decompression Record
Length 2
Decompression Record
Length 3
FUNCTION
DEFAULT
AFTER PREARM
RSTN
Big Endian vs. Little Endian,
32-bit vs. 16-bit, Reverse Byte
Data Strobe Condition, EOR
Request Control, VDO Port
Enable, VDI Port Enable
Input FIFOs Empty
Threshold, Full Threshold
Output FIFOs Empty
Threshold, Full Threshold
FIFO Status, Request Status,
EOR Status
FIFO Status, Request Status,
EOR Status
Reset Individual FIFOs
EOR, Overflow, Underflow
Interrupt Mask bits
Die Version Number
0x0F
0x00
0xFF
0x31
No
No
No
No
Bytes Remaining, Byte 0
0xFF
Yes
Bytes Remaining, Byte 1
0xFF
Yes
Bytes Remaining, Byte 2
0xFF
Yes
Bytes Remaining, Byte 3
0xFF
No
Length of Uncompressed Data
in Bytes, Byte 0
"
" , Byte 1
"
" , Byte 2
"
" , Byte 3
Pause on Record Boundaries,
Enable Compression,
Compression Engine Empty
Status, Compression
Dictionary Reset, Select PassThrough Mode
Reserved
Line Length Register Lower
8 bits
Line Length Register Upper
3 bits
Undefined No
0x00
No
Undefined No
Undefined No
Undefined No
Undefined No
Undefined Yes
Undefined Yes
Undefined Yes
Undefined No
0x04
Yes
0x00
No
Undefined No
Undefined No
Page 15 of 50
Advanced Hardware Architectures, Inc.
ADDRESS R/W
0x18
R/W
0x1A
R/W
0x1C
R/W
0x1D
R/W
0x20
R/W
0x21
R/W
0x27
R/W
0x29
R/W
0x2C
R/W
0x2D
R/W
0x30
R
0x31
R
0x32
R
0x33
R
0x34
R/W
0x35
R/W
0x38
R/W
0x3A
0x3F
R/W
Page 16 of 50
DESCRIPTION
FUNCTION
Pause on Record Boundaries,
Enable Decompression
Engine, Decompression
Decompression Control
Engine Empty Status,
Dictionary Reset, Enable
Pass-Through Mode
Decompression Reserved 1
Reserved
Line Length Register Lower
Decompression Line Length 0
8 bits
Line Length Register Upper
Decompression Line Length 1
3 bits
Compressor number of
Compression Record Count 0
records in a transfer
Compressor number of
Compression Record Count 1
records in a transfer
Compression EOT Interrupt,
Interrupt Status/Control 2
Decompression EOT Interrupt
Interrupt Mask bits for CEOT,
Interrupt Mask 2
DEOT
Decompressor number of
Decompression Record Count 0
records in a transfer
Decompressor number of
Decompression Record Count 1
records in a transfer
Compressed byte count,
Compression Byte Count 0
byte 0
Compressed byte count,
Compression Byte Count 1
byte 1
Compressed byte count,
Compression Byte Count 2
byte 2
Compressed byte count,
Compression Byte Count 3
byte 3
Prearm Register for
Compression Control Prearm
Compression Control
8-bit pattern for blank record
Pattern
generation
Prearm Register for
Decompression Control Prearm
Decompression Control
Decompression Reserved 2
Reserved
Reserved
Reserved
DEFAULT
AFTER PREARM
RSTN
0x04
Yes
0x00
No
Undefined No
Undefined No
0xFF
No
0xFF
No
0x00
No
0xFF
No
0xFF
No
0xFF
No
0x00
No
0x00
No
0x00
No
0x00
No
0x00
No
Undefined No
0x00
No
0x00
0x0F
No
No
PS3431-0500
Advanced Hardware Architectures, Inc.
4.1
SYSTEM CONFIGURATION 0, ADDRESS 0x00 - READ/WRITE
Address
bit7
bit6
0x00
res
WIDE
bit5
bit4
bit3
bit2
bit1
REVERSE DECOMP
BYTE
BIG
res
bit0
COMP
BIG
After reset, its contents are undefined. It must be written before any input or output 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 reversed. Bit0 is swapped
with bit7, bit1 is swapped with bit6, bit2 is swapped with bit5, etc. . .
res -
Bits must always be written with zeros.
WIDE -
Selects between 32 and 16-bit D buses.
COMP BIG or
WIDE
DECOMP BIG
DESCRIPTION
Little Endian data order
0
0
0
1
Little Endian data order
D[31:24]
Byte 3
D[23:16]
Byte 2
Big Endian data order
1
0
1
4.2
1
Big Endian data order
D[31:24]
Byte 0
D[23:16]
Byte 1
16-bit words
D[15:8]
Byte 1
D[7:0]
Byte 0
32-bit words
D[15:8]
Byte 1
D[7:0]
Byte 0
16-bit words
D[15:8]
Byte 0
D[7:0]
Byte 1
32-bit words
D[15:8]
Byte 2
D[7:0]
Byte 3
SYSTEM CONFIGURATION 1, ADDRESS 0x01 - READ/WRITE
Address
0x01
bit7
bit6
bit5
bit4
bit3
res
VDIE
VDOE
ERC
res
bit2
bit1
bit0
DSC[2:0]
This register is cleared by reset.
DSC[2:0] - Data Strobe Condition. Control the condition used to strobe data into and out of the data ports
on the D bus. Table 4 shows the programming for the strobe condition for various DMA modes.
res -
Bits must always be written with zeros.
ERC -
EOR Request Control. Determines when COREQN and DOREQN deassert at an End-ofRecord. If ERC=0, then the request deasserts asynchronously 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.
PS3431-0500
Page 17 of 50
Advanced Hardware 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 set, the VDI port handshakes data and writes it into the
compression input FIFO. When the bit is clear, the compression input FIFO is written by DMA
from the D bus.
4.3
INPUT FIFO THRESHOLDS, ADDRESS 0x02 - READ/WRITE
Address
0x02
bit7
bit6
bit5
bit4
bit3
IFT[3:0]
bit2
bit1
bit0
IET[3:0]
After reset, its contents are undefined. It must be written before any input or output data movement may
be performed.
IET[3:0] - Empty threshold for input FIFOs. If the number of words in the input FIFO (CI or DI) is less
than or equal to this number, the request for that channel is asserted.
IFT[3:0] - Full threshold for input FIFOs. If the number of words in the input FIFO (CI or DI) is greater
than or equal to this number, the request for the channel is deasserted.
4.4
OUTPUT FIFO THRESHOLDS, ADDRESS 0x03 - READ/WRITE
Address
0x03
bit7
bit6
bit5
bit4
bit3
OFT[3:0]
bit2
bit1
bit0
OET[3:0]
After reset, its contents are undefined. It must be written before any input or output data movement may
be performed.
OET[3:0] - Empty threshold for output FIFOs. If the number of words in the output FIFO (CO or DO) is
less than or equal to this number, the request for the channel is deasserted (except in the case of
an End-of-Record).
OFT[3:0] - Full threshold for output FIFOs. If the number of words in the output FIFO (CO or DO) is
greater than or equal to this number, the request for that channel is asserted.
4.5
COMPRESSION PORTS STATUS, ADDRESS 0x04 - READ ONLY
Address
0x04
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
COEMP
CIEMP
res
CEOR
COREQ
COET
CIREQ
CIFT
This is a read only register. Writing to this register has no effect. After reset, its contents are undefined.
CIFT -
Compression input FIFO full threshold. This signal is active when the CI FIFO is greater than
or equal to the programmed FIFO full threshold. After reset and the Input FIFO Threshold
register has been written, this bit contains a zero.
CIREQ -
Compression input request signal state. Reports the current state for the CIREQN 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.
COET -
Compression output FIFO empty threshold. This bit is active when the CO FIFO is less than or
equal to the programmed FIFO empty threshold. After reset and the Output FIFO Threshold
register has been written, this bit contains a one.
COREQ - Compression output request signal state. Reports the current state 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.
Page 18 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
CEOR -
Compression output end of record. This bit is active when the output FIFO contains the end-ofrecord 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.6
DECOMPRESSION PORTS STATUS, ADDRESS 0x05 - READ ONLY
Address
0x05
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DOEMP
DIEMP
res
DEOR
DOREQ
DOET
DIREQ
DIFT
This is a read only register. Writing to this register has no effect. After reset, its contents are undefined.
DIFT -
Decompression input FIFO full threshold. This signal is active when the DI FIFO is at or above
the programmed FIFO full threshold. After reset and the Input FIFO Threshold register has
been written, this bit contains a zero.
DIREQ -
Decompression input request signal state. Reports the current state for the DIREQN 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.
DOET -
Decompression output FIFO empty threshold. This bit is active when the DO FIFO is at or
below the programmed FIFO empty threshold. After reset and the Output FIFO Threshold
register has been written, this bit contains a one.
DOREQ - Decompression output request signal state. Reports the current state for the DOREQN 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.
DEOR -
Decompression output end of record. This bit is active when the output FIFO contains the Endof-Record code. After reset this bit contains a zero.
res -
Bits must always be written with zeros.
DIEMP -
Decompression input empty. This bit is active when the DI FIFO is empty. After reset this bit
contains a one.
DOEMP - Decompression output empty. This bit is active when the DO FIFO is empty. After reset this bit
contains a one.
PS3431-0500
Page 19 of 50
Advanced Hardware Architectures, Inc.
4.7
PORT CONTROL, ADDRESS 0x06 - READ/WRITE
Address
0x06
bit7
bit6
bit5
bit4
res
bit3
bit2
bit1
bit0
DORST
DIRST
CORST
CIRST
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
on the compression input port. The reset condition remains active until the microprocessor
writes a zero to this bit.
CORST -
Compression output reset. Setting this bit to a one resets the CO FIFO and clears state machines
on the compression output port. The reset condition remains active until the microprocessor
writes a zero to this bit.
DIRST -
Decompression input reset. Setting this bit to a one resets the DI FIFO and clears the state
machines in the decompression input port. The reset condition remains active until the
microprocessor writes a zero to this bit.
DORST -
Decompression output reset. Setting this bit to a one resets the DO FIFO and clears the state
machines in the decompression output port. The reset condition remains active until the
microprocessor writes a zero to this bit.
res -
Bits must always be written with zeros.
4.8
INTERRUPT STATUS/CONTROL 1, ADDRESS 0x07 - READ/WRITE
Address
0x07
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DOUF
COUF
DIOF
CIOF
res
DERR
DEOR
CEOR
This register is initialized to 0x00 after reset.
CEOR-
Compression End-of-Record interrupt. This bit is set when an End-of-Record codeword is
strobed out of the compression output port. The microprocessor must write a one to this bit to
clear this interrupt.
DEOR -
Decompression End-of-Record interrupt. This bit is set when the last byte of a record is strobed
out of the decompression DMA or video output port. The microprocessor must write a one to
this bit to clear this interrupt.
DERR -
Decompression Error. This bit is set if an EOR leaves the decompressor before DRLEN has
counted down to zero or if DRLEN counts to zero and the last byte is not an EOR. DERR is
only active in decompression mode (DPASS=0). The microprocessor must write a one to this
bit to clear this interrupt.
res -
Bits must always be written with zeros.
CIOF -
Compression Input FIFO Overflow. This interrupt is generated when a write to an already full
CI FIFO is performed. Data written in this condition is lost. The only means of recovery from
this error is to reset the FIFO with the CIRST bit. Resetting the FIFO causes this interrupt to
clear. CIREQN is inactive while the interrupt is set.
DIOF -
Decompression Input FIFO Overflow. This interrupt is generated when a write to an already
full DI FIFO is performed. Data written in this condition is lost. The only means of recovery
from this error is to reset the FIFO with the DIRST bit. Resetting the FIFO causes this interrupt
to clear. DIREQN is inactive while the interrupt is set.
Page 20 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
COUF -
Compression Output FIFO underflow. This interrupt is generated when a read from an empty
CO FIFO is performed. Once this interrupt is set, the CO FIFO must be reset with the CORST
bit. The microprocessor must write a one to this bit to clear this interrupt. COREQN is inactive
while the interrupt is set.
DOUF -
Decompression Output FIFO underflow. This interrupt is generated when a read from an empty
DO FIFO is performed. Once this interrupt is set, the DO FIFO must be reset with the DORST
bit. The microprocessor must write a one to this bit to clear this interrupt. DOREQN is inactive
while the interrupt is set.
4.9
INTERRUPT MASK 1, ADDRESS 0x09 - READ/WRITE
Address
0x09
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DOUFM
COUFM
DIOFM
CIOFM
res
DERRM
DEORM
CEORM
This register is initialized to 0xFF after reset.
CEORM - Compression End-of-Record Interrupt Mask. When set to a one, prevents Compression End-ofRecord from causing INTRN to go active.
DEORM - Decompression End-of-Record Interrupt Mask. When set to a one, prevents Decompression
End-of-Record from causing INTRN to go active.
DERRM - Decompression Error Mask. When set to a one, prevents a decompression error (DERR) from
causing INTRN to go active.
res -
Bits must always be written with zeros.
CIOFM -
Compression Input FIFO Overflow Mask. When set to a one, prevents a compression input
FIFO overflow (CIOF) from causing INTRN to go active.
DIOFM -
Decompression Input FIFO Overflow Mask. When set to a one, prevents a decompression
input FIFO overflow (DIOF) from causing INTRN to go active.
COUFM - Compression Output FIFO Underflow Mask. When set to a one, prevents a compression output
FIFO underflow (COUF) from causing INTRN to go active.
DOUFM - Decompression Output FIFO Underflow Mask. When set to a one, prevents a decompression
output FIFO underflow (DOUF) from causing INTRN to go active.
4.10 VERSION, ADDRESS 0x0A - READ ONLY
Address
0x0A
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
VERSION[7:0]
VERSION[7:0] - Contains version number of the die. The AHA3431 returns the version number 0x31.
PS3431-0500
Page 21 of 50
Advanced Hardware Architectures, Inc.
4.11
DECOMPRESSION RECORD LENGTH, ADDRESS 0x0C, 0x0D, 0x0E, 0x0F READ/WRITE
Address
0x0C
0x0D
0x0E
0x0F
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DRLEN[7:0]
DRLEN[15:8]
DRLEN[23:16]
DRLEN[31:24]
These registers are initialized to 0xFF after reset.
DRLEN[31:0]-Decompression Record Length. Contains the number of bytes in a decompressed record.
These registers provide different functions depending on whether the decompressor is in passthrough or decompression mode. In decompress mode, the data itself contains EOR
information and DRLEN is only used for error checking. DRLEN is decremented each time a
byte leaves the decompressor.
In decompression mode, 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 lengths do not match). If the DERR interrupt is masked, use of the DRLEN
register is optional in decompression mode.
In pass-through mode, DRLEN determines the size of records read out of the decompressor.
The counter is decremented for each byte read into the decompressor.
In either mode, the counter reloads when it reaches zero or when DRLEN[31:24] is written.
Reading DRLEN returns the number of bytes left in the count. The lower three bytes of this
register may be prearmed since the counter is automatically reloaded at the end of a record
when the part is not programmed to pause on End-of-Record. The upper byte is not prearmable
since writing to this byte triggers an immediate reload to the counter.
4.12 COMPRESSION RECORD LENGTH, ADDRESS 0x10, 0x11, 0x12, 0x13 - READ/
WRITE
Address
0x10
0x11
0x12
0x13
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
RLEN[7:0]
RLEN[15:8]
RLEN[23:16]
RLEN[31:24]
These registers are undefined after reset.
RLEN[31:0]-Record Length. Length of an uncompressed record in bytes. Writing these addresses sets a
register containing the length of a record. Reading these addresses returns a counter indicating
the number of bytes remaining in the current record. The counter is decremented each time a
byte leaves the CI FIFO. The counter automatically reloads from the register at the end of a
record. The counter is also reloaded when RLEN[31:24] is written. The record length register
is also valid during pass-through operation. The lower three bytes of this register may be
prearmed since the counter is automatically reloaded at the end of a record when the part is not
programmed to pause on End-of-Record. The upper byte is not prearmable since writing to this
byte triggers an immediate reload to the counter.
The minimum value for RLEN is 4.
Page 22 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
4.13 COMPRESSION CONTROL, ADDRESS 0x14 - READ/WRITE
Address
bit7
0x14
CPREARM
bit6
bit5
bit4
bit3
bit2
bit1
bit0
res
CPOT
CPASS
CDR
CEMP
COMP
CPOR
This register is initialized to 0x04 after reset.
CPOR -
Compression Pause on record boundaries. When this bit is set to one, the compressor stops
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 cleared.
COMP -
Compression. Setting this bit to a one enables the data compression engine (or pass-through
mode if CPASS 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.
CEMP -
Compression engine empty. This bit is set to a one when no data is present inside the
compressor. Writing to this bit has no effect. After system reset, this bit is set.
CDR -
Compression Dictionary Reset. Setting this bit immediately resets the compressor including the
compression dictionary. The reset condition remains active until the microprocessor writes a
zero to this bit.
CPASS -
Compression pass-through mode. While this bit is set, data is passed directly through the
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 pass-through operation is started by setting COMP. To stop the
pass-through operation, COMP should be cleared (to pause operation) 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 cleared.
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 register when the next end of record leaves the compressor.
4.14 COMPRESSION RESERVED, ADDRESS 0x15 - READ/WRITE
Address
0x15
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
res
This register is used for production testing. Must be written with zero if at all. Resets to zero.
res -
PS3431-0500
Bits must always be written with zeros.
Page 23 of 50
Advanced Hardware Architectures, Inc.
4.15 COMPRESSION LINE LENGTH, ADDRESS 0x16, 0x17 - READ/WRITE
Address
0x16
0x17
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
LINE[7:0]
res
LINE[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 line length, 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. Minimum value is 16.
4.16 DECOMPRESSION CONTROL, ADDRESS 0x18 - READ/WRITE
Address
bit7
bit6
0x18
DPREARM DBLANK
bit5
bit4
bit3
bit2
bit1
bit0
DPOT
DPASS
DDR
DEMP
DCOMP
DPOR
This register is initialized to 0x04 after reset. This register can be prearmed.
DPOR -
Decompression Pause on record boundaries. When this bit is set to one, the decompressor stops
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 when 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 restarted without loss of data by setting DCOMP. After system reset or
DDR, this bit is cleared.
DEMP -
Decompression engine empty. This bit is set when the decompression engine is cleared of data.
Writing to this bit has 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-through operation is started by setting DCOMP. To stop the pass-through
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 and the system must not send data to be decompressed for any
future records until the part has reached the End-of-Record for the blank record.
DPREARM -Prearm Enable. When this bit is set, Decompression Control Prearm register is loaded into the
Decompression Control register when the next end of record leaves the decompressor.
Page 24 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
4.17 DECOMPRESSION RESERVED, ADDRESS 0x1A - READ/WRITE
Address
0x1A
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
res
This register is used for production testing only. Must be written with zero if at all. Initialized to 0x00
after reset.
4.18 DECOMPRESSION LINE LENGTH, ADDRESS 0x1C, 0x1D - READ/WRITE
Address
0x1C
0x1D
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
LINE[7:0]
res
LINE[10:8]
This register contains information necessary for the decompression operation. It must be set prior to any
decompression operation. It should only be changed between records when DCOMP is cleared and DEMP
is set. 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. Minimum value is 16.
For scan line lengths larger than the maximum allowed, set to 16.
4.19 COMPRESSION RECORD COUNT, ADDRESS 0x20, 0x21 - READ/WRITE
Address
0x20
0x21
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
RC[7:0]
RC[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
the last byte of a record is compressed.
4.20 INTERRUPT STATUS/CONTROL 2, ADDRESS 0x27 - READ/WRITE
Address
0x27
bit7
bit6
bit5
bit4
res
bit3
bit2
bit1
bit0
DEOT
CEOT
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
reached indicated by the compression Record Counter counting down to zero. The
microprocessor must write a one to this bit to clear this interrupt.
DEOT -
Decompression End-of-Transfer Interrupt. This bit is set when a decompression end of transfer
condition is reached indicated by the Decompression Record Counter counting down to zero.
The microprocessor must write a one to this bit to clear this interrupt.
res -
Bits must always be written with zeros.
PS3431-0500
Page 25 of 50
Advanced Hardware Architectures, Inc.
4.21 INTERRUPT MASK 2, ADDRESS 0x29 - READ/WRITE
Address
0x29
bit7
bit6
bit5
bit4
bit3
bit2
res
bit1
bit0
DEOTM
CEOTM
This register is initialized to 0xFF after reset.
CEOTM - Compression End-of-Transfer Interrupt Mask. When set to a one, prevents Compression Endof-Transfer from causing INTRN to go active.
DEOTM - Decompression End-of-Transfer Interrupt Mask. When set to a one, prevents Decompression
End-of-Transfer from causing INTRN to go active.
res -
Bits must always be written with zeros.
4.22 DECOMPRESSION RECORD COUNT, ADDRESS 0x2C, 0x2D - READ/WRITE
Address
0x2C
0x2D
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
DRC[7:0]
DRC[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
this counter causes a CEOT interrupt to be posted.
4.23 COMPRESSION BYTE COUNT, ADDRESS 0x30, 0x31, 0x32, 0x33 - READ/WRITE
Address
0x30
0x31
0x32
0x33
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
BCNT[7:0]
BCNT[15:8]
BCNT[23:16]
BCNT[31:24]
BCNT[31:0]-Compressed Byte Count is the number of bytes output from the CO FIFO, rounded up to a
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.
4.24 COMPRESSION CONTROL PREARM, ADDRESS 0x34 - READ/WRITE
Address
bit7
0x34
NCPREARM
bit6
bit5
bit4
bit3
bit2
bit1
bit0
res
NCPOT
NCPASS
NCDR
res
NCOMP
NCPOR
This register is initialized to 0x00 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.
Page 26 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
4.25 PATTERN, ADDRESS 0x35 - READ/WRITE
Address
0x35
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
PATTERN[7:0]
This register is undefined after reset.
PATTERN[7:0]-Pattern is the 8-bit data used to generate blank bands or records. If DBLANK is set, the part
outputs this register value repeatedly for the entire record (or band).
4.26 DECOMPRESSION CONTROL PREARM, ADDRESS 0x38 - READ/WRITE
Address
bit7
bit6
bit5
0x38
NDPREARM NDBLANK NDPOT
bit4
bit3
bit2
NDPASS
NDDR
res
bit1
bit0
NDCOMP NDPOR
This register initializes to 0x00 after reset.
res -
Bits must always be written with zeros.
4.27 DECOMPRESSION RESERVED, ADDRESS 0x3A - READ/WRITE
Address
0x3A
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
res
This register is used for production testing only. Must be written with zero if at all. Initialized to 0x00
after reset.
See Decompression Control register for bit descriptions. This register is the prearm register for the
Decompression Control register.
5.0
SIGNAL 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 CODE
I
O
I/O
S
A
PS3431-0500
DESCRIPTION
Input only pin
Output only pin
Input/Output pin
Synchronous signal
Asynchronous signal
Page 27 of 50
Advanced Hardware Architectures, Inc.
5.1
MICROPROCESSOR INTERFACE
SIGNAL
MICROPROCESSOR INTERFACE
TYPE
DESCRIPTION
PD[7:0]
I/O
S
PA[5:0]
I
S
I
S
CSN
DIR
I
S
RDYN
O
A,S
INTRN
O
S
PROCMODE[1:0]
I
S
Page 28 of 50
Processor Data. Data for all microprocessor reads and writes of
registers within AHA3431 are performed on this bus. This bus may
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
AHA3431.
Chip Select. Selects AHA3431 as the source or destination of the
current microprocessor bus cycle. CSN needs only be active for one
clock cycle to start a microprocessor access.
Direction. This signal indicates whether the access to the register
specified by the PA 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 register.
Microprocessor Port Configuration 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)
PS3431-0500
Advanced Hardware Architectures, Inc.
5.2
DATA INTERFACE
SIGNAL
D[31:0]
TYPE
I/O
S
DRIVEN
I
A
SD
I
S
CIREQN
O
S
I
S
CIACKN
COREQN
COACKN
O
A,S
I
S
COEORN
O
S
COEOTN
O
S
DIREQN
O
S
I
S
DIACKN
DOREQN
DOACKN
PS3431-0500
O
A, S
I
S
DATA INTERFACE
DESCRIPTION
Data for all channels is transmitted on this bus. The ACKN is used to
distinguish between the four channels. Data being written to AHA3431 is
latched on the rising edge of CLOCK when the strobe condition is met.
Data setup and hold times are 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 driver enable. This 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 Acknowledge. 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.
Compression Output Data Request, active low. When this signal is
active, it indicates the ability of the CO FIFO to transmit data.
Compression Output Data Acknowledge. Active low. The definition 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 currently on the output of the CO FIFO contains an Endof-Record.
Compression Output End-of-Transfer, active low. COEOTN is active
when the word currently on the output of the CO FIFO contains the 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 this signal is active, it indicates the data 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 Configuration 1. See
Table 4.
Page 29 of 50
Advanced Hardware Architectures, Inc.
5.3
VIDEO INTERFACE
SIGNAL
VIREQN
VIACKN
VID[7:0]
VOREQN
VOACKN
VOD[7:0]
VOEORN
VOEOTN
5.4
TYPE
O
S
I
S
I
S
O
S
I
S
O
S
O
S
O
S
VIDEO INTERFACE
DESCRIPTION
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 AHA3431
when both VIREQN and VIACKN are active.
Video Output Request. Active low output indicating that the byte on
VOD[7:0] is valid.
Video Output Acknowledge. Active low 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.
SYSTEM CONTROL
SIGNAL
TYPE
CLOCK
I
RSTN
I
A
TEST0
I
A
I
A
TEST1
Page 30 of 50
SYSTEM CONTROL
DESCRIPTION
System Clock. This signal is connected to the clock of the
microprocessor. The Intel i960Cx calls this pin PCLK.
Power on Reset. Active low reset signal. AHA3431 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.
PS3431-0500
Advanced Hardware Architectures, Inc.
6.0
PINOUT
PIN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
PS3431-0500
SIGNAL
VID[4]
VID[3]
VID[2]
VID[1]
VID[0]
INTRN
VSS
VDD
DRIVEN
SD
DOACKN
COACKN
DIACKN
CIACKN
VSS
VDD
DOREQN
COREQN
DIREQN
CIREQN
VIREQN
D[0]
VSS
VSS
VDD
VDD
D[1]
D[2]
D[3]
D[4]
D[5]
D[6]
D[7]
D[8]
D[9]
D[10]
D[11]
VSS
VDD
D[12]
D[13]
D[14]
TEST1
PIN
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
SIGNAL
VSS
VSS
VDD
CLOCK
VSS
VDD
VDD
VSS
VDD
D[15]
D[16]
D[17]
D[18]
D[19]
D[20]
D[21]
D[22]
D[23]
D[24]
VSS
VDD
D[25]
D[26]
D[27]
D[28]
D[29]
D[30]
VDD
VDD
VSS
VSS
D[31]
VOREQN
VOEORN
VOD[0]
VOD[1]
VOD[2]
VDD
VSS
VOD[3]
VOD[4]
VOD[5]
VOD[6]
PIN
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
SIGNAL
VOD[7]
COEORN
VDD
VSS
VOACKN
TEST0
PA[0]
PA[1]
PA[2]
PA[3]
VDD
PA[5]
VSS
PA[4]
COEOTN
VOEOTN
PROCMODE[1]
PROCMODE[0]
CSN
VDD
VSS
DIR
RSTN
PD[7]
PD[6]
PD[5]
VDD
VSS
PD[4]
PD[3]
PD[2]
PD[1]
PD[0]
VDD
VSS
RDYN
VIACKN
VID[7]
VID[6]
VID[5]
VDD
VSS
Page 31 of 50
Advanced Hardware Architectures, Inc.
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
PA[3]
PA[2]
PA[1]
PA[0]
TEST0
VOACKN
VSS
VDD
COEORN
VOD[7]
VOD[6]
VOD[5]
VOD[4]
VOD[3]
VSS
VDD
VOD[2]
VOD[1]
VOD[0]
VOEORN
VOREQN
D[31]
VSS
VSS
VDD
VDD
D[30]
D[29]
D[28]
D[27]
D[26]
D[25]
Figure 16: Pinout
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
TM
AHA3431 StarLiteTM
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
VDD
VSS
D[24]
D[23]
D[22]
D[21]
D[20]
D[19]
D[18]
D[17]
D[16]
D[15]
VDD
VSS
VDD
VDD
VSS
CLOCK
VDD
VSS
VSS
TEST1
D[14]
D[13]
D[12]
VDD
VSS
D[11]
D[10]
D[9]
D[8]
D[7]
VID[4]
VID[3]
VID[2]
VID[1]
VID[0]
INTRN
VSS
VDD
DRIVEN
SD
DOACKN
COACKN
DIACKN
CIACKN
VSS
VDD
DOREQN
COREQN
DIREQN
CIREQN
VIREQN
D[0]
VSS
VSS
VDD
VDD
D[1]
D[2]
D[3]
D[4]
D[5]
D[6]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
VDD
PA[5]
VSS
PA[4]
COEOTN
VOEOTN
PROCMODE[1]
PROCMODE[0]
CSN
VDD
VSS
DIR
RSTN
PD[7]
PD[6]
PD[5]
VDD
VSS
PD[4]
PD[3]
PD[2]
PD[1]
PD[0]
VDD
VSS
RDYN
VIACKN
VID[7]
VID[6]
VID[5]
VDD
VSS
Page 32 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
7.0
DC ELECTRICAL SPECIFICATIONS
7.1
OPERATING CONDITIONS
SYMBOL
Vdd
Idd
Idd
Idd
Ta
Vil
Vih
Iil
Vol
Voh
Iol
Ioh
Ioz
Cin
Cout
Cio
Comax
OPERATING CONDITIONS
PARAMETER
MIN
Supply voltage
Supply current (active)
Supply current (typical)
Supply current (static)
Ambient temperature
Input low voltage
Input high voltage
Input leakage current
Output low voltage (Iol=-4mA)
Output high voltage (Ioh=4mA)
Output low current
Output high current
Output leakage current during tristate
Input capacitance
Output capacitance
Input/Output capacitance
Maximum capacitance load for all
signals (including self loading)
3.0
0
Vss-0.3
2.0
-10
MAX
UNITS
3.6
160
120
1
70
0.8
Vdd+0.3
10
0.4
4
-4
10
10
7
10
V
mA
mA
mA
°C
V
V
µA
V
V
mA
mA
µA
pF
pF
pF
50
pF
2.4
-10
NOTES
4
1, 4
2, 4
3
Notes:
1)
2)
3)
4)
Dynamic current; typical operating conditions (3.3V)
Static current (clock high)
Timings referenced to this load
ILOAD=0 mA
7.2
ABSOLUTE MAXIMUM STRESS RATINGS
SYMBOL
Tstg
Vdd
Vin
PS3431-0500
ABSOLUTE MAXIMUM STRESS RATINGS
PARAMETER
MIN
MAX
Storage temperature
Supply voltage
Input voltage
-50
-0.5
Vss-0.5
150
4.5
Vdd+0.5
UNITS
NOTES
°C
V
V
Page 33 of 50
Advanced Hardware Architectures, Inc.
8.0
AC ELECTRICAL SPECIFICATIONS
Notes:
1)
2)
Production test condition is 50 pF.
All timings are referenced to 1.4 volts.
Figure 17: Data Interface Timing
CLOCK
1
2
3
4
ACKN,
SD
Valid
D
5
6
REQN
7
8
D, COEORN,
COEOTN
Table 6:
Valid 0
Valid 1
Data Port Timing Requirements
NUMBER
PARAMETER
MIN
1
2
3
4
5
6
7
8
CIACKN, DIACKN, COACKN, DOACKN and SD setup time
CIACKN, DIACKN, COACKN, DOACKN and SD hold time
D-bus input setup time
D-bus input hold time
REQN delay (non-EOR case)
REQN hold (non-EOR case)
D-bus, COEORN, COEOTN output delay
D-bus, COEORN, COEOTN output hold
7
2
7
2
MAX
12
2
12
2
UNITS
ns
ns
ns
ns
ns
ns
ns
ns
Figure 18: Request Deasserts at EOR, Strobe Condition of DSC=0-3, 6-7; ERC=0
CLOCK
SD
ACKN
1
2
REQN
D
Page 34 of 50
EOR-1
EOR
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure 19: Request Deasserts at EOR, Strobe Condition of DSC=0-3, 6-7; ERC=1
CLOCK
SD
ACKN
3
REQN
D
EOR-1
EOR
Figure 20: Request Deasserts at EOR, Strobe Condition of DSC=4 or 5; ERC=0
CLOCK
SD
ACKN
4
REQN
D
EOR-1
EOR
Figure 21: Request Deasserts at EOR, Strobe Condition of DSC=4 or 5; ERC=1
CLOCK
SD
ACKN
5
REQN
D
PS3431-0500
EOR-1
EOR
Page 35 of 50
Advanced Hardware Architectures, Inc.
Table 7:
Request vs. EOR Timing
NUMBER
1
2
3
4
5
PARAMETER
MIN
ACKN, SD to REQN ERC=0
CLOCK to REQN ERC=0
CLOCK to REQN DSC=0-3, 6, 7; ERC=1
CLOCK to REQN DSC=4, 5; ERC=0
CLOCK to REQN DSC=4, 5; ERC=1
MAX
UNITS
12
12
12
12
12
ns
ns
ns
ns
ns
Figure 22: Output Enable Timing
CLOCK
ACKN
DRIVEN
D
1
Table 8:
4
5
Output Enable Timing Requirements
NUMBER
1
2
3
4
5
3
2
PARAMETER
MIN
DRIVEN to D valid
DRIVEN to D tristate
ACKN to D valid
ACKN to D tristate
CLOCK to D tristate (DSC=100, 101)
MAX
UNITS
12
6
12
6
8
ns
ns
ns
ns
ns
MAX
UNITS
12
ns
ns
ns
ns
ns
ns
Figure 23: Video Input Port Timing
CLOCK
VIREQN
2
1
VIACKN
3
4
VID[7:0]
5
Table 9:
Video Input Port Timing Requirements
NUMBER
1
2
3
4
5
6
Page 36 of 50
6
PARAMETER
VIREQN delay
VIREQN hold
VIACKN setup
VIACKN hold
VID setup
VID hold
MIN
2
7
1
7
1
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure 24: Video Output Port Timing
CLOCK
VOREQN
1
2
VOACKN
3
4
VOD[7:0]
5
6
7
8
VOEORN,
VOEOTN
Table 10: Video Output Port Timing Requirements
NUMBER
PARAMETER
1
2
3
4
5
6
7
8
MIN
VOREQN delay
VOREQN hold
VOACKN setup
VOACKN hold
VOD delay
VOD hold
VOEORN, VOEOTN hold
VOEORN, VOEOTN delay
MAX
UNITS
12
ns
ns
ns
ns
ns
ns
ns
ns
2
7
1
12
2
2
12
Figure 25: Microprocessor Interface Timing (PROCMODE[1]=0)
1
2
3
4
5
1
2
CLOCK
1
PA
2
1
2
4
3
4
Valid
3
CSN
7
6
8
RDYN
tristate
READ
9
9
10
10
DIR
12
PD
13
tristate
Valid
WRITE
9
10
9
10
DIR
15
14
PD
PS3431-0500
Valid
Page 37 of 50
Advanced Hardware Architectures, Inc.
Figure 26: Microprocessor Interface Timing (PROCMODE[1]=1)
1
2
3
4
5
N
CLOCK
1
2
PA
A0
3
4
CSN
7
16
RDYN
17
READ
DIR
13
12
PD
tristate
Valid
14
WRITE
15
PD
Valid
10
9
DIR
Table 11:
NUMBER
1
2
3
4
6
7
8
9
10
12
13
14
15
16
17
Page 38 of 50
Microprocessor Interface Timing Requirements
PARAMETER
PA setup time
PA hold time
CSN setup time
CSN hold time
CSN to valid RDYN
RDYN valid delay
RDYN drive disable
DIR setup time
DIR hold time
PD valid delay
PD drive disable
PD setup time
PD hold time
CSN high to PD tristate
CSN high to RDYN high
MIN
MAX
7
1
7
2
12
12
8
7
2
12
8
7
1
8
12
UNITS
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure 27: Interrupt Timing
CLOCK
INTRN
1
Table 12:
Interrupt Timing Requirements
NUMBER
1
2
2
PARAMETER
MIN
INTRN delay time
INTRN hold time
MAX
UNITS
12
ns
ns
MAX
UNITS
4
4
ns
ns
ns
ns
ns
MAX
UNITS
2
Figure 28: Clock Timing
1
2
2.0V
1.4V
0.8V
CLK
3
4
5
Table 13:
Clock Timing Requirements
NUMBER
1
2
3
4
5
PARAMETER
MIN
CLOCK rise time
CLOCK fall time
CLOCK high time
CLOCK low time
CLOCK period
10
10
25
Figure 29: Power On Reset Timing
CLOCK
2
3
RSTN
1
Table 14:
NUMBER
1
2
3
Power On Reset Timing Requirements
PARAMETER
RSTN low pulsewidth
RSTN setup to CLOCK rise
RSTN hold time
MIN
10
10
2
clocks
ns
ns
Notes:
1)
RSTN signal can be asynchronous to the CLOCK signal. It is internally synchronized to the rising edge of
CLOCK.
PS3431-0500
Page 39 of 50
Advanced Hardware Architectures, Inc.
9.0
PACKAGE SPECIFICATIONS
A
A2 A
L
A1
DETAIL A
D
D1
P
B
97
98
99
100
E1 E
(LCA)
125
126
127
128
P
(LCB)
29
30
31
32
JEDEC outline is MO-108
Page 40 of 50
PS3431-0500
Advanced Hardware Architectures, Inc.
PLASTIC QUAD FLAT PACK PACKAGE DIMENSIONS
NUMBER OF PIN AND SPECIFICATION DIMENSION
128
SB
NOM
32
32
3.7
0.33
3.37
31.2
28
31.2
28
0.88
0.8
0.35
SYMBOL
MIN
(LCA)
(LCB)
A
A1
A2
D
D1
E
E1
L
P
B
0.25
3.2
30.95
27.99
30.95
27.99
0.73
0.3
MAX
4.07
3.6
31.45
28.12
31.45
28.12
1.03
0.4
10.0 ORDERING INFORMATION
10.1 AVAILABLE PARTS
PART NUMBER
DESCRIPTION
AHA3431A-040 PQC
40 MBytes/sec Simultaneous Lossless Data Compression/
Decompression Coprocessor IC
10.2 PART NUMBERING
AHA
3431
A-
040
P
Q
C
Manufacturer
Device
Number
Revision
Level
Speed
Designation
Package
Material
Package
Type
Test
Specification
Device Number:
3431
Revision Letter:
A
Package Material Codes:
P
Plastic
Package Type Codes:
Q Quad Flat Pack
Test Specifications:
C Commercial
PS3431-0500
0°C to +70°C
Page 41 of 50
Advanced Hardware Architectures, Inc.
11.0 RELATED TECHNICAL PUBLICATIONS
DOCUMENT #
PS3411
ABDC18
ANDC12
ANDC13
ANDC14
ANDC15
ANDC16
ANDC17
GLGEN1
STARSW
Page 42 of 50
DESCRIPTION
AHA Product Specification – AHA3411 StarLiteTM 16 MBytes/sec Simultaneous
Compressor/Decompressor IC
AHA Application Brief – AHA3410C, AHA3411 and AHA3431 Device Differences
AHA Application Note – AHA3410C StarLiteTM Designer’s Guide
AHA Application Note – Compression Performance on Bitonal Images
AHA Application Note – StarLiteTM Evaluation Software
AHA Application Note – ENCODEB2 Compression Algorithm Description
AHA Application Note – Designer’s Guide for StarLiteTM Family Products: AHA3411,
AHA3422 and AHA3431
AHA Application Note – StarLiteTM Compression on Continuous Tone Images
General Glossary of Terms
StarLiteTM Evaluation Software (WindowsTM)
PS3431-0500
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
Figure A2:
D0
D1
DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
Figure A3:
D0
D1
DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
PS3431-0500
D0
D1
D2
D3
Page 43 of 50
Advanced Hardware 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
Figure A5:
D0
D1
D2
D3
DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
Figure A6:
D0
D1
D2
D3
D4
D5
D6
D7
DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=000
CLOCK
ACKN
SD
DRIVEN
D
Page 44 of 50
D0
D1
D2
D3
D4
D5
D6
D7
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure A7:
DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
Figure A8:
D0
D1
DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
Figure A9:
D0
D1
DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
PS3431-0500
D0
D1
D2
D3
Page 45 of 50
Advanced Hardware Architectures, Inc.
Figure A10: DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition
of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
D2
D3
Figure A11: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
D2
D3
D4
D5
D6
D7
Figure A12: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=010
CLOCK
ACKN
SD
DRIVEN
D
Page 46 of 50
D0
D1
D2
D3
D4
D5
D6
D7
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure A13: DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
Figure A14: DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
Figure A15: DMA Mode Timing for Four Word Burst Write, One Wait State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
PS3431-0500
D0
D1
D2
D3
Page 47 of 50
Advanced Hardware Architectures, Inc.
Figure A16: DMA Mode Timing for Four Word Burst Read, One Wait State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
D2
D3
Figure A17: DMA Mode Timing for Eight Word Burst Write, Zero Wait State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
D2
D3
D4
D5
D6
D7
Figure A18: DMA Mode Timing for Eight Word Burst Read, Zero Wait State, Strobe Condition
of DSC=011
CLOCK
ACKN
SD
DRIVEN
D
Page 48 of 50
D0
D1
D2
D3
D4
D5
D6
D7
PS3431-0500
Advanced Hardware Architectures, Inc.
Figure A19: DMA Mode Timing for Single Word Writes, Strobe Condition of DSC=111
CLOCK
ACKN
SD
DRIVEN
D
D0
D1
D2
Figure A20: DMA Mode Timing for Single Word Reads, Strobe Condition of DSC=111
CLOCK
ACKN
SD
DRIVEN
D
PS3431-0500
D0
D1
D2
Page 49 of 50
Advanced Hardware Architectures, Inc.
APPENDIX B: RECOMMENDED POWER DECOUPLING CAPACITOR
PLACEMENT
VSS
VSS
VDD
VDD
VSS
VDD
VSS
VDD
RECOMMENDED POWER DECOUPLING CAPACITOR PLACEMENT
VDD
VSS
VDD
VSS
VDD
VSS
TM
VDD
VSS
VDD
VDD
VSS
VDD
VSS
TM
AHA3431 StarLite
VDD
VSS
VSS
VDD
VSS
VDD
VSS
VSS
VSS
VDD
VDD
VSS
VDD
VSS
VDD
1
VDD
VSS
GUIDELINES FOR LOW NOISE OPERATION:
1) Use of dedicated power and ground planes within a multilayer printed circuit board is highly
recommended for high speed designs.
2) Use (8) 0.047uF ceramic leadless chip capacitors placed as shown.
3) Minimize VDD trace distance from IC to capacitor VDD pad.
4) Minimize VDD trace from capacitor VDD pad to power plane via.
5) Minimize VSS trace from IC to ground plane via.
Page 50 of 50
PS3431-0500