FPGA基础知识一

目录

1.时序约束

冒险和竞争

建立时间/保持时间

2. 异步复位,同步释放

3. AXI总线

4. 低功耗问题(优化资源利用率)

5. 状态机和流水线


1.时序约束

主要参考此文章:时序约束

  • 引脚约束

在课题中,出现mmc5983的错误情况,在学习了引脚约束之后,初步考虑可能是没有设置引脚的时序约束。

对于整体时序,有如下定义:

延迟约束语法主要有一下四种set_input_delay 、set_output_delay、set_max_delay、set_min_delay ,分别用于input端口和output端口,其时钟源可以是时钟输入管脚,也可以是虚拟时钟。

  • 冒险和竞争

参考此篇文章:冒险和竞争

  在组合电路中,某一输入变量经过不同途径传输后,到达电路中某一汇合点的时间有先有后,这种现象称竞争;由于竞争而使电路输出发生瞬时错误(尖峰脉冲)的现象叫做冒险。 或者说由于竞争产生的毛刺叫做冒险。

1型,0型区分

提出了4种判断冒险竞争的方法:

1. 代数法

2.卡诺图法

3. 观察法

4. 实验法(扯淡)

消除办法:

1. 滤波电容(但是其有限)

2. 引入选通脉冲,避开毛刺

3. 修改逻辑设计,增加冗余项消除逻辑冒险

4. 格雷码

  • 建立时间/保持时间

建立时间(setup time):触发器在时钟上升沿到来之前,其数据输入端的数据保持不变的最小时间。

保持时间(hold time): 触发器在时钟上升沿到来之后,其数据输入端的数据保持不变的最小时间。

建立时间保持时间时序图

建立时间和保持时间是由器件的特性决定的,当决定使用那款芯片时,就意味着建立时间和保持时间也就确定了。

亚稳态:

亚稳态与跨时钟域 - 知乎

另一篇也不错:亚稳态通俗讲解

亚稳态是一个老生常谈的话题,我想今天彻底弄明白亚稳态,主要参考上述文章。

  • 亚稳态本质就是信号来的时候,可能在建立时间之内,或者保持时间之内改变,时钟采样无法判断此时的状态,从而导致亚稳态。
  • 随着时钟频率的增加,发生亚稳态的概率也会增加,因为tsu和th的时间占比更大了。
  • 解决亚稳态的方法:
    • 用3级D触发器进行同步
    • 用FIFO进行数据缓冲
    • 使用异步复位,同步释放

2. 异步复位,同步释放

区分异步复位和同步复位:异步复位和同步复位

异步复位会导致亚稳态:因为复位信号的撤销时刻不确定,撤销时刻触发器不能判断当前rst信号是0还是1

异步复位存在恢复的时刻,因为恢复时刻的不确定,从而导致亚稳态的存在

其中定义为:

  • 恢复时间(recovery time)原本有效的复位信号释放后,与紧跟其后的第一个时钟上升沿之间的最小时间。
  • 清除时间/移除时间(removal time)时钟信号的上升沿,与紧跟其后异步复位信号从有效到无效的最小时间。

感觉和建立时间保持时间类似。

同步释放:

module rst_crtl(input    clk,input    rst_n,output   reset
);reg    rst_n0,rst_n1;
always@(posedge clk or negedge rst_n)
beginif(!rst_n)beginrst_n0 <= 0;rst_n1 <= 0;endelsebeginrst_n0 <= rst_n;rst_n1 <= rst_n0;end
endassign reset = rst_n1;

避免亚稳态,其本质处理方式还是通过多级触发器串联来控制。

3. AXI总线

主要参考以下文章:axi

分为AXI-FULL AXI-lite 和 AXI-stream

  • AXI-FULL接口

写数据流程:

其中时序图为:

握手信号,相关信号需要再理解。

读数据流程:

其中时序图为:

 其中握手过程为,不同的等待时延,握手位置不同:

不同的接口, 写地址,写数据,相应接口,有不同的valid和ready信号线。

axi等待补充:更详细的解释

  • AXI-lite接口

具体请参考:lite,简介

AXI-lite与full的区别是brust为1,一次只传送一组数据,因此取消了last,lenth等信号。

读写数据的时序都精简了不少。

  • axi-stream

参考:axi-stream

 取消了写addr的过程,别的有些许改动。

4. 低功耗问题(优化资源利用率)

fpga上的功耗主要分为:1. 芯片静态功耗;2. 设计静态功耗;3. 设计动态功耗

静态功耗的改善方式,主要是从工艺上进行修改和完善

