Mapping Flip-Flop Logic to Shift Register for FPGA Area Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In integrated circuit design, particularly for FPGAs, there is a need to reduce the implementation area occupied by chains of flip-flops, as they consume more resources compared to equivalent shift register logic, leading to scarce resource utilization in programmable logic devices.
Innovation Solution
A method and apparatus that map flip-flop logic onto shift register logic by instantiating a shift register and multiplexer in the logical description, allowing the selection among the shift register's output, asserted, and de-asserted logic states based on control chains, thereby reducing the implementation area.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If chains of flip-flops are used to implement shift register functionality, then the circuit design can be implemented in FPGA, but the implementation area occupied increases significantly
Solution Approach 1:
The invention changes the fundamental parameter of implementation from using N individual flip-flops to using a single shift register primitive with N stages. This parameter change transforms the implementation from a distributed structure (multiple flip-flops) to a consolidated structure (one shift register), thereby reducing the implementation area while maintaining the same functionality.
Solution Approach 2:
The invention merges N separate flip-flop instances into a single shift register primitive. By combining multiple discrete elements into one integrated component, the implementation area is reduced from the sum of individual flip-flop areas to a single shift register area, which is more area-efficient in FPGA resources.
2Area of stationary object
If shift register primitives are used instead of flip-flop chains, then the implementation area is reduced, but the control logic complexity increases
Solution Approach 1:
The invention introduces control chains as intermediary structures that manage the complexity of controlling the shift register primitive. These control chains act as mediators between the control signals and the shift register, organizing the control logic in a structured manner that reduces the overall complexity compared to directly controlling N flip-flops.
Solution Approach 2:
The shift register primitive provides multi-functionality by replacing N individual flip-flops while maintaining compatibility with existing flip-flop-based designs. The universal control interface and standardized behavior allow the shift register to perform both traditional flip-flop functions and advanced shift register operations, reducing area without sacrificing versatility.
3Adaptability or versatility
If more flip-flops are used in chains, then the shift register functionality is enhanced, but the resource utilization becomes more scarce
Solution Approach 1:
The invention changes the resource consumption parameter from linear scaling (N flip-flops for N stages) to constant scaling (one shift register primitive for any number of stages). This parameter change allows enhanced shift register functionality with more stages while consuming the same amount of FPGA resources, thereby improving resource utilization efficiency.
Solution Approach 2:
The invention transitions from a one-dimensional approach ( chaining flip-flops sequentially) to a two-dimensional approach (using a single shift register primitive that internally manages multiple stages). This dimensional change allows the system to provide enhanced functionality in the functional dimension while maintaining constant resource consumption in the physical dimension.
Data Source
AI summary
Method and apparatus for mapping flip-flop logic onto shift register logic is described. In one example, a method of processing flip-flop logic in a circuit design for implementation in an integrated circuit is provided. A chain of flip-flops in the circuit design is identified. The chain of flip-flops includes first and second control signals. A shift register is instantiated in a logical description of the circuit design for the chain of flip-flops. A shift register is instantiated in the logical description for the chain of flip-flops. First and second control chains of flip-flops are instantiated in the logical description for the first and second control signals, respectively. A multiplexer is instantiated in the logical description and is configured to select among an output of the shift register, an asserted logic state, and a de-asserted logic state based on outputs of the first and second control chains.


