FPGA设计实战演练.高级技巧篇-----读书笔记

news2024/10/5 13:46:38

第一章 从PCB开始研究FPGA设计问题

一、PCB布线

1、要求

·对所有器件进行电源滤波,均匀分配电源,降低系统噪声。

·匹配信号线,减小信号反射。

·降低并行走线之间的串扰。

·减小地反弹效应。

·进行阻抗匹配。

2、微带传输布局,走线在PCB的顶层或底层,只有一个参考平面

3、带状传输线布局,走线在PCB内层,有两个电压参考平面

 4、阻抗控制原则:单端走线控制阻抗为50Ω;差分走线控制阻抗为100Ω。生产厂家阻抗控制的偏差范围一般为正负5%左右。

5、减小微带线或带状线布局串扰的方法是:

·在布线要求允许的范围内,尽可能地加宽信号线之间的距离。走线之间尽量不要靠

近,距离保持在介质高度的3倍以上。

·传输线设计要使导体尽可能靠近地平面。这一方法使得传输线能够与地平面紧耦

合,有助于和邻近信号去耦合。

·尽可能使用差分布线方法,特别是关键网络(例如匹配长度以及每条走线串通回

转等)。

·如果存在明显的耦合,应在不同层之间布设互相垂直的单端信号。

·减小单端信号之间并行走线的长度,以较短的并行走线布线,以减小网络之间的长

耦合走线。

6、差分走线

 二、FPGA供电

1、单调性(或线性)要求,是指在上电过程中,电源轨是单调爬升而不会掉头往下掉(也称

单调非负特性)。也就是说,电源必须始终具有正斜率(或零斜率)。

2、给电源供电设计加入电压上电顺序和电源跟踪。这来源于FPGA的I/O电压必需要在核心电压上电以后才能上电的基本规律。

3、电源和地叠层分布

 

 三、退耦电容

1、退耦电容可以在电源轨波动时为其提供少量的瞬态能量。

2、为何需要退耦电容?

可以将一个退耦电容看做是一组电阻(R)、电感(L)和电容(C)的串联组合,根据真实的RLC模型可知,电容也将在某个频率点上容抗和感抗分量彼此有效抵消。所以说,一个真实的电容将会在某个频点时阻抗最小,这个阻抗最小的点被称为电容的谐振频率,在这个点上退耦电容可以提供最佳的滤除供电干扰的能力。

第二章  如何处理逻辑设计中的时钟域

1、单比特信号跨时钟域的同步处理

1、跨时钟域(Clock Domain Crossing,CDC)是指设计中存在着两个或两个以上异步时钟

域,跨时钟域设计问题目前是逻辑设计者经常面临的问题,解决这类问题的方法被称为

CDC技术,即跨时钟域技术。

2、产生压稳态的原因:

触发器的建立时间和保持时间在时钟上升沿左右定义了一个时间窗口,如果触发器

数据输人端口上的数据在这个时间窗口内发生变化(或者数据更新),那么就会产生时序违

规。存在这个时序违规是因为建立时间要求和保持时间要求被违反了,此时触发器内部的

某个节点可能会在一个电压范围内浮动,无法稳定在逻辑0或者逻辑1状态。换句话说,如

果数据在上述窗口中被采集,触发器中的晶体管不能可靠地设置为逻辑0或者逻辑1对应

的电平上。

 3、处理亚稳态的方法

1、双触发

a、 最常见的同步器就是使用两级寄存器,即使用寄存器打两拍的方式进行同步。

 应遵循原则:

级联的寄存器必须使用同一个采样时钟。

发送端时钟域寄存器输出和接收端异步时钟域级联寄存器输入之间不能有任何其他组合逻辑。

同步器中级联的寄存器中除了最后一个寄存器外所有的寄存器只能有一个扇出,即其只能驱动下一级寄存器的输入。

b、使用三级触发器对亚稳态进行同步处理

平均故障间隔时间(MTBF),对于前面讨论到的亚稳态同步器来说,这里的故障是指一个

被传输到同步触发器的信号,当它经过第一级同步触发器时处于亚稳态,在随后的一个时钟

周期内持续保持亚稳态并被采样到第二级同步器触发器, MTBF大好,所以一般在在高速设计中使用三级触发器同步。

4、同步快速信号到慢速时钟域

1、信号可能会丢失

如果丢失信号采样值对于设计来说是不允许的,那么有两种通用的应对方法可以解决这个问题:一个是开环解决方案,确保信号在无须确认的情况下可以被采集;另一个是闭环解决方案,即在跨时钟域边界时,信号需要接收端的反馈确认。

1、开环解决方案:

图2-11所示,需要将目标信号展宽到至少超过接收时钟域的时钟周期。前文提到,最佳的脉宽是至少为采样时钟周期的1.5倍,这样跨时钟域信号将会被接收时钟域的时钟至少稳定地采样一次。

 2、闭环解决方案:

