OVP Peripheral Model: ArmLcdPL110
Model Specific Information
This page provides introductory usage information for an Imperas OVP peripheral behavioral model.
The page is split into sections providing specific information for this peripheral,
including any ports for connecting into a platform, registers, other component parts, and configuration options and general information for peripheral modeling with Imperas OVP.
Description
ARM PL110 LCD Controller
Limitations
The VGA display refresh is not optimised resulting in the VGA peripheral causing a limit on the maximum performance of a platform it contains to be around 300 MIPS (actual dependent upon refresh rate of LCD).
The LCD peripheral utilises memory watchpoints to optimise display refresh. This requires the use of ICM memory for the frame buffers, which currently may stop its use in SystemC TLM2 platforms.
Interrupts are not supported
Reference
ARM PrimeCell Color LCD Controller (PL111) Technical Reference Manual (ARM DDI 0293)
Licensing
Open Source Apache 2.0
Location
The LcdPL110 peripheral model is located in an Imperas/OVP installation at the VLNV: arm.ovpworld.org / peripheral / LcdPL110 / 1.0.
Peripheral Instance Parameters
This model accepts the following parameters:
Table : Peripheral Parameters
Name | Type | Description |
---|
busOffset | uns32 | Set an offset for the display memory window |
scanDelay | uns32 | Set the rate of the display refresh (default 20000) |
noGraphics | bool | Disable the graphics output |
resolution | string | Set the resolution of the display. VGA (default), SVGA, XVGA/XGA. |
pixelChecksum | bool | Write a checksum of each screen contents |
packedPixels | bool | Only valid when 24BPP used. Set to enable pixel packing in data buffer. Default 24 bit pixel stored in 32-bit data word. |
title | string | Set the title of the display window |
Net Ports
This model has the following net ports:
Table 1: Net Ports
Name | Type | Must Be Connected | Description |
---|
irq | output | F (False) | |
Bus Slave Ports
This model has the following bus slave ports:
Bus Slave Port: memory
Table 2: Bus Slave Port: memory
Name | Size (bytes) | Must Be Connected | Description |
---|
memory | 0x1 | F (False) | |
No address blocks have been defined for this slave port.
Bus Slave Port: bport1
Table 3: Bus Slave Port: bport1
Name | Size (bytes) | Must Be Connected | Description |
---|
bport1 | 0x1000 | F (False) | |
Table 4: Bus Slave Port: bport1 Registers:
Name | Offset | Width (bits) | Description | R/W | is Volatile |
---|
ab_timing0 | 0x0 | 32 | LCD Timing 0 | | |
ab_timing1 | 0x4 | 32 | LCD Timing 1 | | |
ab_timing2 | 0x8 | 32 | LCD Timing 2 | | |
ab_timing3 | 0xc | 32 | LCD Timing 3 | | |
ab_upbase | 0x10 | 32 | LCD UP Base | | |
ab_lpbase | 0x14 | 32 | LCD LP Base | | |
ab_imsc | 0x18 | 32 | LCD IMSC | | |
ab_control | 0x1c | 32 | LCD Control | | |
ab_int_status | 0x20 | 32 | LCD RIS | | |
ab_int_mis | 0x24 | 32 | LCD MIS | | |
ab_int_clr | 0x28 | 32 | LCD ICR | | |
ab_upbase2 | 0x2c | 32 | LCD UP current | | |
ab_lpbase2 | 0x30 | 32 | LCD LP current | | |
ab_id0 | 0xfe0 | 32 | | | |
ab_id1 | 0xfe4 | 32 | | | |
ab_id2 | 0xfe8 | 32 | | | |
ab_id3 | 0xfec | 32 | | | |
ab_id4 | 0xff0 | 32 | | | |
ab_id5 | 0xff4 | 32 | | | |
ab_id6 | 0xff8 | 32 | | | |
ab_id7 | 0xffc | 32 | | | |
Platforms that use this peripheral component
Peripheral components can be used in many different platforms, including those developed by Imperas or by other users of OVP. You can use this peripheral in your own platforms.
Table 5: Publicly available platforms using peripheral 'LcdPL110'