vivado约束文件到底是干什么的?通俗点讲

您所在的位置:网站首页 verilog约束文件是干嘛的 vivado约束文件到底是干什么的?通俗点讲

vivado约束文件到底是干什么的?通俗点讲

2023-07-26 12:32| 来源: 网络整理| 查看: 265

vivado约束文件到底是干什么的?通俗点讲 时间:10-02 整理:3721RD 点击: altera中没有什么约束文件,只需要分配好引脚就可以了。但是在vivado中,需要进行各种约束,内容一大缸,看的头疼。约束中会有引脚的分配,这个可以理解,毕竟最终要硬件实现。可是问题来了,我撒了一眼时钟的约束,娘啊,真复杂,老实说,没看懂。总感觉是在搞激励,还能规定时钟周期,占空比。假如是在搞激励,那么还要仿真文件干什么?我的问题就是这个约束文件到底有什么用,哪位高手能给讲一件,不要太技术,通俗点讲,生动形象,最好拟人。先行谢过。

altera中也有约束文件啊FPGA编译器布局布线其实就是个优化函数,输入的时序约束和物理约束就是约束条件物理约束是告诉编译器IO必须连在那个位置,时序约束就是告诉里面用到的时钟的属性,不加时钟约束时,编译器会有自己的默认约束,Xilinx好像是50MHz,低速设计下没有时序问题,但是高于50MHz的设计就有可能出现功能异常所以此时要告诉编译器工程里用到的时钟是什么样的,还有一些其他的时序约束,都是再告诉编译器我们的需求,要不它就会按照他自己的想法去干活了

首先谢谢您的回答,让我很受启发。假如fpga外部接了一个晶振,这个晶振提供了一定频率的时钟,假如是100M,而且占空比也是一定的,接在fpga的clk输入引脚。假如我不加说明这个引脚的时序约束,编译器还会默认人家是50M吗?这是不现实的,人家本来就是100M呀?我猜时序约束就是个解释说明的作用,甚至有验证的滋味,假如解释说明时,与硬件本身发生冲突(例如本来给的是100M的时钟,约束时硬是约束成50M),那么编译时,系统就会报错,告诉我们设计错了,起到这么一个作用。这就是我的想法,不知道对不对。希望您能给出意见和批评。

输入100MHz时钟,但是约束为50MHz,编译器会按照是50MHz去布局布线,如果时序余量比较大,恰好能满足100MHz时钟要求,功能也会正常的,如果时序余量只够跑80MHz,那么功能就可能会出错如果是从验证角度去看时序约束,加上时序约束如果出现时序错误,就说明在当前时序约束下,根据你的设计编译器不能完成正确的布局布线,你的设计不能正常运行在当前的时钟频率下,从而要修改设计

因此约束文件的功能不仅是描述解释验证的功能,还能进行有条件的配置功能,例如把100M时钟调成50M来使用,但是不能把50M的调成200M的来使用,调成100M倒有可能(瞎说的,可忽略,利用上下沿调成100M)。非常有帮助,再次谢谢您的回答。

Quartus当然有约束

约束文件的左右可以理解为你告诉工具一些它自己分析不出来的信息。比如:工程上有几个port,工具分析不出来那个port该连哪个引脚,那么你需要告诉工具port与FPGA引脚的对应关系;再比如你外接了一个时钟,工具不知道你接的时钟是什么样的,所以你需要告诉工具这个时钟的信息(包括时钟频率,时钟占空比,时钟抖动等);如果你在RTL里生成了新的时钟,工具也无法分析出新生成的时钟的信息,就需要你告诉他;另外一些异步时钟不需要做timing分析也需要你告诉工具。类似于这些工具无法自己分析出来的信息就需要你告诉它,这就是约束

谢谢您的回答。高屋建瓴之余又说的非常具体,容易理解,一点也不抽象。

上一篇:关于数字下变频的一个奇怪的问题。 下一篇:测试文件添加激励

FPGA ASIC quartus Xilinx vivado verilog ALTERA CPLD 集成电路 相关文章:

FPGA Verilog HDL 设计实例系列连载------交通灯的控制 vHDL语言 t触发器使用ISE自带的仿真激励文件如何写呀!求 关于Rx receiver的问题 转:用fpga 实现图形算法的硬件加速设计 有源码 我的FPGA学习步骤 FPGA基础学习笔记--组合逻辑电路-多路选择器与多路分解器


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3