在发送时钟域将控制信号当使能信号传递,并将其同步到接收时钟域,然后接收时钟域收到使能控制信号之后,将同步的控制信号反馈到发送时钟域,发生时钟域通过另外一个同步器接收此反馈回来的控制信号,并以它作为信号正确接收的握手信号。

缺点:延迟大

5、多比特信号跨时钟域同步处理

1、在接收时钟域有一个寄存器,它需要一个加载(Load)信号和一个使能(Enable)信号来加载一个数值到寄存器。如果加载和使能信号在发送时钟域的同一个时钟沿被驱动有效(即两个控制信号需要同时有效),那么这两个控制信号之间就有可能存在产生一个小歪斜的机会,这就可能导致在接收时钟域中这两个信号被同步到不同的时钟周期。在这种情况下,数据是不能被加载到寄存器的。

解决:将加载和使能两个控制信号融合成一个单比特控制信号

2、用多周期路径规划来处理

多周期路径规划是一种通用的安全传递多比特跨时钟域信号技术。多周期路径规划是指在传输非同步数据到接收时钟域时配上一个同步的控制信号,数据和控制信号被同时发送到接收时钟域,同时控制信号在接收时钟域使用两级寄存器同步到接收时钟域,使用此同步后的控制信号来加载数据,这样数据就可以在目的寄存器被安全加载。

 3、使用FIFO结构来处理多比特时钟域信号

1、FIFO在FPGA内一般是通过封装一个双口RAM来实现。

2、用格雷码做状态机

4、多时钟域设计分区划分

1、在时钟边界划分分区

2、多时钟域分区划分后的静态时序分析

3、设计中的门控时钟行波时钟的处理

行波时钟(Ripple Clock):行波时钟是指任何由寄存器驱动的时钟,常见的行波时钟为

利用逻辑(如计数器)进行时钟分频产生的时钟。

门控时钟:Altera给出的定义是,任何由非寄存器逻辑功能驱动的时钟都是门控时钟,

这些非寄存器资源大部分是FPGA内LAB里的LUT或ALUT。门控时钟可以提供一个

时钟开关功能,当然有时候门控时钟也可以是由其他组合逻辑驱动的时钟,比如时钟多路选

择器等。

5、衍生时钟处理指导原则 

1、第一个指导原则是尽量不要使用行波或门控时钟,取而代之的是使用时钟使能或

PLL。时钟分频以及逻辑门开关时钟这类技术通常都是可以使用时钟使能和PLL来替

换的。

2、如果确实需要使用派生时钟,那么建议设计中不要有跨派生时钟域的同步数据路径。

3、如果使用Altera器件,那么在跨时钟域路径上遇到保持时间时序问题时,可以在

QuartusⅡ软件中将Optimize Hold Timing选项设置到All Paths.。具体设置方法是选择

Assignments→Settings--Fitter Settings。

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

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

相关文章

全景丨0基础学习VR全景制作,平台篇第六章:全局功能-开场提示

大家好欢迎观看蛙色平台使用教程 编辑器功能位置 1、功能说明 开场提示是指VR漫游作品加载好以后,进入到全景里面时,优先展示的图像。 PC端/移动端,均可设置起到指引用户的作用。 2、功能要用在哪? (1)场…

无人机影像处理流程

无人机由于其方便快捷,精度高等特点已经广泛应用于农田尺度的作物生长监测。尤其是近年来大疆推出了两个多光谱无人机,价格也相较便宜。但目前无人机的使用实际上需要进一步处理才能获取得到农田的基本信息,主要包括影像的校正和图像拼接&…

FME教程:GIS建筑面转CAD格式JMD,还原房屋建筑结构、层数、地物样式,shp转CAD,GIS转dwg

GIS数据转CAD数据,是经常遇到的需求,但是CAD数据形式与GIS相差甚远,因此GIS转CAD后,要还原图形样式和地物属性便成为了一个难点。 今天介绍使用FME进行shp格式房屋面数据转dwg格式的JMD图层的方法。实现房屋的地物样式、结构、层…

Android studio Activity启动模式

1.四种启动模式: 1).standard(标准模式) 特点:1.Activity的默认启动模式 2.每启动一个Activity就会在栈顶创建一个新的实例。例如:闹钟程序 缺点:当Activity已经位于栈顶时…

C#模拟实现输出进销存管理系统中的每月销售明细(实验五)

实验五:模拟实现输出进销存管理系统中的每月销售明细 任务要求: 运行程序,输入要查询的月份,如果输入的月份正确,则显示本月商品销售明细;如果输入的月份不存在,则提示“该月没有销售数据或者…

什么是企业数智化的创新加速器?

数智商业创新,使得企业的发展模式有了一个更大的跃升。在数智化转型热潮中,打造数据驱动的智慧企业,实现商业创新与转型升级,构建企业新的竞争优势成为这一阶段企业管理者的核心诉求。围绕这一核心诉求,企业关键要考虑…

javascript通过canvas实现不同时区的时钟绘制

