APP下载

一种用于FPGA逻辑仿真的数据读写方法

2016-05-30吴斌刘夏青车炯晖张旭洲

科技风 2016年10期
关键词:仿真

吴斌 刘夏青 车炯晖 张旭洲

摘 要:针对FPGA逻辑设计仿真,提出一种TEXTIO数据读写方法。当测试激励比较大且复杂时,可以用MATLAB仿真产生,测试结果也可以在MATLAB中进行分析,本文给出仿真实例,证明该方法可行精确,为逻辑设计提供极大的方便。

关键词:FPGA;TEXTIO;仿真;MATLAB

近年来,电子设计领域所涉及的算法越来越复杂,导致对FPGA实现的设计要求越来越高,作为逻辑开发的重要环节,仿真能及时发现设计错误,加快设计进度,提高设计可靠性。

本文针对最基本的行为仿真,提出一种仿真信号由TEXTIO文件读写形式的方法,用于复杂系统测试矢量数目较大的逻辑设计。

1 基于TEXTIO的交互仿真方法

在测试矢量非常大时可以用TEXTIO的方法来进行仿真。TEXTIO是VHDL标准库STD中的一个程序包(Package),它提供了VHDL与磁盘文件直接访问的桥梁,可以利用它来读取或写入仿真数据到文件中,TEXTIO的使用是通过testbench来进行的,即在testbench中可以调用TEXTIO进行仿真[ 1 ]。

TEXTIO对文本文件是按行来处理的,TEXTIO程序包中有专门的过程可以读一行或写一行字符串,并且有一个函数检查文件是否结束。

类型LINE是TEXTIO程序包中的基本单元,用于保持将要写到文件的一行字符串或保持从一个文件读取字符串[ 2 ]。一般情况下,该方法用到的过程和函数为readline,read,writeline,write和endfile等。

2 仿真实例

本文将针对欧拉公式这一数学理论进行逻辑设计以及功能仿真验证。

输入信号利用MATLAB仿真产生,假设两信号sig1和sig2频率分别为10MHz和20MHz,取两信号实部和虚部,并将其量化成与逻辑设计输入信号位数相同的二进制BIT量,分别存入4个.txt文本文件中。

在编写testbench过程中,读输入信号的和将写输出信号是本文提出方法的关键。

定义4个文件类型作为输入文件目标,并定义4个变量用来保持从文件读取的行,4个BIT_VECTOR类型的变量用来保持从行读取的值。因为读取的值是BIT_VECTOR,还需要转换为STD_LOGIC_VECTOR类型,可以使用函数TO_STDLOGICVECTOR来实现。

以其中一个变量为例,读输入信号文件部分关键程序为:

FILE in_file1:TEXT IS IN"E:/signal/data1_I.txt";

VARIABLE in_line1:LINE;

VARIABLE int_val1:BIT_VECTOR(13 downto 0);

while not(endfile(in_file1))loop

readline(in_file1,in_line1);

read(in_line1,int_val1);

io_i<=to_stdlogicvector(int_val1);

写文件过程也类似,仿真过程中将输出信号输出到2个.txt文件中,部分程序样例为:

FILE out_file1:TEXT IS OUT"E: /signal/sig_I_new.txt";

VARIABLE out_line1:LINE;

write(out_line1,to_bitvector(out_i));

writeline(out_file1,out_line1);

在MATLAB中画出两信号sig1和sig2以及两信号复乘后的频谱,与ISE中复乘逻辑仿真后的频谱结果进行对比分析,仿真图如图1所示。

仿真结果标明,输入信号为10MHz和20MHz的两个复信号在MATLAB中复乘的结果为30MHz的复信号,逻辑设计中复乘后产生的信号也为30MHz的复信号,与预期结果相同。

3 结论

在FPGA逻辑设计中,可以采用TEXTIO方法进行读取测试激励,这些激励也能够在MATLAB中的生成,在测试结束之后我们还能够利用MATLAB进行分析测试结果,从而实现功能验证,为逻辑设计提供极大的方便。

参考文献:

[1] 汤琦,蒋军敏.Xilinx FPGA高级设计及应用[M].北京:电子工业出版社,2012.

[2] 江思敏.VHDL数字电路及系统设计[M].北京:机械工业出版社,2006.

作者简介:吴斌(1984-),男,蒙古族,内蒙古宁城人,硕士,工程师,主要研究方向:机载计算机技术。

猜你喜欢

仿真
一种帮助幼儿车内脱险应急装置的仿真分析
Buck开关变换器的基本参数设计及仿真分析
试析PLC控制下的自动化立体仓库仿真情况分析
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析
机械加工仿真技术研究