Emulator Partition Remapping for Multi-User Design Loading
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Ease of manufacture
If the emulator uses fixed partition assignments, then compilation is simpler, but flexibility to handle unavailability and faults is reduced
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.
Data Source
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).


