欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在使用ALTFP浮点运算IP核仿真时得到的一些经验教训

程序员文章站 2022-07-06 12:28:42
...

这里写自定义目录标题

背景

在尝试《基于FPGA的数字图像处理原理及

应用》上P93关于浮点运算的例子时,遇到了一些问题,所以在此记录一下。

仿真过程

由于书上已经给出了代码,并且本次仿真没有修改其代码,所以这里就不贴代码了,主要想记一下仿真时遇到的状况。

首先生成IP核,我使用的是quartus17.1,选择器件是cyclone IV,目前没有什么现象表明这个的选择会对仿真造成影响,在IP catalog中搜索ALTFP即会列出各类浮点运算核。
在使用ALTFP浮点运算IP核仿真时得到的一些经验教训
依照书上要求选择并配置相应的IP核即可,要记下来生成的目录,目录下产生的.v文件在仿真的时候是一定要放进去编译的,我产生的如下图。
在使用ALTFP浮点运算IP核仿真时得到的一些经验教训
接下来就可以仿真了,我使用的仿真工具是modelsim SE 10.2c,把以上文件和仿真顶层文件放在一个目录下,并创建一个此目录下的仿真工程,然后运行run.do文件。

#create work library
vlib work

vlog	"./altera_lib/*.v"
vlog	"./*.v"
#vsim -L xilinxcorelib_ver -L unisims_ver -L unimacro_ver -L secureip -lib work -voptargs=\"+acc\" -t 1ps work.tb_top #这个是#ISE的ip核仿真才需要的
vsim	-voptargs=+acc work.float_tb   

# Set the window types
view wave
view structure
view signals


add wave -divider {float_tb}
add wave float_tb/*
#add wave -divider {adc_clock}
#add wave tb_top/adc_clock_inst/*


#.main clear

run 0.1us

注意其中的float_tb是仿真文件名,如果使用其他名字需要做更改。vlog "./altera_lib/*.v"把目录下一个lib中的文件加了进来,这是本次仿真的关键,该文件夹下有两个库文件。是我在一开始仿真的时候,modelsim报错找不到某些函数,所以我从altera\17.1\quartus\eda\sim_lib中将这两个文件放过来并在do文件中加入编译,然后才解决的。sim_lib下还有很多文件,具体看以后报错缺少的函数是在哪个库中,然后相应的复制进工程就好了。
在使用ALTFP浮点运算IP核仿真时得到的一些经验教训

仿真结果

do文件完全执行即会生成波形,但是初始生成的不是模拟波形,看不到正余弦,需要按如下配置,radix我选择的是use global radix,其他的没有显示成功,目前我已知的是这一个办法,希望能找到其他方法。
在使用ALTFP浮点运算IP核仿真时得到的一些经验教训
在使用ALTFP浮点运算IP核仿真时得到的一些经验教训

相关标签: modelsim仿真