The present invention adds capabilities to a Hardware Verification Language (HVL) which facilitate the generation of random test data. Sources of random numbers are easily produced by simply adding a randomness attribute to a variable declaration of a class definition. Such variables are called random variables. A "randomize" method call may be made to an instance of the class definition to produce random values for each random variable. The values assigned to random variables are controlled using constraint blocks, which are part of the class definition. A constraint block is comprised of constraint expressions. The constraint expressions may impose a linear ordering in which random variable values must be assigned and this dependency is expressed by directed acyclic graphs (DAGs). The constraint expressions constraining each random variable are converted into ranges of permissible values from which a value is chosen at random. Rather than selecting a value for each random variable from within one of its ranges, as done for the randomize method, each boundary method call sequentially selects a combination of boundary values, for each random variable, from each random variable's set of ranges. By selecting a boundary value for each random variable of the instance, in a coordinated fashion, all combinations of boundary values can be produced through successive calls to the boundary function. As with the randomize method, since random variables may depend upon each other, the selection of a boundary value for one random variable may change the selection of boundary values available for other random variables.

Присытствыющий вымысел добавляет возможности к языку проверки оборудования (hvl) облегчают поколение данных по проверки наугад. Источники случайных номеров легко произведены просто добавлять атрибут randomness к переменному объявлению определения типа. Такие перемеююые вызваны произвольнаяой переменнаи. "хаотизируйте" звонок метода смогите быть сделано к примеру определения типа произвести случайно значения для каждый произвольнаяой переменнаи. Значениями заданными к произвольнаяой переменнаи будут controlled используя блоками ограничения, которые будут часть определения типа. Блок ограничения состоится из выражений ограничения. Выражения ограничения могут навести линейный приказывать в которые значения произвольнаяой переменнаи необходимо задать и эта зависимость выражена сразу ациклическими диаграммами (dAGs). Выражения ограничения ограничивая каждый произвольнаяой переменнаи преобразованы в ряды допустимых значений от значение выбрано наугад. Rather than выбирающ значение для каждый произвольнаяой переменнаи от не познее одного из своих рядов, как сделано для метода хаотизировать, каждый звонок метода границы последовательн выбирает комбинацию значений границы, для каждый произвольнаяой переменнаи, от каждого комплекта произвольнаяой переменнаи рядов. Путем выбирать значение границы для каждый произвольнаяой переменнаи примера, в координируемом способе, все комбинации значений границы можно произвести через последовательные звоноки к функции границы. Как с методом хаотизировать, в виду того что произвольнаяой переменнаи могут зависеть на себе, выбор значения границы для один произвольнаяой переменнаи может изменить выбор значений границы имеющихся для другие произвольнаяой переменнаи.

 
Web www.patentalert.com

< (none)

< Emulation suspend mode with differing response to differing classes of interrupts

> Context switching for vector transfer unit

> (none)

~ 00068