基于参数化IP核的信号处理器设计

2016-02-10 22:07骆传慧
中国科技信息 2016年6期
关键词:电路设计信号处理端口

骆传慧

基于参数化IP核的信号处理器设计

骆传慧

本文介绍的参数化IP核设计方法,将基于高密度FPGA芯片的IP核设计技术,应用到雷达信号处理电路设计中,提高了设计重用率及可靠性,缩短了设计周期,降低了设计成本。文中着重介绍参数化IP核设计方法及其在雷达信号处理系统实现中的应用。

日益复杂的雷达技术,要求信号处理所承担的任务越来越多;数据率的提高、作用范围的加大,要求信号处理运算量越来越大;越来越短的研制周期,要求改进设计方法,提高工作效率。对于雷达信号处理系统来说,数据处理器基本上是由一个个功能块构成,这些功能块基本相互独立,或串、或并,构成整个系统。而对于不同的雷达系统,除有一部分特殊功能外,很大一部分处理功能与其他系统差别不大,如果每种雷达信号处理系统电路设计都从基础的逻辑电路设计开始,这样会耗费设计人员大量的时间和精力,并且要求设计师具有丰富的电路设计知识。

FPGA 器件以其高性能、高灵活性、友好的开发环境和在线可编程的功能,成为雷达信号处理电路设计实现的重要手段。集成了FPGA架构、硬核CPU及其他硬核IP的FPGA芯片出现,使得多种功能可以在一个芯片内实现,整个信号处理系统主要功能用几片甚至一片FPGA来完成。当前新兴的基于IP核(Intellectual Property)的 SOC (System On a Chip)技术,设计者可以重复使用已经设计并经过验证的IP核,提高设计的效率和可靠性,降低成本。

雷达信号处理电路参数化IP核设计技术,就是将IP核设计技术应用到雷达信号处理电路设计中,将雷达信号处理系统常用的处理功能电路设计成IP核,建立自己的雷达信号处理IP核库。

在进行新的雷达系统电路设计时,其通用功能电路设计,可以从IP核库中寻找合适的功能模块,按自己需要设置模块参数,再将这些模块按系统要求连接,适当调整模块间的时序关系,就可以完成。

雷达信号处理电路参数化IP核设计方法介绍

雷达信号处理电路参数化IP核设计宗旨是使用方便,逻辑实现最优,资源占用最少。设计过程中需要解决的最重要问题是模块通用性,即使处理模块能适应雷达系统指标变化。

对雷达信号处理系统来说,有些指标在各个系统之间存在差异,而在同一系统中一旦确定就不会发生改变,如数据率、数据宽度等。另有一些指标随雷达系统工作模式变化而变化,如滤波器点数、滤波器种类等。在进行IP核设计时,可以分别处理,将系统间变化的指标设计成参数,每个系统根据要求设置;将工作时会发生变化的指标设计成端口,通过系统控制信号控制选择。

常用的IP核多采用硬件设计语言实现编码。其中VHDL语言将一项设计分成实体说明(包括参数和端口)和构造体(具体构造和操作)两部分,参数和端口可以通过映射的方式由上层向下层传递。在对一个设计实体定义了外部界面后, 一旦其内部开发完成后,其他的设计就可以直接调用这个实体。

目前主流FPGA芯片为Altera、Xilinx公司产品,芯片资源各有特色。在进行IP核设计中,应该研究不同FPGA芯片器件内部资源结构,充分发挥它们的优势,达到对芯片资源的最佳利用。如嵌入RAM和内嵌专用数字信号处理(DSP)模块,可以实现对数据的高速存储和运算。

在一个芯片中实现多个功能时,各种功能对资源占用可能出现一种资源严重不足,另一种资源富余很多的情况。为解决这种问题,在进行IP核设计时,同一种逻辑可以用不同资源来实现,如数据延迟线可以用RAM资源,也可以用触发器资源实现。这样在做系统集成时,可以根据芯片资源利用情况,选用相应的模块种类。

雷达信号处理电路参数化IP核设计流程

成功的IP核,必须具备良好的灵活性和易用性,离不开算法和架构设计,先进的开发工具,科学的设计流程,符合标准的接口方式,严格的测试验证手段,完善的文档。

参数化IP设计流程:制定设计规范→确定IP核设计方案→IP核实现→IP核功能验证→编写IP核说明。

设计规范解决IP核设计的一致性。雷达信号处理IP核设计是一项由多人协同完成任务,因此保证设计、接口关系的一致性非常重要。在开展设计工作之前,必须确定设计中使用的EDA工具、设计语言种类、端口和参数的命名约定以及编程风格,这样才能保证每个人的设计能够方便被集成及使用。

