IP Library Granted Patent US 8,140,313
Granted Patent B2
US 8,140,313 · App. 12/022,309 · Granted Mar 20, 2012

Techniques for modeling variables in subprograms of hardware description language programs

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,140,313
App. No.
12/022,309
Granted
Mar 20, 2012
Kind
B2
Abstract

A method, system and computer program product for modeling variables in subprograms of a HDL program. A subprogram is provided with an initial value of a variable of an element being modeled and the subprogram is stored in memory of a data processing system. In response to a subprogram call, a copy of the stored subprogram is provided to the requesting HDL program. During execution, the initial value of the variable in the provided copy of the subprogram may be modified by the HDL program, but the value retains unchanged in the stored subprogram.

Claims (32)

1. A method for modeling a variable of an element in a Hardware Description Language (HDL) subprogram of a HDL program, the method comprising:

providing the HDL subprogram with an initial value of the variable;

storing the HDL subprogram containing the initial value of the variable;

in response to a call to the HDL subprogram, executing, by a computer processor, the HDL subprogram by:

providing to the HDL program a copy of the stored HDL subprogram comprising a copy of the variable, wherein the value of the copy of the variable is the initial value, and

modifying, in the copy of the HDL subprogram, the value of the copy of the variable from the initial value to a second value, while the value of the variable in the stored HDL subprogram remains the initial value,

wherein the initial value of the variable is retained in the stored HDL subprogram during and after execution of the copy of the stored HDL subprogram.

2. The method of claim 1 , wherein the element is one of a sequential circuit, a circuit component, a property of a circuit component, and an iterative procedure.

3. The method of claim 2 , wherein the element is a counter.

4. The method of claim 2 , wherein the element is a signal sampling procedure.

5. A data processing system, comprising:

a memory containing a code of a Hardware Description Language (HDL) program having a HDL subprogram in which an initial value of a variable of an element is stored; and

a processor executing the code to:

provide the HDL subprogram with an initial value of the variable,

store in the memory the HDL subprogram containing the initial value of the variable,

in response to a call to the subprogram, execute the subprogram by:

providing a copy of the HDL subprogram for execution to the HDL program comprising a copy of the variable, wherein the value of the copy of the variable is the initial value, while the value of the variable in the stored HDL subprogram remains the initial value, and

modifying, in the copy of the stored HDL subprogram, the value of the copy of the variable from the initial value to a second value,

wherein the initial value of the variable is retained in the HDL subprogram in the memory during and after execution of the copy of the HDL subprogram.

6. The data processing system of claim 5 , wherein the element is one of a sequential circuit, a circuit component, a property of a circuit component, and an iterative procedure.

7. The data processing system of claim 6 , wherein the element is a counter.

8. The data processing system of claim 6 , wherein the element is a signal sampling procedure.

9. A computer program product for modeling of a variable of an element in a Hardware Description Language (HDL) subprogram of a HDL program, said computer program product comprising a tangible computer readable storage device comprising:

computer program code for providing the HDL subprogram with an initial value of a variable of the element;

computer program code for storing the HDL subprogram containing the initial value of the variable;

computer program code for, in response to a call to the subprogram, executing the subprogram by:

providing to the HDL program a copy of the stored HDL subprogram comprising a copy of the variable, wherein the value of the copy of the variable is the initial value, and

modifying, in the copy of the stored HDL subprogram, the value of the copy of the variable from the initial value to a second value, while the value of the variable in the stored HDL subprogram remains the initial value

wherein the initial value of the variable is retained in the stored HDL subprogram during and after execution of the copy of the stored subprogram.

10. The computer program product of claim 9 , wherein the element is one of a sequential circuit, a circuit component, a property of a circuit component, and an iterative procedure.

11. The computer program product of claim 10 , wherein the element is a counter.

12. The computer program product of claim 10 , wherein the element is a signal sampling procedure.

Assignments (3)
MERGER AND CHANGE OF NAME Recorded Jun 18, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 057261/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2013
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 029733/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2008
From: DRASNY, GABOR; EL-ZEIN, ALI S.; ROESNER, WOLFGANG; ZARAKET, FADI A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020437/0833 →