Allocating Multiple RAMs to FPGA Block RAM
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In FPGA-based development, the cost of circuit design is significantly influenced by the price of FPGA devices, particularly due to the limited number of block RAMs, which often requires the use of higher-grade devices or external RAMs, leading to increased costs and design complexities.
Innovation Solution
A design apparatus that allocates multiple RAMs to a single FPGA block RAM in either the word or bit direction, generating control circuits in hardware description language to allow each RAM to be accessed as a single unit, optimizing RAM usage and reducing the need for additional resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a higher-grade FPGA device with more block RAMs is used, then the RAM capacity is improved, but the device cost increases
Solution Approach 1:
The patent merges multiple small-capacity block RAMs into a single large-capacity logical RAM by implementing a RAM pool management mechanism. The CAD tool automatically partitions and maps multiple physical block RAMs to form a unified address space, allowing the design to achieve large RAM capacity without using a higher-grade FPGA device.
Solution Approach 2:
The patent creates a universal RAM pool that can be dynamically allocated to multiple design entities. The block RAMs are transformed into a multi-functional resource pool that serves various memory requirements within the same FPGA device, maximizing resource utilization efficiency.
2Quantity of substance
If external RAMs are added to increase RAM capacity, then the RAM capacity is improved, but the device complexity and development cost increase
Solution Approach 1:
The patent combines multiple internal block RAMs into a unified RAM pool, eliminating the need for external RAM connections. This merging approach maintains all memory resources within the FPGA device boundaries, avoiding additional PCB complexity and external interface requirements.
3Productivity
If multiple RAMs are mapped to a single block RAM, then the RAM utilization efficiency is improved, but the control circuit complexity increases
Solution Approach 1:
The patent implements self-service mechanisms where the CAD tool automatically generates the control circuit logic for RAM pool management. The tool performs automatic address mapping, port selection, and control signal generation, eliminating the need for manual control circuit design and reducing the burden on designers.
Solution Approach 2:
The patent performs preliminary analysis and optimization of RAM allocation during the CAD stage. The tool pre-calculates the optimal mapping configuration and generates the necessary control logic before implementation, allowing the control circuit to operate efficiently without requiring complex runtime decision-making.
Data Source
AI summary
A design apparatus includes a processing unit configured to allocate a plurality of RAMs to a FPGA block RAM in at least one of a word direction and a bit direction thereof, and to generate a description, in a hardware description language, of a control circuit that controls input and output signals of each of the plurality of RAMs so as to allow each of the plurality of RAMs to be accessed as a single RAM.


