取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Adventurer
Adventurer
1,326 次查看
注册日期: ‎11-15-2018

综合后进行run post-synthesis timing simulation 时长时间停留在elaborate过程中,没有波形图产生

转到解答

在综合之后使用Vivado自己的仿真器进行综合后时序仿真,发现长时间停留在elaborate过程中(最长时尝试等待两个小时)且并未产生波形图。部分日志记录如下:

Vivado Simulator 2018.2
Copyright 1986-1999, 2001-2018 Xilinx, Inc. All Rights Reserved.
Running: C:/Xilinx/Vivado/2018.2/bin/unwrapped/win64.o/xelab.exe -wto ec21ad282a4a4ac7b4a7aa76bfaf8bc2 --incr --debug typical --relax --mt 2 --maxdelay -L xil_defaultlib -L simprims_ver -L secureip --snapshot top_test_time_synth -transport_int_delays -pulse_r 0 -pulse_int_r 0 -pulse_e 0 -pulse_int_e 0 xil_defaultlib.top_test xil_defaultlib.glbl -log elaborate.log
Using 2 slave threads.
Starting static elaboration
Completed static elaboration
INFO: [Common 17-41] Interrupt caught. Command should exit soon.
run_program: Time (s): cpu = 00:01:01 ; elapsed = 00:48:21 . Memory (MB): peak = 2956.156 ; gain = 0.000
INFO: [Common 17-344] 'run_program' was cancelled
INFO: [Vivado 12-5357] 'elaborate' step aborted

launch_simulation: Time (s): cpu = 00:07:46 ; elapsed = 00:57:20 . Memory (MB): peak = 2956.156 ; gain = 1992.945
INFO: [Common 17-344] 'launch_simulation' was cancelled

 

所以请问这是什么情况?

在使用综合后功能仿真时并未出现如此长时间的等待。

 

另外询问一下:综合后功能仿真和综合后时序仿真有什么不同?

0 项奖励
1 个已接受解答

已接受的解答
Xilinx Employee
Xilinx Employee
1,253 次查看
注册日期: ‎07-17-2008

回复: 综合后进行run post-synthesis timing simulation 时长时间停留在elaborate过程中,没有波形图产生

转到解答

这些错误报告了设计中的一些分布式RAM和移位寄存器的setup和hold违例,这个计算是基于SDF中的数值。有的时候SDF中的数值和时序报告中的delay并不完全匹配,主要是slow/fast的组合不一样。以下文章有一些解释。

https://forums.xilinx.com/t5/Adaptable-Advantage-Blog/Mismatch-in-Timing-Numbers-between-SDF-and-STA/ba-p/823362

另一个告警的含义可通过verror 3316在modelsim中查看,也跟setup/hold spec有关。

 

总的来说,我们认为timing summary报告里面的是sign-off timing,如果时序约束覆盖完整,timing error为0并且功能仿真是正常的,建议可做硬件测试。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
4 条回复4
Highlighted
Xilinx Employee
Xilinx Employee
1,290 次查看
注册日期: ‎07-17-2008

回复: 综合后进行run post-synthesis timing simulation 时长时间停留在elaborate过程中,没有波形图产生

转到解答

综合后时序仿真会引用SDF文件,包含估计的延时信息,仿真网表是一样的。

看起来是工具卡死的问题,如果功能仿真OK,建议继续往下跑implementation,可通过时序分析来评估时序结果。

另外,implementation之后也可以做功能和时序仿真,那个阶段的时序仿真SDF中的延时信息是准确的。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Adventurer
Adventurer
1,285 次查看
注册日期: ‎11-15-2018

回复: 综合后进行run post-synthesis timing simulation 时长时间停留在elaborate过程中,没有波形图产生

转到解答

非常感谢您的解答,按照您的建议,我进行了实现后的仿真,但是存在一些问题。

请问,实现后在timing report summary中没有显示存在时序违约。但是,在利用modelsim进行实现后时序仿真时,modelsim提示有错误产生,且提示的错误时间只存在于5ns以内(时钟频率100Mhz),错误信息如下:

