
Philips Semiconductors
Image Co-Processor
File: icp.fm5, modified 7/26/99
PRELIMINARY INFORMATION
13-17
mode and 50 megapixels per second in the YUV mode
using YUV sequencing. For one word per pixel output
codes, such as RGB-24, this is a peak rate of 33 mega
words or 132 megabytes per second in the RGB se-
quencing mode. This is the same speed as the 132
megabytes per second peak rate of the PCI interface. (At
50 megapixels per second, the result would be 200
megabytes/second.) The BIU control for the PCI inter-
face has a FIFO for buffering data from the ICP, but this
buffer is only 16 words deep. Therefore, the ICP will oc-
casionally have to wait for the PCI to accept more data.
In the PCI output mode, this stalls the ICP clock.
13.6
OPERATION AND PROGRAMMING
The ICP uses a combination of hardware and a Micro-
program Control Unit (MCU) to implement its scaling, fil-
tering and conversion functions. The microprogram is a
factory supplied state machine that resides in SDRAM. It
is read each time the ICP executes an operation. Using
an SDRAM resident microprogram controlled state ma-
chine minimizes hardware and provides flexibility in han-
dling special conditions without additional hardware.
Important Note: You must set the ICP DMA Enable bit
(IE) in the BIU_CTL register of the PCI interface for RGB
output to PCI. This bit must be set before initiating RGB
to PCI operations, or the ICP will stall waiting for the PCI
13.6.1
ICP Register Model
The ICP is controlled by the DSPCPU through five MMIO
registers: the MicroProgram Counter (MPC), the Micro
Instruction Register (MIR), the Data Pointer (DP), the
Data Register (DR) and the ICP Status register (SR), as
in normal operations, and the MIR and DR are used in
test and debug. Note that the MMIO registers should
never be written while the ICP is executing microcode, i.e
test the Busy bit in the SR register before writing any ICP
MMIO register.
The MPC is the MCU instruction counter. It points to the
next microinstruction to be executed. The entry point in
the microprogram defines which ICP operation is to be
done.The DP points to the location in SDRAM of a table
of parameters used by the ICP to process the image da-
ta, such as the image input and output start addresses,
scaling factor, etc.
The SR has 13 active bits: Busy (B), Done (D), done In-
terrupt Enable (IE), ACK_DONE (A), Little Endian (L),
Step (S), Diagnostic (DG), Reset (R) , Priority Delay (PD,
4 bits) and PWDN (Power down, P). Bits 12 .. 30 are re-
served.
Busy indicates the ICP is busy executing microcode.
Done indicates that the previous requested function
is complete, and that the ICP clock is stopped.
Done causes an interrupt to the DSPCPU when
Interrupt Enable is set.
ACK_DONE clears Done and the corresponding
interrupt.
Little Endian sets the highway endian swap multi-
plexer to little endian mode for data on the SDRAM
bus.
Step causes the MCU to execute one microinstruc-
tion. Step is used for diagnostics to step the ICP
through its microinstructions one clock step at a time.
Writing a one to Step sets Busy, which is reset at the
end of execution of the next microinstruction.
DG allows SDRAM operations in step mode.
R is a write-only bit that resets ICP internal registers.
MicroProgram Counter (MPC, ICP_MPC)
Data Pointer (DP, ICP_DP)
ICP Status (ICP_SR)
D
1
0
31
0
B
IE
2
MicroInstruction Register (MIR, ICP_MIR)
Data Register (DR, ICP_DR)
3
A
L
S
4
5
0x10 2400
0x10 2404
0x10 2408
0x10 2410
0x10 2414
MMIO Offsets
Priority Delay
12 11
6
DG
R
7
8
Figure 13-17. ICP MMIO Registers
P