这里使用Javascript的class和canvas技术实现时钟的绘制,并且通过类实例来实现不同时区的时间显示,增强复用性。 如下图: 一、基本知识 在绘制前,我们先熟悉下本次使用到的Canvas相关基础知识,以便后面更好理解并使用。…

Bill Gates 和 Linus Torvalds 同时推崇的编程语言,不可复制的经典

1 缘起 “我们为什么没有这样的东西?!” -- Bill Gates 1988年春天,Alan Copper坐在微软的大会议室中,给Bill Gates和微软的十几名员工做了一次著名的演示。 这是个叫做Tripod的开发工具,控制面板上面是一些按钮&…

电视剧是大众文化娱乐的载体,情感、喜剧、悬疑,你钟爱哪种题材?

电视剧作为一种重要的文化娱乐产品,一直以来都受到了人们的热爱和关注。它们通过故事情节、角色塑造、美术设计等方面的表现,向观众展现了生活中的各种情感和经历,同时也传递了一些价值观和思想观念 做为低成本的的娱乐方式,能够为…

1. 数据结构与算法概述

1. 数据结构与算法概述 1.1 什么是数据结构? 官方解释: 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及他们之间的关系和操作等相关问题的学科。 大白话: 数据结构就是把数据元素按照一定的关系组织起来的集合…

讲真的,我哭死,搞了一个画图软件

文章目录 👵回来咯👴一起画图吧👱画图软件👼项目地址 专栏Python零基础入门篇🔥Python网络蜘蛛🔥Python数据分析Django基础入门宝典🔥小玩意儿🔥Web前端学习tkinter学习笔记Excel自动…

数据结构——堆和优先队列

文章目录 前言堆堆的引入堆的定义堆的储存结构 优先队列优先队列简介优先队列的基础操作入队出队 优先队列的实现 堆的应用堆排序TOP-K问题什么是TOP-K问题TOP-K问题的排序解法TOP-K问题的堆解法 总结 前言 堆是一个比较基础,且实现起来难度也不算太大的一个数据结…

高性能RPC框架:TARS简介、设计思想、架构、特性学习

文章目录 一、TARS简介二、设计思想三、整体架构3.1 架构拓扑3.2 服务交互流程3.3 Web管理系统3.4 服务结构 四、Tars特性4.1 Tars协议4.2 调用方式4.3 负载均衡4.4 容错保护4.5 过载保护4.6 消息染色4.7 IDC分组4.8 SET分组4.9 数据监控4.10 集中配置 声明:以下内容…

文心一言 vs GPT-4 —— 全面横向比较

文心一言 vs GPT-4 —— 全面横向比较 3月15日凌晨,OpenAI发布“迄今为止功能最强大的模型”——GPT-4。我第一时间为大家奉上了体验报告《OpenAI 发布GPT-4——全网抢先体验》。 时隔一日,3月16日下午百度发布大语言模型——文心一言。发布会上&#…

开放式蓝牙耳机推荐,列举出几款值得入手的开放式蓝牙耳机

随着耳机市场的发展,骨传导耳机的出现也逐渐受到了市场的认可,骨传导耳机,是通过颅骨来进行声音传导的一种耳机。与传统的入耳式耳机不同,骨传导耳机不需要将耳朵堵上,而是通过颅骨震动将声音传到内耳,所以…

IDEA快速部署Spring Boot 项目到Docker

IDEA快速部署Spring Boot 项目到Docker 文章目录 IDEA快速部署Spring Boot 项目到Docker一、IDEA 连接 Docker自己的虚拟机远程服务器 二、Maven插件与Dockerfiledocker-maven-pluginDockerfile 三、项目打包上传镜像四、容器的创建与运行容器的创建环境的检查访问项目检验 一、…

4月18日第壹简报,星期二,农历闰二月廿八

4月18日第壹简报,星期二,农历闰二月廿八坚持阅读,静待花开1. 《中国卫生健康发展评价报告(2022)》蓝皮书发布,排名前十依次为:北京、深圳、杭州、上海、青岛、武汉、昆明、广州、厦门和宁波。2.…

【Docker学习三部曲】——进阶篇

Compose 1️⃣ 什么是 Docker-Compose ? Docker Compose 是Docker官方提供的一个用于定义和运行多个容器的工具,它采用了声明式的语法定义单个应用程序的多个容器以及它们之间的相互关系和依赖关系。 使用Docker Compose,您可以通过一个配置文件来管…

消防规范图集大全

总说明 A-800X650 (1)箱体长.煌尺寸代号(尺寸单位:mm) B-1000X700; C-1200X750 D-带灭火器箱组合式消防柜; E-非标准箱。 1本图集是依据现行有关国家标准和规范 在1999年编制的《室内消火栓安装》 (2)水带安置方式代号 (99S202)全国通用给水排水标准图集的基础上重新编制的。 P…

理解TreeMap结构及其实现

TreeMap是基于红黑树(Red-Black tree)的 NavigableMap 实现(是自平衡的二叉树)。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。 一、对外开放API TreeMap提供了保证…