OVP Peripheral Model: CirrusGD5446
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.
Licensing
Open Source Apache 2.0
Description
Cirrus CL GD5446 VGA controller.
Limitations
This model has sufficient functionality to allow a Linux Kernel to Boot on the MIPS:MALTA platform. The VGA peripheral utilises memory mapping. This requires the use of ICM memory for the frame buffers, which currently may stop its use in SystemC TLM2 platforms.
Reference
CL-GD5446 Preliminary Databook, Version 2.0, November 1996
Location
The GD5446 peripheral model is located in an Imperas/OVP installation at the VLNV: cirrus.ovpworld.org / peripheral / GD5446 / 1.0.
Peripheral Instance Parameters
This model accepts the following parameters:
Table : Peripheral Parameters
Name | Type | Description |
---|
PCIslot | uns32 | Specify which PCI slot the device occupies. |
PCIfunction | uns32 | Specify which PCI function the device responds to. |
scanDelay | uns32 | Number of uS between frame refreshes. |
noGraphics | bool | If non:zero, disables the graphics window. |
title | string | Title for the VGA screen. |
endian | string | Set the system endian, "big" or "little"; used for writing boot code. Default is "little" endian. |
pixelChecksum | bool | Write a checksum of each screen contents |
Bus Slave Ports
This model has the following bus slave ports:
Bus Slave Port: config
Table 1: Bus Slave Port: config
Name | Size (bytes) | Must Be Connected | Description |
---|
config | 0x30 | T (True) | |
Table 2: Bus Slave Port: config Registers:
Name | Offset | Width (bits) | Description | R/W | is Volatile |
---|
ab_cr_index | 0x4 | 8 | | | |
ab_cr | 0x5 | 8 | | | |
ab_gr_index | 0x1e | 8 | | | |
ab_ar_index | 0x10 | 8 | | | |
ab_ar | 0x11 | 8 | | | |
ab_msrWrite | 0x12 | 8 | | | |
ab_st00 | 0x12 | 8 | | | |
ab_gr | 0x1f | 8 | | | |
ab_sr_index | 0x14 | 8 | | | |
ab_sr | 0x15 | 8 | | | |
ab_fcrWrite | 0xa | 8 | | | |
ab_st01 | 0xa | 8 | | | |
ab_dac_read_index | 0x17 | 8 | | | |
ab_dac_write_index | 0x18 | 8 | | | |
ab_dac_cache | 0x19 | 8 | | | |
ab_fcrRead | 0x1a | 8 | | | |
ab_msrRead | 0x1c | 8 | | | |
Bus Slave Port: memory
Table 3: Bus Slave Port: memory
Name | Size (bytes) | Must Be Connected | Description |
---|
memory | 0x400000 | T (True) | |
No address blocks have been defined for this slave port.
Bus Slave Port: PCIconfig
Table 4: Bus Slave Port: PCIconfig
Name | Size (bytes) | Must Be Connected | Description |
---|
PCIconfig | 0x800 | F (False) | |
No address blocks have been defined for this slave port.
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 'GD5446'