减少信号分配的数量是否会减少VHDL代码的模拟时间?

减少信号分配的数量是否会减少VHDL代码的模拟时间?,vhdl,simulation,Vhdl,Simulation,我现在已经读了两遍,通过减少信号分配的数量,可以提高VHDL代码的模拟性能。在盖斯勒看来,信号分配所需的时间是变量分配的100倍。在Ben Cohen的《VHDL常见问题解答》(第222页)一书中,也提到将多个信号分配组合成一个可以提高模拟时间,但他没有给出任何数字 减少不是简单地忽略它们,而是将多个信号放入一个记录中,使用该记录的一个变量,然后在过程结束时将变量类型记录分配给信号类型记录,从而大大减少了信号分配的数量 我认为这个说法听起来很合理,但不确定是否有100倍的改进,但既然我想把它包括

我现在已经读了两遍,通过减少信号分配的数量,可以提高VHDL代码的模拟性能。在盖斯勒看来,信号分配所需的时间是变量分配的100倍。在Ben Cohen的《VHDL常见问题解答》(第222页)一书中,也提到将多个信号分配组合成一个可以提高模拟时间,但他没有给出任何数字

减少不是简单地忽略它们,而是将多个信号放入一个记录中,使用该记录的一个变量,然后在过程结束时将变量类型记录分配给信号类型记录,从而大大减少了信号分配的数量


我认为这个说法听起来很合理,但不确定是否有100倍的改进,但既然我想把它包括在我的论文中,有一个来源就好了。也许有人能证实这一说法,或者更好地提供一个来源来支持它吗?

取决于模拟器。很明显,模拟的工作不是线性的,一个两倍大小的设计需要两倍多的时间来模拟,可能是四倍(平方而不是两倍)。模拟器在不断改进,人们会再次假设,在编译时,整个信号块都可以被确定为同步的(vs组合的),软件在一个时钟周期之前不需要接触或评估这些信号。还有许多其他的技巧。设计上说,为了调试的目的使用计数器,可能会导致整个模块在该模块中只评估一件事情,这需要花费大量的sim卡时间。除总线有效的周期外,保持总线信号为零的设计,基本上在某些总线上进行两次状态更改,而不是一次,在模拟中增加了硅功率和sim时间。因此,您可以在正确的位置添加大量信号,而不会对sim时间进行太多更改。您可以在正确的位置删除大量信号,而不会大大缩短sim卡时间。同样,您可以在正确的位置添加少量信号,使其显著工作,删除少量信号,使其显著更快。“这取决于”信号在哪里,以及你的模拟器和其他工具。帮助一个模拟器的工具不一定会在另一个模拟器上工作。你考虑过基准测试吗?可以想象,结果在很大程度上取决于设计规范。在这里应用一些科学来支持应用其他人的断言。这取决于模拟器。很明显,模拟的工作不是线性的,一个两倍大小的设计需要两倍多的时间来模拟,可能是四倍(平方而不是两倍)。模拟器在不断改进,人们会再次假设,在编译时,整个信号块都可以被确定为同步的(vs组合的),软件在一个时钟周期之前不需要接触或评估这些信号。还有许多其他的技巧。设计上说,为了调试的目的使用计数器,可能会导致整个模块在该模块中只评估一件事情,这需要花费大量的sim卡时间。除总线有效的周期外,保持总线信号为零的设计,基本上在某些总线上进行两次状态更改,而不是一次,在模拟中增加了硅功率和sim时间。因此,您可以在正确的位置添加大量信号,而不会对sim时间进行太多更改。您可以在正确的位置删除大量信号,而不会大大缩短sim卡时间。同样,您可以在正确的位置添加少量信号,使其显著工作,删除少量信号,使其显著更快。“这取决于”信号在哪里,以及你的模拟器和其他工具。帮助一个模拟器的工具不一定会在另一个模拟器上工作。你考虑过基准测试吗?可以想象,结果在很大程度上取决于设计规范。在这里应用一些科学来支持应用其他人的断言。