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、空域优化

                1.2.3、时间换空间

                1.2.4、空间换时间

                        模块复制

                                同频模块复制

                                降频模块复制

                        流水线

                

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/78235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

增加首屏图片

增加首屏图片&#xff08;bg.jpg&#xff09; web-mobile类型打包 //index.html脚本 <div id"myDiv_1111"style"background: url(./bg.jpg) 50% 50%/ 100% auto no-repeat ; width:100%;height:100%;position:absolute;"></div> //游戏内脚本…

贪心算法~~

目录 一、理论基础 二、题目练习 &#xff08;1&#xff09;455. 分发饼干 &#xff08;2&#xff09;53. 最大子数组和 - 力扣 &#xff08;3&#xff09;122. 买卖股票的最佳时机 II - 力扣&#xff08;LeetCode&#xff09; &#xff08;4&#xff09;860. 柠檬水找零…

形象解释 HTTP 的四种常见请求方式及其中的区别联系

HTTP 的常见请求方式常见的有四种&#xff1a;GET、POST、PUT、DELETE&#xff0c;它们各自的功能不一样。 &#x1f35c; 场景比喻&#xff1a;HTTP 请求像“去餐厅点菜” 请求方式行为餐厅比喻说明GET获取数据看菜单/问服务员&#xff1a;你们有什么菜&#xff1f;不带食材、…

string的基本使用

string的模拟实现 string的基本用法string的遍历&#xff08;三种方式&#xff09;&#xff1a;关于auto&#xff08;自动推导&#xff09;:范围for: 迭代器普通迭代器(可读可改&#xff09;const迭代器&#xff08;可读不可改&#xff09; string细小知识点string的常见接口引…

kubernetes》》k8s》》证书有效期

cd /etc/kubernetes/pki openssl x509 -in apiserver.crt -text -noount通常&#xff0c;Kubernetes的证书是由kubeadm生成的&#xff0c;所以可能需要修改kubeadm的源码或者配置 登录Master节点 》》》默认延续1年 # 查看证书 检查证书有效期 # 该命令显示 /etc/kubernetes…

LangChain LCEL表达式语言简介

LangChain表达式语言&#xff08;LCEL&#xff09;是专为构建AI应用链设计的声明式编程框架&#xff0c;通过管道符|实现组件无缝衔接&#xff0c;支持流式处理、异步调用等生产级特性。其核心优势在于零代码改动实现原型到生产的过渡&#xff0c;同时保持代码简洁性和可维护性…

【计算机视觉】CV实践项目- 基于PaddleSeg的遥感建筑变化检测全解析:从U-Net 3+原理到工程实践

基于PaddleSeg的遥感建筑变化检测全解析&#xff1a;从U-Net 3原理到工程实践 技术背景与项目意义传统方法的局限性深度学习的优势 核心技术与算法原理U-Net 3架构创新全尺度跳跃连接深度监督机制 变化检测技术路线 实战指南&#xff1a;从环境搭建到模型部署环境配置数据准备与…

万字长文 | Apache SeaTunnel 分离集群模式部署 K8s 集群实践

文章作者&#xff1a;雷宝鑫 整理排版&#xff1a;白鲸开源 曾辉 Apache SeaTunnel官网链接: https://seatunnel.apache.org/ Apache SeaTunnel(以下简称SeaTunnel&#xff09;是一款新一代高性能、分布式的数据集成同步工具&#xff0c;正受到业界广泛关注和应用。SeaTunnel支…

深入解析YOLO v1:实时目标检测的开山之作

目录 YOLO v1 算法详解​ ​1. 核心思想​ ​2. 算法优势​ ​3. 网络结构&#xff08;Unified Detection&#xff09;​​ ​4. 关键创新​ ​5. 结构示意图&#xff08;Fig1&#xff09;​ Confidence Score 的计算​ 类别概率与 Bounding Box 的关系​ 后处理&…

信令与流程分析

WebRTC是h5支持的重要特征之一&#xff0c;有了它&#xff0c;不再需要借助音视频相关的客户端&#xff0c;直接通过浏览器的Web页面就可以实现音视频聊天功能。 WebRTC项目是开源的&#xff0c;我们可以借助WebRTC&#xff0c;构建自己的音视频聊缇娜功能。无论是前端JS的Web…

