首页 > 技术 > CAE其它 > > MATLAB中多EDA软件实现数字系统设计

MATLAB中多EDA软件实现数字系统设计

作者:Simwe    来源:万方数据    发布时间:2012-06-08    收藏】 【打印】  复制连接  【 】 我来说两句:(0逛逛论坛

引言

在目前的大规模集成电路设计中,系统级设计和逻辑设计往往是分开进行的。系统设计人员使用诸如C/C++、Matlab、COSSAP、SPW等系统设计语言和软件进行系统描述和算法仿真,并书写系统设计书,然后移交给电路设计部门。电路设计人员,首先要花大量的时间理解系统设计书后,才能利用VHDL或者Verilog HDL硬件描述语言进行电路设计。根据有关统计从系统级设计到电路级设计所花费的时间一般是系统级设计所花时间的3倍左右。因此在系统级设计与电路级设计之间架设一座桥梁已经成为电路设计领域极为迫切的任务。对于片上系统设计而言,除了上述问题以外,还面对着如何处理嵌入式CPU或DSP与大规模逻辑电路的软硬件协同设计问题。由于CPU或DSP多用C/C++或汇编语言来仿真和验证,而逻辑电路则使用VHDL或者Verilog-HDL硬件描述语言进行仿真和验证。因此,需要2种不同的仿真工具和仿真环境来支持设计工作。这2种不同的仿真和验证环境,不仅增加了设计周期和设计成本,而且容易造成设计错误。

为了实现系统级与电路级设计的融合,同时解决硬软件协同设计问题,最好的办法是寻求一个既能兼容系统级设计和逻辑设计,又能兼容逻辑电路软硬件仿真与验证的综合集成环境。基于MATLAB集成环境下的多EDA软件联合设计便可以很好地解决这个问题。

1 MATLAB环境下数字系统设计

1.1 设计工具

MATLAB结合第3方软硬件产品组成了在不同领域内的完整解决方案,实现了从算法开发到实时仿真再到代码生成与最终产品实现的完整过程。

主要的典型应用包括:

控制系统的应用与开发——快速控制原型与硬件在回路仿真的统一平台dSPACE;

信号处理系统的设计与开发——全系统仿真与快速原型验证,TI DSP、Lyrtech等信号处理产品软硬件平台;

通信系统设计与开发——结合RadioLab 3G和Candence等产品;

机电一体化设计与开发——全系统的联合仿真,结合Easy 5、Adams等。

MATLAB开放的产品体系使MATLAB成为了诸多领域的开发首选软件,并且,MATLAB还具有300余家第3方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域。接口方式包括了联合建模、数据共享、开发流程衔接等等。

1.2 设计流程

传统的DSP系统开发人员在设计一个DSP系统时,一般先研究算法,再使用MATLAB或C语言验证算法,最后由硬件工程师在FPGA或DSP上实现并验证。在MATLAB集成环境下使用多EDA软件的典型DSP系统设计流程如下:

①用数学语言描述算法;

②设计环境中使用双精度数实现算法;

③将双精度运算变为定点运算;

④将设计转换为有效的硬件描述语言实现。

设计人员先在MATLAB中对系统进行建模和算法验证,经过仿真后便可以直接将系统映射为基于FPGA的底层硬件实现方案。可用Simulink提供的图形化环境对系统进行建模,代码转换工具可自动生成FPGA综合、仿真和实现工具所需的命令文件,因此用户可以在图形化环境中完成系统模型的硬件开发。

1.2.1 建模

Simulink、Stateflow和Simulink Blocksets提供了一个集成的交互图形化动态建模环境。强大的仿真能力能够对离散、连续、条件执行、事件驱动、多速率、混杂系统等进行分析。通过使用Simulink、Stateflow、DSP Blocksets,可以快速、准确地仿真系统中每一部分的行为,包括实时DSP算法,数字、模拟和混合信号处理硬件,控制逻辑,通信协议和同步循环,还可以考虑信道、声学和其他物理效应。利用Simulink可视化的建模方式,可迅速地建立动态系统的框图模型,Simulink的分级建模能力使得体积庞大,结构复杂的模型构建也简便易行。

1.2.2 实时仿真

为了完成仿真的实时性,要用到一个Simulink的配套工具ReaI-Time Workshop(RTW),它和C或C++编译器编译,可将程序生成独立于MATLAB环境的应用程序,运行到实时的工业过程中。Real-Time Windows Target使用一个很小的实时内核来保证它开发出来的应用程序可以实时运行。实时核心运行在Ring0级,使用内置PC时钟作为它的时钟来源,该内核在Windows获取之前截取PC时钟的中断,程序无法调用Windows系统提供的函数。正因如此,在C语言S函数中不允许使用Win32 API。内核使用时钟中断触发已编译模型执行,并能唯实时应用程序最高的优先级。

利用Simulink及其工具集运行仿真模型,调试控制参数。Simulink的示波器可以动画和图形显示数据,能够在仿真运算进行时监视仿真结果。

 
分享到: 收藏