IP Library Granted Patent US 7,788,078
Granted Patent B1
US 7,788,078 · App. 11/069,496 · Granted Aug 31, 2010

Processor/memory co-exploration at multiple abstraction levels

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 7,788,078
App. No.
11/069,496
Granted
Aug 31, 2010
Kind
B1
Abstract

Processor/memory co-exploration at multiple abstraction levels. An architecture description language (ADL) description of a processor/memory system is accessed. The ADL description models on one of a plurality of abstraction levels. The abstraction levels may include a functional (or bit-accurate) level and a cycle-accurate level. Further, a communication protocol for the processor/memory system is accessed. The communication protocol is formed from primitives, wherein a memory interface formed from the primitives is useable in simulation at the abstraction levels. A processor/memory simulation model is automatically generated from the description and description of the communication protocol. The processor/memory simulation model comprises a processor/memory interface comprising the primitives and based on the communication protocol. The memory interface allows simulation of the processor/memory on the appropriate abstraction level for the simulation. For example, the processor/memory interface may be a functional interface or a cycle-accurate interface.

Claims (22)

1. A computer-implemented method of facilitating processor/memory co-exploration, said method comprising:

accessing a description of a processor in an architecture description language, wherein said architectural description language models said processor on one or more of a plurality of abstraction levels;

accessing a description of a memory system in said architectural description language, wherein said architectural description language models said memory system on said one or more of said plurality of abstraction levels;

accessing a description of a communication protocol formed from primitives, suitable for said one or more of said plurality of abstraction levels; and

automatically generating a processor/memory system simulation model from said description of said processor said memory system and said communication protocol, wherein said processor/memory system simulation model comprises a processor simulation model, a memory system simulation model and a processor/memory interface coupling said processor core simulation model and said memory system simulation model.

2. A method as recited in claim 1 , wherein said processor/memory interface comprises a bit accurate interface.

3. A method as recited in claim 2 , wherein said one of said plurality of abstraction levels is a bit accurate model.

4. A method as recited in claim 1 , wherein said processor/memory interface comprises a cycle accurate interface.

5. A method as recited in claim 4 , wherein said one of said plurality of abstraction levels is a cycle accurate model.

6. A computer-implemented system embedded in a computer readable medium and for processor/memory co-exploration, said system comprising:

memory interface primitives; and

a simulation generator for automatically generating a processor/memory simulation from a description of a processor in an Architecture Description Language a description of a memory system in said Architecture Description Language and one or more communication protocols, wherein said one or more communication protocols are formed by the composition and sequence of one or more of said memory interface primitives, and wherein said processor/memory simulation includes a processor simulation model, a memory system simulation model and said communication interface at one or more of a plurality of abstraction levels.

7. A system as recited in claim 6 , further comprising a memory module library operable to describe memory on multiple abstraction levels in said Architecture Description Language description of a processor/memory system.

8. A system as recited in claim 6 , wherein said memory interface primitives are operable to adapt custom memory models to said memory interface primitives for integration into said Architecture Description Language description of said processor/memory system.

9. A system as recited in claim 6 , wherein one of said multiple abstraction levels comprise a functional level.

10. A system as recited in claim 6 , wherein one of said multiple abstraction levels comprise a cycle-accurate level.

11. A system as recited in claim 6 , wherein said communication interface comprises a functional interface.

12. A system as recited in claim 6 , wherein said communication interface comprises a cycle accurate interface.

13. A system as recited in claim 6 , wherein a processor simulation model in said processor/memory simulation is attachable to a memory simulation environment by adapting said communication protocol to said memory simulation environment.

14. A system as recited in claim 13 , wherein memory simulation environment comprises a black box memory simulator.

15. A system as recited in claim 13 , wherein memory simulation environment comprises a hardware emulator.

16. A system as recited in claim 13 , wherein memory simulation environment comprises a SystemC model.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2011
From: COWARE, LLC
To: SYNOPSYS, INC.
Reel/Frame 025754/0505 →
CHANGE OF NAME Recorded Jan 26, 2011
From: COWARE, INC.
To: COWARE, LLC
Reel/Frame 025703/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2010
From: BRAUN, GUNNAR; ZERRES, OLAF; NOHL, ACHIM; HOFFMANN, ANDREAS
To: COWARE, INC.
Reel/Frame 023894/0799 →
SECURITY AGREEMENT Recorded Jan 2, 2008
From: COWARE, INC.
To: SILICON VALLEY BANK
Reel/Frame 020308/0157 →
SECURITY AGREEMENT Recorded Jan 2, 2008
From: COWARE, INC.
To: GOLD HILL VENTURE LENDING 03, L.P.; SILICON VALLEY BANK
Reel/Frame 020308/0236 →