基于dsp_builder的算法在FPGA上的实现

 

一、摘要

  结合dsp_builder、matlab、modelsim和quartus ii等软件完成算法的FPGA实现。

二、实验平台

硬件平台:DIY_DE2

软件平台:quartus ii9.0 + ModelSim-Altera 6.4a (Quartus II 9.0) + dsp_builder9.0 + matlab2010b

三、软件平台的准备

1、软件的匹配

  根据altera的官方文档,可以看到quartus ii、modelsim、dsp_builder和matlab的版本匹配信息。如图1所示。

http://www.altera.com/support/ip/dsp/ips-dsp-version.html

图1 软件版本匹配

  一般情况下,quartus ii、modelsim和dsp_builder版本一定要匹配,而matlab版本高于规定的版本也可以,但这样做有可能会出现某些模块不能使用的情况。

2、软件的安装

安装与破解dsp_builder的步骤可以参看“清风醉明月”同学的文章,链接如下:

DSP builder安装指南(以9.1为例)

需要说明的是:

  针对dsp_builder9.0版本的matlab版本应为2007b,而我的是2010b,虽说是兼容的,但是仍出现了些问题,如高级库的一些组件无法显示,如图2所示。最好的解决办法还是按照建议,使版本完全匹配。

图2 某些功能无法使用

 四、例程

  通过一个正弦波的例程阐述dsp_builder的使用流程。可参看潘松著《EDA技术与VHDL》(第3版)第9章的例程。

1、建立simulink设计模型

  在matlab中,新建立一个simulink模型,如图3所示。

图3 建立的simulink模型

2、simulink模型仿真(系统级,即算法级)

  设置好参数后,运行仿真,双击scope可以看到仿真波形,如图4所示。

图4 simulink仿真波形

3、SignalCompiler使用方法

  在simulink中完成仿真验证后,就需要把设计转到硬件上加以实现。这是整个DSP builder设计中最关键的一步,据此可以获得针对FPGA的VHDL RTL代码。如图5所示。

图5 SignalCompiler

4、使用modelsim进行RTL级仿真

  这一步,其实是对由.mdl文件转换的VHDL文件进行仿真验证,可以通过添加TestBench组件实现。如图6所示。

图6 TestBench

  另外,Launch GUI选型,勾选的话,则直接启动modelsim进行仿真;不勾选的话,可以通过modelsim的Tools菜单下的TCL——>Execute Macro...查找工程文件夹下的sinwave_add.tcl文件进行仿真。

5、使用Quartus II实现时序仿真

  上一步是功能仿真,即modelsim中的前仿真。这是进一步验证时序仿真的正确与否,即后仿真。这一步,需要说明几点:

(1)Quartus II 9.1之前的软件自带仿真组件,而之后软件不再包含此组件。

(2)可以用modelsim实现后仿真,验证时序仿真。

6、FPGA的验证

  将设计下载到FPGA,进行验证。通过示波器验证波形的正确与否。

五、总结

  上面的流程涉及到的各个部分的具体使用,可以参看altera的dsp_builder官方文档。

dsp_builder的介绍:http://www.altera.com.cn/literature/hb/dspb/hb_dspb_intro.pdf

dsp_builder的基本库:http://www.altera.com.cn/literature/hb/dspb/hb_dspb_std.pdf

dsp_builder的高级库:http://www.altera.com.cn/literature/hb/dspb/hb_dspb_adv.pdf

转载自:http://www.cnblogs.com/sunev/archive/2012/11/17/2774836.html

