基于Cycle True准则的算法仿真和RTL代码生成方法研究
2012-07-04宋灿
科技视界 2012年6期
宋 灿
(安徽理工大学 安徽 淮南 232001)
0 引言
与纯粹的算法仿真不同,实现性的仿真不仅需要确定算法的正确性和性能,还需要生成实时语言硬件代码RTL。通常这种实现过程并不是直接通过手工编写的方式来实现算法的硬件代码,而是建立在部分算法仿真的基础之上。首先,在Matlab中搭建Simulink仿真模块。然后,进行数据定点化,确认无误之后可以通过HDL coder来生成硬件代码。然而生成的这些代码未必直接能在硬件平台上运行,那怕只是仿真编译都未必可以通过,这时候我们就需要后续的一系列手段来保证硬件代码生成后可以在硬件平台上顺利运行。通常我们以一个5步流水的方式来生成最后可在硬件上运行的代码。整个过程的流程图如图1所示。

图1 基于Cycle True准则的RTL代码实现的流程图
1 仿真环境介绍
为了更好地介绍硬件代码的实现过程,首先介绍一下在这个过程中需要使用到的仿真环境。整个流程中我们使用到的仿真环境主要有MATLAB是矩阵实验室(Matrix Laboratory)、Quartus II:由Altera公司针对自家生产的硬件所设计的综合性PLD开发软件、Mentor公司的ModelSim:一款HDL语言仿真软件,业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。
2 RTL代码实现流程
2.1 Matlab的理论验证和性能确定
这是所有理论设计的第一步验证,通过Matlab-simulink搭建系统模型,并在仿真运行后观察系统关键位置的数据是否符合理论标准,以及确定整个算法的性能。之后的步骤不再影响或考虑性能因素,只涉及正确性问题。其中需要说明的是,理论验证一开始需要先搭建一个行为级的算法实现,每个模块直接由Simulink提供,这一步基本上就已经确定了算法本身的性能。……
登录APP查看全文
