0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Block Design方法的Vivado FIR滤波器设计与仿真

电子设计 来源:CSDN博主 作者:chinkwoyu 2021-01-02 09:05 次阅读

最近在学习FPGA DSP相关设计,从滤波器开始学习,最开始先生成两个正弦信号,产生混频信号,通过modelsim仿真来验证设计。 本案例用Block Design方法进行设计(也可以选择编写.v文件的形式进行设计)。

信号源产生
本次案例用DDS IP核产生两个简单的正弦信号,为了方便后面观察,这里分别产生一个4M和一个5M的正弦信号。

pIYBAF9uIxWADR4BAABex0NulNE951.png

双击打开DDS IP核进入设置,对相关参数进行设置

本案例相关设置如下所示:

o4YBAF9uIx2ARhGKAAgnnDqw3OA830.png

pIYBAF9uIyWAdgOeAAdZjpjKR0k356.png


o4YBAF9uIyyAK65-AAdDUonA_eA356.png

设置完相关参数之后,可以在Output Frequencies中查看频率信息

pIYBAF9uIzOAKWLXAAY92z4i4zU867.png

同样的,在Summary选项中查看设置的参数信息

o4YBAF9uIzuAXdR4AAfBWQQJHpg923.png

混频
调用一个乘法器,将两路正弦信号进行混频,观察混频之后的信号。

pIYBAF9uIzyATei8AAAvVFNa2aQ483.png

连线
IP模块选择完成以后,就可以进行连线了,首先选中DDS IP的aclk管脚

pIYBAF9uIz2ALmOwAABF7NZrYU8248.png

右键点击ackl引脚,点击make external

o4YBAF9uI0CAch7tAAFyf9RGiBs793.png

会产生一个aclk的输入管脚,然后把另外一个DDS IP核的aclk引脚连接到aclk输入管脚上。

o4YBAF9uI0GASMgLAAB3MIYnvA0814.png

然后把两个DDS的M_ASIS_DATA输出管脚分别连接到mult_gen IP核的A和B上,之后,右键点击P管脚,选择make external自动生成输出的管脚即可。

pIYBAF9uI0OAfVMNAAChGrDAkUI184.png

右键点击空白处,选择valid design,出现如下窗口,说明连接没有错误。

pIYBAF9uI0SAfHDFAABU87yeVm4793.png

连线完成之后,ctrl+s保存一下工程,然后在source窗口里面,有一个类似于金字塔形状的选项

o4YBAF9uI0aAXiloAABX5bK605U457.png

这个就是工程的BD文件,右键点击,选择create a HDL wapper,生成一个顶层文件。

o4YBAF9uI0iAd9zFAAHDC_oFHww445.png

仿真
工程建立完成以后,我们写个TB文件对其进行仿真,测试代码如下:
module tb_top(
);
reg aclk_0 ;
wire [31:0]S_0;
initial
begin
aclk_0 = 1;
end

always #5 aclk_0 = ~aclk_0 ;

DSP_TEST_wrapper DSP_TEST_wrapper_i
(.aclk_0(aclk_0),
.S_0(S_0));
endmodule

将测试文件添加进工程,点击左侧run simulation即可用modelsim进行仿真(需要将VIVADO和modelsim进行关联,在SIMULATION选项进行设置)

仿真结果如下图所示(我将两路正弦信号也连了管脚出来,便于仿真观察,也可以在modelsim中把DDS IP的信号添加进来观察,效果一样)

pIYBAF9uI0uAOnjfAAGyvO20WeE632.png

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    553

    文章

    8027

    浏览量

    349249
  • FPGA
    +关注

    关注

    1629

    文章

    21752

    浏览量

    604137
  • 滤波器
    +关注

    关注

    161

    文章

    7841

    浏览量

    178340
