当前位置: 首页 > news >正文

FPGA设计 时空变换

1、时空变换基本概念

        1.1、时空概念简介

                时钟速度决定完成任务需要的时间,规模的大小决定完成任务所需要的空间(资源),因此速度和规模就是FPGA中时间和空间的体现。

                如果要提高FPGA的时钟,每个clk内组合逻辑所能做的事通常就越简单,因此实现同样的逻辑会造成资源的膨胀。

                由于clk的提高,对资源的排列关系的要求就越紧凑,可是资源的膨胀会导致资源占用率的提高,增大布线的难度。

        1.2、时空变换

                1.2.1、时域优化

                        逻辑化简

                                逻辑化简是最基本的冗余去除利器,无论是针对组合逻辑还是时序逻辑,亦或是针对时域或者空域,逻辑化简会给所有方面带来好处。因为逻辑简化了,实现该功能的逻辑门和触发器就会减少,因此组合逻辑和时序逻辑中的冗余都被剔除。

                        空域方面的颠倒现象

                                有时候逻辑上的化简并不会为最终的资源占用带来好处,例如以下逻辑:

F = ABC + AB\overline{C} + A\overline{B}C +\overline{ A}BC ,化简得到F = AB + AC + BC

化简后的组合逻辑显然会消耗更少的逻辑门,但对于4输入1输出LUT的FPGA而言,对资源的占用没有任何影响。

                                有时候,逻辑上的化简甚至会带来更多的资源消耗。

                        时域方面的颠倒现象

                                有时候逻辑的化简并不会为最终的FPGA时序带来好处,例如

F = (AB + BC)AC 化简为F = ABC

化简对于FPGA时序指标没有任何影响。

                        

                        结构调整

                                结构调整是提高时序性能的另一种方式,它是在不改变原有组合逻辑功能单元的前提下,通过改变其内部逻辑门之间的连接关系,来达到减少逻辑门级数的目的,进而提高时序。

        现在有同步输入总线A B C D         :

        HDL code

                

always@( posedge sys_clk )
beginSUM    <=    A + B + C + D    ;
end

                这样子电路会有三个串联的adder,时序延时就是3T;

always@( posedge sys_clk )
beginSUM    <=    (A + B) + (C + D)    ;
end

                这样子 A + B 和 C + D 就会同时运算,时序延时为 2T。

                        分布调整

                                分布调整又叫时间调整(retiming),通过移动工作的时间来提高完成的延时。

                1.2.2、空域优化

                        逻辑化简:剔除明显且过分的组合逻辑冗余。

                        资源合并:

                        分时复用:

                        静态重构:有多个bit时,可选择不同的配置

                        动态重构:

                   

                1.2.3、时间换空间

                        逻辑合并:

                        提速复用:提高模块的clk来实现

                        

                1.2.4、空间换时间

                        模块复制

                                同频模块复制

                                降频模块复制

                        流水线

                


http://www.mrgr.cn/news/100377.html

相关文章:

  • 【Go语言】RPC 使用指南(初学者版)
  • java 富文本转pdf(支持水印)
  • DeepSeek智能时空数据分析(三):专业级地理数据可视化赏析-《杭州市国土空间总体规划(2021-2035年)》
  • 桌面端开发技术栈选型:开启高效开发之旅
  • 线程池单例模式
  • gem5-gpu教程04 高速缓存一致性协议和缓存拓扑
  • (六)RestAPI 毛子(外部导入打卡/游标分页/内存缓存/批量提交/Quartz后台任务/Hateoas Driven)
  • DataStreamAPI实践原理——计算模型
  • 前端面试宝典---vue实现简化版
  • 上位机知识篇---寻址方式
  • 2025蓝桥省赛c++B组第二场题解
  • Spring Bean生命周期原理、常见的后处理器实现
  • C#中常见的设计模式
  • 【Linux应用】交叉编译环境配置,以及最简单粗暴的环境移植(直接从目标板上复制)
  • Unity接入火山引擎/豆包大模型文生图,实现AI绘画
  • WSL 安装过程整理
  • K8S Service 原理、案例
  • OpenCV --- 图像预处理(七)
  • Adruino:传感器及步进电机
  • 移动通信行业术语