微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP Builder的伪随机序列发生器设计及FPGA实现

基于DSP Builder的伪随机序列发生器设计及FPGA实现

时间:04-18 来源:杨 东,王建业 时间:2011年05月11日 来源:微型机与应用2011年第2期 点击:

Builder设计伪随机序列发生器

4.1 DSP Builder介绍

Matlab工具一般作为DSP算法的建模和基于纯数学的仿真,其数学模型无法为硬件DSP应用系统直接产生实用程序代码,仿真测试结果也仅仅是基于数学算法结构。而传统的FPGA基于硬件描述语言(HDL)的设计由于需要考虑FPGA的硬件延时、VHDL的递归算法的衔接、补码运算和乘积结果截取等问题,相当繁杂。DSP Builder是美国Altera公司推出的一个面向DSP开发的系统级工具,为Matlab的一个Simulink工具箱,以帮助设计者完成基于FPGA的DSP系统设计的整个流程,它充分体现了现代电子技术自动化开发的特点与优势。基于DSP Builder的设计流程如图4所示。

4.2 利用Simulink建立各序列模型

DSP Builder设计中首先是在Matlab/Simulink中进行设计输入,即在Matlab的Simulink环境建立一个MDL模型文件,用图形方式调用Simulink库中的模块,构成系统级或算法级设计框图(或称Simulink建模)。建立的m序列、Gold序列和平衡Gold序列产生器模型如图5所示。

图5中主要模块功能为:

(1)The Delay block:延迟模块,起延时作用,在硬件上可以采用寄存器来实现。此模块可接受任意类型的数据输入。
(2)The Logical Bit Operator block:位逻辑运算模块,能实现单个位输入数之间的逻辑运算,能实现多种功能:AND,NAND,OR,XOR,NOR,NOT。
(3)SignalCompiler:DSP Buider的核心,将Simulink设计转换成可综合的RTL级VHDL代码,并产生各种测试和仿真矢量文件。
(4)The Testbench block:通过测试平台模块,可自动运行Modelsim,对比仿真结果。

5 各模型仿真及FPGA实现

5.1 Simulink模型系统级仿真

Simulink中进行的仿真属于系统验证性质的,是对mdl文件进行的仿真,而对VHDL代码进行仿真则需要使用ModelSim,如图6所示。

5.2 使用ModelSim进行RTL级仿真

ModelSim是一个基于单内核的Verilog/VHDL混合仿真器,是Mentor Graphic的子公司ModelTechnology的产品。主要用于对生成的RTL级VHDL代码进行功能仿真。对应图5中(b)、(d),经过ModelSim功能仿真的波形如图7所示。

5.3 FPGA实现

在Matlab/Simulink中对设计模型进行编译,再用DSP Builder的Signal Compiler工具直接生成QuartusⅡ工程文件,再调用QuartusⅡ完成综合、网表生成和适配,直至完成FPGA的配置下载。本设计使用的FPGA芯片是Altera公司的Cyclone系列芯片EP2C35F672C6。

设计表明,在利用FPGA进行伪随机序列发生器设计时,利用DSP Builder能简化设计难度,加快设计速度,灵活选取精度,实现优化设计;DSPBuilder与QuartusⅡ软件的融合,实现了自顶向下的设计流程,充分显示了现代EDA开发的特点与优势。然而,该方法的应用在精度、速度和器件选择等方面也受到一定限制。

参考文献

[1] 何世彪,谭晓衡.扩频技术及其实现[M].西安:电子工业出版社,2006.
[2] 潘松,黄继业,王国栋.现代DSP技术[M].西安:西安电子科技大学出版社,2003.
[3] 楮振勇,齐亮,田红心,等.FPGA设计及应用.西安电子科技大学出版社,2006.
[4] 张洪润,张亚凡.FPGA/CPLD应用设计200例[M].北京:北京航空航天大学出版社.2007.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top