Clock Wrapper for Dual-Clock Domain Co-Simulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional single clock wiring schemes in hardware co-simulation limit the ability to provide specific clock frequencies required by processor-based systems, leading to issues such as clock jitter and failure to meet timing requirements, especially when designing complex systems like video-processing engines and system-on-chip (SoC) designs.
Innovation Solution
A dual-clock scheme is implemented, where a clock wrapper generates separate clock inputs for custom logic and processor systems, allowing independent clocking and facilitating communication through a shared memory interface and bus adapter, enabling the use of programmable devices to simulate circuit models with asynchronous clock domains.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single clock wiring scheme is used in hardware co-simulation, then the system structure is simplified, but the ability to provide specific clock frequencies required by processor-based systems is limited
Solution Approach 1:
The patent divides the single clock domain into multiple independent clock domains by introducing separate clock inputs (clk0 and clk1) for different system components. The processor system receives clock clk0 while custom logic receives clock clk1, allowing each component to operate at its required frequency independently. This segmentation resolves the contradiction by maintaining structural simplicity through modular clock distribution while enabling versatile frequency provision for different components.
2Device complexity
If a single clock wiring scheme is used, then the device structure is simpler, but clock jitter and timing requirements cannot be met
Solution Approach 1:
By segmenting the clock distribution into separate independent clock inputs (clk0 for processor, clk1 for custom logic), the patent eliminates clock jitter propagation that would occur in a single shared clock domain. Each component receives a dedicated clock signal that can be independently stabilized and tuned, ensuring timing requirements are met while keeping the overall structure relatively simple through modular clock management.
3Ease of manufacture
If a single clock wiring scheme is used, then the system is easier to implement, but processor and custom logic must share the same clock frequency
Solution Approach 1:
The patent implements segmentation of the clocking system by providing separate clock inputs (clk0 and clk1) that can be independently configured. This allows the processor system and custom logic to operate at different frequencies as required by their respective specifications, while the implementation remains straightforward through the use of standard clock distribution techniques and existing hardware co-simulation infrastructure.
4Device complexity
If a single clock wiring scheme is used, then the clock distribution is simpler, but cascaded DCM components introduce undesired clock jitters
Solution Approach 1:
By segmenting the clock distribution into separate independent paths (clk0 to processor, clk1 to custom logic), the patent eliminates the need for cascaded Digital Clock Manager (DCM) components that would be required in a single-clock architecture to handle different frequency requirements. Each independent clock path can be directly connected to its target component without intermediate conversion stages, thereby eliminating the clock jitter that would be introduced by cascaded DCM components while maintaining relatively simple clock distribution.
Data Source
AI summary
Method and apparatus for modeling processor-based circuit models are described. Some examples relate to designing a circuit model having a processor system and custom logic. A bus adapter coupled to a bus of the processor system is generated. A shared memory interface between the custom logic and the bus adapter is generated. The shared memory interface includes a memory map for the processor system. A clock wrapper having a first clock input and a second clock input is generated. The first clock input drives the custom logic and first shared memory of the shared memory interface. The second clock input drives the processor system.


