Circular Queue Prioritized Reads Multiplexer Tree
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Circular queues in integrated circuits lack an efficient mechanism for prioritizing reads, leading to suboptimal data retrieval and potential reading of invalid data, especially in applications requiring sequential data buffering and processing.
Innovation Solution
A circular queue with a priority circuit and multiplexer tree that generates selection signals based on valid bits to prioritize data retrieval, ensuring the oldest valid data is read by assigning higher priority to storage locations with set valid bits closest to the read pointer or the beginning address if none are set beyond it.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a simple read pointer mechanism is used in a circular queue, then the device complexity is low, but the reliability of data retrieval deteriorates due to potential reading of invalid data
Solution Approach 1:
The read mechanism is segmented into multiple priority levels (first priority, second priority, third priority read ports), each with its own selection logic. The priority circuit divides the storage locations into different priority groups based on valid bit status and read pointer position, allowing independent selection at each priority level rather than a single unified selection mechanism.
Solution Approach 2:
A priority circuit is introduced as an intermediary component between the storage locations and read ports. This circuit generates selection signals based on valid bits and read pointer position, mediating the selection process to ensure that valid data is prioritized. The multiplexer tree also acts as an intermediary, translating priority signals into actual data path selections.
2Productivity
If storage locations are prioritized based on valid bits and read pointer position, then the productivity of data retrieval is improved, but the device complexity increases due to priority circuits and multiplexer trees
Solution Approach 1:
Valid bits are set in advance for each storage location when data is written, preparing the priority circuit with all necessary information about which locations contain valid data. The read pointer position is continuously maintained and updated, providing real-time information about the current read position without requiring complex search or validation logic during the read operation itself.
Solution Approach 2:
The complex mechanical search and validation process is replaced with electronic signal processing. The priority circuit uses logical operations on valid bits and read pointer positions to generate selection signals, and the multiplexer tree uses these signals to automatically route the correct data path. This electronic substitution eliminates the need for sequential searching or complex control logic that would otherwise be required.
3Adaptability or versatility
If multiple priority levels are implemented for different read ports, then the adaptability of the circular queue is improved, but the device complexity increases due to additional priority circuits and multiplexers
Solution Approach 1:
Multiple priority selection logic functions are merged into a single integrated priority circuit that serves all read ports. Instead of having separate priority circuits for each read port, one priority circuit generates selection signals for all priority levels, and the multiplexer tree structure is shared across all read ports. This merging reduces the total number of components while maintaining full multi-port functionality.
Data Source
AI summary
A circular queue implementing a scheme for prioritized reads is disclosed. In one embodiment, a circular queue (or buffer) includes a number of storage locations each configured to store a data value. A multiplexer tree is coupled between the storage locations and a read port. A priority circuit is configured to generate and provide selection signals to each multiplexer of the multiplexer tree, based on a priority scheme. Based on the states of the selection signals, one of the storage locations is coupled to the read port via the multiplexers of the multiplexer tree.


