Browse Prior Art Database

Method of Simulating Dependent And Independent Requests

IP.com Disclosure Number: IPCOM000101887D
Original Publication Date: 1990-Sep-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 2 page(s) / 83K

Publishing Venue

IBM

Related People

Bui, DK: AUTHOR [+4]

Abstract

It is very difficult to efficiently generate the test cases required to test all the interactions between requests to a block of complex logic. This method of testing has the ability to generate and verify dependent and independent requests to a block of logic. The request state machines are set up as subroutines. There is one subroutine for each type of request. Multiple requests can use the same subroutine. The requests are kept separate by passing the subroutine its local variables and the request number each time it is called. The subroutine will return its new local variables to the main program. Global variables can be used for communication between different state machines.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Method of Simulating Dependent And Independent Requests

       It is very difficult to efficiently generate the test
cases required to test all the interactions between requests to a
block of complex logic.  This method of testing has the ability to
generate and verify dependent and independent requests to a block of
logic.  The request state machines are set up as subroutines.  There
is one subroutine for each type of request.  Multiple requests can
use the same subroutine. The requests are kept separate by passing
the subroutine its local variables and the request number each time
it is called.  The subroutine will return its new local variables to
the main program. Global variables can be used for communication
between different state machines.

      The software subroutines can also generate unique data patterns
for each request.  The purpose of unique data patterns is to detect
data routing and buffering bugs in the logic.  Each state machine can
have checking code in it. The checking code will verify that request
completed correctly.

      This method of testing will generate random dependent and
independent requests.  In this method, simulation state machines
emulate the logic that drives the memory cards. The state machines
have local and global variables.  The global variables are used to
indicate to a state machine how many previous state machines are
active (how many previous requests are not complete).

      Consider a memory card design with four types of read/write
requests:  4-transfer read, 8-transfer read, 4-transfer write, and 8-
transfer write.  There can only be 2 pending read/write requests on
the memory bus.  Therefore, the start of each of these requests is
dependent on there being less than 2 pending requests.  If two
requests are pending, then the next request must wait until one of
the previous requests is complete (it is dependent on that request
completing).

      The memory cards also get refresh requests.  Refreshes are
generated at random intervals from the end of the last refresh.  The
refreshes are independent of the other requests.  Therefore, the
refresh state machine does not need to share global v...