Bridge Circuit Synchronizing Transactions Across Multiple Busses
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In integrated circuit systems, synchronizing transactions across multiple busses with different communication protocols is challenging, particularly when ensuring proper precedence and preventing further transactions until all outstanding transactions are completed.
Innovation Solution
A bridge circuit configuration that processes transactions from a master unit, stalls and executes a fence command only when both portions of transactions are completed, using fence commands and stall signals to synchronize activities across multiple busses, ensuring that all transactions are resolved before proceeding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple busses with different communication protocols are used to connect functional blocks within an SoC, then the adaptability and versatility of the system is improved, but the complexity of synchronizing transactions across these busses increases
Solution Approach 1:
A bridge circuit is introduced as an intermediary component between multiple busses with different communication protocols. The bridge circuit translates and coordinates transactions between busses, managing protocol conversions and synchronization. This intermediary handles the complexity of multi-protocol coordination centrally, allowing functional blocks to communicate across different protocols without each block needing to implement complex synchronization logic.
Solution Approach 2:
The bridge circuit implements feedback mechanisms by monitoring the state of transactions on multiple busses and adjusting its behavior accordingly. It tracks outstanding transactions, detects completion status, and controls the timing of protocol conversions based on real-time bus states. This feedback-driven approach ensures proper synchronization without requiring predetermined timing arrangements.
2Reliability
If fence commands are used to stall and execute transactions in sequence across multiple busses, then the reliability of transaction precedence is improved, but the time required to complete transactions increases
Solution Approach 1:
The bridge circuit performs preliminary actions by pre-coordinating fence command execution across multiple busses. Before allowing transactions to proceed, the bridge circuit proactively stalls pending transactions and prepares the bus system for synchronized execution. This preliminary coordination ensures that when fence commands are executed, all necessary transactions are already in the correct state, preventing the need for repeated stalling and re-synchronization.
Solution Approach 2:
The bridge circuit dynamically adjusts its transaction handling based on real-time bus conditions. Rather than using fixed, conservative timing arrangements that would increase transaction completion time, the circuit monitors bus states and adapts its stalling and execution timing dynamically. This allows the system to maintain reliable transaction precedence while minimizing unnecessary delays.
3Reliability
If all outstanding transactions are verified as completed before executing fence commands, then the system integrity is improved, but the complexity of tracking and verifying transactions increases
Solution Approach 1:
The bridge circuit is designed as a multi-functional unit that simultaneously handles protocol conversion, transaction tracking, completion verification, and fence command execution across multiple busses. Rather than having separate dedicated circuits for each function, the single bridge circuit performs all these tasks, reducing overall system complexity while maintaining comprehensive transaction verification for system integrity.
Data Source
AI summary
Embodiments of a bridge unit and system are disclosed that may allow for processing fence commands send to multiple bridge units. Each bridge unit may process a respective portion of a plurality of transactions generated by a master unit. The master unit may be configured to send a fence command to each bridge unit, which may stall the processing of the command. Each bridge unit may be configured to determine if all transactions included in its respective portion of the plurality of transactions has completed. Once each bridge unit has determined that all other bridge units have received the fence command and that all other bridge units have completed their respective portions of the plurality of transactions that were received prior to receiving the fence command, all bridge units may execute the fence command.


