# US 8,543,368 B1 · Method and system for testing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,368 B1
- Document ID: US8543368B1
- Status: Granted
- Kind: B1
- Application number: 12/536,126
- Filed: 2009-08-05
- Granted: 2013-09-24
- Earliest claimed: 2008-08-05
- Assignees: Marvell Israel (M.I.S.L) Ltd.
- Applicants: Henri Sznajder; Muhannad Ghanem
- Inventors: Henri Sznajder; Muhannad Ghanem
- Web page: https://patentgrep.com/patent/US8543368B1

## CPC

- G01R 31/318357: {Simulation (computer simulation of digital circuits G06F30/3308)}
- G01R: MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES (indicating correct tuning of resonant circuits H03J3/12)

## Abstract

Aspects of the disclosure provide methods and systems for improving test generation using constraint solving problem (CSP) techniques. A test method can include modeling a circuit as logic constraints to correlate outputs of the circuit as logic functions of inputs of the circuit, pre-determining at least a value constraint that specifies a desired output value for an output of the circuit, and solving input values for the inputs to satisfy the logic constraints for the circuit and the value constraint of the output.

## Claims

### Claim 1

A method for testing a switch device, comprising:
receiving, by a processor, logic constraints for modeling switching circuitry of the switch device, the logic constraints being configured to correlate egress ports of the switch device as logic functions of packets input to the switch device;
receiving, by the processor, a predetermined egress port that constrains a desired egress port from which the input packets are output from the switch device; and
determining, by the processor, at least one set of parameter values including at least ingress port identifications for inputting packets to satisfy the logic constraints and the egress port constraint, wherein the determining includes using a constraint solving problem (CSP) engine to solve a circuit model having an input interface, a first stage, a first-second interface, a second stage, a second-third interface, and an output interface, each of the stages being configured to receive stage inputs from an interface coupled to a previous stage, and provide stage outputs to an interface coupled to a next stage.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining, by the processor, the set of parameter values for inputting packets to satisfy the logic constraints and the egress port constraint, further comprises:
starting a constraint solving problem (CSP) engine to solve the set of parameter values to satisfy the logic constraints and the egress port constraint.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
implementing the logic constraints and the egress port constraint in the CSP engine.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining, by the processor, the set of parameter values for inputting packets to satisfy the logic constraints and the egress port constraint, further comprises:
determining at least one of a media access control (MAC) address and an ingress port.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
applying the determined set of parameter values to at least an input packet.

### Claim 6 (depends on 5)

The method of claim 5, wherein applying the determined set of parameter values to the input packet, further comprises:
computing an egress port in a circuit design of the switch device in response to the input packet; and
comparing the egress port with the pre-determined egress port to verify the circuit design.

### Claim 7 (depends on 5)

The method of claim 5, wherein applying the determined set of parameter values to the input packet, further comprises:
inputting the input packet having the determined set of parameter values to the switch device; and
detecting an egress port from which the input packet is output.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
comparing the egress port with the pre-determined egress port.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
storing the determined set of parameter values and the pre-determined egress port.

### Claim 10

A system for verifying a design of a switch device, comprising:
a plurality of processors executing a module of a directed random constraint solving problem (CSP) engine to generate at least a set of parameter values including at least ingress port identifications for inputting packets to the switch device based on logic constraints that correlate egress ports of the switch device as logic functions of the input packets, and a pre-determined egress port that constraints a desired egress port for the input packets, wherein the CSP engine includes solving a circuit model having an input interface, a first stage, a first-second interface, a second stage, a second-third interface, and an output interface, each of the stages being configured to receive stage inputs from an interface coupled to a previous stage, and provide stage outputs to an interface coupled to a next stage; and
the plurality of processors executing a module of a simulator to simulate inputting at least an input packet having the generated set of parameter values to the design of the switch device, and compute an egress port for the input packet based on the design.

### Claim 11 (depends on 10)

The system of claim 10, wherein the plurality of processors executing the module of the directed random CSP engine is further configured to generate at least one of a media access control (MAC) addresses and an ingress port number.

### Claim 12 (depends on 11)

The system of claim 11, further comprising:
a comparator unit configured to compare the computed egress port with the desired egress port.

### Claim 13 (depends on 12)

The system of claim 12, further comprising:
a memory unit configured to store the generated set of parameter values and the desired egress port.

### Claim 14 (depends on 10)

The system of claim 10, wherein
the plurality of processors executes instructions to determine legal values for variables to satisfy constraints of the variables.

### Claim 15

A system for validating a switch device, comprising:
a plurality of processors executing a module of a directed random constraint solving problem (CSP) engine to generate at least a set of parameter values including at least ingress port identifications for inputting packets to the switch device based on logic constraints that correlate egress ports of the switch device as logic functions of the input packets, and a pre-determined egress port that constrains a desired egress port for the input packets, wherein the CSP engine includes solving a circuit model having an input interface, a first stage, a first-second interface, a second stage, a second-third interface, and an output interface, each of the stages being configured to receive stage inputs from an interface coupled to a previous stage, and provide stage outputs to an interface coupled to a next stage; and
a tester unit configured to input at least one packet having the generated set of parameter values to the switch device and detect an egress port of the switch device from which the packet is output.

### Claim 16 (depends on 15)

The system of claim 15, wherein the plurality of processors executing the module of the directed random CSP engine is configured to generate at least one of a media access control (MAC) address and an ingress port number.

### Claim 17 (depends on 16)

The system of claim 16, further comprising:
a comparator unit configured to compare the detected egress port and the desired egress port.

### Claim 18 (depends on 17)

The system of claim 17, further comprising:
a memory unit configured to store the generated set of parameter values and the desired egress port.

### Claim 19 (depends on 15)

The system of claim 15, wherein
the plurality of processors executes instructions to determine legal values for variables to satisfy constraints of the variables.
