OVP Peripheral Model: Amd79C970

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


Implements part of the AMD AM79C97xx series Ethernet devices.

diagnosticlevel: bits 0:1 give levels for the network hardware. bits 2:3 give levels for the user:mode SLIRP interface.


Sufficient behavior is implemented to Boot MIPS Linux and support TCP/IP protocol access.

This model implementation does not use the current BHM API features that support Ethernet interfaces. Please examine the source of the models with VLNV*/1.0 for ones using the current BHM API implementation.


AMD Am79C973/Am79C975 PCnet-FAST III Single-Chip 10/100 Mbps PCI Ethernet Controller with Integrated PHY Datasheet


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

Peripheral Instance Parameters

This model accepts the following parameters:

Table : Peripheral Parameters

PCIslotuns32Set the PCI slot at which the Ethernet card is installed
PCIfunctionuns32Set the PCI function of the device. The default of 0 is correct for this device.
etherealstringSet a log file name and turn on packet logging using ethereal format. Every packet passing through the device will be added to the file. Use the freely available 'ethereal' program to analyze the output. Example: /home/my_user/my_ethereal_log_file.txt
maxEtherLengthuns32Only used when ethereal attribute set. Specify the max length for each packet logged.
pollDelayuns32Allows the rate the network is checked for packets to transfer to be altered .
MACuns64Set the MAC address of the NIC, as read from the PCI bus. Note that the interface to the host's network is at the TCP/UPD level so it is not possible to affect the actual MAC address. Example: ab:cd:ef:01:23:45
redirstringSpecify a list of ports to open on the host and redirect to the guest. Format: redirect{,redirect} redirect := protocol:host_port:guest_ip:guest_port protocol := udp|tcp host_port := integer guest_ip := integer.integer.integer.integer guest_port := integer Example: tcp:10080:,tcp:10021: This opens ports 10080 and 10021 on the host and redirects them to the guest's http and ftp ports. This could be used if http and ftp servers are running on the guest. The default sub-net of the network interface is; This can be changed (see below), but there is rarely any need; each network card is on a private network invisible to all other devices (even another network card in the same platform). TCP and UDP packets are routed to the real network using N.A.T. (like in a SOHO router). In this example, the guest Linux configures the network IP as, which is correct for the virtual subnet it is connected to.
tftpPrefixstringEnable the TFTP server emulation and set the tftp root directory. tftp is a trivial FTP protocol (port 69) used usually to boot diskless computers on a LAN. When this feature is enabled, the network card intercepts all TFTP 'get' requests, regardless of their destination, and searches the supplied directory for the requested file. Thus, a TFTP client running on the guest platform can fetch files without a server on the host. Note that there is no 'put' feature. Example: /home/my_user/my_tftp_directory
localNetstringChange the local network address from its default of (rarely required, see above). Example:
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
intOut0outputF (False)

Bus Master Ports

This model has the following bus master ports:

Bus Master Port: dmaPort

Table 2: dmaPort

NameAddress Width (bits)Description
dmaPort32PCI DMA bus connection.

Bus Slave Ports

This model has the following bus slave ports:

Bus Slave Port: busPort

Table 3: Bus Slave Port: busPort

NameSize (bytes)Must Be ConnectedDescription
busPort0x8T (True)PCI main bus connection for register access.

No address blocks have been defined for this slave port.

Bus Slave Port: PCIconfig

Table 4: Bus Slave Port: PCIconfig

NameSize (bytes)Must Be ConnectedDescription
PCIconfig0x800F (False)PCI configuration bus connection.

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 '79C970'

Platform NameVendor

Page was generated in 0.0418 seconds