A method of generating a function within a logic design of a circuit, includes representing the function using an operator. The function has n operands, where n>1. The method also includes presenting the function within a schematic representation of the logic design. Other features may include displaying a dialog box and inputting data that corresponds to the function.
|
1. A method of generating a function within a logic design of a circuit, comprising:
displaying a dialog box used to define the function; representing the function using an operator, the function having n operands, where n>1; and presenting the function within a schematic representation of the logic design.
10. An article comprising a machine-readable medium which stores executable instructions to generate a function within a logic design of a circuit, the instructions causing a machine to:
display a dialog box used to define the function; represent the function using an operator, the function having n operands, where n>1; and present the function within a schematic representation of the logic design.
19. An apparatus for generating a function within a logic design of a circuit, comprising:
a memory that stores executable instructions; and a processor that executes the instructions to: display a dialog box used to define the function; represent the function using an operator, the function having n operands, where n>1; and present the function within a schematic representation of the logic design. 2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
9. The method of
17. The article of
18. The article of
20. The apparatus of
21. The apparatus of
22. The apparatus of
23. The apparatus of
24. The apparatus of
25. The apparatus of
26. The apparatus of
27. The apparatus of
|
This application claims priority from U.S. Provisional Application No. 60/315,852, filed Aug. 29, 2001, and titled "Visual Modeling and Design Capture Environment," which is incorporated by reference.
This invention relates to circuit simulation.
Logic designs for circuits typically include either schematic design or text design. A schematic design shows a circuit design with logic elements as a two-dimensional diagram. Logic elements are either state elements (e.g., flip-flops, latches, etc.) or combinatorial elements (e.g., AND gates, NOR gates, etc.). State elements provide storage from one cycle of operation to the next cycle of operation. Combinatorial elements are used to perform operations on two or more signals.
A textual representation describes the logic elements of a circuit using one-dimensional text lines. Textual representations are used in hardware description languages (HDLs) which allow designers to simulate logic designs prior to forming the logic on silicon. Examples of such languages include Verilog and Very High-Level Design Language (VHDL). Using these languages, a designer can write code to simulate a logic design and execute the code in order to determine if the logic design performs properly.
Standard computer languages may also be used to simulate a logic design. One example of a standard computer language that may be used is C++.
Referring to
Process 10 may be implemented using a computer program running on a computer 50 (
Referring to
Process 10 receives input (14) from dialog box 22. In this regard, dialog box 22 may be a graphical user interface (GUI) into which the user inputs data to generate a gate structure (see, e.g.,
Process 10 uses the binary operator selected from pull-down menu 32 to represent (16) the corresponding function. For example, if the binary operator chosen is "==", a gate 40 (
Other functions can be represented by using the following binary operator symbols:
Binary Operator Symbols | Function | Notation |
+ | Addition | a + b = c |
- | Subtraction | a - b = c |
* | Multiplication | a × b = c |
/ | Division | a ÷ b = c |
% | Modulo | a modulo b |
&& | Logical AND | a AND b |
∥ | Logical OR | a OR b |
>> | Shift Right | Take a and shift |
right by b | ||
<< | Shift Left | Take a and shift |
left by b | ||
< | Less than | Is a < b? |
<= | Less than or | Is a ≦ b? |
equal | ||
== | Equal | Is a = b? |
!= | Not equal | Is a ≠ b? |
> | Greater than | Is a > b? |
>= | Greater than or | Is a ≧ b? |
equal | ||
=== | Three state | Is a = b? |
equal | ||
!== | Three state not | Is a ≠ b? |
equal | ||
Referring to
Process 10, however, is not limited to use with the hardware and software of
Each such program may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language. The language may be a compiled or an interpreted language.
Each computer program may be stored on an article of manufacture, such as a storage medium or device (e.g., CD-ROM, hard disk, or magnetic diskette), that is readable by a general or special purpose programmable machine for configuring and operating the machine when the storage medium or device is read by the machine to perform process 10. Process 10 may also be implemented as a machine-readable storage medium, configured with a computer program, where, upon execution, instructions in the computer program cause the machine to operate in accordance with process 10.
The invention is not limited to the specific embodiments set forth above. Process 10 is not limited to using two operands. Process 10 can be used with k operands, where k>1. Process 10 is not limited to binary operators but may be any x-state operators, where x≧2. Also, process 10 is not limited to embedding one-dimensional design into a two-dimensional design. Process can be any n-dimensional design embedded into a (n+m)-dimensional design, where n≧1 and m≧1. Process 10 is not limited to the computer languages set forth above, e.g., Verilog, C++, and VHDL. It may be implemented using any appropriate computer language. Process 10 is also not limited to the order set forth in FIG. 1. That is, the blocks of process 10 may be executed in a different order than that shown to produce an acceptable result.
Other embodiments not described herein are also within the scope of the following claims.
Wheeler, William R., Fennell, Timothy J., Adiletta, Mathew J.
Patent | Priority | Assignee | Title |
7107201, | Aug 29 2001 | Intel Corporation | Simulating a logic design |
7562328, | Jan 14 2005 | Altera Corporation | Navigation tool for connectors |
7620942, | May 20 2004 | XILINX, Inc. | Method and system for parameterization of imperative-language functions intended as hardware generators |
8854067, | Aug 24 2012 | Intermolecular, Inc.; Globalfoundries, Inc. | Circular transmission line methods compatible with combinatorial processing of semiconductors |
Patent | Priority | Assignee | Title |
5128871, | Mar 07 1990 | Lattice Semiconductor Corporation | Apparatus and method for allocation of resoures in programmable logic devices |
5220512, | Apr 19 1990 | LSI Logic Corporation | System for simultaneous, interactive presentation of electronic circuit diagrams and simulation data |
5258919, | Jun 28 1990 | NATIONAL SEMICONDUCTOR CORPORATION, A CORP OF DE | Structured logic design method using figures of merit and a flowchart methodology |
5506788, | Jan 13 1994 | LSI Logic Corporation | Similarity-extraction force-oriented floor planner |
5513119, | Aug 10 1993 | RENESAS ELECTRONICS AMERICA INC | Hierarchical floorplanner for gate array design layout |
5553002, | Apr 06 1990 | LSI Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface |
5629857, | Nov 15 1994 | International Business Machines Corporation | Method and system for indicating a status of a circuit design |
5666289, | Oct 07 1992 | Bell Semiconductor, LLC | Flexible design system |
5828581, | Apr 14 1995 | NEC Electronics Corporation | Automatic layout system |
5852564, | Apr 21 1992 | The Boeing Company | Method and apparatus for interactively displaying signal information during computer simulation of an electrical circuit |
5889677, | Apr 07 1995 | Fujitsu Limited | Circuit designing apparatus of an interactive type |
5892678, | Mar 24 1994 | Matsushita Electric Industrial Co., Ltd. | LSI design automation system |
5933356, | Apr 06 1990 | LSI Logic Corporation | Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models |
5963724, | Feb 16 1996 | Synopsys, Inc | Component-based analog and mixed-signal simulation model development |
5974242, | Sep 25 1997 | The United States of America as represented by the Secretary of the Army | Methods and computer programs for minimizing logic circuit design using identity cells |
6044211, | Mar 14 1994 | ADVANCED DATA CONTROLS CORPORATION | Method for graphically representing a digital device as a behavioral description with data and control flow elements, and for converting the behavioral description to a structural description |
6053947, | May 31 1997 | Bell Semiconductor, LLC | Simulation model using object-oriented programming |
6066179, | Jun 13 1997 | University of Edinburgh | Property estimation of an integrated circuit |
6106568, | Aug 28 1996 | Synopsys, Inc. | Hierarchical scan architecture for design for test applications |
6117183, | Jan 08 1996 | Fujitsu Limited | Interactive CAD apparatus for designing packaging of logic circuit design |
6120549, | Jan 06 1997 | XILINX, Inc.; Xilinx, Inc | Method and apparatus for generating optimized functional macros |
6132109, | Apr 12 1994 | Synopsys, Inc | Architecture and methods for a hardware description language source level debugging system |
6135647, | Oct 23 1997 | Bell Semiconductor, LLC | System and method for representing a system level RTL design using HDL independent objects and translation to synthesizable RTL code |
6152612, | Jun 09 1997 | Synopsys, Inc | System and method for system level and circuit level modeling and design simulation using C++ |
6205573, | Oct 22 1997 | NEC Corporation | Delay analysis result display device |
6219822, | Aug 05 1998 | International Business Machines Corporation | Method and system for tuning of components for integrated circuits |
6233540, | Mar 13 1998 | INTERUNIVERSITAIR MICRO-ELEKTRONICA CENTRUM IMEC VZW | Design environment and a method for generating an implementable description of a digital system |
6233723, | Aug 28 1997 | VLSI Technology, Inc. | Circuit behavioral information analysis apparatus and a method of analyzing behavioral information of a circuit |
6234658, | Jun 07 1996 | POWERPRECISE SOLUTIONS, INC | Method and apparatus for producing signal processing circuits in the delta sigma domain |
6236956, | Feb 16 1996 | Synopsys, Inc | Component-based analog and mixed-signal simulation model development including newton step manager |
6260179, | Oct 23 1997 | Columbus Steel Castings Company | Cell arrangement evaluating method, storage medium storing cell arrangement evaluating program, cell arranging apparatus and method, and storage medium storing cell arranging program |
6272671, | Sep 11 1998 | Bell Semiconductor, LLC | Extractor and schematic viewer for a design representation, and associated method |
6298468, | May 04 1999 | PROSPER DESIGN SYSTEMS PTE, LTD | Placement-based pin optimization method and apparatus for computer-aided circuit design |
6311309, | Oct 28 1996 | Altera Corporation | Methods and apparatus for simulating a portion of a circuit design |
6324678, | Apr 06 1990 | LSI Logic Corporation | Method and system for creating and validating low level description of electronic design |
6366874, | May 24 1999 | Synopsys, Inc | System and method for browsing graphically an electronic design based on a hardware description language specification |
6378115, | Jun 19 1998 | SOCIONEXT INC | LSI manufacturing method and recording medium for storing layout software |
6401230, | Dec 04 1998 | ALTERA CORPORATIN | Method of generating customized megafunctions |
6449762, | Oct 07 1999 | SYNOPSYS, INC , A DELAWARE CORPORATION | Maintaining correspondence between text and schematic representations of circuit elements in circuit synthesis |
6457164, | Mar 27 1998 | XILINX, Inc. | Hetergeneous method for determining module placement in FPGAs |
6477683, | Feb 05 1999 | TENSILICA, INC | Automated processor generation system for designing a configurable processor and method for the same |
6477689, | Jun 13 2001 | Gula Consulting Limited Liability Company | Architectural structure of a process netlist design tool |
6480985, | Aug 26 1998 | Mentor Graphics Corporation | Method and apparatus for graphically presenting an integrated circuit design |
6487698, | May 04 2001 | Bell Semiconductor, LLC | Process, apparatus and program for transforming program language description of an IC to an RTL description |
6505341, | Nov 10 1998 | SCIENTRONIX, INC | System and method for programming a logic control unit |
6519742, | Mar 06 2000 | SYNOPSYS, INC , A DELAWARE CORPORATION | Local naming for HDL compilation |
6519755, | Aug 16 1999 | APACHE DESIGN SOLUTIONS, INC | Method and apparatus for logic synthesis with elaboration |
20010018758, | |||
20020023256, | |||
20020042904, | |||
20020046386, | |||
20020049957, | |||
20020166100, | |||
20030005396, | |||
20030016206, | |||
20030016246, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 12 2001 | WHEELER, WILLIAM R | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012479 | /0309 | |
Dec 13 2001 | ADILETTA, MATTHEW J | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012479 | /0309 | |
Dec 13 2001 | FENNELL, TIMOTHY J | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012479 | /0309 | |
Jan 04 2002 | Intel Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 15 2005 | ASPN: Payor Number Assigned. |
Sep 15 2005 | RMPN: Payer Number De-assigned. |
Sep 14 2007 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 07 2011 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 23 2015 | REM: Maintenance Fee Reminder Mailed. |
Mar 16 2016 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 16 2007 | 4 years fee payment window open |
Sep 16 2007 | 6 months grace period start (w surcharge) |
Mar 16 2008 | patent expiry (for year 4) |
Mar 16 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 16 2011 | 8 years fee payment window open |
Sep 16 2011 | 6 months grace period start (w surcharge) |
Mar 16 2012 | patent expiry (for year 8) |
Mar 16 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 16 2015 | 12 years fee payment window open |
Sep 16 2015 | 6 months grace period start (w surcharge) |
Mar 16 2016 | patent expiry (for year 12) |
Mar 16 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |