正在加载图片...
3.1测试程序(test bench) 测试程序对于设计功能和时序的验证有着举足轻重的影响,测试激励的完备性和真实性 是关键所在,有以下原则须遵循: (1)测试激励输入和响应输出采集的时序应当兼顾功能仿真(无延时)和时序仿真 (有延时)的情况。 (2) 对于周期较多的测试,为提高效率,尽可能采用程序语句来判断响应与标准结 果是否一致,给出成功或出错标志,而不是通过观察波形来判断。 (3) 采用基于文件的测试是很好的办法,即由matlab或spw等系统工具产生测试数 据,测试程序将其读入产生激励,再把响应结果写入到文件,再交给上述工具 进行处理或分析。 (4) 仿真器支持几乎所有的Verilog HDL语法,而不仅仅是常用的RTL的描述,应 当利用这一点使测试程序尽可能简洁、清楚,篇幅长的要尽量采用tsk来描述。 3.2使用预编译库 在进行功能仿真和后仿真时都需要某些模块的行为仿真模型和门级仿真模型,如Altera Quartus里的220 model..v(LPM模块行为仿真模型)和apex20 ke atoms..v(20KE系列门级仿 真模型),为避免在不同的设计目录中多次编译这些模型,应当采用一次编译,多次使用的 方法。具体做法如下(以20KE门级库为例): l:在某个工作目录下新建一库名apex20ke,将apex20 ke atoms.v编译到其中。 MLotd R 三▣x编 译库 Desi云V0L Verilog SDF Delay Selection typ -Additional Search Libraries: D:/work/altera simlib/apex20ke Browse. Remove -Pulse Options- -Other Options ■Disable Select Library 3X Rejecti 搜寻): 白pex20ke 回出画国 Error Li □0p0r@i0med0eee ☐pex20ke_asynch_mem 白apex20k apex20ke_asynch_pterm □apex20k -User Defir 白ndl6 白apex20ke_can apex20k 的apex20ke_asynch_io 自apex20ke_cam_slice 白apex20k apex20ke_asynch_lcell 白apex20ke_dpr am □apex20k 打开0) 取消 Library D:\ork\altera_simlib\apex20ke >7 3.1 测试程序(test bench) 测试程序对于设计功能和时序的验证有着举足轻重的影响,测试激励的完备性和真实性 是关键所在,有以下原则须遵循: (1) 测试激励输入和响应输出采集的时序应当兼顾功能仿真(无延时)和时序仿真 (有延时)的情况。 (2) 对于周期较多的测试,为提高效率,尽可能采用程序语句来判断响应与标准结 果是否一致,给出成功或出错标志,而不是通过观察波形来判断。 (3) 采用基于文件的测试是很好的办法,即由 matlab 或 spw 等系统工具产生测试数 据,测试程序将其读入产生激励,再把响应结果写入到文件,再交给上述工具 进行处理或分析。 (4) 仿真器支持几乎所有的 Verilog HDL 语法,而不仅仅是常用的 RTL 的描述,应 当利用这一点使测试程序尽可能简洁、清楚,篇幅长的要尽量采用 task 来描述。 3.2 使用预编译库 在进行功能仿真和后仿真时都需要某些模块的行为仿真模型和门级仿真模型,如 Altera Quartus 里的 220model.v(LPM 模块行为仿真模型)和 apex20ke_atoms.v(20KE 系列门级仿 真模型),为避免在不同的设计目录中多次编译这些模型,应当采用一次编译,多次使用的 方法。具体做法如下(以 20KE 门级库为例): 1:在某个工作目录下新建一库名 apex20ke,将 apex20ke_atoms.v 编译到其中。 2:在图形界面中的 Load Design 对话框中装入仿真设计时,在 Verilog 标签下指定预编 译库的完整路径。(见下图)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有