Daisy-Chain Register Configuration for Wiring Congestion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The configuration of a large number of configurable registers in programmable electronic devices leads to wiring congestion, timing violations, and increased silicon area due to the high number of connecting wires required, which is exacerbated by the need for extensive physical wiring.
Innovation Solution
Implementing a daisy-chain configuration approach where slave configuration controllers manage groups of configurable registers, reducing the number of wires needed to 2×(n+2), independent of the number of registers, and incorporating error-detecting circuits to report soft errors dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a configuration controller directly connects to a large number of configurable registers, then each register can be accessed individually with unique addresses, but the number of connecting wires becomes very large causing wiring congestion
Solution Approach 1:
The configurable registers are divided into multiple groups, with each group managed by a dedicated slave configuration controller. This segmentation reduces the wiring burden on each controller while maintaining individual access capability through hierarchical addressing (group address + register address within group).
Solution Approach 2:
Slave configuration controllers act as intermediaries between the master configuration controller and the configurable registers. The master controller issues commands to slave controllers, which then handle the actual register access, reducing the direct wiring requirements between the master and individual registers.
2Adaptability or versatility
If each configurable register is connected with multiple wires for read and write operations, then full dual-port access is enabled, but the wiring congestion increases significantly
Solution Approach 1:
The read and write operations are segmented between master and slave controllers. The master controller handles operation initiation and high-level control, while slave controllers handle the actual data transfer to and from registers, distributing the wiring requirements across multiple components.
Solution Approach 2:
Slave configuration controllers are designed to handle multiple functions including read operations, write operations, and error detection for multiple registers within their groups, reducing the need for dedicated wiring for each function.
3Reliability
If error detection capability is added to detect soft errors in configurable registers, then system reliability is improved, but the device complexity and wiring requirements increase
Solution Approach 1:
The error detection function is merged into the slave configuration controllers, which already manage the configurable registers. This integration allows error detection to be performed using the existing control and data pathways without requiring separate dedicated error detection hardware for each register.
Solution Approach 2:
The slave configuration controllers autonomously perform error detection on the registers they manage, generating error signals without requiring additional external error detection circuitry. This self-service approach reduces overall system complexity.
Data Source
AI summary
A new approach is proposed which contemplates system and method for configuring a plurality of configurable registers in a programmable digital processing engine of a network device. Under the proposed approach, one or more slave configuration controllers (SCC) are utilized to configure a large number of configurable registers in a programmable engine, wherein each SCC is used to configure a plurality of configurable registers, which are organized in multiple configuration groups. The configurable registers in each configuration group are connected in a looped one-way daisy chain. During its operation, each of the slave configuration controllers is configured to receive instructions from a user via a master configuration controller (MCC), performs read or write operations on the configurable registers of one of the configuration groups as designated by the instructions from the user. Here, each of these configurable registers is equipped with an error-detecting circuit to detect dynamic soft errors; and any detected error is promptly reported back to the user through its SCC and the corresponding MCC so that the user is aware of the error at run-time.


