技术文章及通讯

推动日立通信系统开发采用基于模型的设计

作者:Noritaka Kosugi, Kazuyuki Hori, Yuji Ishida,信息通信系统公司电信和网络系统部,日立有限公司,和长谷川诚,日立信息通信工程有限公司


信号处理算法被整合到大多数日立产品中,包括无线基站、接入点和用于电信服务的发射机,以及用于企业网络的IP-PBX和视频会议系统。下载188bet金宝搏传统上,这些算法被实现为asic。随着通信市场的多样化,转向高混合、小批量生产,日立越来越依赖fpga。

我们采用了基于模型的MATLAB设计®和仿真软金宝app件®作为我们FPGA设计的标准开发工作流。因此,通过在设计过程的早期评估系统性能,我们改善了团队之间的沟通,减少了开发时间,并降低了风险。

我们之前工作流程的局限性

日立公司一个典型的通信系统FPGA开发项目涉及三个团队:

  • 系统设计团队开发信号处理算法以满足功能需求,并使用框图、算法代码、状态转换表等创建规范。
  • FPGA设计团队创建功能图和HDL代码,包括用于验证最终算法的测试台架。该团队还执行逻辑综合和位置-路由步骤,以及验证FPGA实现。
  • 功能测试团队测试每个组件的物理原型。然后他们集成组件并测试整个系统,包括无线电射频和模拟组件。

在我们之前基于文档的设计工作流程中,每个团队都开发了自己的规范。这造成了团队之间的沟通差距,以及延迟和错误风险的增加。

系统设计团队和FPGA设计团队都是从基于FPGA设计团队规范的功能图(图1)开始工作的。我们必须使用这个功能图来确定系统设计团队是否需要澄清或额外的信息来描述HDL代码中所需的功能。这导致了不必要的延迟和重复工作,使该过程成为瓶颈,特别是对FPGA设计团队而言。

在引入基于模型的设计之前的开发工作流。
图1。在引入基于模型的设计之前的开发工作流。

用基于模型的设计弥合沟通鸿沟

我们采用了基于模型的设计,使团队能够通过共享仿真环境中的模型来验证规范。在新的工作流程中,我们使用MATLAB和Simulink对信号处理算法进行建模。金宝app系统设计和FPGA设计团队使用该模型作为可执行规范。在整个设计过程中对模型进行了细化和阐述。从模型中自动生成HDL代码,用于逻辑综合、位置和路由以及硬件实现。

我们发现,使用基于模型的设计开发的FPGA实现的处理性能和资源效率几乎与我们使用传统工作流实现的相同水平。电力消耗也几乎相当。

此外,FPGA设计团队能够以传统工作流程所需工程师数量的近一半来处理该项目。我们不能进一步减少人数的一个原因是细化Simulink模型所需的时间。金宝app

应用基于模型的设计:关键考虑因素和示例

在许多方面,我们发现基于模型的设计是一个理想的工作流程(图2)。当在实际的FPGA设计上评估这种方法时,我们确定了三个成功结果的关键因素:模型细化、测试模式生成和综合后的仿真。

引入基于模型的设计之后的开发工作流程。
图2。引入基于模型的设计之后的开发工作流程。绿色块说明了将基于模型的设计应用到实际FPGA设计中的注意事项。

金宝appSimulink模型改进

通常,系统设计团队创建信号处理算法。为了精确起见,该算法采用双精度浮点数据建模。由于目标FPGA只能处理定点数据,因此必须将模型转换为定点。为硬件实现准备算法需要考虑其他因素,包括量化误差、位宽和字长配置以及矢量数据处理。此外,在为代码生成做准备时,必须对算法模型进行细化,以优化处理器性能,同时有效地利用FPGA设备上的DSP单元或RAM等资源。

测试模式生成

HDL Coder™允许您通过与Simulink模型的接口自动生成HDL测试模式数据。金宝app这大大减少了手动创建测试平台所需的时间和精力。

逻辑综合后的仿真

在逻辑综合后进行仿真是验证实现的一种不可缺少但耗时的方法。这项任务必须作为手工编码HDL的传统设计规则检查的替代品来执行。我们发现,使用fpga -in- loop (FIL)模拟与HDL Verifier™减少了该任务所需的时间(表1)。

