Emulator Partition Remapping for Multi-User Design Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In hardware emulation environments, compilation inefficiencies and resource conflicts lead to slow and inefficient design loading, particularly in multi-user scenarios where designs may not properly load due to resource unavailability or faults, causing bottlenecks in system verification.

Innovation Solution

A system and method that dynamically remaps a user design from one emulator resource to another, automatically determining availability and reallocating resources such as partitions and clocks without interrupting ongoing emulation, allowing for real-time remapping and flexible partition sizing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a design is compiled and loaded into a specific partition in the emulator, then the design can be emulated, but if the partition is unavailable or faulty, the design cannot load and must be re-compiled, causing time loss

Engineering Contradiction:
Improvedesign loading reliabilityVSAvoidre-compilation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary checks of partition availability and health status before attempting to load a design. The emulator checks whether the requested partition is available and free of faults before committing to the load operation, preventing failed loads and subsequent re-compilation needs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The emulator acts as an intermediary between the design compilation process and the physical hardware partitions. It maintains a mapping layer that can dynamically reassign designs to different partitions, decoupling the compilation process from specific hardware resources and enabling automatic failover.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple users compile designs targeting the same emulator resources, then resource utilization increases, but resource conflicts occur causing designs to fail to load

Engineering Contradiction:
Improveresource utilizationVSAvoiddesign loading success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The emulator implements dynamic resource allocation where partition assignments are not fixed but can change at runtime. When a resource conflict is detected or a partition becomes unavailable, the system dynamically remaps affected designs to different partitions, allowing multiple users to share resources without conflicts.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the mapping parameters between designs and partitions dynamically. Instead of static allocation, the emulator modifies the assignment relationships in real-time based on availability, enabling high resource utilization while maintaining loading success rates through automatic reassignment.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If the emulator uses fixed partition assignments, then compilation is simpler, but flexibility to handle unavailability and faults is reduced

Engineering Contradiction:
Improvecompilation simplicityVSAvoidresource allocation flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The emulator divides the hardware resources into distinct partitions and maintains separate mapping information for each partition. This segmentation allows the system to manage individual partition availability independently while preserving the simplicity of working with discrete, well-defined resource units during compilation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8214192B2Resource remapping in a hardware emulation environment
Publication Date: 2012.07.03 SIEMENS INDUSTRY SOFTWARE INC
  • US8214192B2 patent drawing
  • US8214192B2 patent drawing
  • US8214192B2 patent drawing

AI summary

A system and method is disclosed in an emulation environment that dynamically remaps user designs. In one embodiment, a request is received to load an integrated circuit design to be emulated in a desired partition within the emulator. The emulator automatically determines the availability of the partition requested. If the partition is not available, the design is dynamically remapped to a different partition that is available. In another embodiment, clocks associated with the integrated circuit design are also dynamically remapped. In yet another embodiment, the user can control the size of the partitions (e.g., the number of printed circuit boards in a partition).