MATLAB基于FPGA和ASIC的数字收发器的开发

无线RF接收器在许多应用中都会用到,包括无线安全系统、工业监控、仪表读数和家庭自动化等等。过去,半导体供应商主要使用模拟设计来构建这些接收器。如今,供应商正在转换到数字和混合信号设计,以期降低功耗和简化与其他组件的集成。

对于基于模型的设计,Semtech工程师扩展了对MathWorks工具的使用,目的是为了过渡至数字平台。多年来,工程师使用MATLAB®和Filter Design HDL Coder™为滤波器建模和生成HDL代码。在最近的项目中,他们使用了Simulink®和HDL Coder™为整个设计生成VHDL®。

挑战

Semtech工程师需要使用低IF架构为频移键控(FSK)和最小频移键控(MSK)解调开发数字接收器链。他们希望在工程的先期研究阶段,就针对性能、功耗和布局等性能,评估多种设计。为每个设计备选方案编写VHDL较为费时,而且限制了团队可以考虑的备选方案数量。

除了原型制作阶段外,Semtech工程师希望改善传统的产品代码开发工作流程。“对系统进行建模,确保它们符合要求之后,我们以往是在VHDL中重新实现模型,然后在新工具中重新执行仿真”,Prianon说道。“这样做随时都有可能引入错误,并且我们永远无法保证模型完全与新的VHDL代码一致。”

解决方案

Semtech使用MathWorks工具进行基于模型的设计,来快速探索和评估各种设计思想,自动生成产品级VHDL代码,改善工程师团队之间的协作,从而加快用于FSK和MSK解调的数字接收器链开发。

在先期研究阶段,Semtech工程师根据系统需求规范在Simulink中创建了浮点模型。他们使用来自Communications System Toolbox™中的模块对信道中的噪音进行建模,并实现FSK和MSK解调。

借助Signal Processing Toolbox™以及DSP System Toolbox™,一位工程师设计并分析了级联积分梳状(CIC)和有限脉冲响应(FIR)数字滤波器,而另一位工程师则使用Simulink分析设计sigma-delta模数转换器(ADC)、锁相环路(PLL)以及整个系统的其他部分。

一旦分别完成数字接收器链的各个部分的仿真,工程师就可以相互共享Simulink模型,从而在完成系统集成之前验证自己的组件设计是否可以共同工作。

“手工编写VHDL没有任何优势可言。编写VHDL是一件非常枯燥的事情,还需要验证手写代码。利用Simulink和HDL Coder,一旦完成对模型的仿真,就可以直接自动生成VHDL,并使用FPGA进行原型验证。这样可以节省大量时间,并且生成的代码还包含一些我们未曾想到的优化。”—— Frantz Prianon, Semtech

工程师运行仿真来验证设计,并使用Communications System Toolbox 中的误码率计算模块来计算误码率。

借助Fixed-Point Designer™,他们将设计从浮点转变为固定点表示形式,从而进行比特位级的仿真。

Semtech工程师使用HDL Coder从完整的接收器链的Simulink模型生成VHDL。为了验证VHDL,他们使用了HDL Verifier™来通过Mentor Graphics® Questa®仿真器联合仿真以验证其Simulink设计与生成VHDL代码的一致性。

结果

创建原型的速度提高了50%。“在我们自行编写VHDL时,通常需要两个月才能创建FPGA原型”,Prianon说道。“借助Simulink和HDL Coder,我们无需再对每个模块进行繁琐的手动编码,只需数周便可创建原型。

验证时间从数周缩短为数天。“在之前的项目中,我们至少需要花两周时间来编写用于验证VHDL的测试用例”,Prianon回想说。“借助HDL Verifier,我们可以进行联合仿真,测试模型中的多个关键点,并验证VHDL,通常不到一天就可以完成。”

最终交付经过优化、性能更佳的设计。基于模型的设计让Semtech可以将从需求到下线的开发时间缩短 33%。“我们用节省下来的时间改善设计”,Prianon说。“MathWorks工具让我们可以探索更多备选方案和新功能,最终提供优化更好、效果更佳的设计。”

用户喜欢...

FPGA加速器卡的PCB设计注意事项

本应用笔记概述了PCI Express卡机电规范3.0版定义的加速器卡形状因子。 它解决了印刷电路板(PCB)设计挑战,从叠层设计到介电材料选择,再到PCB设计过程中使用的PCB制造技术。 该图呈现了典...


使用Zynq UltraScale +器件开发防篡改设计

