xilinx fpga的设计规范和时序问题解决_京城一白的博客-程序员秘密

技术标签: Xilinx FPGA  设计规范及问题解决  

xilinx fpga的设计规范和时序问题解决
xilinx FPGA在设计时,代码编写尽量使用vivado中的代码模板,模板代码可以综合正确且结构简介的电路结构;Tools>>Language Templates;
在这里插入图片描述在这里插入图片描述
代码框架:I/O模块和时钟尽量放在顶层,目的是资源共享,提高性能,降低功耗;输出采用寄存器输出,降低路径延时保证时序收敛。
复位:官方推荐采用高电平同步复位,降低资源使用和功耗,有助于时序收敛。
时序修正
时序问题主要有两个:建立时间(setup time)和保持时间(hold time)。
建立时间(setup time):指触发器的时钟上升沿到来之前,数据保持稳定的时间。导致建立时间违规主要有两个原因:逻辑级数(Logic Level)太大或者扇出(fanout)太大。
Logic Level:包含一个net和一个LUT延迟。logic level和器件的工作最高频率有关,级数不可以太大,否则会造成时序收敛困难。
解决由建立时间造成的时序收敛问题解决办法是采用重定时的方法,将冗长的组合逻辑进行寄存器打拍输出。
fanout:指模块直接调用下级模块的个数,fanout过大在FPGA表现出来的是netdelay较大,不利于时序收敛,同样和器件、设计频率有关。
没有使用扇出优化时的综合网表
上图是没有使用优化的输出,驱动了11个DSP48E11,最高工作频率为fmax=206.016MHz。
解决fanout的办法:
1,寄存器复制:
通过复制几个相同的寄存器来分担原先由一个寄存器驱动所有模块的问题,继而达到减小扇出的目的。
复制寄存器方法减小扇出代码实现
复制代码解决扇出的综合网表

2,使用max_fanout约束:
在代码中设置信号属性(* max_fanout = “3” *)reg signed [15:0] din_d;
使用max_fanout语句优化后的综合网表
3,使用BUFG(主要针对时钟和复位的扇出太大)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39277607/article/details/90449594

智能推荐

剑指offer 面试题13 机器人的运动范围_SherryCrystal的博客-程序员秘密

题目:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?注意第10行i/10.0>=0.1,...

linux下sqlserver端口号,登陆sqlserver及修改端口号 (转)_尤尔小喵喵的博客-程序员秘密

在一台计算机上面同时安装两个sql server数据库实例,第一次安装默认为机器名,端口号为14331、如果不知道服务器名,却想登陆的话可以直接输入127.0.0.1登陆之后,在新建查询中输入:SELECT @@SERVERNAME能够查询出当时的服务器名或者服务器名和实例名,你可以用这个名称直接登陆即可2、如果你想要在知道实例名的基础之上知道端口号,或者说你不想使用默认的端口号,那么这个时候你就...

太阳计算机音乐,邱振哲《太阳》[FLAC/MP3-320K]_weixin_39629188的博客-程序员秘密

歌词你总感到落寞沮丧你总感到失望对于人生未来总有太多 迷惘你总伪装自己不痛你总笑着逞强对于爱情害怕触碰 放弃挣扎你看着我眼睛 你记着我声音无畏风雨别忘记还有我站在这里我只想做你的太阳 你的太阳在你的心里呀 在你的心底呀不管是多远的远方不要害怕我在身旁想做你的太阳 你的太阳在你的心里呀 在你的心底呀就算不能在你身旁也要奋力为你而 发光你总感到落寞沮丧你总感到失望对于人生未来总有太多 迷惘你总伪装自己...

linux下内核模块的加载与卸载_insmod 卸载_952351564的博客-程序员秘密

1. 第一个模块=========================写第一个模块例子分别在pc和x6818开发板上进行安装并测试;要注意,linux内核源码的路径中,可以包含中文,但一定不能有空格;Makefile的例子:#KERNEL := /usr/src/linux-headers-`uname -r`/KERNEL := /home/zht/class-e68

PAT甲级-1003-Emergency-详细注释(Dijkstra模板)_1003 emergency dij_Lucien Anderson的博客-程序员秘密

PAT甲级-1003 EmergencyAs an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the length of each road between any pair

用Jenkins执行自动化用例_ling_leoling的博客-程序员秘密

Jenkins 是一款持续集成工具,项目组要执行自动化用例,运用这个工具可以分布式执行用例,存储每次执行的执行记录。参考博客:http://blog.csdn.net/wangmuming/article/details/229251271. 下载http://mirrors.jenkins-ci.org/war/latest/2. java -jar 

随便推点

视觉表面缺陷检测技术概述_缺陷视觉检测[email protected]_DIP的博客-程序员秘密

这里写自定义目录标题1. 什么是机器视觉2. 视觉检测系统2.1 视觉检测系统的特点2.2 视觉检测系统的组成3. 视觉表面缺陷检测面临问题及发展趋势3.1 视觉表面缺陷检测面临问题3.2 视觉表面缺陷检测发展趋势4. 视觉检测与智能制造4.1 视觉缺陷检测系统原理4.2 常见缺陷检测类型参考资料1. 什么是机器视觉  机器视觉作为人工智能的一个快速发展的分支,简言之就是利用机器代替人眼来做测量和判断,广泛应用于各个行业。在3C行业等大批量工业生产过程中,利用人工视觉检查产品存在质量效率低、精度不高等问

关于Android Studio中android工程库的引用个人小结_学不完的博客-程序员秘密

引用Android Studio工程(eclipse工程没有尝试),首先是有一个可以正常运行的工程作为被引用的工程库:1.在新的工程的菜单选项栏File--》Project Structure,进入到 Project Structure界面,然后左上角分别有一个‘+’号,一个‘-’号,分别表示向该工程添加引用的模块和卸载模块。2.选择‘+’,开始添加一个模块,选择“import  Exis

Z字形扫描(对矩阵进行Z字形扫描)_z字型扫描_Yingmu__的博客-程序员秘密

问题描述:  在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:  对于下面的4×4的矩阵,  1 5 3 9  3 7 5 6  9 4 6 4  7 3 1 3  对其进行Z字形扫描后得到长度为16的序列:  1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3  请实现一个Z字...

以C/C++语法浅谈二十三种设计模式(一)——工厂模式(Factory Method)_工厂模式的语法_尘海折柳的博客-程序员秘密

0.写在前面在软件开发过程中,为了提高开发效率、增强软件运行的稳定性,降低后期项目维护的成本,我们志在追求更加高效、简单的设计思路来引领我们的项目产品,在经过不断的探索与总结的过程中,我们最常用的设计模式有23中,总体分为三大类,即创建型模式、结构型模式和行为型模式,具体如下:模式分类具体模式创建型模式工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式结构型...

01-复杂度1 最大子列和问题 (20分) (二分法)_不语的石猴的博客-程序员秘密

给定K个整数组成的序列{ N​1, N2 , …, NK},“连续子列”被定义为{ Ni, Ni+1, …, Nj},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同的算法在各种数据...

UE4中如何使用kinect2.0_Smart_zy的博客-程序员秘密

一、目的:1、想在UE4中,让人物随着kinect2.0做动作一、参考:1、在虚幻4中使用kinect2.0https://blog.csdn.net/qq_22033759/article/details/50132911?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.p...

推荐文章

热门文章

相关标签