模拟方法 仿真时间
逻辑综合后的仿真(门级网表仿真) 约200小时
FPGA-in-the-loop 4分30秒
金宝app 60分钟
硬件描述语言(VHDL) 370分钟

表1。各种选项的验证时间。

在FIL中,Simul金宝appink模型直接连接到标准FPGA测试板(图3)。

fpga在环仿真的设置。
图3。fpga在环仿真的设置。

减少验证时间意味着我们可以运行更多的测试用例。在日立,我们有效地使用这种方法来检测错误,包括来自定时控制器电路和初始化电路的错误。

整体结果

图4显示了将基于模型的设计引入我们的无线通信系统开发过程的结果。

图4。采用基于模型的设计节省了时间。
图4。采用基于模型的设计节省了时间。

例1:在FIR滤波器中使用DSP单元

在这个例子中,我们使用矢量表达式描述有限脉冲响应(FIR)滤波器中的DSP单元(图5)。

图5。FIR滤波器的设计与实现:优化性能。

图5。FIR滤波器设计与实现:第一次迭代。

然而,当我们实现从这个模型直接生成的HDL代码时,我们使用了DSP单元之外的加法器。因此,该设计没有满足110 MHz的时钟速率要求。

图6。FIR滤波器的设计与实现:优化性能。

图6。FIR滤波器的设计与实现:优化性能。

为了在DSP单元中最有效地使用内置加法器链,我们根据FPGA供应商的建议改进了模型。结果是性能从78 MHz提高到340 MHz(图6)。

例2:使用DSP单元实现复乘法器

在这个例子中,我们在Simulink中描述了一个复杂的乘数实现块(图7)。金宝app

图7。FIR滤波器的设计与实现:优化性能。

图7。复杂乘数的设计和实现:第一次迭代。

注意,在输出之后插入了一个单位延迟。为了实现这个单元延迟,我们在DSP单元外激活了一个触发器(FF)。我们的目标是在位于乘法器和加法器之间的内置DSP单元中实现触发器的单位延迟。

我们通过改变FF结构来改进模型。使用DSP System Toolbox™,我们添加了第二个延迟块(图8)。我们为逻辑合成配置了额外的约束,以禁止重计时并允许流水线。结果表明,FF在DSP单元上得到了有效的实现。

图8。复杂乘数的设计和实现:第一次迭代。

图8。复杂的乘数设计和实现:为更好的性能而改进。

轻松过渡到基于模型的设计

为了确保基于模型设计的成功实施,我们举办了技术研讨会,帮助系统设计师和FPGA设计师理解基于模型设计的概念和好处。我们还开发了一套全面的指导方针,以标准化FPGA设计工作流,并帮助算法设计师和FPGA设计团队有效地使用Simulink作为共享可执行规范。金宝app这些准则包括以下内容:

金宝app仿真软件规范。本指南提供了大约50条规定如何创建Simulink模型的规则。金宝app它包含通用规则,如信号和数据的操作条件和命名规则,以及指定模型结构、层次结构和框图格式的规则。

验证标准。本指南包括硬件详细设计验证、FPGA实现和FPGA单元验证。它包括过程、必要的检查和验证文件。

HDL编码技巧。本文档总结了我们如何有效地使用HDL Coder的知识。它包含大约40个项目,包括如何操作和配置HDL Coder。

FIL用户手册。本文档总结了我们在HDL Verifier中使用FIL特性的经验,包括如何设置和操作FIL模拟环境。

推动采用基于模型的设计

我们的团队主动推动日立内部采用基于模型的设计。有时我们自己完成整个项目,从电路选择到硬件测试,以熟悉基于模型的设计,并证明各种开发概念。

到目前为止,我们已经在日立的10多个产品开发项目中采用了基于模型的设计,包括设计和开发无线基站的信号处理组件、光通信设备和图像处理系统。我们希望将基于模型的设计扩展到新的开发项目,并与日立内部和我们的合作伙伴公司的其他部门分享我们积累的经验。

发布于2013年9月9日

查看相关行业的文章