Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tags 有没有一种方法可以断言,在复位过程中,设计中的所有信号都是在上升时钟上初始化的?_Tags_Vhdl_Assert_Modelsim - Fatal编程技术网

Tags 有没有一种方法可以断言,在复位过程中,设计中的所有信号都是在上升时钟上初始化的?

Tags 有没有一种方法可以断言,在复位过程中,设计中的所有信号都是在上升时钟上初始化的?,tags,vhdl,assert,modelsim,Tags,Vhdl,Assert,Modelsim,仅从测试仪流程(设计无变化)是否有一种快速方法可以断言所有设计信号在重置期间都已初始化 设计采用同步有源低电平复位 在reset的上升沿上,我想断言设计中的每个信号都不是“U”,而不必调用每个信号或架构 使用VHDL 2008,Modelsim 10.1c与HDL Designer配合使用。在释放同步重置后,您可以在中的命令时调整Modelsim的使用,以查找任何信号中的“U”。由于它的存在,它可以处理标量和数组,但不能检查记录成员 请注意,重置的上升沿不是重置被释放的时间,因为您使用的是同步重

仅从测试仪流程(设计无变化)是否有一种快速方法可以断言所有设计信号在重置期间都已初始化

设计采用同步有源低电平复位

在reset的上升沿上,我想断言设计中的每个信号都不是“U”,而不必调用每个信号或架构


使用VHDL 2008,Modelsim 10.1c与HDL Designer配合使用。

在释放同步重置后,您可以在中的命令时调整Modelsim
的使用,以查找任何信号中的“U”。由于它的存在,它可以处理标量和数组,但不能检查记录成员

请注意,重置的上升沿不是重置被释放的时间,因为您使用的是同步重置。我会让测试等待时钟的第一个下降沿,当重置为高时测试“U”。这将确保在重置后,当其驱动程序更新时,您在信号上看到新状态。when表达式类似于:

"clk'event and clk = '0' and reset = '1' and $sig = [string repeat U [string length [examine $sig]]]"
另一个选项是在testbench中创建一个sentinel信号,该信号在reset被释放时计算为true,并在when表达式中测试该信号:

信号重置\u未激活:布尔值;
过程(clk)是
开始
如果上升沿(clk),则
如果重置='1',则

你能举一个关于你的代码的例子吗?目前还不清楚您是否担心重置未正确到达,或者您是否希望能够进行隐式重置。在VHDL中,设计规范由设计单元组成(包括PSL验证单元-IEEE Std 1076-2008)。设计层次结构的细化是模拟的前奏步骤,范围和可见性规则限制了对命名实体的访问。此外,无法将后缀
all
的范围限制为特定的命名实体类。这意味着在复杂的设计中,如果不直接指定断言或PSL声明,就没有VHDL语言方法来检查每个信号。我添加了modelsim标签,试图吸引更多的工具答案。