OVP Peripheral Model: Mips16450C

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.


Open Source Apache 2.0


Model of 16550/16450 UART.

Special version with register addresses for MIPS MALTA C-BUS.

Connects to a bus by a slave port and optionally to a processor by an interrupt signal.

The serial input/output ports are modelled by socket connection which must be attached to a process outside the simulation environment.

Note that on start:up, the UART model will block the simulator, pending a connection to the socket.


No modelling of baud:rate.

No modem support (DTR etc).

No support for parity.

No means to simulate errors.


MIPS Malta Datasheet


The 16450C peripheral model is located in an Imperas/OVP installation at the VLNV: / peripheral / 16450C / 1.0.

Peripheral Instance Parameters

This model accepts the following parameters:

Table : Peripheral Parameters

uart16550boolEnable 16550 mode (with FIFOS)
simulatebaudboolIf true, transmit at the programmed baud rate (the default is to transmit without any delay).
defaultbauduns32Set the default baud rate multiplier. Default is 9.
charmodeboolPuts the telnet server into char mode Default is line mode
consoleboolIf specified, port number is ignored, and a console pops up automatically
clientboolIf true, model is a client and will connect to portnum. If false, model is a server and will listen on portnum.
portnumuns32If set, listen on, or connect to, this port. If set to zero in listen mode, allocate a port from the pool and listen on that.
hostnamestringName (or IP address) of host to connect to. Valid if listen=true
infilestringName of file to use for device source
outfilestringName of file to write device output
portFilestringIf portnum was specified as zero, write the port number to this file when it's known
logboolIf specified, serial output will go to simulator log
finishOnDisconnectboolIf set, disconnecting the port will cause the simulation to finish
connectnonblockingboolIf set, simulation can begin before the connection is made
xcharsuns32Width of console in characters
ycharsuns32Height of console in characters
recordstringRecord external events into this file
replaystringReplay external events from this file

Net Ports

This model has the following net ports:

Table 1: Net Ports

NameTypeMust Be ConnectedDescription
intOutoutputF (False)Interrupt output.

Bus Slave Ports

This model has the following bus slave ports:

Bus Slave Port: bport1

Table 2: Bus Slave Port: bport1

NameSize (bytes)Must Be ConnectedDescription
bport10x40T (True)Byte:wide access to control and status registers.

Table 3: Bus Slave Port: bport1 Registers:

NameOffsetWidth (bits)DescriptionR/Wis Volatile
rbr0x08receive byte
tbr0x08transmit byte
ier0x88interrupt enable
iir0x108interrupt input
lcr0x188line control
mcr0x208modem control
lsr0x288line status
msr0x308modem status

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 4: Publicly available platforms using peripheral '16450C'

Platform NameVendor

Page was generated in 0.0168 seconds