- 博客(160)
- 收藏
- 关注
原创 Vivado2024.2+Modelsim仿真环境搭建大全(保姆式说明)
选择有效的安装路径后,将不存在空间不足的告警,同时Installation Locations中会显示安装的插件,此处为Vivado,Vitis_HLS,PDM,Docnav和前面设置的一致,,Disk Space Required中会显示当前路径可用空间以及安装需要空间58.85G,再点击“Next”图标。运行仿真后,如果某个变量的值一直为1'hz,如下图的tesett,表示tesett的状态为不定状态,新手容易犯的一个错误是无信号输入,此时要检查设计仿真文件,是否无信号传入到tesett。
2025-05-17 17:13:51
1107
1
原创 时序约束高级进阶使用详解三:Create_Clock
时序约束中,使用Create_clock约束来生成主时钟,主时钟可以说是设计的心脏。主时钟是来自FPGA芯片外部的时钟,通过时钟输入端口或高速收发器GT的输出引脚进入FPGA内部。对于赛灵思7系列的器件,主时钟必须手动定义到GT的输出,对于Ultrascale和Ultrascale+系列的器件,定时器会自动地接入到GT的输出。生成时钟通常来源于设计内部的时钟管理单元,如MMCM,PLL等,生成时钟是与主时钟(使用create_clock创建的时钟)相关,其来源来自主时钟或其他生成时钟。
2025-04-20 17:29:59
873
原创 时序约束高级进阶使用详解二:Set_Min_Delay
关于Set_max_delay/Set_min_delay的基础用法之前的文章已进行过简单的介绍,主要作用就是修改时序路径默认的setup/recovery或hold/removal时间要求,本章将对约束Set_min_delay的一些细节使用进行解释。
2025-04-13 16:39:34
674
原创 时序约束高级进阶使用详解一:Set_max_delay
关于Set_max_delay/Set_min_delay的基础用法之前的文章已进行过简单的介绍,主要作用就是修改时序路径默认的setup/recovery或hold/removal时间要求,本章将对约束Set_max_delay的一些细节使用进行解释。
2025-03-30 12:49:16
1210
原创 FPGA设计时序约束用法大全保姆级说明
ff1_sense_reg/C到ff2_sense_reg/D的时序路径经过ff1_sense_i_2/O,因ff1_sense_i_2/O存在stop_propagation,因此clk1到clk2的时序分析中不存在ff1_sense_reg/C到ff2_sense_reg/D。:不在上述四大类中的时序约束属于其他类,有set_case_analysis,group_path,set_disable_timing,set_max_time_borrow四类,对应的使用参见之前的时序约束命令章节。
2025-03-09 14:14:18
1552
原创 FPGA设计杂谈之四:时序模型
时序模型(Timing Model) 是用于描述数字电路中信号传播延迟、时序关系和功耗特性的数学模型,是Vivado进行时序分析、优化和验证的基础。时序模型由芯片厂商提供,并以特定的文件格式(如LIB、LEF、SPEF、SDF等)存储。
2025-03-02 10:41:34
1023
原创 FPGA设计杂谈之三:简话7系列I/O资源
HP I/O和HR I/O bank内支持的逻辑单元差异如下图,HR I/O不支持ODELAY(精确调整输出信号的延迟), HP I/O不支持ZHOLD_DELAY(调整输入信号的采样时间)I/O属性可以通过Vivado的I/O ports界面查看,包含方向,差分对端口,位置,所属bank,I/O标准,参考电压,驱动强度,偏斜类型,拉动类型,阻抗匹配,输入终端。LVDS_25 输出(输出 VCCO = 2.5V)和 HSTL_I_DCI_18 输入(输入 VCCO = 1.8V)(VCCO 不同)。
2025-02-23 11:47:56
1074
原创 时序约束进阶八:时钟抖动Jitter与不确定性Uncertainty
在时序约束中有一类约束是针对时钟特性进行约束的,如时钟源create_clock和create_generated_clock,时钟抖动set_input_jitter,set_system_jitter,时钟不确定性set_clock_uncertainty,时钟延时set_clock_latency,时钟极性set_clock_sense。
2025-02-16 18:19:42
1229
原创 时序约束进阶七:Set_External_Delay详解
在时序约束中对clock的约束还存在一种特殊的延时约束set external delay。set external delay如字面含义,设置外部的时延值,但这个外部时延主要是指反馈时延,即信号从FPGA的output端口输出后经过外部电路回到输入端口的时延值。
2025-02-05 11:56:01
538
原创 Serdes技术与Xilinx GT概览
对于芯片间高速信号传输技术,不得不提serdes以及在Xilinx在此基础上的高速收发器GT系列,下面将简要的介绍Serdes技术以及Xilinx的GT。
2024-12-15 18:09:47
1132
原创 时序约束进阶六:Set_Clock_Groups详解
Vivado的时序分析工具默认会分析设计中所有时钟间相关的时序路径,如果对于一些时钟间的路径不需要分析,则可以使用set_clock_groups约束实现。
2024-12-01 20:09:13
2091
1
原创 FPGA设计杂谈之二:setup/hold来源
在时序分析中,不得不提的两个词,建立时间setup分析和保持时间hold分析,两者的定义如下建立时间:触发器如果要正确捕获数据信号,数据信号必须在时钟信号到达前保持稳定的最小时间,即建立时间保持时间:触发器如果要正确捕获数据信号,数据信号必须在时钟信号到达后保持稳定的最小时间,即保持时间只有数据信号和时钟信号间的关系满足建立时间和保持时间时,数据才能正确地从触发器的Q端口输出。
2024-11-24 11:38:38
1079
原创 时序约束进阶五:Set_Max_Delay与Set_Min_Delay详解
其他跨时钟域路径就必须联合约束set_false_path或set_max_delay约束。在set_max_delay/set_min_delay的from/to为有效的时序路径起点和终点时,对路径设置set_clock_group约束,此时set_max_delay/set_min_delay优先级更高。在set_max_delay/set_min_delay的from/to为有效的时序路径起点和终点时,对路径设置set_clock_group约束,此时set_clock_group优先级更高。
2024-11-10 15:01:32
2226
原创 Vivado时序报告八:Report Bus skew详解
在时序报告中,可以针对两类特殊的约束专门进行报告,一类是前面介绍过的Report Exception,包含了约束set_multicycle_path/set_false_path/set_max_dealy/set_min_delay。另一类就是本文要介绍的set_bus_skew约束,对应的分析为Report Bus Skew,该报告不包含在Report Timing Summary中。
2024-11-03 17:43:20
1302
原创 Vivado时序报告七:Report Clock Network&Report Clock Interaction详解
本文介绍时序报告中关于时钟的两个报告:Report clock network和Report Clock interaction,Report clock network报告主要是以树状结构报告设计中各时钟驱动的load,Report Clock interaction则是报告设计中时钟间的关系,如同步时钟还是异步时钟等,与load无关。
2024-10-27 11:00:15
1763
原创 Vivado时序报告六:Report Timing详解
时序分析中,Report_timing_summary默认是对所有路径进行分析,当工程设计较大时,时序路径较多,想要查找指定时序路径的时序情况就不方便,此时就可以使用“Report Timing"功能,但“ReportTiming”不会报告“Pulse Width” (脉冲宽度)。与其他时序报告类似,General information主要包含一些基本信息,报告类型,设计模块名称,器件信息,Vivado版本,报告生成时间,报告生成对应的tcl命令。可同时设置多个,设置多个时会对分析所有的对象。
2024-10-20 11:46:46
2620
原创 Vivado时序报告五:Report Exceptions详解
时序约束中,有一类约束属于Exceptions类,之所以称为Exceptions(例外)是指约束后进行时序分析时与默认的边沿选取不同,包含set_multicycle_path/set_false_path/set_max_dealy/set_min_delay四种约束。在运行时序分析时,Report Exceptions即是专门针对涉及Exceptions的路径进行报告,并且还会报告clk group约束,通过时序例外约束报告可以获取以下信息。a) 设计中设置的所有影响时序分析的时序例外约束。
2024-10-13 13:24:52
1004
原创 时序约束进阶四:set_input_delay和set_output_delay详解
为了在设计中准确的模拟信号从FPGA传输到外部或外部信号进入到FPGA端口的时序,在设计中需要给定输入端口和输出端口的延时信息,因为vivado仅仅能够识别边界内部的时序。此时,就需要使用到约束set_input_delay/set_output_delay。
2024-10-08 14:25:48
2735
原创 Vivado时序报告二:Report CDC详解
前面已经针对Vivado时序Timing报告相关的如Minimum pulse width,datasheet等进行了详解,本文再对其中的Report CDC使用进行解说。
2024-09-28 12:41:35
1532
原创 时序约束进阶三:Create_clock与Create_Generated_Clock详解
时序约束中,使用Create_clock约束来生成主时钟,主时钟可以说是设计的心脏。主时钟是来自FPGA芯片外部的时钟,通过时钟输入端口或高速收发器GT的输出引脚进入FPGA内部。对于赛灵思7系列的器件,主时钟必须手动定义到GT的输出,对于Ultrascale和Ultrascale+系列的器件,定时器会自动地接入到GT的输出生成时钟通常来源于设计内部的时钟管理单元,如MMCM,PLL等,生成时钟是与主时钟(使用create_clock创建的时钟)相关,其来源来自主时钟或其他生成时钟。
2024-09-17 14:15:31
3403
原创 Vivado时序报告三:Report pulse width详解
在进行时序分析时,除了slack的分析,还存在pulse width的检查,下面将对pulse width检查进行详细说明。在report timing summary报告中,也会带上Pulse Width检查结果。
2024-09-08 13:49:37
2172
1
原创 时序约束进阶二:set_max_time_borrow详解
Set_maximum_time_borrow约束是设置锁存器用于优化时序可以从下一个阶段中借用的最大时间。下面对setup_maximum_time_borrow的使用场景进行介绍。存储电路设计有两种类型:触发器(Flip Flop)和锁存器(Latch)。a)使用触发器的设计数据从时钟的上升沿启动,必须在下一个时钟上升沿到达前的set up时间内到达目的触发器,如果两个触发器的组合逻辑时延太大,那么数据将没法被捕获触发器所捕获,捕获的数据将不稳定,如果数据到达的时间太早,造成时间资源浪费。
2024-09-01 11:38:15
1053
原创 Xilinx Versal 自适应soc器件概览
Versal 自适应Socs将自适应处理模块和带有可编程逻辑的加速引擎模块组合到一起,从而可以满足对各种硬件解决方案更广泛的市场应用。器件包含了像有互连shell作用的集成硅,AI Engines,可编程逻辑,梳理系统,使得比传统的FPGA,CPU,GPU具有更好的性能。AMD Versal 架构通过优化的软硬件实现性能突破,提供比芯片设计开发周期更快的自适应解决方案,助力各类开发人员加快整个应用开发流程。
2024-08-25 08:29:36
1576
原创 Xilinx 7系列收发器GTX入门讲解
芯片间的数据传输根据同一时间传输的bit数分为串行传输和并行传输。串行传输:每次传输1bit数据,该方式具有传输距离长,传输可靠,但延迟高,数据带宽低。并行传输:每次可传输多bit数据,具有传输效率高,但传输距离短,因同时多路传输相互之间存在干扰导致信号容易失真。
2024-08-18 11:24:16
2138
原创 Vivado功耗评估工具概览
早期,设计前期的功耗评估一直是XPE,但随着自适应Socs的引入,设计的规模和复杂度剧增,特殊是硬IP的复杂性和数量都增加,传统的XPE工具已不能很好地满足设计的功耗评估。XLSM文件即是XPE的核心,可在AMD官网下载,下载前需先登录https://china.xilinx.com/products/technology/power/xpe.html,下图是官网显示的个系列器件对应的xlsm文件,在7系列以前的文件还是xls格式。在设计中功耗评估是一项十分重要的工作,评估必然离不开估算工具。
2024-08-11 15:40:33
1215
原创 Vivado启用modelsim报错boost::filesystem::remove
在vivado中以配置好仿真工具为modelsim,但是启动仿真时报错如下:boost::filesystem::remove: 另一个程序正在使用此文件,进程无法访问。报错窗口如下图。
2024-08-07 22:42:34
983
1
原创 Altera之FPGA器件系列简介
Altera是作为FPGA领域的头部企业,是一家老牌的技术公司,成立于1983年,在2015年时就已被Intel收购,成为了PSG部门,而在今年又重新脱离出来,成为intel的子公司,名称改回Altera。Altera的产品众多,如果是初次接触可能对各种英文名称及简称感到困惑,对于使用quartus进行工程设计时无法选择符合自己需求的器件,本文将其分类进行概述。同时,为保证准确性,内容以官网信息为主。
2024-08-04 17:17:48
2515
原创 Modelsim仿真之VCD文件详解
VCD(Value change dump)是一个ASCII文件,里面有关于给定设计的头信息,变量的定义,以及指定的变量或所有变量的值变化信息,变量的值变化可以是标量或矢量格式。VCD文件一般是由EDA仿真工具生成。
2024-08-03 14:19:52
1641
原创 FPGA设计杂谈之一:时序违例的影响
在FPGA设计中,最常提到的一个词就是时序,而与之相关最不想看到的就是时序违例。 那什么是时序违例?在工程设计中的单元可分为组合逻辑单元和时序逻辑单元,两者的区别是看是否需要时钟信号,如LUT的输入全为数据信号,不需要时钟,就是组合逻辑单元,像FF,ROM等需要有时钟信号输入的就是时序逻辑单元。
2024-07-21 11:22:40
1354
原创 时序约束进阶一:Set_multicycle_path详解
1、multicycle的multiplier值在setup中默认为1,在hold中默认为0(理论分析上,实际不可设置)2、multicycle约束是在默认的边沿分析对基础上根据约束对发起时钟或捕获时钟边沿进行修改针对三种典型场景的多周期约束如下。
2024-07-14 18:45:52
2232
原创 Report Design Analysis报告之logic level详解
在工程设计中,如果需要了解路径的逻辑级数,可以在report timing summary中找到对应的时序路径,查看时序路径的详情报告中有逻辑级数的信息,如下图这种方法查看有一个缺点,就是无法知道工程设计中逻辑级数的总体情况,这个时候就可以使用Report design analysis中的Include logic level distribution来查看。
2024-07-07 13:29:31
1414
原创 时序分析之Clock rise/fall edge边沿对选取解析
在对时序报告进行详细查看时,将看到source clock path或destination clock path的第一段延时都是时钟的edge,并且同一段路径的setup和hold也是不一样的,如下图的红色框内容为setup的示例,关于它的值在时序分析中是如何确定的呢?下面将对此进行详细的解答。
2024-06-30 16:22:11
1909
原创 Python一文轻松搞定正则匹配
日常工作中,不可避免需要进行文件及内容的查找,替换操作,python的正则匹配无疑是专门针对改场景而出现的,灵活地运用可以极大地提高效率,下图是本文内容概览。。
2024-06-22 09:36:52
7573
1
原创 Vivado时序报告四:Report Datasheet详解
时序报告中不仅包含对时序路径的详细信息,还有一类专门针对IO端口的时序报告分析,即“Report->Timing->”里面的Report Datasheet功能,下面将针对Datasheet的内容进行详解,注:本文示例的vivado版本为vivado2022.1,器件为xc7k480tffv1156-2L。
2024-06-09 10:16:06
2273
1
原创 Python轻松玩转excel操作指导
内容的对齐方式可选值有horizontal(水平对齐方式,包括 "general", "left", "center", "right", "fill", "justify", "centerContinuous","distributed")vertical(垂直对齐方式,包括"top", "center", "bottom", "justify", "distributed")#示例2 在指定子表的指定范围内进行指定内容的查找,范围可指定行范围,列范围或区域范围。
2024-05-26 21:56:46
616
原创 Vivado功耗之散热模型详解
在功耗评估中,Vivado中report power流程以及XPE中都有关于environment的配置,该界面配置涉及到多个晦涩的概念,之前的文章中也对相关概念进行过翻译,但其中的关系未进行说明,本文主要是对其中的关系进行梳理,从实际应用的角度来理解这些名称。
2024-05-12 12:06:59
1280
原创 时序分析之setup/hold时钟path requirement解疑
在时序报告中,任选一条时序分析结果查看路径详细延时,会看到在source path delay和destination path delay中,最前面的一段延时都是时钟边沿的延时,有时该值和时钟周期相同,有时不一样,该值是如何选取的呢?同时,在summary中也可以看到Requirement,改值有时如何计算的呢,下面将针对这些就行解释。
2024-05-01 13:14:15
2268
原创 时序路径报告理解之小白入门详解
如果要看时序路径分析中最详细的信息,那无疑是查看具体路径上的详细延时信息,也即在report timing summary中选中需要查看路径,双击或右键点击“View path report”,该界面主要由4部分组成,包括Summary,Source clock path,Data Path,Destination Clock Path,下面将对4部分内容进行全面的解释。
2024-04-21 09:51:50
1896
电子设计自动化中PrimeTime命令集的应用与解析
2025-05-18
新思科技时序分析工具Prime Time使用手册,介绍生成以及使用时序模型进行不同层次的时序分析 同时也对时序模型类型进行详细讲解
2025-05-02
Quartus时序分析与时序约束使用指导
2024-11-26
Vivado配置Sublime+Sublime实现Verilog语法实时检查插件sublime-verilog-master.z
2024-10-30
Vivado配置Sublime+Sublime实现VHDL语法实时检查插件sublime-vhdl-master.zip
2024-10-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人