Vivado
文章平均质量分 83
Vivado 的使用及常见 error 分享
Linest-5
日拱一卒,功不唐捐!
展开
-
【常见 Error & Bug】Vivado仿真报错 ERROR: [XSIM 43-3322] 解决方法
在进行 DDR3 实验时,仿真时出现以下报错信息。谷歌翻译为:错误:[XSIM 43-3322]顶层Verilog设计单元在库工作中静态精化失败。原创 2022-10-10 06:00:00 · 6320 阅读 · 0 评论 -
【Vivado】Xilinx UG994 Addressing for Block Designs
处理器等主设备需要访问外围设备和内存等从设备。主设备通过 AXI 等接口读取和写入特定地址来访问从机。IP 集成器可以创建地址分配,从从机可以在指定的地址范围被主机访问。这些地址分配用于配置主机和互连 IP,例如 SmartConnect,以便它们根据地址进行访问。......原创 2022-08-15 06:00:00 · 3748 阅读 · 0 评论 -
【常见 error】Vivado 综合出现中断、失败、“PID not specified”
在对工程进行综合时,出现综合过程中出现中止或者完全不启动综合,类似下图,明明点击综合启动了几分钟,但是 elapsed 一直显示为 0,表示完全没用启动综合,在 TCL Console 栏中出现了“PID not specified”字样。经过查询网上的解决办法,有说是在安装 Vivado 时有杀毒软件类似 360 存在会导致这种情况,但是我电脑没有任何杀毒软件,很奇怪百思不得其解,这个工程只改动了部分代码就出现这种情况,我检查了代码也是没有问题的。也想过重新搭一遍工程,但是工程比较大搭起来太费时间就放弃了原创 2022-08-03 06:00:00 · 6457 阅读 · 0 评论 -
【常见 error】自定义 IP 添加到工程时报错解决办法
在进行自定义 IP 后,将自定义 IP 添加到当前的工程时,出现如下报错:[IP_Flow 19-167] Failed to deliver one or more file(s).[IP_Flow 19-3505] IP Generation error: Failed to generate IP 'ChannelCalculation_0'. Failed to generate 'Synthesis' outputs:[IP_Flow 19-98] Generate of the IP CORE原创 2022-07-12 08:00:00 · 10669 阅读 · 4 评论 -
在 Vivado 将程序烧写固化到 flash
什么是程序的固化?通常对FPGA下载程序时,会采用JTAG口下载,完成好HDL设计,并且验证无误后,对设计文件进行综合,布局布线以及生成比特流文件,而FPGA开发板要想工作,需要将该文件烧写进FPGA芯片中。但是FPGA是基于RAM工艺(如LUT的实质就是RAM),因此会掉电丢失,再次上电后需要重新加载bit流。一般FPGA的外围会有一个非易失性存储器:Flash或SD卡等。可以将程序加载进去,这样的话,下次上电后可以直接从该存储器中加载程序,这就是固化的过程。在之前的一篇文章中,描述了如何进行在 SDK原创 2022-07-11 08:00:00 · 12606 阅读 · 3 评论 -
【常见 error】Vivado生成比特流时报错[DRC NSTD-1]和[DRC UCIO-1]
目录问题描述错误信息翻译解决办法添加约束执行TCL命令更改顶层选项问题描述今天在生成工程的比特流时,出现如下的报错信息,经过上网查询相关错误的解决方案,以及自己摸索,发现可能是如下错误以及相应的解决方案。错误信息翻译[DRC NSTD-1]未指定的I/O标准:108个逻辑端口中有106个使用I/O标准(IOSTANDARD)值“DEFAULT”,而不是用户指定的值。这可能会导致单板的I/O竞争或不兼容,或影响性能和信号完整性,极端情况下可能导致所连接的设备原创 2022-05-23 11:02:35 · 20416 阅读 · 3 评论 -
【Xilinx IP调用】FIFO IP 核介绍及用 Verilog 进行读写实验
FIFO 简介FIFO 分类FIFO 信号解释实验任务实验框图创建工程添加 IP 并配置设计文件写 FIFO 模块读 FIFO 模块顶层模块管脚时钟约束验证功能写 FIFO 部分读 FIFO 部分FIFO 简介FIFO 的英文全称是 First In First Out,即先进先出。FPGA 使用的 FIFO 一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存,或者高速异步数据的交互也即所谓的跨时钟域信号传递原创 2022-04-27 22:50:12 · 6986 阅读 · 1 评论 -
【XINLIX 原语】XILINX 原语的使用之 IBUFDS 差分转单端、OBUFDS 单端转差分
目录IBUFGDSIBUFDS 介绍IBUFDS 示意图例化方式OBUFDSOBUFDS 介绍OBUFDS 示意图例化方式在 XILINX 中有许多原语,常见的差分转单端 IBUFDS、单端转差分 OBUFDS。IBUFGDSIBUFDS 介绍IBUFDS 即专用差分输入时钟缓冲器(DedicatedDifferential Signaling Input Buffer with Selectable I/O Interface)IBUFDS:在实验.原创 2022-04-24 21:08:08 · 18397 阅读 · 4 评论 -
【Xilinx AX7103 MicroBalze学习笔记4】MicroBlaze 按键中断实验
目录实验任务实验框图硬件设计(Vivado部分)Block Design 搭建软件设计(SDK部分)代码部分上板验证往期系列博客实验任务通过 AXI GPIO 检测按键状态产生中断信号,中断控制器检测到中断后,给处理器发送中断请求,处理器接收到中断并控制 LED 灯的亮灭。本实验基于 Vivado2018.2 实现。实验框图系统框图中,按键 KEY 作为 AXI GPIO 的输入,LED 作为 AXI GPIO 的输出。当 AXI GPIO 检测到原创 2022-04-18 21:59:01 · 2569 阅读 · 2 评论 -
【Xilinx Vivado 时序分析/约束系列11】FPGA开发时序分析/约束-FPGA DDR-PLL接口的 input delay 约束优化方法
目录DDR-PLL 简述实际操作实际工程顶层代码PLL配置添加时钟约束添加 input delay 约束添加 False PathSetup TimeHold TimeMulticycle约束解决办法PLL配置发现问题建立时间中保持时间中添加 False Path总结往期系列博客DDR-PLL 简述在之前介绍了 DDR-Direct 的时序模型,也就是不带有 PLL 的普通时序模型,这节重点介绍带有 PLL 的模型,在.原创 2022-04-10 21:39:27 · 4406 阅读 · 3 评论 -
【Xilinx Vivado 时序分析/约束系列10】FPGA开发时序分析/约束-FPGA DDR-Direct接口的 input delay 约束优化方法
目录DDR采样简述第一种模型(不带PLL)实际操作总结约束实际工程顶层代码时钟约束input delay约束查看时序报告解决办法添加原语原语解释查看时序报告时序分析总结往期系列博客DDR采样简述在之前分析了SDR采样,也就是单边采样,接下来介绍DDR采样,也就是双边采样,在实验应用中,DDR采样也是很广泛的,比如CMOS、DRAM、ADC、千兆以太网等,都是DDR接口的,因此也需要去分析时序是否正确,学会如何去进行时序约束。原创 2022-04-08 21:16:30 · 3630 阅读 · 3 评论 -
【Xilinx AX7103 MicroBalze学习笔记3】MicroBlaze 利用 AXI GPIO 控制 LED 灯
实验任务本实验通过使用 AXI GPIO IP,实现对 LED 灯的控制。本实验基于 Vivado 2018.2 实现实验框图实验框图如下,相比较之前的 Hello World 的实验工程框图,这个实验只是多了AXI GPIO这个IP核。AXI GPIO 和 AXI UART 都通过 AXI Interconnect 模块与 MicroBlaze 互联,Microblaze 处理器输出 LED 灯的控制信号,通过 AXI Interconnect 互联模块传输到 AXI GPIO 模块,AX原创 2022-04-07 21:32:22 · 2322 阅读 · 7 评论 -
【Xilinx AX7103 MicroBalze学习笔记1】MicroBlaze介绍
目录MicroBlaze简介MicroBlaze框架图MicroBlaze开发流程Vivado部分SDK部分总结MicroBlaze简介软核 MicroBlaze是一款软核微处理器,专为Xilinx FPGA 而设计。作为一款软核处理器,MicroBlaze 完全采用 Xilinx FPGA 的通用存储器和逻辑结构实现。就其指令集架构而言,MicroBlaze类似于Patterson和Hennessy在一本流行的计算机架构书中描述的基于RISC的DLX架构。除..原创 2022-04-03 11:57:37 · 7337 阅读 · 1 评论 -
【Xilinx AX7103 MicroBalze学习笔记2】MicroBlaze 串口发送 Hello World 实验
目录实验介绍硬件设计(Vivado部分)创建工程搭建Block DesignMicroBlaze部分外围模块部分时钟模块Uart部分管脚绑定、时钟约束生成Bit流文件软件设计(SDK部分)板级验证总结往期系列博客实验介绍本节介绍最简单的实验工程,用串口打印helloworld。实验工程基于Vivado2018.2实现下图是实验工程的框图,非常简单,MicroBlaze作为处理软核,搭载着片上存储器BRAM,MB通过AXI互联接到原创 2022-04-06 20:34:18 · 3834 阅读 · 3 评论 -
【Xilinx JTAG to AXI】PG174 JTAG to AXI文档整理
JTAG toAXI主IP内核是一个可定制的内核,可以生成AXI事务并驱动系统中FPGA内部的AXI信号。可以使用IP定制Vivado中的参数选择AXI总线接口协议。概述JTAGtoAXIMaster是一个可定制的IP内核,可作为AXIMaster来驱动AXI传输。此IP可在VivadoIP集成器中使用,也可在Vivado项目中以HDL进行实例化。图中显示了一个AXI系统,它使用JTAG TO AXI...原创 2022-03-20 21:17:12 · 4465 阅读 · 3 评论 -
【常见错误】Xilinx Vivado自带编辑器文字部分出现乱码解决办法
一、发现问题在进行FPGA开发时,常用的代码编辑器比如Sublime,但是最近发现再Sublime中编辑的代码文字部分,在用Vivado自带的编辑器打开时,会出现文字错乱的情况,如下图:而在Sublime中实际的情况却是下图这样,这样就会导致代码的易读性降低。二、解决问题这是由于Sublime端编码方式导致的,将Sublime文件设置成GBK编码即可,如下图所示,设置成功后CTRL+S保存,再从Vivado自带的编辑器打开代码,就可以看到代码中文字部分显示就正常了原创 2022-02-26 20:22:41 · 11567 阅读 · 4 评论 -
【Xilinx DDS】Vivado代码实现FPGA DDS
实验目的:本实验工程目的是实现输出数据位宽为16的正弦波形。一、调用ROM IP核打开vivado,创建实验工程,点击左侧菜单栏的IP Catalog,搜索Block,就可以看到block memory generator,双击打开进行配置。首先在basic选项卡中将memory type配置成单端口的ROM,因为我们会事先将数据存入ROM中,只需要对它的地址空间进行读取即可,同时也可以将这个IP定义成自己想要的名称,方便辨别。其余保持默认。在port A options选...原创 2022-02-26 19:27:08 · 4138 阅读 · 0 评论 -
【Xilinx ILA调试】Xilinx 硬件调试ILA
什么是ILA?FPGA综合出来的电路都在芯片内部,基本上是没法用示波器或者逻辑分析仪器去测量信号的,所以xilinx等厂家就发明了内置的逻辑分析仪。在vivado中叫ILA(Integrated Logic Analyzer),之前在ISE中是叫ChipScope。基本原理就是用FPGA内部的门电路去搭建一个逻辑分析仪,综合成一个ILA的core核伸出许多probe去探测信号线。硬件调试简介:1、在整个FPGA设计中,硬件调试与验证会花费超过40%的时间。2、低效的策略可能导致产品发布延迟.原创 2022-02-02 14:30:08 · 4796 阅读 · 0 评论