# ** Error: C:/Xilinx/Vivado/2018.2/data/verilog/src/unisims/RAMS32.v(216): $setup( negedge WE &&& clk_en_p:4508 ps, posedge CLK &&& clk_en_p:4716 ps, 366 ps );
#    Time: 4716 ps  Iteration: 2  Instance: /top_test/top1/convolution/buffer6/register9/array_reg_reg_0_1_79_79/SP
# ** Error: C:/Xilinx/Vivado/2018.2/data/verilog/src/unisims/RAMS32.v(216): $setup( negedge WE &&& clk_en_p:4508 ps, posedge CLK &&& clk_en_p:4716 ps, 366 ps );
#    Time: 4716 ps  Iteration: 2  Instance: /top_test/top1/convolution/buffer7/register10/array_reg_reg_0_1_79_79/SP
# ** Error: C:/Xilinx/Vivado/2018.2/data/verilog/src/unisims/RAMS32.v(216): $setup( negedge WE &&& clk_en_p:4508 ps, posedge CLK &&& clk_en_p:4716 ps, 366 ps );
#    Time: 4716 ps  Iteration: 2  Instance: /top_test/top1/convolution/buffer7/register9/array_reg_reg_0_1_79_79/SP
# ** Error: C:/Xilinx/Vivado/2018.2/data/verilog/src/unisims/RAMS32.v(216): $setup( negedge WE &&& clk_en_p:4492 ps, posedge CLK &&& clk_en_p:4717 ps, 366 ps );
#    Time: 4717 ps  Iteration: 1  Instance: /top_test/top1/convolution/buffer6/register1/array_reg_reg_0_3_41_41/SP
# ** Error: C:/Xilinx/Vivado/2018.2/data/verilog/src/unisims/RAMS32.v(216): $setup( negedge WE &&& clk_en_p:4492 ps, posedge CLK &&& clk_en_p:4717 ps, 366 ps );
#    Time: 4717 ps  Iteration: 1  Instance: /top_test/top1/convolution/buffer6/register2/array_reg_reg_0_3_41_41/SP
# ** Error: C:/Xilinx/Vivado/2018.2/data/verilog/src/unisims/SRL16E.v(140): $hold( posedge CLK &&& sh_ce_clk_en_p:4843 ps, negedge D &&& sh_ce_clk_en_p:4843 ps, 87 ps );
#    Time: 4849 ps  Iteration: 2  Instance: /top_test/top1/convolution/PE/pe/mac_array1/\genblk1.genblk1[6].mac_loop[3].mult /ce_reg2_reg_srl2

但是仿真结果并未出现大范围红线的情况,且仿真结果除了有抖动之外并未异常。请问这是什么原因导致软件报告有时序违约的情况产生?

0 项奖励
Highlighted
Adventurer
Adventurer
1,274 次查看
注册日期: ‎11-15-2018

回复: 综合后进行run post-synthesis timing simulation 时长时间停留在elaborate过程中,没有波形图产生

转到解答

对上一个询问帖中添加补充信息:

实现后进行report timing summary得到的结果:捕获.JPG

 

调用modelsim进行实现后时序仿真之后出现警告:

# ** Note: (vsim-3587) SDF Backannotation Successfully Completed.
#    Time: 0 ps  Iteration: 0  Instance: /top_test File: ../../../../../fc_top.srcs/sim_1/new/top_test.v
# ** Warning: (vsim-3316) No solution possible for some delayed timing check nets. 181412 negative limits were zeroed. Use +ntc_warn for more info.
#    Time: 0 ps  Iteration: 0  Instance: /top_test File: ../../../../../fc_top.srcs/sim_1/new/top_test.v

 

请问我应该怎么处理这个问题?

0 项奖励
Xilinx Employee
Xilinx Employee
1,254 次查看
注册日期: ‎07-17-2008

回复: 综合后进行run post-synthesis timing simulation 时长时间停留在elaborate过程中,没有波形图产生

转到解答

这些错误报告了设计中的一些分布式RAM和移位寄存器的setup和hold违例,这个计算是基于SDF中的数值。有的时候SDF中的数值和时序报告中的delay并不完全匹配,主要是slow/fast的组合不一样。以下文章有一些解释。

https://forums.xilinx.com/t5/Adaptable-Advantage-Blog/Mismatch-in-Timing-Numbers-between-SDF-and-STA/ba-p/823362

另一个告警的含义可通过verror 3316在modelsim中查看,也跟setup/hold spec有关。

 

总的来说,我们认为timing summary报告里面的是sign-off timing,如果时序约束覆盖完整,timing error为0并且功能仿真是正常的,建议可做硬件测试。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励