Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/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
如何判断VHDL的输出何时达到最终值?_Vhdl - Fatal编程技术网

如何判断VHDL的输出何时达到最终值?

如何判断VHDL的输出何时达到最终值?,vhdl,Vhdl,首先,我想声明这是我正在参加的一次实践考试。我知道答案是:cout=4ns,S=7ns。只是想找点解释。提前谢谢 对于下图所示的全加器的VHDL实现,输出cout和S何时会稳定在其最终值(考虑具有最坏情况输入的最坏情况时序路径) 全加器的体系结构并发行为 信号t1、t2、t3、t4、t5:std_逻辑; 开始 t1您基本上只需跟踪依赖项,并通过逻辑将每个路由的依赖项相加。通常,从输出追溯到所需的输入是最容易的。例如: cout <= not(t1 or t2) and t4) after

首先,我想声明这是我正在参加的一次实践考试。我知道答案是:cout=4ns,S=7ns。只是想找点解释。提前谢谢

对于下图所示的全加器的VHDL实现,输出cout和S何时会稳定在其最终值(考虑具有最坏情况输入的最坏情况时序路径)

全加器的体系结构并发行为
信号t1、t2、t3、t4、t5:std_逻辑;
开始

t1您基本上只需跟踪依赖项,并通过逻辑将每个路由的依赖项相加。通常,从输出追溯到所需的输入是最容易的。例如:

cout <= not(t1 or t2) and t4) after 2 ns;

啊,谢谢一群人,很有帮助。所以在第一个例子中,t1和t2延迟没有被考虑,因为它们发生在1ns,而t4是2ns时最长的延迟?谢谢,我想重复一下,但我不能。但我很感激。
cout <= not(t1 or t2) and t4) after 2 ns;
total = 2 + max_delay(B, t3, t5)
total = 2 + delay(t5);
total = 2 + 2 + max_delay(t3, B)
total = 2 + 2 + delay(t3)
total = 2 + 2 + 2 + max_delay(t1, t2, A, cin)
total = 2 + 2 + 2 + delay(t1) (or delay(t2) -- they're the same).
total = 2 + 2 + 2 + 1