其中设计动态功耗是我们能在算法上面解决的。

 数字IC打工人提供的思路,一二还是在硬件层面进行修改,三四是在程序层面进行修改,但是感觉显然十分浅显,对于具体的功耗,在vivado里面,可以通过配置和调整不同结构的性能设定,从而修改功耗,参考:低功耗设计

主要通过优化资源利用率:

  • FPGA动态功耗主要体现为存储器、内部逻辑、时钟、I/O消耗的功耗。因此可以调整设计来改善功耗问题。
  • 对于声学定位项目,功耗如下:

可见,占功耗最多的是PS7,arm端的程序。

降低功耗的方法:门级电路降低功耗

  • 状态机的编码和解码
  • 二进制数表示方法
  • 门控时钟
  • 独热码多路器:独热码值每个码元值只有一位是'1',其他位都是'0'
  • 除掉多余的转换
  • 使用行波加法器

对于低功耗问题,还有相关的题目总结:低功耗题目妈的真多。

chatGPT说流水线设计能够降低功耗,半信半疑,其资源占用率会很大。

5. 状态机和流水线

参考此文章:状态机和流水线

从状态机的类型上来看,状态机可以分为moore型和mealy型;
从状态机的代码实现上来看,状态机可以是一段式、二段式或三段式;

流水线是用面积换时间。

能够最大程度利用硬件资源,降低功耗。

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

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

相关文章

【AMBA】ARM总线-APB/AHB/AXI介绍

​1.总线简介 什么是总线&#xff1f;首先&#xff0c;在学习AMBA总线之前&#xff0c;我们先对总线下一个定义。根据维基百科的定义&#xff1a;总线&#xff08;Bus&#xff09;是指计算机组件间规范化的交换数据&#xff08;data&#xff09;的方式&#xff0c;即以一种通用…

【自然语言处理】【大模型】GLM-130B:一个开源双语预训练语言模型

GLM-130B&#xff1a;一个开源双语预训练语言模型 《GLM-130B: An open bilingual pre-trained model》 论文&#xff1a;https://arxiv.org/pdf/2210.02414.pdf 相关博客 【自然语言处理】【大模型】ChatGLM-6B模型结构代码解析(单机版) 【自然语言处理】【大模型】LaMDA&…

ChatGLM-6B一键安装,马上使用(windows)!!

产品特点 双语&#xff1a; 同时支持中文和英文。 高精度&#xff08;英文&#xff09;&#xff1a; 在公开的英文自然语言榜单 LAMBADA、MMLU 和 Big-bench-lite 上优于 GPT-3 175B&#xff08;API: davinci&#xff0c;基座模型&#xff09;、OPT-175B 和 BLOOM-176B。 高…

chatgpt赋能Python-python_cnocr

Python CNOCR&#xff1a;基于Python的OCR库 随着数字化时代的到来&#xff0c;越来越多的文件需要被数字化转换。这些文件包括扫描版的文档、书籍、发票等。这时OCR&#xff08;Optical Character Recognition&#xff09;技术就被广泛应用。OCR可以通过识别出图片中的字符&a…

Android TensorFlowLite sdk接入详细记录

前言 最近在研究ML的相关内容&#xff0c;开始在Android应用中接入TensorFlowLite。花了不少时间&#xff0c;添了不少坑&#xff0c;如果是裸的空项目接入还好&#xff0c;如果是现有的线上产品的接入&#xff0c;还是会有不少问题需要处理的&#xff0c;而且过程中&#xff0…

阿里云ECS云服务器搭建Docker,nginx 环境服务

步骤一&#xff1a;安装Docker CE Docker有两个分支版本&#xff1a;Docker CE和Docker EE&#xff0c;即社区版和企业版&#xff0c;本教程基于CentOS 7安装Docker CE 1 首先安装Docker 的依赖库 yum install -y yum-utils device-mapper-persistent-data lvm22 添加Docker C…

typora+picgo+阿里云配置

typorapicgo阿里云配置 typorapicgo阿里云配置1.typora2.picgo阿里云(1)端口配置(与typora的一样)(2)阿里云配置1.配置后阿里云:2.密钥管理:3.查看密钥:4.picgo配置阿里云5.typora测试picgo连接 1.typora 用的破解版 2.picgo阿里云 不知道为什么,刚开始用的picgo是2.2.2一直…

Vue打包部署到阿里云服务器

来自 <https://blog.csdn.net/u014225032/article/details/125283332> 来自 <https://blog.csdn.net/w20101310/article/details/78835668?ops_request_misc%257B%2522request%255Fid%2522%253A%2522168296374616800222874174%2522%252C%2522scm%2522%253A%25222014…

