Configurable Storage Blocks with Embedded FIFO and LIFO Circuitry
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional configurable storage blocks in integrated circuits are limited to a pure memory use model, leading to underutilization of available blocks, as only a portion of user designs perform memory operations, and they do not efficiently support implementation of FIFO or LIFO modules, resulting in resource inefficiency and potential routing congestion.
Innovation Solution
A modified configurable storage block with additional circuitry, including a control block and memory array, that allows for efficient implementation of FIFO and LIFO modules by providing random access, FIFO, and LIFO access modes, reducing the need for specific logic and routing resources and enabling deterministic timing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional configurable storage blocks are used with pure memory use model, then simple memory operations are supported, but resource utilization is low and routing congestion occurs
Solution Approach 1:
The configurable storage block is enhanced to support multiple access modes including random access, FIFO (first-in first-out), and LIFO (last-in first-out) operations. This multi-functionality allows a single storage block to serve various purposes in different user designs, significantly improving resource utilization and reducing the need for separate logic blocks and routing resources.
Solution Approach 2:
The storage block incorporates a control circuit that can dynamically switch between different access modes (RAM mode, FIFO mode, LIFO mode) based on operational requirements. This dynamic reconfigurability enables the block to adapt to different application needs without requiring physical reconfiguration, thereby optimizing resource usage while maintaining manageable complexity through software-controlled flexibility.
2Adaptability or versatility
If FIFO or LIFO modules are implemented using conventional storage blocks, then specialized functionality is achieved, but logic resource usage increases and routing becomes complex
Solution Approach 1:
The storage block integrates dedicated control circuitry that enables FIFO and LIFO operations natively within the block structure. By incorporating these specialized access patterns directly into the storage block's control logic, the design eliminates the need for separate FIFO/LIFO logic modules and reduces routing complexity compared to implementing these functions using conventional memory blocks with external control logic.
Solution Approach 2:
The control circuit is merged with the storage array to provide integrated FIFO and LIFO functionality. This merging combines the storage function with the sequence control function into a single unified block, reducing the overall number of components and routing paths required compared to separate implementations of storage and control logic.
3Adaptability or versatility
If multiple access modes are added to storage blocks, then functionality and flexibility improve, but control circuit complexity increases
Solution Approach 1:
The control circuit uses dynamic mode selection mechanisms to switch between RAM, FIFO, and LIFO operations based on operational requirements. By implementing this dynamic reconfiguration capability, the control circuit can manage complexity through software-controlled state changes rather than requiring separate hardwired control logic for each mode, thereby maintaining flexibility while controlling hardware complexity.
Solution Approach 2:
A unified control circuit is designed to handle all three access modes (random access, FIFO, LIFO) through a single control unit that receives mode selection signals and configures the storage block accordingly. This universal control approach consolidates control logic into one block rather than requiring separate control circuits for each access mode, managing overall complexity while providing versatile functionality.
Data Source
AI summary
An integrated circuit may have configurable storage blocks. A configurable storage block may include a memory array and a control circuit. The configurable storage block may receive a mode selection command. The control circuit may determine to operate the configurable storage block in a first mode which may provide random access to the memory array or in a second mode which may provide access to the memory array in a predefined order based on the mode selection command. Thus, the configurable storage block may implement first-in first-cut modules or last-in first-out modules and variations thereof in addition to implementing memory modules with random access.


