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

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

3天内不再提示

DSP算法的设计和实现步骤概述

电子设计 来源:陈青青 2019-10-06 11:35 次阅读

不久之前,数字信号处理(DSP)就像是一些“神秘艺术大师”所做的副业活动,并且对于相对较少的设计感兴趣。最近,我们已经看到在这个领域出现了惊人的增长,以至于找到一个至少不具备某些DSP功能的数字系统变得越来越困难。

关于DSP算法的设计和实现,该过程的第一步是让DSP架构师在高抽象层次上探索和分析它们。这几乎总是使用MathWorks公司的事实上的行业标准Matlab和/或Simulink环境来执行。对于目标实现技术涉及ASIC的设计环境,Matlab通常占据制高点。相比之下,我现在明白Simulink是当今大多数设计环境中使用的FPGA,其中FPGA是目标实现技术。

后来,当涉及到实际实现这些算法时,我们有两种主要方式。可能会选择:软件或硬件。在软件实现的情况下,我们可能决定用C/C ++和/或汇编代码表示小的scamps,将这些表示编译和/或组装到机器代码中,并在通用微处理器上运行这个机器代码或者专用数字信号处理器

在代码中表示算法的主要优点是,它提供了极大的灵活性,因为它相对容易进行修改。缺点是微处理器和数字信号处理器都是冯·诺依曼型机器,这意味着他们花费了大量的时间(以及功率和硅片空间)读取和解码指令;获取和处理数据;然后存储结果。

另一种方法是使用ASIC和—直接在硬件中实现算法(如逻辑门/功能和寄存器)。最近— FPGA中。传统上,该实现过程依赖于在抽象的寄存器传输级别(RTL)上手动重新编码算法。悲伤,就涉及,出现了通常被抽象的分离谁制定的算法和设计工程师谁的任务是它们的物理实现(图1)DSP建筑师墙。

DSP算法的设计和实现步骤概述

图1—抽象墙将DSP架构师和设计工程师分开。

为了突破这一障碍,有许多公司采用了各种有趣的解决方案。到目前为止,大多数这些解决方案都涉及某种形式的语言翻译或IP块实例化。然而,到目前为止,大多数这些选项还没有在Matlab/Simulink域中工作的DSP架构师和在实现域中工作的硬件设计工程师之间进行明确的交接。事实上,我们经常最终会遇到最糟糕的情况,需要用户成为这两个领域的专家,这样的人很少而且很远!

真正的DSP合成—我们是否希望?

当然,Synplicity的员工以其以FPGA为中心的合成技术而闻名。因此,您只能想象我的惊喜和喜悦,听到他们的新Synplify DSP产品,他们告诉我,它提供了世界上第一个真正的DSP综合解决方案。

这个想法是Synplicity提供独立于架构的,与供应商无关的块集(库),用于Simulink。为了有助于量化过程(将初始浮点表示转换为它们的定点对应物),这些库元素中的每一个都支持自动数据类型传播。这意味着用户只需要为所选信号指定定点数据类型(有符号,无符号)和位宽;然后,导出的值将自动传播到整个设计中。

但关键点在于,与传统的IP模块集解决方案不同,该库保持了DSP架构师在纯算法级别的切入点。也就是说,架构师不需要定义任何低级实现决策,例如内部存储是基于FIFO,寄存器还是内存。相反,架构师需要关注的唯一参数是高级属性,例如滤波器系数和增益要求。

这意味着生成的Simulink表示没有任何架构含义,因此提供了最合适的交接指向硬件设计工程师。这些工程师只需告知Synplify DSP综合引擎目标FPGA架构,与系统相关的所需采样率以及设计的速度要求。

Synplify DSP然后评估所有不同的可能解决方案,以实现最佳实施,并根据提供的区域/时序限制生成适当的RTL。此外,由于Synplify DSP具有架构意识,因此它作为输出生成的RTL被“调整”,以便为目标器件提供最佳解决方案(图2)。

DSP算法的设计和实现步骤概述

图2— DSP Synthesis弥合了域之间的差距。

Synplify DSP执行系统级优化技术,如重定时,资源分配,调度(折叠),多通道化和架构选择。在此上下文中,“折叠”是指采用与数据路径相关联的操作并将这些操作折叠到以较高速率操作的较少资源上。

例如,考虑一个具有100个抽头(级)运行频率为1 MHz的FIR滤波器。每个抽头都有一个相关的乘法器和加法器函数。与使用100个乘法器和100个以1 MHz运行的加法器相反,可以仅使用一个乘法器和一个以100 MHz运行的加法器创建等效滤波器,中间结果存储在存储器中。

在多通道化的情况下,考虑一个视频信号,其中需要在红色,绿色和蓝色通道上执行相同的DSP操作。在这种情况下,用户只需识别一个通道,并指示Synplify DSP将其用于多个信号(如果可以)。如果采样率与系统时钟相比足够低,则综合引擎将自动识别其他通道,并将多通道化技术应用于它们。

嗯,我不了解你,但我‘印象深刻。如果Synplify DSP公司声称Synplify DSP能够完成其中一半的工作,那么它将成为任何DSP设计团队的一个非常有价值的补充,它当然值得一个官方的“酷豆”。直到下一次,有一个好的!

Clive(Max)Maxfield是Techbites Interactive的总裁,Techbites Interactive是一家专注于高科技的营销咨询公司。 Bebop的作者是布尔布吉(电子非常规指南)和EDA的合着者:电子开始的地方,Max曾被一位没有提示,胁迫或报酬的名人称为“半导体设计专家”无论如何。

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

    关注

    68

    文章

    19245

    浏览量

    229596
  • dsp
    dsp
    +关注

    关注

    553

    文章

    7984

    浏览量

    348688