本应用笔记提供了防篡改(AT)指南和实际示例,以帮助保护ZynqUltraScale+器件支持的系统中可能存在的知识产权(IP)和敏感数据。 这种保护(以防篡改的形式)需要在Zynq UltraScale +器件通过软...


如何基于 Arduino 设计创客产品

市面上约有数百种资源专门面向创客,这些人希望学习如何构建设备,以此感知并响应周围环境。事实证明,对于非工程师和工程师而言,这是一种创造性的亚文化倡导每个人都参与学习、相互...


利用市场上基于FirstFarm®®M33的MCU - 第2部分:生命周期安全管理

对于基于微控制器的系统的开发人员而言,物联网(IoT),工业自动化或个人电子等快速增长应用的广泛设计要求往往会迫使系统功能,性能或功耗之间达成妥协。面对不断增长的安全威胁,在...


第一款基于Arm®Cortex®-M33的MCU - 第1部分:管理功耗和性能

开发人员不断发现自己正在努力平衡在各种功能和应用程序中以较低功耗实现更高应用程序性能的经常冲突的需求。这些应用包括物联网(IoT),工业自动化,医疗系统和消费设备。在这些应用...


Arduino 环境中的 FPGA:使用 Alorium 的 Snō 模块支持预配置和定制 IP

当固件在微控制器或微处理器上的运行速度过慢时,现场可编程门阵列 (FPGA) 可解决实时嵌入式设计的硬件问题。同时,FPGA 还具有外设灵活性。然而,要使用 FPGA,设计工程师就需要学习全新的...


面向基于微控制器的快速原型设计与开发的 CircuitPython 基础知识

虽然 Python 语言让编程变得更加简单,但它最初的设计目的是在拥有足够的处理、内存和外设资源的个人电脑及其他机器上运行。而对于面临较严格的资源和接口限制的嵌入式系统,针对微控制...


通过 Arduino MKR Vidor 4000 快速轻松地应用 FPGA

许多设计人员迟早都会发现,微控制器或微处理器上运行的固件可能会变得太慢。现场可编程门阵列 (FPGA) 为此提供了一种可编程方法,以硬件速度来解决高速、实时、嵌入式设计问题。然而,...


使用Arduino MKR Vidor 4000快速轻松地应用FPGA

正如许多设计人员迟早会发现的那样,在微控制器或微处理器上运行的固件可能会变得太慢。这就是现场可编程门阵列(FPGA)提供可编程方式,以硬件速度解决高速,实时,嵌入式设计问题。...


使用FPGA通过机器学习构建高性能嵌入式视觉应用

本文将介绍ML处理的要求以及FPGA解决许多性能问题的原因。然后,它将介绍一个合适的基于FPGA的ML平台以及如何使用它。...


FPGA配置采用高速NOR闪存

NOR闪存被广泛部署为FPGA的配置器件。工业,通信和汽车ADAS应用中的FPGA使用取决于NOR Flash的低延迟和高数据吞吐量特性。快速启动时间要求的一个很好的例子是汽车环境中的摄像机系统。点火后...


MCU提供基于硬件的物联网安全性

伦敦 - 安全突然成为一个热门话题。考虑到所有关于连接设备和实现物联网(IoT)设备的讨论,以及对网络攻击的潜在威胁的更多认识,这并不令人惊讶。认识到这一点,意法半导体和恩智浦半...


为物联网设计添加高性能语音关键字检测:第 1 部分 - 使用 FPGA

随着Alexa、Hey Siri或Hi Google等多个产品成功响应关键词,关键字检测 (KWS) 已成为越来越多嵌入式应用的一项重要要求。虽然典型的先进 KWS 解决方案依赖于复杂的卷积神经网络 (CNN) 和其他深度神...


使用 FPGA 构建具有机器学习能力的高性能嵌入式视觉应用

随着摄像头和其他设备产生的数据在快速增长,促使人们运用机器学习从汽车、安防和其他应用产生的影像中提取更多有用的信息。专用器件有望在嵌入式视觉应用中实现高性能机器学习 (ML...


基于STM32的高性能低功耗人机界面系统设计

本文选用了意法半导体公司基于ARM最新Cortex—M3内核的STM32F103RB作为主控芯片,通过选择合适的液晶模块,构建了一个高性能低功耗的中文人机界面系统。 1、系统的工作原理 本系统以STM32F1...


基于MSP430的电机功率因数的测量系统

计算机技术,尤其是单片机技术和大规模集成电路及各种新型传感元件的迅速发展和日臻成熟,微机技术在电力系统中的普及应用,使电力系统的测量和监控技术得到了快速的发展。在工业生...