MyFPGA Forum

标题: 编辑测试文件的准则 [打印本页]

作者: Pocahontas    时间: 2010-3-4 09:44
标题: 编辑测试文件的准则
正如计划一个电路设计可以帮助构建更好的电路性能,计划好测试方案可以提高仿真验证的结果。
在编写测试设计前要了解仿真器
虽然通用仿真工具遵从HDL工业标准,但标准并没有说明多少重要的仿真描述条项。不同的仿真器有不同的功能,兼容能力,和执行性能,形成不同的仿真结果。
--基于事件vs基于周期的仿真
仿真器使用基于事件或基于周期的仿真方法。基于事件的仿真器,当输入,信号,或是门改变了值,来确定仿真器事件的时间。在一个基于事件的仿真器中,一个延时值可以附加在门电路或是电路网络上来构建最适的时间仿真。基于周期的仿真器面向同步设计。他们最优化组合逻辑,在时钟周期内分析结果。这个功能使得基于周期的仿真器比基于事件的仿真器更快更有效。然而,由于基于周期的仿真器不允许详细的时间说明,他们并不如基于事件的仿真器准确。
--确定事件时间
基于事件的仿真器提供商使用不同的运算法则来确定仿真事件。所以,根据仿真器用来确定的运算法则不同,同一个仿真时间的事件被确定为不同的次序(根据在每个事件之间插入的delta延时)。为避免对运算法则的依赖和确保正确的结果,一个事件驱动测试应该详细描述明确的激励次序。
--避免使用无限循环
当一个事件添加到基于事件的仿真器,cpu和内存的使用就增加了,仿真过程就会变慢。除非是评价测试设计,无限循环不应该使用来作为设计的激励。一般地,时钟被说明为一个内部的无限循环(如verilog中的'forever'循环),但是没有其他信号事件。
--细分激励到逻辑模块
在测试中,所有初始块(verilog)或进程块(VHDL)并列地运行。如果无关的激励被分离到独立的块,测试激励的次序会变得更容易实现和检视。因为每个并行的块相关于零点运行,对于分离的块传递激励更容易。分离激励块的使用使得测试设计建立,维护和升级(参看后面的高级测试技术,及该技术的示例)
--避免显示并不重要的数据
大型设计的测试可能包含10万以上的事件或匿名信号。显示大量的仿真数据会相当地降低仿真的速度。最好只是尝试每整数时钟周期时相应的信号来确保适当的仿真速度。




欢迎光临 MyFPGA Forum (http://www.myfpga.org/discuz/) Powered by Discuz! X3