IP Library Granted Patent US 8,370,411
Granted Patent B2
US 8,370,411 · App. 12/723,403 · Granted Feb 5, 2013

Generating unique random numbers for multiple instantiations

View Patent ↗
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 8,370,411
App. No.
12/723,403
Granted
Feb 5, 2013
Kind
B2
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 (54)

1. A method for generating a random number for an instance of a hardware description language definition, the method comprising executing computer instructions stored on a memory device, which further comprises:

generating, by the processor, a unique signature for the instance;

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

applying, by the processor, a random number generation process on the message digest;

wherein the generating includes:

determining a path for the instance, and

converting the path to a unique signature; and

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.

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

3. The method of claim 1 , further comprising:

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

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

5. The method of claim 4 , 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.

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

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

8. 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.

9. The method of claim 8 , 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.

10. The method of claim 8 , 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).

11. A hardware description language simulation module comprising computer instructions stored on a memory device and executable by a computer processor, which, when executed, provide:

a unique signature generator to generate, by the processor, a unique signature for an instance of a hardware description language definition, the unique signal generator configured to:

determine a path for the instance, and

convert the path to a unique signature; and

wherein the convert the path includes:

convert a path name corresponding to each node in the path to a numerical code, and

concatenate the numerical codes corresponding to each node in the path together to form a unique signature;

a message digest generator configured to apply, by the processor, 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, by the processor, a random number generation process on the message digest.

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

13. The hardware description language simulation module of claim 11 , 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.

14. An apparatus for generating a random number for an instance of a hardware description language definition, comprising:

means for generating a unique signature for the instance wherein the means for generating a unique signature for the instance includes means for:

determining a path for the instance, and

converting the path to a unique signature; and

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;

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

means for applying a random number generation process on the message digest.

15. The apparatus of claim 14 , further comprising means for reducing the fixed length of the message digest prior to passing the message digest to the means for applying a random number generation process.

16. A non-transitory program storage device readable by a machine tangibly embodying a program of instructions executable by the machine to perform a method for generating a random number for an instance of a hardware description language definition, the method comprising executing computer instructions stored on a memory device, which further comprises:

generating, by the processor, a unique signature for the instance;

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

applying, by the processor, a random number generation process on the message digest;

wherein the generating includes:

determining a path for the instance, and

converting the path to a unique signature; and

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.

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 Mar 12, 2010
From: MITRA, SWAPNAJIT
To: PLX TECHNOLOGY, INC.
Reel/Frame 024075/0924 →