BIOS主板(非UEFI)安装fedora42的方法

BIOS主板(非UEFI)安装fedora42的方法 现实困难&#xff1a;将Fedora-Workstation-Live-42-1.1.x86_64.iso写入U盘制作成可启动U盘启动fedora42&#xff0c;按照向导将fedora42安装到真机的sda7分区中得到报错如下内容&#xff1a; /boot/efi 必需的 /boot/efi必须位于格式化为e…

安卓 Compose 相对传统 View 的优势

安卓 Compose 相对传统 View 的优势 文章目录 安卓 Compose 相对传统 View 的优势1. 引言2. 核心概念&#xff1a;Compose的革新性设计2.1 Jetpack Compose2.2 传统安卓View系统 3. 开发体验&#xff1a;Compose大幅提升效率3.1 使用Jetpack Compose构建UI3.2 使用传统View系统…

SIEMENS PLC 程序 GRAPH 程序解读 车型入库

1、程序载图1 2、程序截图2 3、程序解释 这是一个基于西门子 GRAPH 编程的车型 1 入库顺序控制流程图&#xff0c;通过状态机结构&#xff08;状态框 S 与转移条件 T&#xff09;描述完整工作流程&#xff0c;具体如下&#xff1a; 整体流程概述 初始化&#xff1a;从 S1&am…

VuePress可以做什么?

VuePress 可以做什么 VuePress 是一个基于 Vue.js 的静态站点生成器,专注于文档和内容展示。它结合了 Markdown 的简洁性和 Vue 的灵活性,适合多种场景的开发需求。以下是 VuePress 的主要用途和功能: 1. 技术文档网站 VuePress 最初是为编写 Vue.js 官方文档而设计的,因…

架构-系统可靠性分析与设计

一、可靠性相关基本概念 1. 可靠性与可用性 可靠性&#xff1a;软件系统在遇到错误、意外操作或系统故障时&#xff0c;仍能维持自身功能特性的能力。 举例&#xff1a;手机银行APP在用户误操作&#xff08;如快速点击多次转账&#xff09;时&#xff0c;仍能正确处理交易并避…

再谈String

1、字符串常量池 1.1 创建对象的思考 下面是两种创建字符串对象的代码 public static void main1(String[] args) {String s1 "hello";String s2 "hello";System.out.println(s1 s2);//trueString s3 new String("hello");String s4 new …

《深入浅出ProtoBuf:从环境搭建到高效数据序列化》​

ProtoBuf详解 1、初识ProtoBuf2、安装ProtoBuf2.1、ProtoBuf在Windows下的安装2.2、ProtoBuf在Linux下的安装 3、快速上手——通讯录V1.03.1、步骤1&#xff1a;创建.proto文件3.2、步骤2&#xff1a;编译contacts.proto文件&#xff0c;生成C文件3.3、步骤3&#xff1a;序列化…

基于PHP+Uniapp的互联网医院源码:电子处方功能落地方案

随着“互联网医疗”政策红利持续释放&#xff0c;互联网医院已成为推动医疗数字化转型的重要方向。在这一趋势下&#xff0c;电子处方功能模块作为核心环节&#xff0c;不仅直接关系到线上问诊闭环的实现&#xff0c;也成为系统开发中技术难度较高、业务逻辑最为复杂的一部分。…

ARM Cortex-M (STM32)如何调试HardFault

目录 步骤 1: 实现一个有效的 HardFault 处理程序 步骤 2: 复现 HardFault 并使用调试器分析 步骤 3: 解读故障信息 步骤 4: 定位并修复源代码 HardFault 是 ARM Cortex-M 处理器中的一种异常。当处理器遇到无法处理的错误&#xff0c;或者配置为处理特定类型错误&#xff…

基于归纳共形预测的大型视觉-语言模型中预测集的**数据驱动校准**

摘要 本研究通过分离共形预测&#xff08;SCP&#xff09;框架&#xff0c;解决了大型视觉语言模型&#xff08;LVLMs&#xff09;在视觉问答&#xff08;VQA&#xff09;任务中幻觉缓解的关键挑战。虽然LVLMs在多模态推理方面表现出色&#xff0c;但它们的输出常常表现出具有…