![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ViVado IP的使用
文章平均质量分 81
ML__LM
越努力,越幸运
展开
-
利用CORDIC IP核计算两路信号的相位差
利用CORDIC IP核计算两路信号的相位差1 IP 说明1.1 DDS IP核1.2 CORDIC IP核2 源代码3 结果分析1 IP 说明1.1 DDS IP核The output frequency(f_out ) , of the DDS waveform is a function of the system clock frequency(f_clk ) .the phase width, that is, number of bits (B ) in the phase accumu原创 2022-04-12 21:30:46 · 2767 阅读 · 2 评论 -
vivado 除法器ip核的使用
vivado 除法器ip核的使用1 IP 例化2 源文件3 结果1 IP 例化2 源文件top`timescale 1ns / 1ps//**Algorithm Type:选择不同的算法模式,其中Radix2为常用的模式,LutMult当时数较小的时候使用,High Radix是当数很大的时候使用。常用的是Radix2,此处也是选择的为Radix2.//Dividend Width:被除数的位数。//Divisor Width:除数的位数。//Remainder Type:选择余数的模式原创 2022-03-28 10:09:01 · 5952 阅读 · 0 评论 -
FIR Compiler IP系数重加载方法
FIR Compiler IP系数重加载方法1 基本介绍2 实现流程3 具体实现步骤3.1 生成两个带通滤波器的coe系数文件3.2 配置 DDS3.3 配置 FIR IP5 实现代码5.1 源文件5.2 testbench5.3 结果6 注意点1 基本介绍FIR Compiler模块提供了两种滤波器系数重加载方法。1、reload方法,利用reload接口写入新系数。2、config方法,提前将系数分组后写到Coefficient Vector中,再通过config接口写入系数组编号,选择相应原创 2022-01-05 20:27:27 · 4473 阅读 · 4 评论 -
基于FPGA的DDS 信号发生器(二)
如何产生不同频率的正弦波1 DDS IP的参数设置2 源码2.1 source 文件2.2 testbench文件3 结果1 DDS IP的参数设置summary:2 源码2.1 source 文件`timescale 1ns / 1psmodule top( input sys_clk , input [23:0] fre_ctrl_word ); //inputwire [0:0] fre_ct原创 2021-11-04 16:55:11 · 2073 阅读 · 0 评论 -
基于FPGA的DDS 信号发生器(一)
用DDS求角度的正弦值1 DDS简介2 实现流程2.1 添加DDS IP,并设置相关参数2.2 编写源文件2.3 PI的值如何确定*parameter PI=32768; //PI的值如何确定?2.3 编写testbench文件2.4 结果1 DDS简介2 实现流程2.1 添加DDS IP,并设置相关参数2.2 编写源文件`timescale 1ns / 1psmodule top( input sys_clk , input [15:0原创 2021-09-04 18:37:04 · 1441 阅读 · 0 评论 -
FPGA之复数乘法器的设计
FPGA之复数乘法器的设计1 IP核设计原理2 实现流程2.1 调用complex MUltiplier IP,并设置参数![在这里插入图片描述](https://img-blog.csdnimg.cn/20210713102715261.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjEzNjk2Mw==,size_16,c原创 2021-07-13 10:32:33 · 2979 阅读 · 1 评论 -
FPGA之锁相环(PLL)
FPGA之锁相环(PLL)IP核(PLL核)如何调用1、建立工程2、PLL核配置3、新建源文件,编写源文件4、新建约束文件,编写约束文件5、新建仿真文件,编写仿真文件6、下载程序实验结果IP核(PLL核)如何调用1、建立工程2、PLL核配置---------点击 Project Manager 界面下的 IP Catalog--------搜索clock -------双击clocking wizard,打开配置界面------默认这个 Clocking Wizard 的名字为 clk_wiz_0原创 2021-05-21 20:07:34 · 3391 阅读 · 4 评论 -
真双口RAM IP的使用
真双口RAM IP的使用1 IP的例化2 源代码2.1 顶层文件2.2 testbench文件3 仿真结果1 IP的例化第一个配置界面:Block Memory Gnerator一共可以产生5种不同类型的内存空间,其中block RAM有三种:单口RAM、简化双口RAM和真双口RAM[4]。单口RAM只有一个端口(A端口),可以对A端口进行读写。简化双口RAM有两个端口(A和B端口),但是A端口只能进行写入操作,不能进行读出操作,而B端口则只能进行读出操作,不能进行写入操作。真双口RAM有两个原创 2021-12-07 16:43:17 · 5193 阅读 · 1 评论 -
Vivado hilbert变换的实现
hilbert变换的FPGA实现1 待解决的问题2 实现流程2.1 希尔伯特滤波器的输入数据生成2.2 生成希尔伯特滤波器IP核2.2.1 生成hilbert滤波器的系数,即生成系数coe文件2.2.2 调用FIR IP核2.3 顶层模块2.3.1 新建源文件,编写源文件2.3.2 新建约束文件,编写约束文件2.3.3 结构示意图3 ILA结果1 待解决的问题1、希尔伯特滤波器的硬件如何实现;2、如何生成希尔伯特滤波器的IP核2 实现流程1、MATLAB产生希尔伯特滤波器的输入数据;2、将输入数原创 2021-07-06 22:40:20 · 5127 阅读 · 21 评论 -
FIFO IP的使用
FIFO的读写测试1 新建工程2 添加fifo IP核和ila IP核2.1 添加fifo IP核,并设置参数。2.2 添加ila核,并设置参数。3 新建源文件并编写源文件3.1 新建源文件v_fifo(顶层文件),编写源文件3.2 新建源文件fifo_wr(写模块),编写源文件3.3 新建源文件fifo_rd(读模块),编写源文件4 编写仿真文件5 结果5.1 仿真文件观察结果5.2 ila观察结果1 新建工程2 添加fifo IP核和ila IP核2.1 添加fifo IP核,并设置参数。**参原创 2021-05-29 21:15:50 · 2975 阅读 · 5 评论 -
Vivado ROM IP的生成和调用
MATLAB和FPGA联合仿真1 需求2 具体实现2.1 MATLAB生成的数据导入到FPGA2.1.1 生成coe文件2.1.2 将coe文件导入到FPGA,并分析2.2 将ila的数据导入到MATLAB分析1 需求1、如何将MATLAB生成的数据导入到FPGA中;2、vivado如何对数据进行分析;3、如何验证vivado数据的可靠性;4、如何将vivado的数据导出到MATLAB进行分析2 具体实现2.1 MATLAB生成的数据导入到FPGA2.1.1 生成coe文件 .co原创 2021-06-30 20:13:13 · 6175 阅读 · 4 评论 -
基于FPGA的DDS 信号发生器(三)
控制正弦波的频率和相位(频率控制字+相位控制字)1 DDS原理1.1 书上的解释1.2 自己的理解2 DDS IP的参数设置3 源码3.1 顶层文件3.2 频率控制字模块3.3 相位控制字模块3.4 testbench文件4 结果1 DDS原理1.1 书上的解释DDS(Direct Digital Synthesizer)技术是一种全新的频率合成方法,是从相位概念出发直接合成所需波形的一种频率合成技术,通过控制相位的变化速度,直接产生各种不同频率、不同波形信号的一种频率合成方法。系统的核心是相位累原创 2021-11-06 20:30:15 · 2706 阅读 · 1 评论 -
利用Vivado的 FFT IP 核估计信号的幅度和频率
1 IP说明1.1 Configuration Channel1.2 管脚描述2 例化IP2.1 ROM IP2.2 FFT IP3 程序3.1 top模块`timescale 1ns / 1ps//模块功能:1024个点的FFT变换,并得到幅度谱module top( input clk , input rst_n , output原创 2021-11-17 15:56:48 · 8700 阅读 · 3 评论 -
vivado VIO IP的用法
vivado VIO IP的用法0 程序功能1 IP核的例化1.1 VIO IP的例化1.2 DDS IP2 程序2.1 程序结构2.2 顶层模块2.3 Fword_set模块2.4 约束文件3 结果0 程序功能通过VIO模拟按键来控制DDS的频率控制字,从而得到不同频率的正弦波。程序结构必须要通过ILA才能模拟VIO,testbench不能模拟VIO。1 IP核的例化1.1 VIO IP的例化vio_0 your_instance_name ( .clk(clk),原创 2021-11-17 17:47:59 · 4331 阅读 · 0 评论 -
Vivado 利用FIR滤波器设计低通滤波器
利用FIR滤波器设计低通滤波器0 系统功能1 FIR IP的参数说明1.2 例化模板2 功能实现2.1 MATLAB实现2.2 FPGA实现2.2.1 程序结构2.2.2 FIR IP的系数生成2.2.3 verilog程序2.2.4 结果0 系统功能假设输入信号为cos(2*pi*f1*t)+cos(2*pi*f2*t) 。其中f1=5MHz,f2=15MHz。然后利用FIR滤波器滤掉f2频率分量。1 FIR IP的参数说明在IP Catalog中打开FIR Compiler,主界面如下。配原创 2021-11-26 17:28:01 · 7491 阅读 · 6 评论 -
vivado DDS IP和FIR IP的使用
DDS IP和FIR IP的使用1 功能2 IP的例化2.1 DDS IP2.2 FIR IP2.2.1 coe文件的生成2.2.2 例化3 代码3.1 源文件3.2 仿真文件3.3 仿真结果1 功能利用DDS产生一个点频信号,然后对该信号做希尔伯特变换2 IP的例化2.1 DDS IPparameter selection 选择hardware parameters后,相位位宽phase width和输出位宽output width是可控的。2.2 FIR IP2.2.1 coe原创 2021-12-04 18:13:48 · 1316 阅读 · 4 评论 -
Vivado 除法IP的使用
Vivado 除法IP的使用1 Divider Generator IP的例化2 代码2.1 顶层文件2.2 testbench文件3 仿真结果1 Divider Generator IP的例化第一页配置:**Algorithm Type:**选择不同的算法模式,其中Radix2为常用的模式,LutMult当时数较小的时候使用,High Radix是当数很大的时候使用。常用的是Radix2,此处也是选择的为Radix2.Dividend Width:被除数的位数。Divisor Width:除数的原创 2021-12-07 10:10:07 · 4875 阅读 · 0 评论