目录 1. 理论回顾 2. 时间裕量 3. 最大延迟和最小延迟 4. 案例分析 参考文献: 距离上一篇有关时序的理论篇已经有一段时间了(可以参考博文FPGA时序约束--理论篇),实际上此段时间,甚至到今天对FPGA的时序一直还是处于一种"朦胧"的状态,经历了一个阶段的学习和项目时间,稍微有点感触,故借此总结一下. 1. 理论回顾 先来回顾一下有关时序的理论知识,上图是典型的同步时序模型及其时序图,由发起寄存器(rega).组合逻辑.捕获寄存器(regb)及其中间的走线组成. 源时钟cl…
在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布线工具进行权衡,获得最优的器件性能,使设计代码最大可能的反映设计者的设计意图. 花些功夫在静态时序分析上既可以保证设计质量,也可以促使设计者再认识自己的代码.这后一点,对于我们这些逻辑设计初学者来说,尤为重要.从门级(在Altera的FPGA器件中是LE 级)再认识自己的代码,可以更深入地体会语言的…
文章主要是基于学习后的总结. 1. 时钟域 假如设计中所有的触发器都使用一个全局网络,比如FPGA的主时钟输入,那么我们说这个设计只有一个时钟域.假如设计有两个输入时钟,如图1所示,一个时钟给接口1使用,另一给接口2使用,那么我们说这个设计中有两个时钟域. 2. 亚稳态 触发器的建立时间和保持时间在时钟上升沿左右定义了一个时间窗口,如果触发器的数据输入端口上数据在这个时间窗口内发生变化(或者数据更新),那么就会产生时序违规.存在这个时序违规是因为建立时间要求和保持时间要求被违反了,此时触发器内部…
目录 1. 常见问题 2. 常见的复位方式 3. 合理的复位设计 3.1 复位电平 3.2 异步复位同步化 3.3 恰到好处的复位 4. 补充 4.1 所谓的上电初始化 参考文献 一开始接触到FPGA,肯定都知道"复位",即简单又复杂.简单是因为初学时,只需要按照固定的套路--按键开关复位,见寄存器就先低电平复位一次,这样一般情况可以解决99%的问题,甚至简单的设计,就不可能有问题.复杂是因为复位本身是对大规模的硬件单元进行一种操作,必须要结核底层的设计来考虑问题. 1. 常见问题 自…
目录 1. 总览 2. 可配置逻辑单元 2.1 6输入查找表(LUT6) 2.2 选择器(MUX) 2.3 进位链(Carry Chain) 2.4 触发器(Flip-Flop) 参考文献: 一直以来,觉得自己关于FPGA方面,摸不到"低"--对底层架构认识不清,够不着"高"--没真正独立做过NB的应用,如高速.复杂协议或算法.神经网络加速等高大上的应用,所以能力和认识水平都处于中间水平.这段时间做时序优化,感觉心有余而力不足了,可能要触及手动布局布线了,打开Dev…
目录 1. IBUF和IBUFDS(IO) 2. IDDR(Input/Output Functions) 3. IBUFG和IBUFGDS(IO) 原语,即primitive.不同的厂商,原语不同:同一家的FPGA,不同型号的芯片,可以也不一样:原语类似最底层的描述方法.使用原语的好处,可以直接例化使用,不用定制IP:即可通过复制原语的语句,然后例化IP,就可使用:Xilinx是通过直接修改原语中的参数再例化IP来使用:Xilinx公司的原语分为10类,包括:计算组件,IO端口组件,寄存器/锁…
目录 1. 基本结构 2. BRAM与DRAM的比较 3. BRAM的特点 4. Block Memory的使用 4.1 配置为RAM或ROM 4.2. 配置为FIFO 参考文献: 上一篇中提到了SLICEL和SLICEM都可用作ROM,后者还可以作为分布式RAM(Distribute RAM,DRAM).本篇主要总结的是块状Memory(Block Memory),实际上就是FPGA内部独立于逻辑单元的专用存储器,更像是一种硬核. 1. 基本结构 如下图所示,一个Block Memory的大小…
ALTERA在LPM(library of parameterized mudules)库中提供了参数可配置的单时钟FIFO(SCFIFO)和双时钟FIFO(DCFIFO).FIFO主要应用在需要数据缓冲且数据符合先进先出规律的同步或异步场合.LPM中的FIFO包含以下几种: 1.SCFIFO:单时钟FIFO: 2.DCFIFO:双时钟FIFO,数据输入和输出的宽度相同: 3.DCFIFO_MIXED_WIDTHS:双时钟FIFO,输入输出数据位宽可以不同. 配置不细说,直接看时序来理解. 1.…
为了突出重点,仅对I/O数据流为steaming的情况作简要说明,以便快速上手,有关FFT ip核模型及每种设置详细介绍请参考官方手册FFT MegaCore Function User Guide. 1 配置 在FFT Megacore Function中选择"parameterize",弹出对话框. "Parameters"栏中,选择器件.转换数据的长度.数据精度已经旋转因子的精度.注意旋转因子精度必须小于等于数据精度. "Architecture&q…
时序分析中的基本概念和术语 Basic concept and Terminology of Timing Analysis 原文标题及网址: [时序约束学习笔记1]Vivado入门与提高--第12讲 时序分析中的基本概念和术语-七夜浮生-电子技术应用-AET-北大中文核心期刊-最丰富的电子设计资源平台http://blog.chinaaet.com/yuwoo/p/5100017294 最近正在学习Vivado时序约束这块的东西,上周六Xilinx的官方培训老师讲了一天,听的是云里雾里的,发现…
一.前言 无论是FPGA应用开发还是数字IC设计,时序约束和静态时序分析(STA)都是十分重要的设计环节.在FPGA设计中,可以在综合后和实现后进行STA来查看设计是否能满足时序上的要求.本文阐述基本的时序约束和STA操作流程.内容主要来源于<Vivado从此开始>这本书,我只是知识的搬运工. 二.时序约束与XDC脚本 时序约束的目的就是告诉工具当前的时序状态,以让工具尽量优化时序并给出详细的分析报告.一般在行为仿真后.综合前即创建基本的时序约束.Vivado使用SDC基础上的XDC脚本以文本…
FPGA时序约束的几种方法 对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛过程就会更可控. riple 从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法.按照从易到难的顺序排列如下: riple 0. 核心频率约束 这是最基本的,所以标号为0. riple 1. 核心频率约束+时序例外约束 时序例外约束包括FalsePath.Multic…
转自:http://bbs.ednchina.com/BLOG_ARTICLE_198929.HTM 如何在FPGA设计环境中加时序约束    在给FPGA做逻辑综合和布局布线时,需要在工具中设定时序的约束.通常,在FPGA设计工具中都FPGA中包含有4种路径:从输入端口到寄存器,从寄存器到寄存器,从寄存器到输出,从输入到输出的纯组合逻辑. 通常,需要对这几种路径分别进行约束,以便使设计工具能够得到最优化的结果.下面对这几种路径分别进行讨论.从输入端口到寄存器:这种路径的约束是为了让FPGA设计…
在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布线工具进行权衡,获得最优的器件性能,使设计代码最大可能的反映设计者的设计意图. 花些功夫在静态时序分析上既可以保证设计质量,也可以促使设计者再认识自己的代码.这后一点,对于我们这些逻辑设计初学者来说,尤为重要.从门级(在Altera的FPGA器件中是LE 级)再认识自己的代码,可以更深入地体会语言的…
FPGA时序约束 时钟约束 #************************************************************** # Create Clock #************************************************************** create_clock -period 8 -name "ENET0_RX_CLK" [get_ports ENET0_RX_CLK] create_clock -perio…
时序约束的一点总结. 打拍.掌握好时序. 手动分配位置,这个不是一定有效. 打破层级或者物理综合,或者自动加流水等综合优化参数调整. 根据实际情况使用异步时钟策略. 换速度更快的片子. 最也进接手一个对时序要求很高的项目,说说小编的一些感受.按照上面这个顺序来设计. 首先要让时序收敛而且使用资源较多,大概就只有两条路可以走:一个是换资源和速度更快的片子,还有就是使用软件进对每个模块进行区域的划分. 设计开始不想改RTL设计,所以使用逻辑锁定工具对每个模块进行了区域的划分. 在划分区域的时候还是有…
1.   基本的约束方法 为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取.最普遍的三种路径为: 输入路径(Input Path),使用输入约束 寄存器到寄存器路径(Register-to-Register Path),使用周期约束 输出路径(Output Path),使用输出约束 具体的异常路径(Path specific exceptions),使用虚假路径.多周期路径约束 1.1.  输入约束Input Constraint OFFSET IN约束限定了输入数据和输入时钟边沿的…
最近整理了一下时序约束的内容,顺便发出来分享记录一下. 任何硬件想要工作正常,均需满足建立和保持时间,至于这个概念不再陈述. 下面将重点介绍两个概念:建立余量和保持余量.FPGA内部进行时序分析无非就是计算这两个余量,为正,则时序满足要求,否则不满足. FPGA在与外部期间打交道时,端口如果为输入则与input delay约束相关,如果最为输出则output delay,这两种约束的值究竟是什么涵义,下文 我也会重点刨析,但是前提是需要理解图1和图2建立余量和保持余量. 建立余量:不考虑clk_…
转自小時不識月http://www.cnblogs.com/yuphone/archive/2010/08/27/docs_plan.html 新网址为:http://andrewz.cn [连载计划][大家一起学FPGA/SOPC] 说明 未完成的文档,没有链接. 感言 大量反馈表明:许多FPGA初学者,在学习进程中,刚开始大多是激情万丈,但是倘若是长期不得入门要领,有一些人便会逐渐丧失学习FPGA的兴趣和信心.这是为什么呢?究其原因,不外乎以下几点: 目前市面上FPGA开发板的销售厂商数量众…
DDR2电路设计 在高速大数据的应用中,高速大容量缓存是必不可少的硬件.当前在FPGA系统中使用较为广泛的高速大容量存储器有经典速度较低的单数据速率的SDRAM存储器,以及速度较高的双速率DDR.DDR2.DDR3型SDRAM存储器,DDR系列的存储器都需要FPGA芯片有对应的硬件电路结构支持.对于Altera Cyclone IV系列的FPGA,其最高支持到DDR2存储器(不支持DDR3存储器,到了Cyclone V系列的FPGA才支持DDR3存储器).芯航线AC6102开发板作为一个高速应用…
初识C# C#是微软公司发布的面向对象的.运行于.NET Framework之上的高级程序设计语言.与Java有着明显不同,借鉴Delphi的特点,与COM(组件对象模型)直接集成,是微软公司 .NET windows网络框架的主角. C#是一种语言,.net是一个平台.C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序.. net 是 Microsoft 的 XML Web 服务平台,XML Web 服务能使应用程序在 Internet 上传输和共享数据. 特点: 强类…
oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DATE ); -- 增加字段 ); -- 修该 ); -- 修改表字段 ,); --删除字段 ALTER TABLE table_name DROP COLUMN column_name; -- 给字段改别名 ALTER TABLE table_name RENAME COLUMN old_colum…
本文属于原创手打(有参考文献),如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 之前讲了基本的时序路径约束,现在我们来看一下其他的约束,然后通过实战来讲解一些其他的约束.实战中也没有前面的"理论"中的约束类型,但是可以通过实战来了解其他的约束.本文的具体内容是: ·多时钟同步约束 ·门控时钟的约束 (实战:) ·正负边沿触发器的约束 ·输入输出延时的非默认约束 ·输入输出有多个路径驱动(类…
FPGA学习的一些误区 FPGA入门必看资源 FPGA百度百科 FPGA基础知识及其工作原理 高端设计工具为少有甚是没有硬件设计技术的工程师和科学家提供现场可编程门阵列(FPGA).无论你使用图形化设计程序,ANSIC语言还是VHDL语言,如此复杂的合成工艺会不禁让人去想FPGA真实的运作情况.在这个芯片中的程序在这些可设置硅片间到底是如何工作的.本文会使非数字化设计人员明白FPGA(现场可编程门阵列)的基础知识及其工作原理.此信息在使用高端设计工具时同样十分有用,希望可以为理解这一特别技术提供…
任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析.静态时序分析的公式,老实说很晦涩,而且总能看到不同的版本,内容又不那么一致,为了彻底解决这个问题,我研究了一天,终于找到了一种很简单的解读办法,可以看透它的本质,而且不需要再记复杂的公式了. 我们的分析从下图开始,下图是常用的静态分析结构图,一开始看不懂公式不要紧,因为我会在后面给以非常简单的解释: 这两个公式是一个非常全面的,准确的关于建立时间和保持时间的公式.其中Tperiod为时钟周期:Tcko为D触发器开始采样瞬间到D触发器采样的…
很多数字传感器.数字控制的芯片(DDS.串行ADC.串行DAC)都是通过IIC总线来和控制器通信的.不过IIC协议仍然是一种慢速的通信方式,标准IIC速率为100kbit/s,快速模式速率为400kbit/s.本文致力于讲述如何用计数器控制和分频时钟控制两种方式完成IIC的读写操作. IIC协议   IIC协议是一种多机通讯,由SDA数据线和SCL时钟线构成串行总线,所有的IIC设备都可以挂载到总线上,但每个设备都有唯一的设备读地址和设备写地址.在使用IIC作为数字接口的芯片datasheet中…
题外话: 第一次在博客园上同大家分享博文.水的的地方,错别字的地方.环境交流.批评.知道了马上改. 以前在百度空间中写技术分享博文,后来百度啥也没说就把整个空间封了.当时感觉 还是有点寒心.只想黑一下它,厂长老了.场子也该换了. 对于想写个oepngl基础学习的专题,主要是网上资源有点老,好多都运行不了,买了红宝书<<OpenGL 编程指南 第8版>>,看了还看,觉得有点专业,优化和技术核心讲的的多. 而且都是代码片段,像自己这种门外汉学习起来还是觉得基础不行.需要恶补一下关于 f…
SF-VGA模块板载VGA显示器DA转换驱动芯片AVD7123,FPGA通过OUPLLN连接器驱动ADV7123芯片产生供给VGA显示器的色彩以及同步信号.SF-CY3核心模块与SF-VGA子模块连接的系统框图如图所示.FPGA产生ADV7123的同步信号以及3组供给ADV7123内部3路并行DA的数字信号,经过ADV7123的这3组VGA色彩数字信号最终转换为0~0.7V的模拟电压送给VGA显示器.而FPGA另外会产生用于同步色彩数据的场同步信号VSYNC和行同步信号HSYNC. 驱动VGA显…
Oracle基础学习笔记 最近找到一份实习工作,有点头疼的是,有阶段性考核,这...,实际想想看,大学期间只学过数据库原理,并没有针对某一数据库管理系统而系统的学习,这正好是一个机会,于是乎用了三天时间学习了一下Oracle数据的相关内容,以下是我总结的一些知识点,有错误的地方请及时通知我改正. 一.Oracle 10g的安装  首先安装我就不载这里赘述了,可以参考这篇博客进行安装.  https://blog.csdn.net/qq_33458228/article/details/80447…
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 4. 垃圾回收机制(Garbage Collection) 5. this关键字 6. static 关键字 7. 静态初始化块 8. 参数传值机制 9. 包 第5章 Java面向对象进阶 1. 继承 2. Object类 3. super关键字 4. 封装 5. 多态(polymorphism)…