草庐IT

Vivado-FIFO

全部标签

FIFO的使用攻略(一看就会)

一、IP核的方式1、打开IP核含义:FIFO是一个先进先出的存储队列。与其他RAM不同的是FIFO没有地址,先入先出。作用:作用就是作为数据的队列通道,让数据暂时缓存,以等待读取。用于异步FIFO模块来实现接口,接口双方都在自己的时钟下工作,他们之间不需要互相握手,只需要跟接口FIFO模块进行交互即可向FIFO模块中写入数据或从FIFO模块中读出数据。命名规范:尽量写出写、读宽度以及深度,一目了然接口:Native(不用总线类型)、AXIMemoryMappedandAXIStream(总线类型)一般使用Native。AXIinterfaceFIFOs是由本地FIFO衍生而来的,AXI是xil

vivado CORDIC ip核计算arctan记录

文章目录前言一、CORDICip核配置二、CORDICip核接口三、仿真波形四、工程文件前言本文主要记录自己使用vivadoCORDICip核计算arctan的过程。一、CORDICip核配置下面是我测试工程的具体配置。要计算arctan需要在FunctionalSelection选择为“ArcTan”,结构默认为并行结构。PipeliningMode可以设置为最大值(Maximum)、最优值(Optimal)和不设置流水线(Nopipelining即纯组合逻辑实现)。增加流水线级数可以提高计算速度。计算arctan时DataFormat固定为带符号小数(SignedFraction)。Pha

Vivado 2018.3 安装后不能检测到JTAG

安装环境:Windows10软件版本:Vivado2018.3现象:安装完软件后,Vivado扫描不到芯片,连扫描的进度条都没有,日志中显示不能连接。SDK烧写镜像文件时报错,显示检测不到JTAG线缆。解决办法:重装JTAG驱动运行安装目录下的install_drivers.cmd文件,如图:运行上图中的install_drivers_wrapper.bat文件;运行安装目录下的install_digilent.exe文件,如图:安装过程中可能会报错,可忽略继续安装。

Vivado自写分频模块的分频时钟的约束条件编写

一、原因由于项目需要,整个工程需要在100kHz的时钟下运行,FPGA的clk:50MHz二、方案分析采用IP核得到分频时钟clockingwizard问题:MMCM和PLL都不能实现分频到100KHz这么低的频率MMCM最小频率4.687MHzPLL最小频率6.25MHz自己写一个简单的分频模块分频模块如下:moduledivi_fre#(parameterDIVNUM=500,parameterWIDTH=9)(inputclk,inputrst_n,outputregdivi_clk);reg[WIDTH-1:0]counter;always@(posedgeclkornegedgers

国产易灵思FPGA的FIFO应用详解

一、软件设置界面FIFO(FirstInFirstOut,即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写。与ROM或RAM的按地址读写方式不同,FIFO的读写遵循“先进先出”的原则,即数据按顺序写入FIFO,先被写入的数据同样在读取的时候先被读出,所以FIFO存储器没有地址线。FIFO有一个写端口和一个读端口外部无需使用者控制地址,使用方便。 FIFO存储器主要是作用为缓存,应用在同步时钟系统和异步时钟系统中,在很多的设计中都会使用如:多比特数据做跨时钟域的转换、前后带宽不同步等都用到了异步FIFO,示意图如下。 FIFO根据读写时钟是否相同,分为SCFIFO(同步FIFO)和DC

FPGA开发技巧备忘录——Vivado 自动日期版本号

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档FPGA开发技巧备忘录——Vivado自动日期版本号前言创建.v文件设定tcl文件路径tcl内容总结前言我们在编译FPGA工程的时候一般需要对版本号的更新,一般来说都会有一个日期或者时间的版本标识,在上板调试的时候用于表征当前版本确实已经更新成功,或者作为FPGA发布版本的标识等等。但有时候我们有时候会忘记更新版本号,从而导致时间的浪费。下面我们就是要解决这个痛点,利用vivado的tcl功能自动进行日期版本号的更新创建.v文件例如创建一个version_date.v里面就包含两句话,分别表示当前的年月日和时分秒parameter

Vivado中的FFT IP核使用(含代码)

本文介绍了Vidado中FFTIP核的使用,具体内容为:调用IP核>>配置界面介绍>>IP核端口介绍>>MATLAB生成测试数据>>测试verilogHDL>>TestBench仿真>>结果验证>>FFT运算。1、调用IP核该IP核对应手册pg109_xfft.pdf,首先按照图片找到IP核:2、配置界面介绍本小节主要介绍FastFourierTransform9.1这个IP核配置界面的一些选项:第1页:Configuration图1表1Configuration界面介绍ConfigurationNumberofChannels变换通道,可以选择多通道,实现多帧数据同时进行FFT运算Trans

vivado:差分信号和单端信号 的相互转换 IBUFDS OBUFDS

目录目录一、背景介绍二、差分信号转单端信号 (1)使用Verilog(2)使用VHDL三、单端转差分信号 (1)使用Verilog(2)使用VHDL一、背景介绍      FPGA内部所有信号都是单端的,差分只出现在引脚上。     在FPGA的开发过程中经常遇到,差分信号转单端信号或者单端信号转差分的问题。本文内容在于结合vivado使用Verilog和VHDL两种语言,分别实现二者的相互转换。二、差分信号转单端信号     FPGA内部所有信号都是单端的,差分只出现在引脚上。输入差分信号转换为单端信号,使用IBUFDS。(1)使用Verilog首先在工程代码中定义差分信号。例如:进入viv

VIVADO2022 sdk 工程创建流程

正点原子uart历程复现createblockdesign(起名为System)->openblockdesign->+号/IPcatalog中搜索zynq双击打开,将和pl相关的时钟都干掉再auto布线一下把herarchy中的sources中的system.bd右键、无脑下一步导出如果不能无脑下一步,生成遇到错误,找其他的工程试试,大概率工程的问题,没找到原因。我用正点原子的工程升级后删了IP核重新走了一遍,也是这个流程就能导出了。生成xsa文件然后再单独打开vitis,先创建平台工程,再创建应用工程选择从刚才生成的xsa文件生成,,无脑下一步创建helloword例程

解决VIvado编程中遇到的bug I

解决VIvado编程中遇到的bugI解决VIvado编程中遇到的bugI1.[DRCMDRV-1]MultipleDriverNets:Nethasmultipledrivers:GND/G,andVCC/P.2.[Designutils20-1307]Command'get_ports{led4_tri_io[0]}'isnotsupportedinthexdcconstraintfile.["***/test_EMIO_LED.srcs/constrs_1/new/system.xdc":1]3.【place30-99】placerfailedwitherror,therearemorei