W9960CF [WINBOND]
Consumer Circuit, CMOS, PQFP208, PLASTIC, QFP-208;型号: | W9960CF |
厂家: | WINBOND |
描述: | Consumer Circuit, CMOS, PQFP208, PLASTIC, QFP-208 商用集成电路 |
文件: | 总65页 (文件大小:390K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
W9960CF
W9960CF
VIDEO CODEC
Technical Reference Manual
Version 1.11
June, 1997
Winbond Confidential
1
June 1997
W9960CF
Copyright by Winbond Electronics Corp., all rights reserved
The information in this document has been carefully checked and is believed to be correct as of
the date of publication. Winbond Electronics Corp. reserves the right to make changes in the
product or specification, or both, presented in this publication at any time without notice.
Winbond assumes no responsibility or liability arising from the specification listed herein.
Winbond makes no representations that the use of its products in the manner described in this
publication will not infringe on existing or future patent, trademark, copyright, or rights of third
parties. No license is granted by implication or other under any patent or patent rights of
Winbond Electronics Corp.
IBM is a registered trademark and AT, XT, and OS/2 are trademarks of International Business
Machines Corp.
Intel is a registered trademark of Intel Corporation.
Microsoft is a registered trademark and Windows, Windows 95, and DirectDraw are trademarks
of Microsoft Corp.
Philips is a registered trademark of Philips International B.V.
ALL OTHER TRADEMARKS AND REGISTERED TRADEMARKS ARE THE PROPERTY OF THEIR RESPECTIVE HOLDERS.
Winbond Confidential
2
June 1997
W9960CF
1. INTRODUCTION..................................................................................................... 5
1.1 OVERVIEW................................................................................................................. 5
1.2 FEATURES.................................................................................................................. 6
2. PIN DESCRIPTION.................................................................................................. 7
2.1 PIN DEFINITION.......................................................................................................... 7
2.2 PINOUT DIAGRAM.................................................................................................... 11
3. FUNCTIONAL DESCRIPTION ............................................................................ 12
3.1 W9960CF ARCHITECTURE ....................................................................................... 12
3.2 PCI INTERFACE........................................................................................................ 13
3.3 VRISC .................................................................................................................... 14
3.4 FRAME MEMORY DMA CONTROLLER ( FDMA )...................................................... 20
3.4.1 Bus Arbitration ................................................................................................. 21
3.4.2 FDMA Transfer Type ........................................................................................ 21
3.4.3 FDMA Programming ........................................................................................ 22
3.4.4 FDMA Addressing Registers ............................................................................. 24
3.5 EXTERNAL MEMORY DMA CONTROLLER ( XDMA )................................................ 26
3.6 DRAM MEMORY INTERFACE................................................................................... 28
3.7 INTERRUPT/TRIGGER CONTROLLER ................................................................... 30
3.8 X_INTERRUPT CONTROLLER ( XINTC )............................................................... 32
3.9 GPIO ( GENERAL PURPOSE INPUT/OUPUT) PORT..................................................... 33
3.10 TIMER.................................................................................................................. 33
3.11 VIDEO PRE/POST PROCESSING ENGINE ................................................................... 35
3.11.1 Video PreProcessor (VPRE)............................................................................ 35
3.11.2 Video PostProcessor (VPOST)......................................................................... 36
3.12 MOTION ESTIMATION ENGINE ................................................................................ 38
3.13 FILTER ENGINE.................................................................................................... 39
3.14 FIDCT/Q/IQ ENGINE............................................................................................. 42
3.15 PROGRAMMABLE INPUT/OUTPUT ENGINE ............................................................... 44
3.16 VARIABLE LENGTH CODE DECODER ....................................................................... 46
3.17 AUDIO COPROCESSOR INTERFACE .......................................................................... 47
3.18 VARIABLE LENGTH CODE ENCODING (VLE) ENGINE.............................................. 48
3.19 ISA-LIKE INTERFACE.............................................................................................. 49
4. W9960CF REGISTERS.......................................................................................... 51
4.1 PCI CONFIGURATION REGISTERS.............................................................................. 51
5. ELECTRICAL SPECIFICATIONS....................................................................... 57
5.1 ABSOLUTE MAXIMUM RATINGS................................................................................ 57
Winbond Confidential
3
June 1997
W9960CF
5.2 DC SPECIFICATIONS................................................................................................. 57
5.3 AC SPECIFICATIONS................................................................................................. 57
5.3.1 Clock Specification ........................................................................................... 58
5.3.2 Reset Timing ..................................................................................................... 58
5.3.3 PCI Interface AC Timing................................................................................... 59
5.3.4 AUDIO Interface AC Timing............................................................................. 60
5.3.5 DRAM Interface AC Timing.............................................................................. 61
5.3.6 GPIO AC Timing............................................................................................... 62
5.3.7 Video PreProcessor AC Timing......................................................................... 63
5.3.8 ISA-Like Bus AC Timing ................................................................................... 64
6. APPENDIXES ......................................................................................................... 65
6.1 PORTING GUIDE FOR W9960 WIN95 DEVICE DRIVER ............................................... 65
6.2 FIRMWARE LOADING PRECEDURE ............................................................................ 65
6.3 APPLICATION/FIRMWARE COMMAND BLOCK............................................................ 65
Winbond Confidential
4
June 1997
W9960CF
1. INTRODUCTION
1.1 Overview
W9960CF is a single chip multi-protocol high performance video CODEC offered by Winbond
Electronics Corp. for video compression and decompression applications such as video-
conference.
W9960CF is composed of a high performance RISC processor core (VRISC), function blocks for
video encoding/decoding and a downloadable program memory such that the system can be run-
time configured for a variety of video applications. The function blocks in W9960CF are
computing engines for: Discrete Cosine Transform (DCT), Inverse Discrete Cosine Transform
(IDCT), Motion Estimation (ME), Motion Compensation (MC), Quantization (Q), Dequantization
(Q-1) and VLE/VLD (Variable Length Encoding/Decoding) algorithms. Using these function
blocks, the firmware can direct the VRISC processor to perform ITU-T H.261/ H.263
simultaneous video bitstream encoding/decoding.
Although W9960CF is designed for multiple standard video encoding and decoding, it is
particularly optimized for H.261/H.263 video-conference application. W9960CF supports all
video resolutions as specified in the H.261/H.263 standards, including SQCIF, QCIF and CIF
at high video frame rate. For CIF resolution in H.261 and QCIF resolution in H.263,
specifically, W9960CF delivers excellent encoding/decoding performance.
Implementing most the advanced video encoding options, W9960CF enables lowest video
data rate such that maximum frame rate can be achieved through ISDN, PSTN and Internet
networks. The advanced encoding options supported are: Unrestricted Motion Vector Mode, and
PB-frame Mode. With half-pixel search for motion estimation function, W9960CF further
enhances video quality with even lowered video bitstream data rate.
W9960CF is also designed with a most cost-effective PC based video-conference solution in
mind. It has a digital live video interface for glueless support a of major video decoders and
coefficient-programmable filter circuitry for input video enhancement. For video displaying, it
supports PCI master mode capability to access video frame buffer of PCI-based graphics
adapters. W9960CF also provides an interface for audio modules. The audio modules connected
can be a CODEC for G.711/G.722/G.723/G.728 standards, or a PCM CODEC for audio raw
data. W9960CF uses ordinary FPM or EDO DRAM as working storage. Figure shows application
block diagram.
PCI Bus
Video
Decoder
256x16
D R A M
W9960
Video CODEC
Video Camera
Digital Camera
M ic/Spk
(Optional)
Audio
C O D E C
Winbond Confidential
5
June 1997
W9960CF
1.2 Features
· Built-in RISC processor core and 4.5Kx22 bits program memory
· Supports ITU-T H.263 and H.261 simultaneous video encoding and decoding
· Supports SQCIF, QCIF and CIF video resolutions
· Supports H.263 Annex D Unrestricted Motion Vector mode
· Supports H.263 Annex G PB-frames Mode
· Supports both integer search and half-pixel search motion estimation
· Built-in BCH error correction and framing error detection circuitry
· Supports YUV 4:2:2 video input interface for video camera
· Built-in filter circuit with programmable coefficients for input video enhancement
· Selectable video output formats including YUV 4:2:2 and RGB 5:6:5
· Supports PCI master mode to access graphics adapters for video displaying
· Supports panning and zooming over video input
· Provides audio connection to external audio DSP modules
· Uses conventional FPM and EDO DRAM
· No SRAM required
· Optimized for 3.3 volts operation
· 0.5um CMOS technology
· 208-pin PQFP package
Winbond Confidential
6
June 1997
W9960CF
2. PIN DESCRIPTION
2.1 Pin Definition
Pin Name
Pin No.
Type
Function
PCI BUS (50 pins)
AD31-AD0
204-205,4-9,
16-23, 42-49,
57-60, 65-68
IO
Address and Data are multiplexed on the same PCI pins. The
address phase is the clock cycle in which FRAME# is
asserted. During data phase AD7-AD0 contain the least
significant byte (lsb) and AD31-AD24 contain the most
significant byte (msb)
C/BE3-C/BE0 14,28,37,56
IO
Bus Command and Byte Enables are multiplexed on the
same PCI pins. During the address phase of a transaction,
C/BE3#-C/BE0# define the bus command. During the data
phase C/BE3#-C/BE0# are used as Byte Enable
PAR
36
29
31
IO
IO
IO
Parity is even parity across AD31-AD0 and C/BE3#-C/BE0#
FRAME# is asserted to indicate a bus transaction is beginning
FRAME#
TRDY#
Target Ready indicates the ability of target agent to complete
the current data phase of the transaction
IRDY#
30
IO
Initiator Ready indicates the ability of bus master to complete
the current data phase of the transaction.
INTA#
199
33
O
Interrupt A is used to request an interrupt
STOP#
IO
IO
I
Stop indicates the current target is requesting the master to
stop the current transaction.
DEVSEL#
IDSEL
32
15
Device Select, indicates the driving device has decoded its
address as the target of the current access
Initialization Device Select is used as chip select during
configuration read and write transactions.
PERR#
SERR#
34
35
IO
O
Parity Error is for the reporting of data parity errors
System Error is for reporting address parity errors, or any
other system error where the result will be catastrophic.
REQ#
GNT#
203
202
O
I
Request indicates to the arbiter that W9960 desires use of the
bus
Grant indicates that W9960 access to the bus has been
granted
CLK
201
200
I
I
PCI Clock
PCI Reset
RST#
Winbond Confidential
7
June 1997
W9960CF
GPIO BUS (4 pins)
GPIO3-
GPIO0
153, 160-162 IO
Connect to GPIO bus to video decoder or coprocessor
Pin Name
Pin No.
Type
Function
DRAM BUS (50 pins)
MD31-MD0
141-132,127-
118, 113-108,
101-96
IO
DRAM Data Bus
OE1# -OE0# 74,70
O
O
DRAM Output Enable
RAS1# -
RAS0#
81,73
80,72
91-82
DRAM Row Address Strobes
CAS1# -
CAS0#
O
DRAM Column Address Strobes
MA9 - MA0
O
O
DRAM Address Bus
WE1# -WE0# 75,71
DRAM Write Enable; WE1# for MD31-MD16,
and WE0# for MD15-MD0
AUDIO BUS ( 5 pins )
Receiver Frame Signal
Transmission Frame Signal
Transmission Data
RFS
TFS
DT
148
149
150
151
152
IO
IO
O
I
DR
Receiver Data
SCLK
IO
clock of serial port
VIDEO BUS ( 20 pins )
Video Data Bus
VD15-VD0
186-184, 179-
169, 164-163
I
HS/HRESET# 187
VS/VRESET# 188
HREF/ACTive 189
IU
I
Horizontal Sync
Vertical Sync
I
Active region
Dvalid
193
IU
Video Data Valid
Winbond Confidential
8
June 1997
W9960CF
Pin Name
Pin No.
Type
Function
ISA-Like BUS ( 30 pins )
SADATA0 -
SADATA7
196-197, 207,
25-26, 54, 62-
63,
IO
8-bit Parallel Data Bus
SAADDR0 - 77-78, 93-94,
SAADDR15 103, 106, 115-
116, 129-130,
O
16-bit Parallel Address Bus
143-144, 155,
158, 166-167
SAIOR#
SAIOW#
EINT1#
EINT2#
BTEN#
181
182
192
208
190
O
O
IO Read Control signal
IO Write Control signal
External Interrupt #1
IU
IU
IU
External Interrupt #2
External Boot ROM Enable
When BTEN# low active, firmware down-load by through ISA-
Like Bus automatically after RST# inactive
BTFLAG#
191
O
External Boot ROM Chip Select
CLOCK SOURCE ( 2 pins )
Internal Clock
CLK_MEM
CLK_Video
69
I
I
194
Video Clock
Note: IU : Input with internal pull-high Pad
Winbond Confidential
9
June 1997
W9960CF
Pin Name
Pin No.
Type
Function
POWER ( 39 pins )
VDD
1,10,24,38,53,
61,76,92,105,
114,128,142,
157,165,180,
3.3V DC Power supply
195
VSS
3,13,27,41,50,
55,64,79,95,
Ground
102,
107,117,131,
145, 154, 159,
168, 183, 198,
206
VDD5V
NC
52,104,156
5.0V DC Power supply
NC ( 8 pins )
2,11,12, 39,
40, 51, 146,
147
No Connection
Winbond Confidential
10
June 1997
W9960CF
2.2 PinOut Diagram
S S
A A
A A
D D
D D
R R
1 1
1 0
S
A
S S
A A
A A
D D
D D
R R
S S
A A
A A
D D
D D
R R
7 6
S
A
A
A
D
D
R
5
V
G
P
I
O
3
D
D
R
1
D
D
5
V
S
S
B
S
C
L
M M M M M M M M M M
D D D D D D D D D D
3 3 2 2 2 2 2 2 2 2
1 0 9 8 7 6 5 4 3 2
M M M M M M M M M M
D D D D D D D D D D
M M M M M M V
D D D D D D S
1 1 9 8 7 6 S
V
D
D
I
V
S
S
B
V
D
D
B
V
S
S
I
V
D
D
I
V
S
S
B
V
D
D
B
T R
N
C
N
C
D D F F
2
1
2 1 1 1 1 1 1 1
0 9 8 7 6 5 4 3
1
2
V
K R T S S
1 0
I
9
8
2
1
5
5
1
5
0
1
4
5
1
4
0
1
3
5
1
1
2
5
1
2
0
1
1
5
1
1
0
1
0
5
3
0
VDDI
VDD5V
SAADDR4
VSSB
MD5
SAADDR13
VSSI
160
165
170
175
180
185
190
195
200
205
GPIO2
GPIO1
GPIO0
VD0
100
MD4
MD3
MD2
VD1
MD1
MD0
VDDB
SAADDR14
SAADDR15
VSSB
VD2
95
90
85
80
75
70
65
60
55
VSSB
SAADDR3
SAADDR2
VDDB
MA9
VD3
VD4
MA8
VD5
MA7
VD6
MA6
VD7
MA5
VD8
MA4
VD9
MA3
VD10
VD11
VD12
MA2
MA1
W9960CF
Video CODEC
MA0
RAS1#
CAS1#
VSSI
VDDI
SAIOR#
SAIOW#
VSSI
SAADDR1
SAADDR0
VDDI
VD13
VD14
VD15
WE1#
OE1#
RAS0#
CAS0#
WE0#
OE0#
CLK_MEM
AD0
HRESET#
VRESET#
ACTive
BTEN#
BTFLAG#
EINT1#
Dvalid
CLK_Video
VDDB
AD1
AD2
SADATA0
SADATA1
VSSB
AD3
VSSB
SADATA7
SADATA6
VDDB
AD4
INTA#
RST#
CLK
GNT#
AD5
REQ#
AD6
AD31
AD7
AD30
C/BE0#
VSSI
VSSI
SADATA2
EINT2#
SADATA5
VDDI
1
0
1
5
2
0
2
5
3
0
3
5
4
0
4
5
5
0
1
5
I
C
/
B
E
3
#
S S
A A
D D
A A
T T
A A
3 4
C F
V
V
S
S
B
V
D
D
B
V
S
S
B
V
D
D
I
V
S
S
I
D
E
V
S
E
L
A A A A A A
D D D D D D
A
D
1
T
R
D
Y
#
S P
T E
O R
P R
C V
V
S
S
B
A A A A A A A
D D D D D D D
I
S P
E A
R R
R
N
C
A A A A A A A A
D D D D D D D D
N
C
V N V
S C D
N
C
N N
C C
D
S
E
L
/
R
D
D
I
/
D
R
D
Y
#
B A
E M
2
9
2 2 2 2 2
8 7 6 5 4
B D
E B
1
2
3
2 2 2 1 1
2 1 0 9 8
1
7
1
5
1 1 1 1 1 9 8
4 3 2 1 0
S
B
D
5
6
2
#
E
#
#
#
#
V
#
#
Winbond Confidential
11
June 1997
W9960CF
3. FUNCTIONAL DESCRIPTION
3.1 W9960CF Architecture
W9960CF is composed of a high performance RISC processor core (VRISC), function blocks for
video encoding/decoding and a downloadable program memory such that the system can be run-
time configured for a variety of video applications. The figure is a block diagram for W9960CF.
W9960CF
Frame Memory
DMA Controller
DRAM
Controller
DRAM
PCI_BUS
RISC
Video
Decoder
Video Pre/post
Processor
Camera
PCI Memory
DMA Controller
ISDN
Modem
Filter
PCI Bus
Interface
Speaker
DSP
Audio Port
Controller
Mic
Motion
Estimation
Graphics
Adapter
ISA-Like
DCT/IDCT
Q/IQ
Timer/GPIO
Interrupt Controller
VLE/VLD/BCH
Winbond Confidential
12
June 1997
W9960CF
3.2 PCI Interface
W9960CF provides PCI master/slave Interface. In the master mode, it supports fast DMA data
transfer for video/audio bitstream, picture direct draw to graphic display device and VRISC
firmware download. In the slave mode, there are two Base Address Registers for W9960CF
internal registers and external DRAM accessing by the host processor. All data accessing, except
for configuration registers, should be word (2-byte) or double word (4-byte) read/write operations.
PCI Interface
CONF
MASCTL SLACTL
Internal CPU Bus
External PCI Bus
DATAPATH
Internal XDMA Bus
Address \ Bit
00H
31
24
23
16
15
8
7
0
Device ID
Status
Vendor ID
Command
04H
08H
Class Code
Revision ID
Latency Timer
0CH
Reserved
Reserved
Header Type
10H
Base Address Register 0 (BAR0)
Base Address Register 1 (BAR1)
Reserved
14H
18H - 38H
3CH
Reserved
Reserved
Interrupt Pin
Interrupt Line
Winbond Confidential
13
June 1997
W9960CF
3.3 VRISC
VRISC contains a 4-staged pipeline: Instruction Fetch (IF), Instruction Decoding (DEC),
Operand Execution (EXE), and Result Write-Back (WB), and a 16-bit ALU with Integer
Multiplication and Division. It uses a built-in 1K-byte Data RAM and a 4.5Kx22 bit Instruction
RAM to which the firmware program can be downloaded from the host processor. This VRISC
contains a tri-port (2-read/1-write) 32x16 bit Register File and 32 interrupt vectors.
RISC Bus
Program
Interrupt
control
Counter
control
int1
int8
Register
File
imm
Instruction
Fetch
mux
mux
src2
IRAM
control
Instruction
RAM
src1
mux
mux
Decoding Inst. Reg.
Decoder
Decoding
Execution
ALU
ALU Result Reg.
mux
Exec. Inst. Reg.
Arbiter
wp
rp
Write
Back
WB Inst. Reg. 1
WB Inst. Reg. 2
Address Spaces
VRISC has two address spaces: the Program Address Space and the Data Memory Address
Space. The following figure illustrates the layout of the booting address, interrupt vector address
space in the main program address space. Program always start from booting address ( 0000H )
after the host enables VRISC. Address 0001H through 001FH stores Interrupt vector for
Interrupt service routines. Figure 2 illustrates the layout of the registers, Data Memory (DM),
external DRAM address space in the main data memory address space. Address 000000H
through 0001FFH is for VRISC Register File referencing, address 000200H through 0003FFH is
for internal DM memory accessing, and address 000400H through 1FFFFFH is for external
DRAM accessing. VRISC cannot access the external DRAM from address 000000H through
0003FFH since this address space are reserved for internal registers and DM memory.
Winbond Confidential
14
June 1997
W9960CF
0000H
11FFH
Booting
0000H
0001H
Program
Address
Space
Interrupt
Vector
Address
Space
22bits
001FH
Program Addressing Space
000000H
Engine
Register
Address
Space
(512)
0001FFH
000200H
0003FFH
000400H
DM
Address
Space
(512)
000000H
Data
Memory
Address
Space
(2M)
1FFFFFH
16bit
DRAM
Address
Space
1FFFFFH
Data Memory Addressing Space
Winbond Confidential
15
June 1997
W9960CF
Addressing Mapping
VRISC has a 5-bit segment register, DMSA. The 21-bit memory address is composed of the 5-
bit content of the DMSA and the content of one of the 32 16-bit general registers as specified in
the Load and Store instruction. The segment register provides a solution to extend the address
space from 64K to 2M bytes. DMSA is a write-only register which can be programmed by the
SEGS imm5 instruction ( see VRISC Instruction Set).
Data Memory Address Mapping
20
16
15
0
DMSA[4:0]
R#[15:0]
General Registers (R0..R31)
VRISC has 32 16-bit general registers to provide the resource for all computation. They are
numbered as R0 through R31. R0 delivers zero when referenced as a source operand. When R0
is used as destination, the result is discarded.
1 6 b its
1 5
0
R 0
R 1
R 2
R 3
R 3 0
R 3 1
Interrupt Handling
Vector
0000h
0001h
0002h
0003h
Name
Engine
Description
main program starting address
ME ready interrupt
MERDY
FRDY
ME
FILTER
DCT/IDCT
FILTER ready interrupt
IDCT ready interrupt
TendINT
Winbond Confidential
16
June 1997
W9960CF
(D)
0004h
RISCINT
DCT/IDCT
(E)
DCT ready interrupt
0005h
0006h
0007h
0008h
0009h
000Ah
000Bh
000Ch
000Dh
000Eh
000Fh
0010h
0011h
0012h
0013h
0014h
0015h
0016h
0017h
0018h
0019h
001Ah
001Bh
001Ch
001Dh
001Eh
001Fh
XDMATC
EXTINT
XDMA
XDMA TC interrupt
Ext. Interrupt
VLE
External Interrupt
VLE_INT
DTR_INT
ETR_INT
TOUT0
VLE ready interrupt
TIMER
TIMER
TIMER
TIMER
HOST
DTR time out interrupt
ETR time out interrupt
Timer #0 time out interrupt
Timer #1 time out interrupt
Host interrupt VRISC
TOUT1
PCI_INT
VLRDY_INT
UFRAME_INT
VLDREQ_INT
FDREQ
VLPIO
VLPIO
VLPIO
FILTER
ME
VLD ready interrupt
Unframe or FIFO empty Interrupt
FIFO full or Block error interrupt
DMA TC interrupt for FILTER input
DMA TC interrupt for Search Window
DMA TC interrupt for Current Block
DMA TC interrupt for FILTER output
DMA TC interrupt for DCT input
DREQ_SWIN
DREQ_CBLK
FODREQ
DRQDMAIN
DRQIDCTR_D
DRQDCTR_E
dreqV
ME
FILTER
DCT/IDCT
DCT/IDCT
DCT/IDCT
VPRE
DMA TC int. for IDCT output of Decoding
DMA TC int. for IDCT output of Encoding
DMA TC int. for V block of Capture-in
DMA TC int. for U block of Capture-in
DMA TC int. for Y block of Capture-in
DMA TC int. for Y block of Display-out
DMA TC int. for U block of Display-out
DMA TC int. for V block of Display-out
DMA TC int. for Encoding bitstream
DMA TC int. for Decoding bitstream
DMA TC int. for bitstream from PCI FIFO
dreqU
VPRE
dreqY
VPRE
ydreq
VPOST
VPOST
VPOST
VLPIO
VLPIO
VLPIO
udreq
vdreq
DREQ_ENCF
DREQ_DECF
DREQ_IPTF
Winbond Confidential
17
June 1997
W9960CF
VRISC provides 32 vectors on the top of the VRISC program space for jumping to interrupt
service routines. These 32 interrupt jump vectors consist of 15 engine interrupts (0001h~000Fh)
and 16 DMA TC interrupts (0010h~001Fh). The 0000h vector jumps to the main program
starting address. The following example describes the interrupt handling flow:
·
VRISC Start : VRISC Program Counter (PC) always starts from address 0000h after the
host processor enables VRISC. The content of address 0000h should be a JMP
instruction to jump to the entry point of the main program. (path1)
·
Engine Interrupts : When VRISC receives an engine interrupt, Program Counter assumes
the value of the interrupt vector address according to the interrupt happening (path2).
The processor then jumps to the interrupt service routine (path3). When an interrupt is
happening, VRISC disables other interrupt inputs and stores the current fetch address at
IF stage, current instruction at DEC stage, and current status at EXE stage to shadow
registers. They will be restored after VRISC finishes the interrupt service.
·
Interrupt Service Routine : The IVEC (Interrupt Vector) register has to be read out to
generate an acknowledge signal to the interrupting engine. An EI instruction should be
used at the bottom of the service routine to enable other interrupt inputs again. The last
instruction of a service routine is the RET instruction, which restores all status from the
shadow registers and then the VRISC resumes the original program flow (path4).
Winbond Confidential
18
June 1997
W9960CF
RISC start
0000h Jmp main
0001h Jmp Int1
0002h Jmp Int2
path1
path2
001Dh Jmp DMAint13
001Eh Jmp DMAint14
001Fh Jmp DMAint15
main:
path3
Engine
interrupt
N
N+1
Int1:
Int2:
Int1
Service
task
Int2
Service
task
path4
VRISC Shadow Registers
VRISC Shadow Registers are used to store the CPU status when VRISC runs into a Call
instruction or an Interrupt. All registers in this group can only be accessed by VRISC. Host
cannot access registers of this group.
Description
VRISC Address
008H
Name
MPZ0
Read/Write
R/W
R/W
R/W
R/W
R
Execution Status Return Register
Program Counter Return Register
low-order bits of Instruction Return Register
high-order bits of Instruction Return Register
high-order bits of TEMPRES Register
low-order bits of TEMPRES Register
009H
PC0
00AH
IR0_L
00BH
IR0_H
00CH
TEMPRES_H
TEMPRES_L
00DH
R
Winbond Confidential
19
June 1997
W9960CF
3.4 Frame Memory DMA Controller ( FDMA )
There are 16 FDMA channels which are used for direct memory accessing between frame
memory ( DRAM ) and the engines. The transfer type can be either Demand or Block Mode.
Each transfer type can be either Linear or Blocking Addressing. The programmer needs to
specify the picture size with PH/PW register, transfer size with the EH/EW register, the picture
starting point with FMSA register and engine starting address with ESP register.
FDMA generates a TC signal to interrupt VRISC when DMA service is completed. When TC
interrupts VRISC, the DMASK bit is cleared automatically. The FDMA requests are queued
when FDMA is busy. The software FDMA has the highest priority.
FDMA channel assignment is as follows:
Channel DMA request
Engine direction
U
U
U
LIN dmd R/W
Description
block in for MC
0
1
FDREQ
Filter
ME
M> E
M > E
M > E
E > M
M > E
E > M
E > M
E > M
E > M
E > M
M > E
M > E
M > E
M > E
M > E
E > M
W
W
W
R
DREQ_SWIN
DREQ_CBLK
FODREQ
block in for Search Window of ME
block in for Current Block of ME
block out for BY-pass Filter
block in for DCT
2
ME
3
Filter
4
DRQDMAIN DCT/IDCT
DRQIDCTR_D DCT/IDCT
DRQDCTR_E DCT/IDCT
W
R
5
block out for Decoder Re-Construct
block out for Encoder Re-Construct
Chrom Cr of Video Capture
Chrom Cb of Video Capture
Lum Y of Video Capture
6
R
7
dreqV
dreqU
Video_In
Video_In
Video_In
Video_Out
Video_Out
Video_Out
PIO
dmd
dmd
R
R
8
9
dreqY
dmd
R
10
11
12
13
14
15
dreqY
dmd
W
W
W
W
W
R
Lum Y of Display
dreqU
dmd
Chrom Cb of Display
dreqV
dmd
Chrom Cr of Display
DREQ_ENCF
DREQ_DECF
DREQ_IPTF
LIN dmd
LIN dmd
LIN dmd
Encoder bitstream out
PIO
Decoder bitstream from FM to VLD
PIO
Incoming decoding bitstream from
PIO input FIFO to FM
Winbond Confidential
20
June 1997
W9960CF
Block Diagram
FW
FH
TCout
Dreq
Queue
DW
DH
DACK
TSR
DMSK
DSR
SDMA
TCMSK
Engine
CPU_Bus
DMA_BUS
3.4.1 BUS ARBITRATION
PCI bridge has the highest priority of bus access, VRISC has second priority and FDMA has the
lowest priority. PCI issues CBR_(CPU Bus Request) to get memory bus when VRISC is working.
Also, VRISC can interrupt FDMA by issuing a MBR_(Memory Bus Request) signal to get access
to memory bus.
C B R _
M B R _ 1
0
R I S C
D M A C
M B G _
C B G _
PCI
P C I _ B u s
3.4.2 FDMA TRANSFER TYPE
The FDMA do Unrestricted Mode when the start point of picture is out of picture boundary.
Winbond Confidential
21
June 1997
W9960CF
BLOCK Addressing
Linear Addressing
ME
Filter
DCT/IDCT
Video_In
Video_Out
PIO
3.4.3 FDMA PROGRAMMING
1. FDMA has two addressing modes: Linear and Block Addressing; and two transfer modes:
Block and Demand Mode transfer.
2. Unrestricted mode is only supported by chanenl0 through channel3. So the PSP (
Picture Start Point ) can be of negative value.
3. Block addressing mode : The following is the relation between DRAM address and Engine
address
DRAM
FMSA = 1000
PICTURE
(0,0)
(9,0)
finit = 1023
1026
ENGINE
ESP(1,1)
PSP(3,2)
1033
1036
EH+1
EW+1
EW=3
1043
1046
(9,9)
PH=9
PW=9
(0,9)
EH=3
1053
1056
DRAM
Picture Engine
DRAM
Picture Engine
Address
Y
X
y
x
Address
1036
1043
1044
1045
1046
1053
1054
Y
X
y x
1023
1024
1025
1026
1033
1034
1035
2
3
4
5
6
3
4
5
1
1
1
1
2
2
2
1
3
4
4
4
4
5
5
6
3
4
5
6
3
4
2
3
3
3
3
4
4
4
2
2
2
3
3
3
2
3
4
1
2
3
1
2
3
4
1
2
1099
Winbond Confidential
22
June 1997
W9960CF
4. Program FDMA control registers.
a. MODE register : LIN=0 ( block addressing ), PP(2:0), Eph(3:0), Epw(3:0), Dmd(0), RW_
b. Transfer size register : EW( EPw(3:0)), EH( Eph(3:0)),
transfer size = ( EW+1) * ( EH + 1 ) = ( 3+1 ) * ( 3+1 ) = 16
c. Picture size register : PW( PP(2:0)), PH( PP(2:0))
d. Frame memory starting address : FMSA = 1000
e. Picture Start Point : PSPy = 2, PSPx = 3,
f. Start to calculate finit=( PSPy * ( PW+1) + PSPx ) + FMSA = ( 2 * ( 9+1 ) + 3 ) + 1000 = 1023
g. Engine start point : ESP = ( 1, 1 )
h. Enable DMASK
5. Linear addressing mode
D R A M
F M S A = 1 0 0 0
E N G IN E
D R A M
a d d r e s s
1 0 1 5
1 0 1 6
1 0 1 7
E n g ine
y
x
0
0
0
0
0
1
2
3
finit=1015
0
P S P y = 0
P S P x = 1 5
1 0 1 8
.
.
.
.
.
.
.
.
.
1 1 1 4
1 1 1 5
0
9 9
0 1 0 0
1 1 1 5
1 0 0
6. Program control registers.
a. MODE register : LIN=1 (linear addressing ), Eph(3:0), Epw(3:0), Dmd(1), RW_
b. Transfer size register : EW( EPw(3:0)), EH( Eph(3:0)),
transfer size = EH x 2**9 + (EW + 1) = 0 x 2* *9 + (100 + 1) = 101
c. Frame memory starting address : FMSA = 1000
d. Picture start point : PSPy = 0, PSPx = 15,
e. Start to calculate finit=(PSPy*( PW+1) + PSPx) + FMSA = ( 0 * ( 9+1 ) + 15 ) + 1000 = 1015
f. Engine start point : ESP = ( 0, 0 )
g. Enable DMASK
7. In demand mode, the DMA service will pause if DMA request becomes inactive, and the
service will continue if DMA request is active again.
8. FDMA still transfers two sets of data after DMA request becomes inactive in demand mode.
Winbond Confidential
23
June 1997
W9960CF
3.4.4 FDMA ADDRESSING REGISTERS
Each channel has 4 addressing registers: Engine Start Point Register, Picture Start Point
Register of X_axis, Picture Start Point Register of Y_axis and Frame Memory Start Address
Register.
PW + 1
DRAM
( 0,0 )
Picture
PH + 1
PSP
FMSA
(PW,PH)
DMA
FMSA+[(PW+1)(PH+1)-1]
Transfer
(0,0)
Engine
ESP
EH+1
EW+1
FDMA Registers List
RISC Address/PCI Offset Address
0040H - 004FH/0100H - 013CH
0050H - 005FH/ 0140H - 017CH
Name
Read/Write
Description
ESP0-15
PSPx0-15
R/W
W
Engine Start Point Register
Picture Start Point of X-axial
Frame initial value-L
R
0060H - 006FH/ 0180H - 01BCH
0070H - 007FH,/ 01C0H - 01FCH
PSPy0-15
FMSA0-15
W
Picture Start Point of Y-axial
Frame initial value-H
R
R/W
Frame Memory Start Address
Winbond Confidential
24
June 1997
W9960CF
RISC Address/PCI Offset Address
0030H/00C0H
Name
DMA_Index
DMSK
Read/Write
R/W
Description
FDMA Index Register
FDMA Mask Register
Software FDMA
0031H/00C4H
R/W
0032H/00C8H
SDMA
R/W
0033H/00CCH
DSTS
R/W
FDMA Status Register
TC Status Register
TC Mask Register
Reserved
0034H/00D0H
DTS
R
0035H/00D4H
TCMSK
R/W
0037H/00DCH
DMA_HW
R/W
Height/Width Register
Winbond Confidential
25
June 1997
W9960CF
3.5 External Memory DMA Controller ( XDMA )
There are 8 channels in XDMA which is used for direct memory accessing between PCI bus and
internal engines. While XDMA has DMA request, PCI interface will enter PCI master mode to
issue master cycles in PCI bus. The DMA transfer type supports both Demand Mode and Block
Mode, each with Linear Addressing or Blocking Addressing. Channel #0 and #1 are used to
transfer the remote and local picture out to system memory or graphic display device directly.
Channel #2 and #3 are used to transfer audio bitstream to external DSP coprocessor. Channel
#4 and #5 are used for video bitstream encoding and decoding. Channel #6 is used for firmware
downloading. Channel #7 is for verifying half-pixel search window memory. Channel #7should
not be activated in normal operation. The programming sequence is like the following:
1. Setting DMA start address : programming XMSA register ( External Memory Start
Address register) with 32-bit access. The address should be double-word (4 bytes)
aligned.
2. Setting DMA transfer mode : each channel has its own transfer mode register. The
register is accessed by two steps: set index value into XDMA Index register and then
write the data value into Height/Width register to set the Mode register (such as
Linear/Block Addressing, Demand/Block Transfer, direction, and size index)
3. Setting DMA transfer size : the transfer size is defined by EH and EW registers. For
Block Addressing Mode, the transfer size is (EW+1)x(EH+1)x4 bytes; for Linear
Addressing Mode, the size is generated by concatenating EH and EW registers, i.e. the
transfer size is ({EH[8:0], EW[10:2]}+1)x4 bytes. XDMA provides 8 sets of EH and EW
registers as indicated by each XDMA channel from the Mode register setting. The
programming method of EH and EW register is the same as in programming Mode
registers.
4. Setting frame size : XDMA , in Block Addressing Mode, refers to frame size of external
memory to generate the block address. XDMA provides 8 sets of PH and PW registers
to define the frame size (PW+1)x(PH+1)x4.
5. Setting XTC Mask register: XTC Mask register indicates XDMA assert TC interrupt or
not.
6. Setting XSDMA or XDMSK register: Host and VRISC can program XSDMA register to
trigger software DMA operation. XDMSK register is for enabling hardware triggered
DMA operations. Hardware engines can issue DMA requests to XDMA to trigger DMA
when the corresponding bits in the XDMASK register are set.
7. Read XDTS register: while DMA operation has been completed and XDMA issues a TC
interrupt to host or VRISC, the interrupt service routine has to read the XDTS register
(TC status of XDMA) to clear the TC flag, so that the XDMA can continue with the next
DMA operation.
Winbond Confidential
26
June 1997
W9960CF
Channel DMA request
Engine
VPOST
VPOST
Audio
Audio
PIO
Direction R/W LIN dmd Description
0
1
2
3
4
5
6
7
XRdrq
E > PCI
E > PCI
E > PCI
PCI > E
E > PCI
PCI > E
PCI > E
E > PCI
R
R
*
*
dmd Remote Video out
dmd Local Video out
DRQVPOSTX
XDREQ_RX
XDREQ_TX
XDREQ_OPTF
XDREQ_IPTF
CPU_PM
R
LIN dmd Bit-stream for Audio out
W
R
LIN dmd Bit-stream for Audio in
LIN dmd Video Encoding Bit-stream output
LIN dmd Video Bit-stream for Remote Data in
LIN dmd Firmware download to PM
PIO
W
W
R
CPU
DACK_HSW
ME
*
*
Half_pixel Search Window (for Testing)
XDMAC Registers
RISC Address/PCI Offset Address
0090H - 0097H/0240H - 025CH
00A0H - 00A7H/0280H - 029CH
00B0H - 00B7H/ 02C0H - 02DCH
Name
Read/Write
Description
XMIL0-7
XMIH0-7
XMSA0-7
W
W
External Memory initial value-L
External Memory initial value-H
External Memory Start Address
R/W
RISC Address/PCI Offset Address
0038H/00E0H
Name
Read/Write
R/W
Description
XDMA_Index
XDMSK
XSDMA
XDSTS
XDMA Index Register
XDMA Mask Register
XDMA Software Trigger Register
XDMA Status Register
TC Status of XDMA Register
TC Mask of XDMA Register
(Reserved)
0039H/00E4H
R/W
003AH/00E8H
R/W
003BH/00ECH
R/W
003CH/00F0H
XDTS
R
003DH/00F4H
XTCMSK
R/W
003EH/00F8H
003FH/00FCH
XDMA_HW
R/W
XDMA Height/Width Register
Winbond Confidential
27
June 1997
W9960CF
3.6 DRAM Memory Interface
W9960CF provides a 32-bit DRAM data bus for DMA data transfer and VRISC access. It
supports the control timing for Fast Page Mode or EDO DRAMs. The DRAM address space has
three types of configurations: 1M, 2M, and 4M bytes. For 1M and 2M-byte space, the DRAM
devices must be two or four 256Kx16 DRAM devices. For 4M-byte space, it must be two 1Mx16.
1ST MBYTE
MD[15:0]
2ND MBYTE
MD[15:0]
MD[31:0]
MA[8:0]
MD[31:16]
MD[31:16]
256Kx16
256Kx16
256Kx16
256Kx16
A[8:0]
RAS#
CAS#
OE#
D[15:0]
A[8:0]
RAS#
CAS#
OE#
D[15:0]
A[8:0]
RAS#
CAS#
OE#
D[15:0]
A[8:0]
RAS#
CAS#
OE#
D[15:0]
W9960CF
WE#
WE#
WE#
WE#
RAS0#
CAS0#
OE0#
WE0#
WE1#
RAS1#
CAS1#
OE1#
4 MBYTE
MD[31:0]
MA[9:0]
MD[15:0]
MD[31:16]
D[15:0]
1Mx16
1Mx16
A[9:0]
RAS#
CAS#
OE#
D[15:0]
A[9:0]
RAS#
CAS#
OE#
W9960CF
WE#
WE#
RAS0#
CAS0#
OE0#
WE0#
WE1#
Winbond Confidential
28
June 1997
W9960CF
Timing
Normal Case
CLK
MCS#
RAS#
CAS#
Row Addr.
R
Column Column Column Column
ADD[9:0]
C
C+1
C+2
C+3
Write to DRAM
WE#
MD[31:0]
Data
C
Data
C+1
Data
C+2
Data
C+3
mrdy_
edowr_
Read from DRAM
OE#
mrdy_
(Fast mode)
edowr_
MD[31:0]
Data
C
Data
C+1
Data
C+2
Data
C+3
(EDO mode)
edowr_
MD[31:0]
Data
C
Data
C+1
Data
C+2
Data
C+3
At E6F4 Mode (EDO-60, 40MHz )
CLK
MCS#
RAS#
CAS#
Row Addr.
R
Column Column
Column
C+2
Column
C+3
ADD[9:0]
C
C+1
Write to DRAM
WE#
MD[31:0]
Data
C
Data
C+1
Data
C+2
Data
C+3
mrdy_
edowr_
Read from DRAM
OE#
MD[31:0]
Data
C
Data
C+1
Data
C+2
Data
C+3
mrdy_
edowr_
Winbond Confidential
29
June 1997
W9960CF
3.7 INTERRUPT/TRIGGER Controller
This controller provides 10 different Interrupts to VRISC and 5 triggering signals for VRISC to
trigger engines.
Trigger #0 is used for Video Capture triggering. Trigger #1 is used to start ME motion estimation
search. Trigger #2 is used to start FILTER block operation. Trigger #3 is used to trigger IDCT to
start decoding inverse discrete cosine transform operation. Trigger #4 is used to trigger DCT to
start encoding forward discrete cosine transform.
Interrupt #5 is XDMA Terminal Count Interrupt. Interrupt #6 is the interrupt coming from ISA-like
external interface. Interrupt #7 indicates the VLE FIFO full while T-coeff. encoding. Interrupt #8
and #9 are TIMER TR (Temporal Reference) Interrupts for decoding and encoding. Interrupt #10
and #11 are the TIMER time out interrupts. Interrupt #12 is used for host to interrupt VRISC.
Interrupt #13 indicates VLD operation is completed after VLD command register is triggered.
Interrupt #14 indicates the PIO BCH code is not aligned with frame. Interrupt #15 indicates a
Run-Level Block Error in VLD decoding.
All interrupts can be enabled or disabled as specified by the mask bits of the IMSK register. It will
response which channel is active on ISR register and generate an INT to VRISC. When VRISC
enters an interrupt service routine, it has to read out the IVEC register to have Interrupt
Controller assert INTA to clear interrupt status.
Signal Type
INTG_IN
INTG_OUT
Capture_Trigger
METG
ENGINE
VideoPre
ME
Description
0
TRIG
TRIG
TRIG
TRIG
TRIG
INTR
INTR
INTR
INTR
INTR
INTR
INTR
INTR
Video Capture trigger
Trigger Motion Estimation
Trigger Filter
1
MERDY
FRDY
2
3
F_TRIGGER
TriggerDEC
TriggerENC
FILTER
DCT/IDCT
DCT/IDCT
XDMA
TendINT
RISCINT
int1
Trigger IDCT
4
Trigger DCT
5
XDMA TC Interrupt
ISA External Interrupt
VLE FIFO Full Interrupt
Temp. Ref. Interrupt (Decoder)
Temp. Ref. Interrupt (Encoder)
Timer 0 interrupt
6
extint
ISA-Like
VLETCO
TIMER
TIMER
TIMER
TIMER
HOST
7
VLE_INT
DTR_INT
ETR_INT
TOUT0
TOUT1
PCI_INT
8
9
10
11
12
13
14
15
Timer 1 interrupt
Host interrupt RISC
VLD is over
INTR VLRDY_INT
TG_INTA
PIO
INTR UFRAME_INT UFRAME_INTA
INTR VLDREQ_INT VLDREQ_INTA
PIO
Frame Un-lock Interrupt
VLD Run Level Block Error
VLD
Winbond Confidential
30
June 1997
W9960CF
Block Diagram
Irdy
ISR
IVEC
IMSK
Queue
INT
CPU_Bus
ITrig
TMODE STG
INTG Registers
RISC Address/PCI Offset Address
0019H/0064H
Name
IMSK
ISR
Read/Write
Description
R/W
R
Interrupt Mask Register
Interrupt Status Register
Interrupt Vector Register
Trigger Mode Register
Software Trigger Register
001AH/0068H
001BH/006CH
IVEC
TMOD
STG
R/W
R/W
W
001CH/0070H
001DH/0074H
Winbond Confidential
31
June 1997
W9960CF
3.8 X_INTERRUPT Controller ( XINTC )
XINTC provides 16 channels interrupt trigger source and generates INTA# to PCI_BUS.
Channel #0~#7 are used for XDMA requests. Channel #8~#11 are reserved for VRISC to issue
interrupts to host. Channel #12 is for the ISA-like external Interrupt. Channel#13~#14 are the TC
interrupts for XDMA and FDMA. Channel#15 is the interrupt from INTC controller. All channels
are maskable by XMSK register. Host has to read the XSTS register to identify interrupt source
when receiving a W9960CF issued interrupt. Host issues interrupt to VRISC by programming
PCI_INT register, which will generate a interrupt trigger pulse for VRISC to enter interrupt service
routine.
Channel
XINT_IN
xdreq0
xdreq1
xdreq2
xdreq3
xdreq4
xdreq5
xdreq6
xdreq7
1
Description
0
1
dreq of XDMAC
2
3
4
5
6
7
8
(Reserved for VRISC)
(Reserved for VRISC)
(Reserved for VRISC)
(Reserved for VRISC)
ISA External Interrupt
tc of XDMAC
9
1
10
11
12
13
14
15
1
1
extint
int1
tc_out
int
tc of FDMAC
INT of INTG
XINTC Registers
RISC Address/PCI Offset Address
0006H/0018H
Name
XMSK
Read/Write
Description
R/W
R
X_Interrupt Mask Register
X_Status Register
0007H/001CH
XSTS
PCI_INT
W
PCI_INT Command
Winbond Confidential
32
June 1997
W9960CF
3.9 GPIO ( General Purpose Input/Ouput) Port
W9960CF provides 4 pins as a GPIO port. These four pins are programmable to be input or
output. GPIO0 and GPIO1 are two open drain IO pads and pull-high resistors are necessary in
application circuits. GPIO2 and GPIO3 are tri-state IO pads. GPIO port is used to connect to
external devices such as analog video decoder and/or audio coprocessor.
wr_(CPU Bus)
rd_(CPU Bus)
Hi-Z
Hi-Z
Hi-Z
Hi-Z
GPIO[3:2]
GPIO[1:0]
1
0
0
1
0
0
Hi-Z
3.10 TIMER
W9960CF provides a programmable pre-scale counter (PSR register) for different Video Clock
input and three period registers (TP0~TP2) for period setting of the temporal reference, time
counter and DRAM reference. W9960 also provides two TR reference counters for decoding and
encoding (DTR and ETR registers). Here is the programming example:
if the video clock (CLK_Video pin) is 13.5MHz, set:
RC2~RC0 to 010b,
P3~P0 to 0011b
TP0= 6DF8h (29.97016frame/sec), 83D5h (25.00 frame/sec),
TP2=000Dh;
If the Video clock is 27MHz, set:
RC2~RC0= 010b,
P3~P0=0100b,
TP0= 6DF8h (29.97016frame/sec), 83D5h (25.00 frame/sec),
TP2=000Dh.
The frequency calculation statement is as:
Fre. = VCLK / ( (2**(N+1) )*(TP+1) )
where VCLK is input frequency of CLK_Video pin, N is the value of RC[2:0], and TP is the
period setting of TP0, TP1, or TP2.
Winbond Confidential
33
June 1997
W9960CF
Block Diagram
TIMER
Video
Clock
Pre-Scaler
Counter
(8 stages)
Counter
(8 stages)
TRV Counter
(8 stages)
16
(/2 ~ /2 )
TP
TER
register
8
register
8
8
16
Comparetor
TOUT Interrupt
8
Comparetor
TR_INT
TIMER Registers
RISC Address / PCI Offset Address Name Read/Write
010H / 040H
011H / 044H
012H / 048H
013H / 04CH
014H / 050H
015H / 054H
016H / 058H
017H / 05CH
PSR
TR0
TR1
DTR
TP0
TP1
TP2
ETR
R/W
R
Pre-Scale Register
Timer Register #0
Timer Register #1
R
R/W
R/W
R/W
R/W
R/W
Temporal Reference of Decode Register
Timer Period Register #0
Timer Period Register #1
Timer Period Register #2
Temporal Reference of Encode Register
Winbond Confidential
34
June 1997
W9960CF
3.11 Video Pre/Post Processing Engine
The functions of Video Preprocessing engine are capturing, cropping, zooming video in 4CIF,
CIF, QCIF, Sub-QCIF resolution. Actually, user can command this engine to capture image of
any size within 704 x 576(PAL) or 704x480(NTSC). Video Preprocessing Engine also provides
two programmable decimation horizontal filters for luminance data and chrominance data to
smooth the captured image.
Video Postprocessing Engine supports both RGB 5:6:5 and YUV 4:2:2 for both local and remote
video output. RGB format is for normal VGA card without color space conversion. YUV format is
for those video cards with color space conversion and scaling support.
3.11.1 VIDEO PREPROCESSOR (VPRE)
The Video PreProcessor (VPRE) transfers the captured video data to frame buffer DRAM
through horizontal filters, horizontal subsampler and FIFO for DMA data transfer. The size of the
Y FIFO is 44x4 bytes. U FIFO and V FIFO is 22x4 bytes each. The block diagram is shown
below:
D_Bus
HA
HD
VA
VD
Video
Interface
FIFO
44x32bits
Y
U
V
HS
VS
22x32bits
22x32bits
Image
Grabber
YUV
422
v
YUV422
signal
from
VD(15:0)
VCLK
1/2H
1/2H
420
Video Decoder
ScaleH
( 1, 1/2, 1/4 )
FIFO Control
Bt/Ph_
taps filter
Even
/OddScaleV
(1, 1/2, 1/5 )
Full
( 1, 3/4, 2/4, 1/4 )
Cap_trig
Video PreProcess Diagram
The following is the register parameters used to configure for different formats:
NTSC/ HA
PAL
VA
E
O
Scale
H
Scale
1/5
O
Picture Size
( H x V )
Format
Description
V
1
NTSC 704 240
704 240
on
on
on
on
on
on
on
on
on
off
on
on
1
off
on
on
off
on
off
704
352
352
176
176
704
480
288
288
144
144
576
4CIF
CIF
1/2
1
1
4CIF ZO to CIF
CIF ZI fr 4CIF ,P
QCIF ZI fr 4CIF, P
4CIF ZO to QCIF
352 240
1
CIF
352 144
1/2
1/4
1
1
QCIF
QCIF
4CIF
704 240
1/2
1
PAL
704 288
Winbond Confidential
35
June 1997
W9960CF
704 288
352 288
352 144
704 288
on
on
on
on
off
on
off
off
1/2
1
1
off
off
off
off
352
352
176
176
288
288
144
144
CIF
CIF
1/2
1
1/2
1/4
QCIF
QCIF
1/2
3.11.2 VIDEO POSTPROCESSOR (VPOST)
VPOST provides an option of 1/2 scaling-down for both local and remote picture. It also supports
color space conversion for either YUV422 or RGB565 video output. VPOST provides FIFO for
DMA data transfer. The size of Y FIFO is 16x4bytes. U FIFO and V FIFO is 8x4 bytes each.
D_Bus
rgb
deci2
X_Bus
16x4bytes
BUFFER
Y
U
V
deci2y
deci2u
deci2v
Colour
Space
8x4bytes
Vout
PACK
Convert
YUV422 -> RGB565
8x4bytes
Trig
Video PostProcessor Diagram
Winbond Confidential
36
June 1997
W9960CF
VIDEO Register
RISC Address/PCI Offset Address
01A0H/0680H
Name
VPRE Mode
HDelay
VDelay
HA
Read/Write
R/W
Description
Video Preprocessing operation mode
Horizontal delay pixel number
Vertical delay line number
01A1H/0684H
R/W
01A2H/0688H
R/W
01A3H/068CH
R/W
Horizontal active pixel number
Vertical active line number
01A4H/0690H
VA
R/W
015AH/0694H
LFP
R/W
Luminance filter parameters, Tap1 and
Tap2
01A6H/0698H
01A7H/069CH
CFP
R/W
R/W
Chrominance filter parameters, Tap1
and Tap2.Luminance decimation filter
parameter Tap3.
VPOST Mode
VideoPostprocessor operation mode
Winbond Confidential
37
June 1997
W9960CF
3.12 Motion Estimation Engine
W9960CF motion estimation (ME) engine implements full search matching algorithm (FSA),
which is widely used thanks to its simplicity and regularity. In this algorithm, for each reference
block in the current frame, the previous frame is searched within a neighborhood, i.e. search
window, to find the most matched pixel block.
CPU-bus
DMA-data
DMA-addr
half-pixel
1.5
Search
window
Current
block
Search
Caddr
Saddr
Window
DMA-request
CONTROL
LOGIC
DMA-ack
Mode
SREGION
Half-Pixel
INT-request
Trigger
Half-Pixel
Accelerator
p'
ph
ph'
p
c
MV
MAD,MA,MB,MX
8*PE
8*PE
Comparator
ME Registers
RISC Address/PCI Offset Address
0190H / 0640H
Name
Read/Write Description
MEMODE
MVR
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Mode Register
0191H / 0644H
Motion Vector Register
0192H / 0648H
MADR
MBR
Mean Absolute Difference Register
Mean Current Macro Block Register
Mean Average Difference Register
Mean First Search Register
Search Region Register
0193H / 064CH
0194H / 0650H
MAR
0195H / 0654H
MXR
0196H / 0658H
SRGION
Winbond Confidential
38
June 1997
W9960CF
3.13 FILTER Engine
Filter Engine implements the loop filter function of H.261. It is a two-dimensional spatial filter as
shown below. The Filter Engine also performs the interpolation function of half pixel prediction
and PB frame prediction in H.263.
H.261 8x8 predicted Block with 1-2-1 Filter
0
1
2
3
4
5
6
7
1 2 1
2 4 2
1 2 1
8
9
10
18
26
34
42
50
58
11
19
27
35
43
51
59
12
20
28
36
44
52
60
13
21
29
37
45
53
61
14
22
30
38
46
54
62
15
23
31
39
47
55
63
(1) 1/16
for pixels inside the block
16
24
32
40
48
56
17
25
33
41
49
57
(2) 1/16 | 4 8 4 | for pixels on the block edge
(3) 1/16 | 16 | for pixels on the block corner positions
Winbond Confidential
39
June 1997
W9960CF
H.261 1-2-1 Filter Table
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
2 4 2
1 2 1
1 2 1
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
Block Diagram
The prediction picture is transferred into Filter Engine by DMA operation. Half Pixel
PreProcessor module performs the half pixel interpolation in x-axial direction. HPP module
performs the half pixel interpolation in y-axial direction. OMC module performs PB frame
prediction. The control flow is specified in FCR0 (Filter Control Register #0) and BRR (Bi-
direction Range Register) registers.
Winbond Confidential
40
June 1997
W9960CF
Input from DRAM Controller
MUX
Half Pixel
PreProcessor
8
8
1
8
2
8
0
8
8
8
9
dmablk
MUX
F/F
MUX
F/F
F/F
F/F
0,1/4, 2/4
F/F
0,1,2/8,4/8
4/8,8/8,4/8,8/8
CSA
0,1,2/8
0,2/4,4/4
F/F
0,1/4
ADDER
F/F
CSA
OMC
ADDER
HPP
F/F
8
8
dctblk
To DCT/IDCT Engine
or DRAM Controller
Filter Registers
RISC Address / PCI Offset Address
018CH / 0630H
Name Read/Write
FCR0
FCR1
BRR
R/W
R/W
R/W
Filter Control Register #0
Filter Control Register #1
Bi-direction Range Register
018DH / 0634H
018EH / 0638H
Winbond Confidential
41
June 1997
W9960CF
3.14 FIDCT/Q/IQ Engine
W9960CF contains Forward/Inverse Discrete Cosine Transform Engine (FIDCT) and
Quantization /Inverse Quantization Engine, which are frequently used in video
compression/decompression.
For video encoding, DCT is used to reduce spatial redundancy of images. The quantization logic
further filters most AC values and keeps the DC value.
In video decoding, each 8x8 block is transformed back by Inverse Quantization. This IQ process
induces quantization error in AC values compared with original data, but the DC value is
recovered losslessly. Thereafter, data is sent to Inverse Discrete Cosine Transform stage to do
image recovery process. In the INTRA mode, the result is final reconstructed image. While in
the INTER mode, the result has to be added with the previous block data to reconstruct the
image.
Block Diagram
From Filter
RE-Construct
BUFFER
Current Block
ADD
BUFFER
IDCT
ADD
DCT
Q
Quant
Table
IQ
Zig/Zag
From VLD
BUFFER
Winbond Confidential
42
June 1997
W9960CF
DCT/IDCT Register
RISC address/PCI Offset Address
0180H/0600H
Name
Read/Write Description
Q_Control
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Quantization value selection
CBP threshold value
0182H/0608H
CBP threshold
CheckSum
0183H/060CH
DCT result checksum
0184H/0610H
EQuant value
DQuant value
EBD Quant value
DBD Quant value
CODEC
Encoding loop Quant value
Decoding loop Quant value
Encoding loop BQ/DQ value
Decoding loop BQ/DQ value
Intra/inter mode, coding/decoding
0185H/0614H
0186H/0618H
0187H/061CH
0188H/0620H
Winbond Confidential
43
June 1997
W9960CF
3.15 Programmable Input/Output Engine
Programmable input/output (PIO) engine can control the input bit stream data from X_bus or
CPU_data_bus to the variable length decoder (VLD). PIO plays the role of interface between the
frame memory (FM) and X_bus during bitstream receiving for decoding and bitstream
transmission after encoding.
Block Diagram
X_BUS
CPU
FM-R
FM-T
BUS
DREQ
ENCF
XDREQ_IPTF
DREQ
DECF
1
ENCODE
FIFO
CR1
VLD
CR3
DECODER
FIFO
1
INPUT
DATA
FIFO
1
CT1
BCH
DECODE
1
CR2
FIFO
BCH
DECODER
P>S
S>P
BCH
ENCODER
P<S
1
S<P
CT2
OUTPUT
DATA
FIFO
XDREQ_OPTF
Winbond Confidential
44
June 1997
W9960CF
PIO Registers
RISC Address/PCI Offset Address
01A8H / 06A0H
Name
CDFIFO_H
CDFIFO_L
PIOCTL
XDMAR
FDMAR
FC
Read/Write Description
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Compressed Data FIFO High Word Register
Compressed Data FIFO Low Word Register
01A9H / 06A4H
01AAH / 06A8H
PIO Control Register
01ABH / 06ACH
X_Bus DMA Request Enable Register
Frame Memory DMA Request Enable Register
Frame Code Register
01ACH / 06B0H
01ADH / 06B4H
01AEH / 06B8H
LPD
Lock Position Detect Register
Input/Output FIFO Status Register
01AFH / 06BCH
IOFSR
Winbond Confidential
45
June 1997
W9960CF
3.16 Variable Length Code Decoder
The Variable Length (VL) Engine uses the code books or lookup tables to map the Huffman code
words. Huffman coding is a kind of entropy coding method used in H26X. Image or video data
size can be reduced significantly when proper Huffman tables are used. Not only the variable
length codes but also the fixed length codes can be decoded in this engine. Bit streams coming
from the programmable in/out port (PIO) are fed into VL engine during decoding process.
VLD Register
RISC Address / PCI Offset Address
01B8H / 06E0H
Name
MCR_L
MCR_H
MSR
Read/Write Description
R/W
R/W
R/W
R/W
R
Match Code Low Word Register
01B9H / 06E4H
Match Code High Word Register
Match Size Register
01BAH / 06E8H
01BBH / 06ECH
VLCMD
VLRES
VL Command Register
VL Result Register
01BCH / 06F0H
01BDH / 06F4H
VLRES_LW
R
VL Result Low Word Register
RISC Address / PCI Offset Address
01C0H / 0700H
Name
Read/Write Description
VLDTC0
R/W
.......
R/W
VLD TCoefficient Register 0
................
..................
VLDTC63
...................................................
VLD Tcoefficient Register 63
01FFH / 07FCH
Winbond Confidential
46
June 1997
W9960CF
3.17 Audio Coprocessor Interface
W9960CF provides an ADSP-21xx SPORT compatible serial port to interface to audio
coprocessors. Multi-channel mode in AD SPORT0 is provided for interfacing with other chips
time-division multiplexing (TDM) function. Transmitter FIFO and Receiver FIFO are used since
serial one-bit bit stream is packed into 32-bit word, and no CPU instructions to access Tx or Rx
registers. This T/R FIFO should access with frame memory via 32-bit X_bus. No compounding
function is provided with, since no management for u-law or A-law data format.
Block Diagram
X_BUS
32
32
Tx
Rx
16
16
Transmit
Shift Reg
Serial
Control
Receive
Shift Reg
ISCLK
DT
TFS
DR
RFS
SCLK
AUDIO PORT Register
RISC Address / PCI Offset Address
0198H / 0660H
Name
ACTL
Read/Write Description
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Audio Port Control Register
0199H / 0664H
SCLKDIV
RFSDIV
RWE_L
RWE_H
TWE_L
TWE_H
Serial Clock Divisor Register
019AH / 0668H
Receive Frame Sync Divisor Register
Receive Word Enables for Low Word Register
Receive Word Enables for High Word Register
Transmit Word Enables for Low Word Register
019BH / 066CH
019CH / 0670H
019DH / 0674H
019EH / 0678H
Transmit Word Enables for High Word
Register
019FH / 067CH
TRBDR
R
Transmit/Receive Buffer Detect Register
Winbond Confidential
47
June 1997
W9960CF
3.18 Variable Length Code Encoding (VLE) Engine
There are two modules in VLE Engine, one is for Tcoeff (Transform coefficient) encoding and the
other is for variable length encoding. The Tcoeff is based on the run level pair generated from
the result of DCT/Quantization and pushed into the 16x32-bit Tcoeff_FIFO. When DCT/Q is
completed, VRISC shall check some conditions such as checksum register and determine
whether to trigger RLC ( Run Level Code ) to generate transform coefficient. When all blocks is
encoded into Tcoeff_FIFO, VRISC shall read Bit Length Register to check how many bits are
generated (overflow condition if Bit Length Register is over 512, busy condition if Bit Length
Register is Zero). Then VRISC read out the Tcoeff value from Tcoeff Result Register. VLE_INT
will assert when the coding bit length is over the threshold of Tcoff_FIFO. VRISC can also write a
command including data and table-indicator into Command Register to generate variable length
code ( except Tcoeff ).
Block Diagram
H261/H263/MPEG/JPEG
DCT_Trig
VLE Command Register
DCT/QUANT
DCT_rdy
INTRA/
INTER
RLC
RLC_Trig
VLC Table
Tcoeff-VLE
( Tcoeff FIFO overflow )
VLE_INT
16 x 32bit
FIFO
VLE Result Register
Bit Length Register
Tcoeff Result Register
VLE Register
RISC Address/PCI Offset Address
01B4H / 06D0H
Name
BLR
Read/Write Description
R
R
Bit Length Register
01B5H / 06D4H
TRR
VRR
VCR
Tcoeff Result Register
VLE Result Register
01B6H / 06D8H
R
01B7H / 06DCH
W
VLE Command Register
Winbond Confidential
48
June 1997
W9960CF
3.19 ISA-like Interface
The ISA-like Interface implements a parallel I/O port to connect to co-processors, and a Boot-
ROM mechanism to download VRISC firmware automatically.
This ISA-like parallel I/O port provides an 8-bit data bus and 16-bit address bus to connect to co-
processor easily. The host can access the connected co-processor through W9960CF PCI
interface and this ISA-like interface. In this sense, W9960CF acts as a PCI to ISA bridge. It also
provides two external interrupt requests of level or edge trigger.
This ISA-like Interface provides another path to download VRISC firmware in addition to the PCI-
bus interface. In Boot-ROM mode, the ISA-like interface will issue Boot-ROM access cycle to
download firmware after W9960CF is reset.
W 9960CF
RISC
Co-Processor
P C I
Interface
ISA-Like
Interface
P C I Bus
Internal Bus
R O M
Winbond Confidential
49
June 1997
W9960CF
ISA-Like Interface Resigisters
RISC Address/PCI Offset Address Name
Read/Write Description
Setting ISA control operation register
Setting ISA output address register
020H/080H
021H/084H
022H/088H
023H/08CH
ISACTL
SAADDR
SADATA
ISAINT
R/W
R/W
R/W
R/W
ISA input/output data register
External interrupt control/status register
Programming Sequence
W9960CF assert I/O read/write cycles on ISA-like interface accroding to the following
programming sequence.
IO Write Cycle
IO Read Cycle
Store ISACTL register
(set WE bit enable)
Store ISACTL register
(set RE bit enable)
Store ISAADDR register
(set effective address)
Store ISAADDR register
(set effective address)
Store ISADATA register
(set effective data)
Insert Delay
(7-14 clock cycles)
Load ISADATA register
(read effective data)
Winbond Confidential
50
June 1997
W9960CF
4. W9960CF REGISTERS
4.1 PCI Configuration Registers
Address \ Bit
00H
31
24
Device ID
Status
23
16
15
8
7
0
Vendor ID
Command
04H
08H
Class Code
Revision ID
0CH
Reserved
Reserved
Header Type
Latency Timer
10H
Base Address Register 0 (BAR0)
Base Address Register 1 (BAR1)
Reserved
14H
18H - 38H
3CH
Reserved
Reserved
Interrupt Pin
Interrupt Line
Device/Vendor ID Register
Read-only
PCI Configuration Address: 00H
Default: 9960 1050H
31
30
29
28
12
27
11
26
10
25
9
24
8
23
7
22
6
21
5
20
4
19
3
18
2
17
1
16
0
Device ID
15
14
13
Vendor ID
Bits 31-16 Device ID
Device ID allocated for the W9960 is 9960H.
Bits 15-0 Vendor ID
Vendor ID is allocated by the PCI SIG to ensure uniqueness. The value assigned to
Winbond Electronic Corp. is 1050H.
Winbond Confidential
51
June 1997
W9960CF
Status/Command Register
Read/Write
PCI Configuration Address: 04H
Default: 0280 0000H
31
30
29
28
27
26
25
24
23
22
21
20
4
19
3
18
2
17
1
16
DPE SSE RMA RTA STA DEVSEL
MDP FBC Reserved
CLK
15
14
13
12
11
10
9
8
7
6
5
0
Reserved
FBE SEE
-
PEE Reserved
BME MSE -
Bit 31
DPE ( this bit will be clear to 0 , if the write data in the corresponding bit location is a 1 )
Detected Parity Error
1 = Parity Error
0 = Parity Correct
Bit 30
Bit 29
Bit 28
Bit 27
SSE ( this bit will be clear to 0 , if the write data in the corresponding bit location is a 1 )
Signaled System Error
1 = System Error
0 = System Correct
RMA ( this bit will be clear to 0 , if the write data in the corresponding bit location is a 1 )
Received Master Abort
1 = Master Abort On
0 = Off
RTA ( this bit will be clear to 0 , if the write data in the corresponding bit location is a 1 )
Received Target Abort
1 = Target Abort On
0 = Off
STA ( this bit will be clear to 0 , if the write data in the corresponding bit location is a 1 )
Signaled Target Abort
1 = Target Abort On
0 = Off
Bits 26-25 DEVSEL Timing ( Read only )
Winbond Confidential
52
June 1997
W9960CF
01 = Medium DEVSEL# timing
Bit 24
Bit 23
MDP ( this bit will be clear to 0 , if the write data in the corresponding bit location is a 1 )
Master Data Parity Error Detected
1 = Detect Parity Error
0 = Parity Correct
FBC
Fast Back-to-Back Capable ( Read only )
1 = Support Fast Back-to-Back Capable
Bits 22-17 Reserved
Bit 16
CLK
PCI CLK Support ( Read only )
0 = 33Mhz
Bits 15-10 Reserved
Bit 9
FBE
Fast Back-to-Back Enable
1 = Enable
0 = Disable
SERR# Enable
1 = Enable
Bit 8
0 = Disable
Reserved
Bit 7
Bit 6
PEE
Parity Error Response Enable
1 = Enable
0 = Disable
Bits 5-3
Bit 2
Reserved
BME : Bus Master Enable
1 = Enable
0 = Disable
MSE
Bit 1
Winbond Confidential
53
June 1997
W9960CF
Memory Space Enable
1 = Enable the device response to memory space accesses
0 = Disable the device response to memory space accesses
Reserved
Bit 0
Class Code/Revision ID Register
Read-only
PCI Configuration Address: 08H
Default: 0400 0000H
31
30
29
28
12
27
11
26
10
25
9
24
8
23
22
21
20
4
19
3
18
2
17
1
16
0
Base Class Code
Sub-Class Code
15
14
13
7
6
5
Programming Interface
Revision ID
Bits 31-24 Base Class Code
Bits 23-16 Sub-Class Code
Bits 15-8 Programming Interface
Bits 7-0
Revision ID
Bits 31-8 are hardwired to 040000H to specify that the W9960 is a multimedia device.
Header Type / Latency Timer Register
Read-Write
PCI Configuration Address: 0CH
Default: 0000 FF00H
31
30
29
13
28
12
27
11
26
10
25
9
24
8
23
22
21
5
20
4
19
3
18
2
17
1
16
0
Reserved
Header Type
15
14
7
6
Latency Timer
Reserved
Winbond Confidential
54
June 1997
W9960CF
Bits 31-24 Reserved
Bits 23-16 Header Type ( Read only )
00H = Type 00H
Bits 15-8 Latency Timer for Master
the low-order 3 bits are read only, high-order 5 bits are read-writable
Reserved
Bits 7-0
Base Address 0 Register
Read/Write
PCI Configuration Address: 10H
Default: 0000 0000H
31
30
29
28
12
27
11
26
10
25
9
24
8
23
7
22
6
21
5
20
4
19
3
18
2
17
1
16
0
Base Address 0
15
14
13
Base Address 0
Bits 31-0 Base Address 0
This field can be used to relocate memory address space to any location that is aligned to
4 Kbytes for mapping W9960 Engine Registers and Data Memory.
The low-order 12bits are read only and hardwired to 000H, the high-order 20bits are read-
writable.
Base Address 1 Register
Read/Write PCI Configuration Address: 14H
Default: 0000 0000H
31 30 29
Base Address 1
28
12
27
11
26
10
25
9
24
8
23
22
6
21
5
20
4
19
3
18
2
17
1
16
0
15
14
13
7
Winbond Confidential
55
June 1997
W9960CF
Base Address 1
Bits 31-0 Base Address 1
This field can be used to relocate memory address space to any location that is aligned to
4 Mbytes for mapping W9960 DRAM Frame Memory. The low-order 22bits are read only
and hardwired to 0_0000H, the high-order 10bits are read-writable.
Interrupt Line Register
Read/Write
PCI Configuration Address: 3CH
Default: 00H
7
6
5
4
3
2
1
0
Interrupt Line
Bits 7-0
Interrupt Line
This 8-bit register is used to communicate interrupt line routing information. POST software
will write the routing information into this register as it initializes and configures the system.
Interrupt Pin Register
Read-only
PCI Configuration Address: 3DH
Default: 01H
7
6
5
4
3
2
1
0
Interrupt Pin
Bits 7-0
Interrupt Line (hardwired to 01H)
This register is hardwired to 1 to specify that INTA# is the interrupt pin used.
Winbond Confidential
56
June 1997
W9960CF
5. ELECTRICAL SPECIFICATIONS
5.1 Absolute Maximum Ratings
Ambient temperature
0o C to 70o C
Storage temperature
-40o C to 125o C
DC supply voltage
-0.5V to 5V
I/O pin voltage with respect to Vss
-0.5V to VDD+0.5V
5.2 DC Specifications
(VDD = 3.0V to 3.6V, VSS = 0V, VDD5V = 5V, TA=0o C to 70o C)
Symbol
VIL
Parameter
Input Low Voltage
Input High Voltage
Output Low Voltage
Output High Voltage
Input Low Current
Input High Current
Output Tri-state Current
Input Capacitance
Output Capacitance
Power Supply Current
Min Typ
Max
Unit
V
Conditions
0.8
VIH
2.0
V
VOL
VOH
IIL
Vss+0.4
V
IOL=10mA
IOH=6mA
2.4
V
±10
±10
±10
mA
mA
mA
pF
pF
mA
IIH
IOZ
CIN
10
50
COUT
ICC
400
5.3 AC Specifications
Winbond Confidential
57
June 1997
W9960CF
5.3.1 CLOCK SPECIFICATION
t
cyc
3.3 Volt Clock
t
high
0.6VDD
0.5VDD
0.4VDD
0.3VDD
t
low
0.2VDD
Symbol
tcyc
Parameter
Min
30
11
11
1
Max
Units
ns
CLK Cycle Time
CLK High Time
CLK Low Time
CLK Slew Rate
¥
ns
thigh
ns
tlow
4
V/ns
5.3.2 RESET TIMING
t
Lo
w
RST
#
Symbol
Parameter
Min
Max
Unit
ns
System reset active pulse width
tLow
10 tcyc
Winbond Confidential
58
June 1997
W9960CF
5.3.3 PCI INTERFACE AC TIMING
0.6VDD
0.2VDD
0.4VDD
CLK
t
val
OUTPUT
DELAY
0.285VDD (rising edge)
0.615VDD (falling edge)
Tri_State
OUTPUT
t
on
t
t
off
CLK
0.4VDD
t
h
su
0.6VDD
0.2VDD
INPUT
inputs
valid
0.4VDD
Symbol
tval
Parameter
Min Max Units
Notes
1
CLK to Signal Valid Delay - bused signals
CLK to Signal Valid Delay - point to point
Float to Active Delay
2
2
2
11
12
ns
ns
ns
ns
ns
ns
ns
2
tval(ptp)
ton
1,4
1,4
1,3
2
Active to Float Delay
28
toff
Input Set Up Time to CLK - bused signals
Input Set Up Time to CLK - point to point
Input Hold Time from CLK
7
10
0
tsu
tsu(ptp)
th
1,2,3
Note 1: bused signals : AD31-AD0, C/BE3-C/BE0, PAR, FRAME#, TRDY#, IRDY#, STOP#,
DEVSEL#, PERR#,
Note 2: point to point signals : REQ# is output signal, GNT# is input signal
Note 3: Input Signal : IDSEL
Note 4 : Output Signal : INTA#, SERR#
Winbond Confidential
59
June 1997
W9960CF
5.3.4 AUDIO INTERFACE AC TIMING
t
sck
SCLK
0.4VDD
t
t
sch
scs
DR
RFS (in)
0.6VDD
inputs
valid
TFS (in)
0.2VDD
0.4VDD
t
fsd
RFS (out)
TFS (out)
0.285VDD (rising edge)
0.615VDD (falling edge)
t
scdv
DT
t
tdv
TFS (in)
Symbol
tsck
tscs
Parameter
Min
100
10
Max
Unit
ns
SCLK Period
-
-
DR/TFS/RFS Setup Time
Ref. to SCLK falling
ns
DR/TFS/RFS Hold Time
Ref. to SCLK falling
10
-
ns
tsch
TFS/RFS Valid Delay from SCLK rising
DT Valid Delay from SCLK rising
DT Valid Delay from TFS
-
-
-
25
25
20
ns
ns
ns
tfsd
tscdv
ttdv
(Alternate Frame Mode)
Winbond Confidential
60
June 1997
W9960CF
5.3.5 DRAM INTERFACE AC TIMING
CLK_MEM
t
rv1
t
rv2
RAS0#,RAS1#
CAS0#,CAS1#
t
t
cv2
cv1
t
av
MA7-MA0
Row Addr
Column Addr
Column Addr
t
t
wv
dv
WE1#,WE0#
MD31-MD0
(output)
Data
Data
t
ov
OE1#,OE0#
t
t
dsu
Data
dh
MD31-MD0
(input)
Data
Symbol
Parameter
Min
Max
14
14
12
16
20
14
20
12
Unit
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
RAS# valid delay ref. to CLK_MEM rising
RAS# valid delay ref. to CLK_MEM falling
CAS# valid delay ref. to CLK_MEM falling
CAS# valid delay ref. to CLK_MEM rising
Memory address valid delay
trv1
trv2
tcv1
tcv2
tav
Memory WE# valid delay
twv
tdv
Memory Data valid delay
Memory OE# valid delay
tov
Memory Data setup time
12
2
tdsu
tdh
Memory Data hold time
Winbond Confidential
61
June 1997
W9960CF
5.3.6 GPIO AC TIMING
CLK_MEM
t
AC
GPIO3-GPIO0
(Output)
t
SETUP
t
HOLD
GPIO3-GPIO0
(Input)
Symbol
tAC
Parameter
Min
Max
Unit
GPIO output access
time
15
ns
GPIO input set up time
GPIO input hold time
10
5
ns
ns
tSETUP
tHOLD
Winbond Confidential
62
June 1997
W9960CF
5.3.7 VIDEO PREPROCESSOR AC TIMING
t
LLC
t
LLCL
CLK_Video
t
HOLD
t
LLCH
t
SETUP
HREF, VS, HS, VD[15:0]
Symbol
tLLC
Parameter
CLK_Video period
CLK_Video Low width
CLK_Video High width
Input Set Up time
Input Hold Time
Min
Typ
Max
Unit
ns
74
37
37
ns
tLLCL
ns
tLLCH
15
5
ns
tSETUP
tHOLD
ns
Winbond Confidential
63
June 1997
W9960CF
5.3.8 ISA-LIKE BUS AC TIMING
Waveform of IO Write Operation
SAIOW#
SAADDR15-0
Address
Data
SADATA7-0
50ns
150ns
80ns
Waveform of IO Read Operation
150ns
SAIOR#
SAADDR15-0
Address
Data
20ns
SADATA7-0
50ns
0ns
Winbond Confidential
64
June 1997
W9960CF
6. APPENDIXES
6.1 Porting Guide for W9960 Win95 Device Driver
6.2 Firmware Loading Precedure
6.3 Application/Firmware Command Block
Winbond Confidential
65
June 1997
相关型号:
©2020 ICPDF网 联系我们和版权申明