阿里云服务器安装并配置nginx代理转发请求

阿里云服务器安装并配置nginx代理转发请求 下载nginx安装包&#xff0c;或者上传nginx安装包&#xff0c;此处我用的是Xmanager工具从本地上传了一个nginx安装包。 安装依赖库 yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel yum -y install gcc …

阿里云ECS部署chat-web代理访问

1、ECS服务器申请 使用阿里云账号购买了一个美国&#xff08;弗吉尼亚&#xff09;的2C/2G的CentOS7.9 x64服务器。 2、系统版本升级 CentOS7.9默认的python和pip版本都是3.6的&#xff0c;需要升级到3.9以上&#xff0c;升级步骤百度&#xff0c;大致如下&#xff1a; wget…

2022年互联网直播行业研究报告

第一章 行业概况 自2000年后&#xff0c;随着网络时代到来&#xff0c;普及的电视直播逐渐被互联网直播取代&#xff0c;成为“直播”的代名词。近年来&#xff0c;随着互联网的高速发展与网民规模的持续增加&#xff0c;网络直播产业不断发展&#xff0c;进入更多人的视野&am…

直播软件技术介绍,能帮到你

我们公司开发的一套直播系统&#xff0c;完全自主开发的&#xff0c;是给其他公司开发的&#xff0c;外包项目。没有使用第三方的SDK。公司不做了&#xff0c;就想着把这个项目源码分享给爱技术的人。源码分为3个部分&#xff1a;服务端源码&#xff08;完整、可以成功部署&…

行业分析| 为什么互动直播可以发展如此迅速?

我国网络直播行业始于2005年&#xff0c;在2015-2016年进入爆发期。期间&#xff0c;受到政策和资本双重压力&#xff0c;直播行业迎来洗牌&#xff0c;期间&#xff0c;直播战场由PC端转向移动端&#xff0c;同时&#xff0c;各行业开始青睐直播形式&#xff0c;直播行业也由单…

直播行业迎来多元化发展

随着直播的内容表达形式逐渐被更多人所接受&#xff0c;直播渗透率不断加深&#xff0c;已经与娱乐、学习、购物、工作等越来越多场景融合在一起。 在互联网发展的下半场&#xff0c;随着头部互联网平台的布局与垂直领域应用的发展&#xff0c;直播行业将迎来更多元化的应用场…

百度内容审核实现

百度内容审核平台 Baidu-AIP的java-sdk的guithub 流程 打开百度内容审核平台 一、创建AppID、API Key及Secret Key 接入指南&#xff08;获取百度内容审核需要用到的AppID、API Key及Secret Key&#xff09; 创建后就可以得到AppID、API Key及Secret Key 二、构建百度…

【微信小程序】如何上传、提交审核、发布操作

【地址】https://jingyan.baidu.com/article/456c463b3bcd950a5831449f.html 微信小程序对个人开发者也提供无认证发布上传、提交审核、提交发布等&#xff0c;个人可以开发一些小程序发布&#xff0c;发布成功后&#xff0c;微信中也可以搜索到&#xff0c;下面小编教教大家如…

2020年5月-苹果审核新规则

自本年五月&#xff08;2020年&#xff09;起&#xff0c;很多开发者陆续收到一种全新的邮件&#xff0c;邮件内容如下&#xff0c;虽说这是APP被拒了&#xff0c;但是又没说明确的违规条款&#xff0c;这也是继2019年账号审查之后的又一大幺蛾子&#xff01;苹果只说需要更多的…

JAVA深度学习文本审核_内容审核-文本

内容审核-文本Moderation(Text)&#xff0c;基于华为自研的深度学习和内容审核模型&#xff0c;可自动识别出文本中出现的涉政、色情、广告、辱骂、灌水等内容&#xff0c;帮助客户降低业务违规风险&#xff0c;净化网络环境&#xff0c;提升用户体验 应用场景 电商评论筛查 检…

twitter推文采集案例

案例内容:twitter的推文采集。 通过游客身份获取twitter中用户的推文。 用户推文:只能翻22页,1页45条左右。 每个用户最多获取最近900条推文 (登录后),不登录区别也不大。 UserByScreenName 一般只有用户名的时候,需要先通过UserByScreenName接口获取 rest_id 用于后…

微信小程序发布审核基本步骤(带图)

本文作为烂笔头记录或小白感性认识或为客户做基础说明&#xff08;复杂性时间等&#xff09;大佬请勿费神。 微信小程序源码编辑与调试略、微信小程序注册略。 一、安装微信开发者工具 微信开发者工具下载地址与更新日志 | 微信开放文档 二、绑定微信小程序开发者 1、登录…