VIRTUTECH CONFIDENTIAL    Previous - Up - Next

i8254

Provided by
8254
Class Hierarchy
conf-objectlog-objecti8254
Interfaces Implemented
log_object, event_poster, io_memory
Ports
Gate2 (signal), Gate1 (signal), Gate0 (signal)
Description
The i8254 device implements the functionality of the PIT (Programmable Interval Timer) counter device found in most PCs. In a real system it is used to generate interval signals for the TOD clock, DMA refresh, and the speaker. The simulated device is only connected to the interrupt device; it counts internally, and the value can be read and written from the processor. The 8254 device also implements Port B in the 8255 PPI (Programmable Peripheral Interface). This port is used to control the builtin PC speaker. Counting mode 1, and BCD counting is not implemented.

Attributes

Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attributes inherited from class log-object
access_count, log_buffer, log_buffer_last, log_buffer_size, log_group_mask, log_groups, log_level, log_type_mask
Attribute List
bcd
Optional attribute; read/write access; type: [iii]|[iiii].

The counting format for each counter (0 or 1).

beep
Optional attribute; read/write access; type: Integer.

Set to 1 if a beep is currently playing in the speaker. Only valid if the have_speaker attribute is 1.

clock_freq_hz
Optional attribute; read/write access; type: [fff]|[ffff].

Clock input frequencies for the counters, in Hz. Defaults to 1193180.0 Hz for all counters. The frequency should be set before simulation starts.

cmd
Optional attribute; read/write access; type: [iii]|[iiii].

The RW command for each counter.

cmd_names
Pseudo attribute; read-only access; type: [ssss].

List of all command names.

count
Optional attribute; read/write access; type: [iii]|[iiii].

A list of four count values, one for each counter.

counting
Optional attribute; read/write access; type: [iii]|[iiii].

For each of the four counters, a flag indicating whether it is running.

gate
Optional attribute; read/write access; type: [iii]|[iiii].

Four gate signals (1 or 0], one for each counter.

have_speaker
Optional attribute; read/write access; type: Integer.

Set to 1 (default) if counter 2 is connected to a standard PC speaker.

initial_count
Optional attribute; read/write access; type: [iii]|[iiii].

A list of four initial count values, one for each counter.

initial_time
Optional attribute; read/write access; type: [fff]|[ffff].

For each of the four counters, a time stamp indicating when the counter was last restarted (in floating-point format)

interrupt_pin
Optional attribute; read/write access; type: Integer.

Interrupt request status.

irq_dev
Optional attribute; read/write access; type: Object or Nil.

Device to send interrupts to, that implements the simple-interrupt.

irq_level
Optional attribute; read/write access; type: Integer.

Interrupt level for the interrupt device.

latched
Optional attribute; read/write access; type: [iii]|[iiii].

A list of four flags, each set to 1 if the corresponding counter has a latched value.

latched_count
Optional attribute; read/write access; type: [iii]|[iiii].

A list of four latched values, one for each counter.

latched_s
Optional attribute; read/write access; type: [iii]|[iiii].

A list of four flags, each set to 1 if the corresponding counter has a latched status.

latched_status
Optional attribute; read/write access; type: [iii]|[iiii].

A list of four latched status bytes, one for each counter.

mode
Optional attribute; read/write access; type: [iii]|[iiii].

The PIT counting mode for each counter (0 - 5).

mode_names
Pseudo attribute; read-only access; type: [ssssss].

List of all mode names.

next_read_high
Optional attribute; read/write access; type: [iii]|[iiii].

For each of the four counters, a flag indicating if the next read access is for the high byte.

next_write_high
Optional attribute; read/write access; type: [iii]|[iiii].

For each of the four counters, a flag indicating if the next write access is for the high byte.

null_count
Optional attribute; read/write access; type: [iii]|[iiii].

The 'null count' status bit.

out
Optional attribute; read/write access; type: [iii]|[iiii].

Output values (0 or 1], one for each counter.

refresh_clock
Optional attribute; read/write access; type: Integer.

Bit 4 when reading from port B.

speaker
Optional attribute; read/write access; type: Integer.

Enable flag for speaker, only valid if the have_speaker attribute is 1.

Command List

Commands defined by interface log_object
log, log-group, log-level, log-size, log-type
Commands
infoprint information about the device
statusprint status of the device

Command Descriptions

<i8254>.info
Synopsis
<i8254>.info
Description
Print detailed information about the configuration of the device.
<i8254>.status
Synopsis
<i8254>.status
Description
Print detailed information about the current status of the device.

VIRTUTECH CONFIDENTIAL    Previous - Up - Next