收藏 人收藏

    评论

    相关推荐

    TMS320C672x DSP外设概述参考指南

    电子发烧友网站提供《TMS320C672x DSP外设概述参考指南.pdf》资料免费下载
    发表于 12-17 15:48 0次下载
    TMS320C672x <b class='flag-5'>DSP</b>外设<b class='flag-5'>概述</b>参考指南

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+内容简介

    内容简介这是一本深入解读基础算法及其电路设计,以打通算法研发到数字IC设计的实现屏障,以及指导芯片设计工程师从底层掌握复杂电路设计与优化方法为目标的专业技术书。任何芯片(如WiFi芯片、5G芯片
    发表于 11-21 17:14

    用TMS320C31 DSP实现声码器和短波调制解调器算法

    电子发烧友网站提供《用TMS320C31 DSP实现声码器和短波调制解调器算法.pdf》资料免费下载
    发表于 10-28 10:10 0次下载
    用TMS320C31 <b class='flag-5'>DSP</b><b class='flag-5'>实现</b>声码器和短波调制解调器<b class='flag-5'>算法</b>

    请问TLV320AIC3256 mini DSP是否能实现降噪算法?

    我想做一款设备实现双MIC 降噪,请问TLV320AIC3256 mini DSP是否能实现降噪算法?如果不行,是否还有相近的芯片推荐
    发表于 10-24 08:01

    DSP 数字信号处理实验箱操作丨有限冲激响应滤波器(FIR)算法(LCD显示)

    1►产品概述DSP教学实验箱产品型号:TL6748-PlusTEB处理器:TITMS320C6748应用专业:电子、电信、通信等相关专业应用课程:《数字信号处理》、《音视频编解码》、《图像处理与识别
    的头像 发表于 09-28 10:00 471次阅读
    <b class='flag-5'>DSP</b> 数字信号处理实验箱操作丨有限冲激响应滤波器(FIR)<b class='flag-5'>算法</b>(LCD显示)

    DSP C6000教学实验箱操作案例分享丨有限冲激响应滤波器(FIR)算法(LCD显示)

    1►产品概述DSP教学实验箱产品型号:TL6748-PlusTEB处理器:TITMS320C6748应用专业:电子、电信、通信等相关专业应用课程:《数字信号处理》、《音视频编解码》、《图像处理与识别
    的头像 发表于 09-13 08:08 446次阅读
    <b class='flag-5'>DSP</b> C6000教学实验箱操作案例分享丨有限冲激响应滤波器(FIR)<b class='flag-5'>算法</b>(LCD显示)

    DSP是什么意思

    形式对信号进行分析、变换、滤波、检测、调制、解调以及实现各种快速算法,是现代电子技术和信息技术领域中的一个重要分支。以下是对DSP的详细阐述,包括其定义、工作原理、特点、应用领域以及未来发展趋势。
    的头像 发表于 08-22 11:11 5047次阅读

    利用Matlab函数实现深度学习算法

    在Matlab中实现深度学习算法是一个复杂但强大的过程,可以应用于各种领域,如图像识别、自然语言处理、时间序列预测等。这里,我将概述一个基本的流程,包括环境设置、数据准备、模型设计、训练过程、以及测试和评估,并提供一个基于Mat
    的头像 发表于 07-14 14:21 2129次阅读

    DSP电机控制程序的概述

    引言 数字信号处理器(Digital Signal Processor,简称DSP)是一种专门为实时信号处理而设计的微处理器。在电机控制领域,DSP被广泛应用于实现各种复杂的控制算法
    的头像 发表于 07-14 11:41 970次阅读

    神经网络反向传播算法的原理、数学推导及实现步骤

    传播算法的原理、数学推导、实现步骤以及在深度学习中的应用。 神经网络概述 神经网络是一种受人脑启发的计算模型,由大量的神经元(或称为节点)组成,每个神经元与其他神经元通过权重连接。神经
    的头像 发表于 07-03 11:16 767次阅读

    FPGA能实现什么样的算法

    FPGA功能如此强大,请问用FPGA能实现或者比较适合实现什么样的算法
    发表于 05-26 20:18

    FPGA与SRIO调试步骤

     FPGA(现场可编程门阵列)和DSP(数字信号处理器)之间通过SRIO接口进行调试通常需要以下步骤
    的头像 发表于 04-19 11:48 1381次阅读

    分享DSP和ARM的激光粒度仪关键电路设计

    DSP技术实现MIE散射算法有很多优点:它是专为算法计算而设计的专用CPU,所以它运算速度很快;与通用CPU相比它成本低,所以有很好的性价比;而且它的体积小,能
    发表于 02-15 16:13 358次阅读
    分享<b class='flag-5'>DSP</b>和ARM的激光粒度仪关键电路设计

    怎么实现dsp芯片输出占空比固定的pwm波形

    实现DSP芯片输出占空比固定的PWM波形需要以下步骤:定义占空比、设置计时器、计算周期和持续时间、更新占空比、输出PWM信号。 第一步:定义占空比 占空比是指PWM信号中高电平持续时间与一个周期
    的头像 发表于 12-26 17:28 2662次阅读

    浮点LMS算法的FPGA实现

    运算的运算步骤远比定点运算繁琐,运算速度慢且所需硬件资源大大增加,因此基于浮点运算的LMS算法的硬件实现一直以来是学者们研究的难点和热点。 本文正是基于这种高效结构的多输入FPA,在FPGA上成功
    的头像 发表于 12-21 16:40 763次阅读