IP Library Patent Application 13741180
Patent Application
App. No. 13/741,180

GENERATING UNIQUE RANDOM NUMBERS FOR MULTIPLE INSTANTIATIONS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/741,180
Abstract

In a first embodiment of the present invention, a method for generating a random number for an instance of a hardware description language definition is provided, the method comprising: generating a unique signature for the instance; applying a message digest generation process on the unique signature to arrive at a message digest having a fixed length; and applying a random number generation process on the message digest.

Claims (50)

1 . A method for generating a random number for an instance of a hardware description language definition, the method comprising:

generating a unique signature for each instance of the hardware description language definition;

applying a message digest generation process on the unique signature to arrive at a message digest having a fixed length for each unique signature; and

applying a random number generation process on the message digests;

wherein each calling of a hardware description language simulation module description results in the generation of a random number without interaction with any other instance of the hardware description language definition.

2 . The method of claim 1 , wherein the generating includes:

determining a path for the instance; and

converting the path to a unique signature.

3 . The method of claim 2 , wherein the converting the path includes

converting a path name corresponding to each node in the path to a numerical code; and

concatenating the numerical codes corresponding to each node in the path together to form a unique signature.

4 . The method of claim 3 , wherein the numerical code is extended American Standard Code for Information Interchange (ASCII) code.

5 . The method of claim 1 , further comprising:

generating a composite unique signature based upon the generated unique signature and the current time.

6 . The method of claim 5 , wherein the generated composite unique signature is also based upon a user-specified seed.

7 . The method of claim 6 , wherein the generating a composite unique signature includes concatenating the generated unique signature and the user-specified seed, and exclusive-ORing the result with the current time.

8 . The method of claim 5 , wherein the applying a message digest generation process utilizes the composite unique signature.

9 . The method of claim 1 , wherein the message digest generation process is a Message Digest Algorithm, 5 (MD5) process.

10 . The method of claim 1 , further comprising reducing the length of the message digest prior to applying a random number generation process on the message digest.

11 . The method of claim 10 , wherein the reducing the length includes performing an XOR operation between the lower and the upper 32 bits of the message digest and using the result as a reduced message digest.

12 . The method of claim 10 , wherein the reducing the length includes:

(a) exclusive ORing the lowest 32 bits and the upper 32 bits of the message digest;

(b) NOT XORing the next highest 32 bits of the message digest with the result from (a); and

(c) exclusive ORing the highest 32 bits of the message digest with the result from (b).

13 . A method for generating a random number for an instance of a hardware description language definition, the method comprising:

generating a unique signature for the instance;

generating a composite unique signature based upon the generated unique signature and the current time;

applying a message digest generation process on the composite unique signature to arrive at a message digest having a fixed length; and

applying a random number generation process on the message digest.

14 . The method of claim 13 , wherein the generating of the unique signature includes:

determining a path for the instance; and

converting the path to a unique signature.

15 . The method of claim 13 , wherein the generated composite unique signature is also based upon a user-specified seed.

16 . The method of claim 13 , wherein the generating a composite unique signature includes concatenating the generated unique signature and the user-specified seed, and exclusive-ORing the result with the current time.

17 . The method of claim 13 , wherein the applying a message digest generation process utilizes the composite unique signature.

18 . The method of claim 13 , wherein the message digest generation process is a Message Digest Algorithm, 5 (MD5) process.

19 . The method of claim 13 , further comprising reducing the length of the message digest prior to applying a random number generation process on the message digest.

20 . The method of claim 19 , wherein the reducing the length includes performing an XOR operation between the lower and the upper 32 bits of the message digest and using the result as a reduced message digest.

21 . The method of claim 19 , wherein the reducing the length includes:

(a) exclusive ORing the lowest 32 bits and the upper 32 bits of the message digest;

(b) NOT XORing the next highest 32 bits of the message digest with the result from (a); and

(c) exclusive ORing the highest 32 bits of the message digest with the result from (b).

22 . A hardware description language simulation module comprising:

a unique signature generator configured to generate a unique signature for an instance of a hardware description language definition;

a message digest generator configured to apply a message digest generation process on the unique signature to arrive at a message digest having a fixed length; and

a random number generator configured to apply a random number generation process on the message digest;

wherein each calling of the hardware description language simulation module results in the generation of a random number without interaction with any other instance of the hardware description language definition.

23 . The hardware description language simulation module of claim 22 , wherein the hardware description language simulation module is called from within the instance of the hardware description language definition.

24 . The hardware description language simulation module of claim 22 , wherein the unique signature is based on a path of the instance in a hierarchy of hardware description language definition paths.

25 . The hardware description language simulation module of claim 22 , further comprising a composite signature generator generating a composite unique signature based upon the generated unique signature and the current time, wherein the message digest generator applies the message digest generation process on the composite signature to arrive at the message digest.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 034069-0494) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: PLX TECHNOLOGY, INC.
Reel/Frame 037682/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2015
From: PLX TECHNOLOGY, INC.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035615/0767 →
PATENT SECURITY AGREEMENT Recorded Oct 28, 2014
From: PLX TECHNOLOGY, INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 034069/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2013
From: MITRA, SWAPNAJIT
To: PLX TECHNOLOGY, INC.
Reel/Frame 029625/0266 →