收藏 人收藏

    评论

    相关推荐

    基于FPGA实现FIR数字滤波器

    在数字信号处理系统中,有限脉冲响应(finite impulse response,FIR)数字滤波器是一个非常重要的基本单元。近年来,由于FPGA具有高速度、高集成度和高可靠性的特点而得到快速发展
    的头像 发表于 11-05 16:26 699次阅读
    基于FPGA实现<b class='flag-5'>FIR</b>数字<b class='flag-5'>滤波器</b>

    具有可编程FIR和IIR滤波器的Δ-Σ ADC的优点

    电子发烧友网站提供《具有可编程FIR和IIR滤波器的Δ-Σ ADC的优点.pdf》资料免费下载
    发表于 09-03 11:48 0次下载
    具有可编程<b class='flag-5'>FIR</b>和IIR<b class='flag-5'>滤波器</b>的Δ-Σ ADC的优点

    FIR滤波器的工作原理和特点

    FIR(Finite Impulse Response)滤波器,即有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件之一。其名称“有限长单位冲激响应”意味
    的头像 发表于 08-05 16:33 1292次阅读
    <b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>的工作原理和特点

    如何区分IIR滤波器FIR滤波器

    对信号进行处理的系统,它可以按照预定的规则改变信号的频谱特性。在数字信号处理中,滤波器通常用于去除噪声、抑制干扰或提取特定频率成分。IIR和FIR滤波器是两种基本的数字滤波器类型,它们
    的头像 发表于 07-19 09:44 5026次阅读

    iir滤波器fir滤波器的优势和特点

    IIR滤波器FIR滤波器是数字信号处理领域中两种非常重要的滤波器类型。它们各自具有独特的优势和特点,适用于不同的应用场景。本文将介绍IIR滤波器
    的头像 发表于 07-19 09:28 1622次阅读

    基于 FPGA 的任意波形发生+低通滤波器系统设计

    选择主瓣窄,旁瓣峰值小的窗函数。设置好以后将FIR滤波器系数导出,将生成好coe文件导入VivadoFIR IP核中。撰写TestBench文件进行波形
    发表于 07-15 18:33

    基于matlab FPGA verilog的FIR滤波器设计

    )相应的改为if(i0<5)。 仿真的波形如下图(fir滤波器的输入输出信号): 运行matlab,用sin_1MHz_gen.m产生1MHz(f0 =1e6)正弦波信号,Fs/Fo
    发表于 07-04 20:11

    matlab与FPGA数字信号处理系列 Verilog 实现并行 FIR 滤波器

    讲 Matlab 与 Vivado 联合仿真 FIR 滤波器 ; 3. 编写仿真文件testbench (1)例化模块; (2)写 ini
    发表于 05-24 07:48

    DSP教学实验箱_DSP算法实验_嵌入式教程:4-3 有限冲激响应滤波器FIR)算法(CCS显示)

    一、实验目的 了解FIR滤波器的特点,掌握程序算法生成滤波器系数的方法,并实现FIR滤波器滤除高
    发表于 05-16 09:30

    Matlab生成fir滤波器抽头系数

    Vivado调用fir滤波器时,我们会遇到需要填充滤波器抽头系数的问题,手工计算又不现实,所以在此向大家介绍一个生成系数的工具。 首先,我们打开matlab软件,在命令窗口输入fda
    发表于 04-30 16:17

    Vivado 使用Simulink设计FIR滤波器

    领域都有着广泛的应用。 Vivado自带的FIR滤波器IP核已经很好用,这里借FIR滤波器的设计,介绍Simulink图形设计编程
    发表于 04-17 17:29

    Matlab生成fir滤波器抽头系数的流程

    Vivado调用fir滤波器时,我们会遇到需要填充滤波器抽头系数的问题,手工计算又不现实,所以在此向大家介绍一个生成系数的工具。
    的头像 发表于 03-25 09:49 1482次阅读
    Matlab生成<b class='flag-5'>fir</b><b class='flag-5'>滤波器</b>抽头系数的流程

    Vivado经典案例:使用Simulink设计FIR滤波器

    FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格
    的头像 发表于 03-25 09:18 2176次阅读
    <b class='flag-5'>Vivado</b>经典案例:使用Simulink设计<b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>

    FIR滤波器和IIR滤波器的区别与联系有哪些

    FIR滤波器和IIR滤波器是数字信号处理中的两种常见滤波器类型,它们在原理、结构和性能等方面存在显著的差异与联系。
    的头像 发表于 01-29 16:41 2821次阅读
    <b class='flag-5'>FIR</b><b class='flag-5'>滤波器</b>和IIR<b class='flag-5'>滤波器</b>的区别与联系有哪些

    全文详解IIR滤波器原理与设计方法

    IIR滤波器具有很高的滤波效率,在相同幅频响应条件下,所需的滤波器阶数明显比FIR滤波器低。其次,IIR
    发表于 01-22 09:25 1w次阅读
    全文详解IIR<b class='flag-5'>滤波器</b>原理与设计<b class='flag-5'>方法</b>