Search

Asymmetric Map

Related Topics

News & Events

Asymmetric's New Site
Release of HWAccess v1.10

Description

The I/O library allows access to any port in the 0x0000-0xFFFF range. It employs a script engine with several commands that allow event check, loops/steps, different data types and timers. By default on startup no entries are enabled. I/O script entries can be configured through the active controls window. A refresh command is also available with right click in the Parameters window on the Generic I/O Access entry and through the active controls. This command executes the script defined in the configuration dialog.

Topology in the Parameters Pane

There is no specific topology for this library. Only the last script is stored under the root entry. Use the Save script option from the active controls to store scripts.

Functionality of the Active Controls

The I/O library has several controls to watch I/O ports. There are 4 display controls used for watch and performance operations. Under the watch section the port display selects the port to use for watches. The sampling period describes how often all ports are sampled. Period changes take effect once the apply period button is pressed. Under the performance section the Port display selects the port to for timing test. The time/sample counter shows in nSecs the time taken for a single I/O operation to complete. The operation is subject to data type and access mode. The thread priority list drives the execution priority of the entire script. The following table describes the functionality and usage of each active control for the I/O library.

Active Control Usage
Remove Watch Select the I/O port from the I/O Watch Configuration-Offset display and hit the Remove Watch button. If a watch is present it will be removed.
Add Watch Select the Port you want to watch and hit the Add Watch button. A watch will be inserted and shown in the main watch window in HWAccess. The new watch is subject to the data type selected. Supported types are 8,16 and 32bit wide. If the contents of the watch change they  will be displayed in the watch window of HWAccess.
Delete I/O watches Removes all I/O watches.
Disable I/O watches Disables all I/O watches.
Enable I/O watches Enables all I/O watches. You can disable the I/O watches, modify the sampling period and re-enable them. The monitor process checks the period setting on every sample so sampling period changes will take effect immediately assuming the apply period button is pressed.
Apply Watch Period Applies the watch period selected within the sampling period display. Changes take effect immediately for active watches.
Execute Script Executes the script in the list. Only the script lines that are set will be executed. The executed script once complete will show the results under the main view of HWAccess.
Check Timings Tests the port described in the I/O performance-Port section and displays the Time taken to execute a single I/O operation. Port latency is displayed in nSecs.
Execute Line Executes the selected script line from the I/O script list. Only the highlighted line will be executed. The display port offsets are updated automatically upon step execution. This is a fast way to change the monitor port. The cells of the script list for the associated line are updated. The main HWAccess view remains the same. The later is only updated with the Execute Script command.

Script Engine

The I/O Script table is a list of I/O operations and various commands. The user has the ability to add, remove and configure entries. This section includes the basic steps to write and change simple scripts. Few more scripts are included with the HWAccess package one of them performs PCI I/O access. Each field in the script table is described below:

 

 

 

ID

This is the Identifier field. Each entry has an identifier. The Identifier number indicates the entry number in the table. Identifiers are always shown in ascending order. If you delete or insert an entry in the script table the identifiers are adjusted and therefore operations that refer to entries like the Goto Entry ID must be adjusted by the user.
On the left side of the identifier there is a state box which controls the behavior of each entry. The available states are:

Port

The Port field specifies the port that will be accessed. Acceptable values for this field are in the range of 0x0000-0xFFFF when the entry is used for all Input/Output operations with the exception of Port Offset. For the Port Offset operation this field is in signed decimal format and the acceptable values are 0 to 32767. To edit the Port field Mouse left-click the Port field under an entry. This procedure will switch the table to edit mode. Modify the value and hit enter to accept the changes. This field is not available for Goto Entry ID, Wait operations.

Operation

The Operation field specifies the command the script engine will execute. For every new entry this is the first field the user must modify because the other fields depend on its value. To select an operation for an entry Mouse right-click under the Operation field within the entry row to bring up the operations menu and select the desired operation. See also I/O Operations for details and examples.

Data

The Data field defines the data that will be used for this script line by the specified Operation. Its value differs for each operation. For Input/Output related operations this specifies the port R/W data. For the Goto Entry ID operation it specifies the ID the script engine will go to. For Data Offset operations this is a decimal offset to be added to the last Write Operation found. Acceptable values for this field are in the range of 0x00000000-0xFFFFFFFF when the entry is used for all Input/Output operations except Data Offset, Goto Entry ID and Wait operations. For the Port Offset operation this field is in signed decimal format and the acceptable values are in the 32bit range (0-2G). To edit the Data field Mouse left-click the Data field under the entry you want to modify. This procedure will switch the table to edit mode. Modify its value and hit enter to accept the changes.

Mask

The Mask field specifies the Mask operand the script entry will use in conjunction with the Mask Data. For every new entry this field is initialized to None which means the Mask is disabled. To select a Mask for an entry Mouse right-click under the Mask field within the entry row to bring up the Mask menu and select the desired Mask. See also I/O Masks for details.

Mask Data

The Mask Data field defines the mask that will be applied to the Data field during execution of the script line. For Input operations the mask is applied after the input operation is complete. For Output operations the mask data is applied before the operation. To edit the Mask Data field Mouse left-click the Mask Data field under the entry you want to modify. This procedure will switch the table to edit mode. Modify its value and hit enter to accept the changes.

Loop

The Loop field defines the how many times the operation will be executed. It is an editable field and applies to all operations. Acceptable range is in the 32bit range (0 to 4G). This value shows always in unsigned decimal format. To edit the Loop field Mouse left-click the Loop field under the entry you want to modify. This procedure will switch the table to edit mode. Modify its value and hit enter to accept the changes.

Type

The Type field specifies the Data Type to be used during an I/O operation. The script engine applies this field to Data and Mask Data fields before executing the script line. For every new entry this field is initialized to BYTE. To select a Type for an entry Mouse right-click under the Type field within the entry row to bring up the Type menu and select the desired Data Type. See also Data Types for details.

Wait

The Wait field defines how long the script entry will wait before executing. Its value is in mSecs and is applicable to all operations except the Goto Entry ID. Acceptable range is in the 32bit range (0 to 4G). This value shows always in unsigned decimal format. To edit the Wait field Mouse left-click the Wait field under the entry you want to modify. This procedure will switch the table to edit mode. Modify its value and hit enter to accept the changes.

Script Masks

A number of masks are available for I/O operations. This section describes the use and functionality on each one. To bring up the available masks select a script entry then Mouse right-click the Mask field. The mask field and mask data are used with Input, Output, Port Offset, Data Offset and Event operations. With the current version of the Generic I/O DLL the following mask options are available:

Script examples and further information for the script operators can be found unde the DLL I/O Scripts section.

Static Configuration Options

There is a performance option for the I/O library to select the size in bytes of the Performance operations. This is used in conjunction with the timing check control. The library will access I/O base address for the number of bytes specified within the the block size box.

.
(c) 2003-2004 ® . All rights Reserved.