基于dsp_builder的算法在FPGA上的实现的更多相关文章

  1. 基于dsp_builder的算法在FPGA上的实现(转自https://www.cnblogs.com/sunev/archive/2012/11/17/2774836.html)

    一.摘要 结合dsp_builder.matlab.modelsim和quartus ii等软件完成算法的FPGA实现. 二.实验平台 硬件平台:DIY_DE2 软件平台:quartus ii9.0 ...

  2. FPGA上如何求32个输入的最大值和次大值:分治

    上午在论坛看到个热帖,里头的题目挺有意思的,简单的记录了一下. 0. 题目 在FPGA上实现一个模块,求32个输入中的最大值和次大值,32个输入由一个时钟周期给出.(题目来自论坛,面试题,如果觉得不合 ...

  3. 目标反射回波检测算法及其FPGA实现 之三:平方、积分电路及算法的顶层实现

    目标反射回波检测算法及其FPGA实现之三: 平方.积分电路及算法的顶层实现 前段时间,接触了一个声呐目标反射回波检测的项目.声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激 ...

  4. 目标反射回波检测算法及其FPGA实现 之二:互相关/卷积/FIR电路的实现

    目标反射回波检测算法及其FPGA实现之二: 互相关/卷积/FIR电路的实现 前段时间,接触了一个声呐目标反射回波检测的项目.声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激 ...

  5. 目标反射回波检测算法及其FPGA实现(准备篇): 用Verilog-HDL状态机控制硬件接口

    基于FPGA的目标反射回波检测算法及其实现(准备篇) :用Verilog-HDL状态机控制硬件接口 前段时间,开发了一个简单的目标反射回波信号识别算法,我会分几篇文章分享这个基于FPGA的回波识别算法 ...

  6. 目标反射回波检测算法及其FPGA实现 之一:算法概述

    目标反射回波检测算法及其FPGA实现之一:算法概述 前段时间,接触了一个声呐目标反射回波检测的项目.声呐接收机要实现的核心功能是在含有大量噪声的反射回波中,识别出发射机发出的激励信号的回波.我会分几篇 ...

  7. 云中的机器学习:FPGA 上的深度神经网络

    人工智能正在经历一场变革,这要得益于机器学习的快速进步.在机器学习领域,人们正对一类名为“深度学习”算法产生浓厚的兴趣,因为这类算法具有出色的大数据集性能.在深度学习中,机器可以在监督或不受监督的方式 ...

  8. 基于Caffe的DeepID2实现(上)

    小喵的唠叨话:小喵最近在做人脸识别的工作,打算将汤晓鸥前辈的DeepID,DeepID2等算法进行实验和复现.DeepID的方法最简单,而DeepID2的实现却略微复杂,并且互联网上也没有比较好的资源 ...

  9. QT:用QSet储存自定义结构体的问题——QSet和STL的set是有本质区别的,QSet是基于哈希算法的,要求提供自定义==和qHash函数

    前几天要用QSet作为储存一个自定义的结构体(就像下面这个程序一样),结果死活不成功... 后来还跑到论坛上问人了,丢脸丢大了... 事先说明:以下这个例子是错误的 #include <QtCo ...

随机推荐

  1. Plus One Linked List -- LeetCode

    Given a non-negative number represented as a singly linked list of digits, plus one to the number. T ...

  2. 【树形DP】Codeforces Round #395 (Div. 2) C. Timofey and a tree

    标题写的树形DP是瞎扯的. 先把1看作根. 预处理出f[i]表示以i为根的子树是什么颜色,如果是杂色的话,就是0. 然后从根节点开始转移,转移到某个子节点时,如果其子节点都是纯色,并且它上面的那一坨结 ...

  3. 十. 图形界面(GUI)设计7.文本框和文本区的输入输出

    在GUI中,常用文本框和文本区实现数据的输入和输出.如果采用文本区输入,通常另设一个数据输入完成按钮.当数据输入结束时,点击这个按钮.事件处理程序利用getText()方法从文本区中读取字符串信息.对 ...

  4. spark DiskBlockManager

    RDD本身presist可以是本地存储,本地存储级别的持久化实现方式如下: DiskBlockManager负责管理和维护block和磁盘存储的映射关系,通过blockId作为文件名称,然后如果是多个 ...

  5. P2P通信标准协议(二)之TURN

    上一篇P2P通信标准协议(一)介绍了在NAT上进行端口绑定的通用规则,应用程序可以根据这个协议来设计网络以外的通信. 但是,STUN/RFC5389协议里能处理的也只有市面上大多数的Cone NAT( ...

  6. CSS:display:table

    使用display:table 垂直居中需要结合display:table-cell; 和vertical-align:middle; <!DOCTYPE html> <html l ...

  7. PHP图片的类型将其自动编码成base64

    <!--根据图片的类型将其自动编码成base64--><html><head><?php$file="test.jpg";$type=ge ...

  8. CentOS release 6.6 (Final)如何安装firefox和chromium

    一.firefox的安装: 1. 安装remi源 rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8 ...

  9. webstorm9 License Key

    用户名 oschina 注册码 ===== LICENSE BEGIN ===== 7362-D18089T 00000xmyY1VfVxjkElWULKcA5XHbfN 5qjOh3fgGZvNXH ...

  10. C++之string学习

    #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <list> #include <string& ...