草庐IT

Vivado创建项目和仿真

一、创建项目CreateProject:Next:填写项目名,选择项目位置,Next:选择RTL项目,勾选Donotspecifysourcesatthetime,即不添加源文件,Next:选择芯片类型,Next:Finish:二、添加Verlog设计文件1.添加t.v文件AddSources:选择第二个,Next:CreateFile:选择文件类型,填写文件名,OK:Finish:定义模块输入输出端口,暂时不设置,直接OK:2.编写文件双击打开文件:编写:`timescale1ns/1ps////Company://Engineer:////CreateDate:2022/09/1016:0

xilinx FPGA在线调试方法总结(vivado+ila+vio)

本文主要介绍xilinxFPGA开发过程中常用的调试方法,包括ILA、VIO和TCL命令等等,详细介绍了如何使用。一、FPGA调试基本原则根据实际的输出结果表现,来推测可能的原因,再在模块中加ILA信号,设置抓信号条件,逐步定位问题模块和原因,最终解决bug。二、FPGA常用调试方法1、调用IP(1)ILA第1步:在vivado中,打开IP核目录(IPCatalog),在搜索框中输入ILA(不区分大小写),按图示方式进行选择即可。第2步:设置ILA参数探针数根据需要采集的信号数设定,或者直接设定一个信号;采样数据深度可根据实际需要和资源消耗情况进行设置,一般选择默认的1024即可;第3步:测量

xilinx FPGA在线调试方法总结(vivado+ila+vio)

本文主要介绍xilinxFPGA开发过程中常用的调试方法,包括ILA、VIO和TCL命令等等,详细介绍了如何使用。一、FPGA调试基本原则根据实际的输出结果表现,来推测可能的原因,再在模块中加ILA信号,设置抓信号条件,逐步定位问题模块和原因,最终解决bug。二、FPGA常用调试方法1、调用IP(1)ILA第1步:在vivado中,打开IP核目录(IPCatalog),在搜索框中输入ILA(不区分大小写),按图示方式进行选择即可。第2步:设置ILA参数探针数根据需要采集的信号数设定,或者直接设定一个信号;采样数据深度可根据实际需要和资源消耗情况进行设置,一般选择默认的1024即可;第3步:测量

工具使用篇 Vivado加载ltx文件

说明:对于单连FPGA芯片来说,使用OpenHardWare加载ltx文件观察ila等信息,在vivado软件识别到芯片后就会在Trigger栏处出现加载Probe的窗口;但对于多芯片使用菊花链连接时,一般在Trigger栏仅出现加载第一片FPGA的ltx窗口,对于指定芯片加载ltx文件,需要指定位置进行添加ltx路径。加载过程:连接下载器并识别芯片(此处连接第二片FPGA),选中第二片FPGA,点击Properties,在PROBES/FILE处添加ltx路径,要注意路径格式添加完成后,选中芯片,右键Refresh之后即可看到ila。

Vivado ip核综合失败,且无任何报错

如果log信息里有TclStackFree:incorrectfreePtr.Calloutofsequence?可能是因为计算机的名字不能有中文,改一下就好了。反正我的是,刚装的vivado2021版,测试软件时找了好几天解决办法https://forums.xilinx.com/t5/Synthesis/TclStackFree-incorrect-freePtr-Call-out-of-sequence-in-2016-4/m-p/742698

vivado DDR配置讲解

一、工程创建注意一定要选verilog语言,后续才能配置mig二、打开mig配置界面1.如果创建了工程,但是没有创建MIGIP核图12.如果是已经配置好了MIGIP核,想要修改其设置。双击图中所示图2三、配置步骤说明:官方的教程可以点击配置界面左下方的userguide,去其网站上下载官方的英文说明文档**1.确认一下器件**图32.是否设置axi4接口配置(1)纯FPGA的芯片(A系列(如正点原子的达芬奇开发板芯片为xc7a35t-fgg484(也就是A7-35T)或者xc7a100tfgg484-2等(也就是A7-100T)),K系列),一般DDR是直接连接到FPGA,采用native接口

FPGA时序约束--实战篇(Vivado添加时序约束)

前面几篇文章已经详细介绍了FPGA时序约束基础知识以及常用的时序约束命令,相信大家已经基本掌握了时序约束的方法。今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束向导(ConstraintsWizard)、时序约束编辑器(EditTimingConstraints)一、XDC文件使用VIvado的“Source文件管理器”直接创建新的xdc文件或者添加已有的xdc文件。具体步骤如下:第一步:点击“+”​第二步:选择“Addorcreateconstraints”,点击“next”​第三步:如果是添加文件则点击“AddFiles”,如果是新建文

vivado时序约束与管脚约束

时序约束需要做时序约束的情况:时钟频率较高;工程占用芯片逻辑资源较多;实测功能不稳定是由于时序导致的(没问题的代码加了无关紧要的部分出错);时序约束(TimingConstraints):设计人员对时序的要求,如时钟频率,输入输出延时等。对时钟频率约束最简单的理解:告诉EDA工具设计中所使用的时钟频率是多少,工具才能按照所要求的时钟频率去优化布局布线,使设计能够在要求的时钟频率下正常工作。为什么要做时序约束:代码写出来的时候,各功能块资源、寄存器资源、布线资源等资源是随机分布的,而布线不同路径导致延时时间不同,这样的话就会导致竞争冒险的出现。为了避免这种情况,必须对fpga资源布局布线进行时序

vivado时序约束与管脚约束

时序约束需要做时序约束的情况:时钟频率较高;工程占用芯片逻辑资源较多;实测功能不稳定是由于时序导致的(没问题的代码加了无关紧要的部分出错);时序约束(TimingConstraints):设计人员对时序的要求,如时钟频率,输入输出延时等。对时钟频率约束最简单的理解:告诉EDA工具设计中所使用的时钟频率是多少,工具才能按照所要求的时钟频率去优化布局布线,使设计能够在要求的时钟频率下正常工作。为什么要做时序约束:代码写出来的时候,各功能块资源、寄存器资源、布线资源等资源是随机分布的,而布线不同路径导致延时时间不同,这样的话就会导致竞争冒险的出现。为了避免这种情况,必须对fpga资源布局布线进行时序

VIVADO 综合优化掉模块或者综合太长的原因

1.首先,不要怀疑综合工具,大概率自己写的代码有问题。2.直接进入正题,在综合后的原理图中模块被综合优化掉了,附图如下:可以看到,图中的输入信号没有接到模块内部。 3.解决方法(1)从例化入手,看例化信号有没有定义正确,例化端口正确不。(2)从代码入手,看看有没有多元驱动,博主的问题就是多元驱动造成的。此问题可以从criticalwaring中看到提示。附图如下:(3)还可以看RTL原理图,出现多元驱动时,可以看到有的信号接地或者接电源了,变成一个0或1的常量。Note:    之前博主综合太长的原因也是多元驱动造成的,应规范代码写法。