IP核方案设计对IP核设计起关键性的作用,主要解决IP核的通用性和实用性。在具体设计之前,先用其他手段(如Matlab)对IP核功能进行验证,确定其数学模型的正确性。不同系统对IP核功能需求可能会有细小的差别,为使设计既具有良好的通用性又不过于烦杂,设计中综合考虑各种需求,确定出哪些可以在IP核内部设计中实现,哪些可以在外部附加很少的逻辑实现。为了使设计具有良好的适用性,又不会占用过多的资源,需要分析IP核的各项参数,确定出合理的调整范围。方案中还要考虑,既保证IP核的接口简单,又能满足系统需求的变化,确定哪些指标可更改,可以更改的部分是参数形式还是以端口的形式出现。在详细分析RTL描述语句综合结果后,确定IP核的处理步骤、处理流程或框图、程序结构。对于复杂的IP核,方案中需要对设计任务进行分割,划分出子模块,由不同的设计师完成。

IP核实现即IP核编码,设计中应该使程序尽量简洁;为提高程序的可读性,端口、关键语句必须加注释;为提高编程效率,编制子程序或者函数完成一些重复执行运算,建立通用函数和子程序库,在不同主程序中重复调用;为充分利用芯片内部资源,在分析RTL描述语句逻辑综合时对芯片资源占用情况后,同一种功能可以编制不同的源程序。对那些需要大规模存储器的地方,可以采用FPGA与外加存储器协同工作的方式。

IP核功能验证是检验IP核设计正确性、消除设计和编码错误,分为软件验证和硬件验证两种。软件验证利用EDA工具对IP核设计进行仿真,软件仿真又分为功能仿真和时序仿真。在编程阶段进行的功能仿真,验证IP核功能是否能够正确实现;时序仿真在逻辑综合和布局布线之后进行,验证IP核时序配合的正确性以及在一定的约束条件情况下可达到最大运算速度。硬件验证将IP核参数设置一定的值,控制端口按一定的方式连接,数据端口输入特定的数据,编译后下载到FPGA芯片中通过调试工具或仪器、仪表实际测试。一些复杂的验证数据,需要编制辅助软件来产生。软件验证做的越全面,硬件测试越简单。

成功的IP核设计,用户应该能够快速掌握正确使用方法。对于使用者来说,不需要关心IP核内部程序,只需要了解外部端口的连接方法和参数的设置方法,因此使用说明书的编写非常重要。使用说明书,除说明IP核功能、适用范围外,需要详细说明IP核每一种参数用途、设置方法、设置范围;每一个端口用途、接法。处理器的处理延迟和运算速度是电路设计非常重要的指标,硬件语言编写的程序只有经过编译以后才能得到结果,而同一种IP核,用在不同的芯片中或设置不同的参数或处于不同的工作模式下,所能达到最大运算速度有所不同,因此只能给出一定条件下IP核的处理延迟及关键路径时序特性,供用户参考。出于同样的原因,给出一定条件情况下IP核对芯片资源的占用情况。为了让用户方便、快捷验证处理器的工作情况,在使用说明书中列出IP核的验证方法、验证数据产生方法及验证结果。

雷达信号处理电路参数化IP核的使用

当一个雷达信号处理系统方案确定后,系统构成、系统指标、系统硬件资源也就确定了。设计师首先查找IP库,寻找能够完成系统通用功能的IP核。第二步,根据系统硬件资源和选用的IP核对芯片资源的占用情况估算,选择合适的IP核种类。第三步,参照使用说明,根据系统指标确定各个IP核参数具体设置、端口中选择信号的连接方式。第四步,按系统要求连接各个IP核及使用外部资源,组合系统特殊功能电路模块,调整各个功能块之间的时序关系,使并联功能模块的处理数据延迟保持一致。

当FPGA芯片内部电路设计完毕,经过编译,分析出关键路径的时序性能,看其是否能够满足系统指标要求;经过仿真、静态时序分析、测试等验证手段,完成系统电路设计和调试。

总结

通过前期已经设计出滤波器、脉冲压缩器、恒虚警处理器等多个品种IP核,并成功地应用到新产品设计中,实践证明,利用高密度、高速FPGA芯片和EDA工具,开发雷达信号处理电路设计参数化IP核,能够有效地缩短设计周期、降低设计成本、提高电路设计效率,同时能够提高信号处理系统的性能和可靠性。在市场化的今天,开展这项工作具有非常重要的意义。

DOI:10.3969/j.issn.1001-8972.2016.06.008

猜你喜欢
电路设计信号处理端口
专题征稿启事
——信号处理
一种有源二端口网络参数计算方法
MATLAB在数字信号处理中的应用
一种端口故障的解决方案
基于Multisim的单管共射放大电路设计与仿真分析
多按键情况下,单片机端口不足的解决方法
一种车用醉驾检测电路设计
Altium Designer在电路设计中的应用
基于MATLAB的语音信号处理
负反馈放大电路设计