读懂用好Timing Report

65 篇文章 102 订阅
订阅专栏

    本文摘自《Vivado使用误区与进阶》,作者为Xilinx工具与方法学应用专家Ally Zhou。

    《 XDC 约束技巧》 系列中讨论了 XDC 约束的设置方法、约束思路和一些容易混淆的地方。我们提到过约束是为了设计服务,写入 Vivado®中的 XDC 实际上就是用户设定的目标,Vivado 对 FPGA 设计的实现过程必须以满足 XDC 中的约束为目标进行。那我们如何验证实现后的设计有没有满足时序要求?又如何在开始布局布线前判断某些约束有没有成功设置?或是验证约束的优先级?这些都要用到 Vivado 中的静态时序分析工具。

原标题:【Vivado使用误区与进阶】读懂用好Timing Report

01

静态时序分析

静态时序分析(Static Timing Analysis)简称 STA,采用穷尽的分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误并报告。

STA 不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少、覆盖率极高,不仅可以对芯片设计进行全面的时序功能检查,而且还可以利用时序分析的结果来优化设计。所以 STA 不仅是数字集成电路设计 Timing Sign-off 的必备手段,也越来越多地被用到设计的验证调试工作中。

STA 在 FPGA 设计中也一样重要,但不同于一般数字集成电路的设计,FPGA 设计中的静态时序分析工具一般都整合在芯片厂商提供的实现工具中。在 Vivado 中甚至没有一个独立的界面,而是通过几个特定的时序报告命令来实现。

OCV与PVT

即便是同一种 FF,在同一个芯片上不同操作条件下的延时都不尽相同,我们称这种现象为 OCV(on-chip variation)。OCV 表示的是芯片内部的时序偏差,虽然很细小,但是也必须严格考虑到时序分析中去。

产生 OCV 的原因主要有 PVT(Process / Voltage / Temperature)三个方面,而 STA 要做的就是针对不同工艺角(Process Corner)下特定的时序模型来分析时序路径,从而保证设计在任何条件下都能满足时序要求,可以正常工作。

通常 PVT 对芯片性能的影响如下图所示,

不同的 PVT 条件组成了不同的 corner,另外在数字电路设计中还要考虑 RC corner 的影响,排列组合后就可能有超过十种的 corner 要分析。但是在 FPGA 设计中的静态时序分析一般仅考虑 Best Case 和 Worst Case,也称作 Fast Process Corner和Slow Process Corner,分别对应极端的 PVT 条件。

Multi-Corner

Vivado 中的 STA 支持多角时序分析(Multi-Corner Timing Analysis),会对以上两种 corner 下的时序同时进行分析,然后报告最差的情况。因为每个 corner 下的延时也会有一定的变化范围,所以时序分析还会考虑每种 corner 下的最大延时和最小延时。

如果一个设计在 Best Case 和 Worst Case 下都能满足时序要求,则可以推算这个设计在其允许的任何操作条件下都能保持正常工作。

这里要提醒大家,不要被 corner 的名字误导,实际上,同样一条路径可能在 Slow Corner 中满足时序却在Fast Corner 中有时序违例。但是你在 Vivado 中看到的时序报告只会显示其对两种 corner 并行分析后选出的最差情况。

有特殊需要的情况下,可以在 Vivado 中通过 config_timing_corners -corner -delay_type
来选择将某种 corner 应用于 setup 和/或 hold 的分析。在 Report Timing Summary和 Report Timing 的图形化界面也可以通过 Timer Setting 对 corner 做调整,具体界面详见稍后描述。

这样最大化考虑 OCV 的时序分析方法在处理同一条路径的共同时钟路径时也会应用不同的延时数据,从而会得出更为悲观的数据。为了真实反映路径延时情况,这部分延时必须被纠正,这就是 CRPR(Clock
ReconvergencePessimismRemoval)。

仔细观察时序报告便可以发现在报告路径的 Slack 之前有一行显示 clock pessimism 已经被考虑在内,在进行 Setup Check 时会加上一定的 clock pessimism,而 Hold Check 时则会减去一定的 clock pessimism。

下图显示了 CRPR 的来源以及在 Vivado 时序报告中的具体体现。

02

时序命令与报告

Vivado 中用于时序分析的命令主要有以下两条,且都有对应的图形化设置界面。

report_timming_summary

主要用于实现后的timming sigh-off

report_timing

主要用于交互式的约束验证以及更细致具体的时序报告与分析

report_timming_summary

我们先看看 report_timing_summary,实际上,不仅在布局布线后,在综合后甚至是更具体的实现过程中的每一小步之后都可以运行,从而得到一个全局的时序报告。

在 Vivado IDE 中点击 Report Timing Summary 后可以改变报告的内容,例如每个时钟域报告的路径条数,是否 setup 和 hold 全都报告等等。每改变一个选项都可以看到窗口下方的 Command 一栏显示出对应的Tcl 命令。修改完设置后可以直接按 OK 键确认执行,也可以拷贝 Command 栏显示的命令到 Tcl 脚本中稍后执行。

这里有个小窍门,通过-name 指定一个名字,就可以在 Vivado IDE 中新开一个窗口显示这条命令的执行结果,这个窗口还可以用来跟其他诸如 Device View 或是 Schematic View 等窗口之间 cross probing。这一点也同样适用于包括 report_timing 在内的绝大部分 Vivado 中的 report 命令。

在设置窗口中还有 Timer Settings 一栏(report_timing 中也有),可以用来改变报告时采用的具体corner、速度等级以及计算布线延时的方式。很多时候我们可以借助 Timer 的设置来快速验证和调试设计需
求。

举例来说,在实现后的报告中显示时序违例比较严重,我们可以直接在 Timer 设置中改变速度等级后重新报告时序,来验证把当前这个已经布局布线完毕的设计切换到更快一档的芯片中是否可以满足时序要求。

另外,在布局布线后的设计上报告时序,往往不能更直观地发现那些扇出较大或是逻辑级数较高的路径。此时我们可以修改连线模型为 estimated,报告出布局后布线前的时序而无需另外打开对应阶段的 DCP 并重新运行时序报告命令来操作,这么做节约时间的同时,也更容易找到那些高扇出路径以及由于布局不佳而导致的时序违例。我们也可以修改连线模型为 none,这样可以快速报告出那些逻辑延时较大以及逻辑级数较高的路径。以上这些改变 Timer 设置的方法可以帮助我们快速定位设计中可能存在的问题和缺陷。

report_timing_summary 实际上隐含了 report_timing、 report_clocks 、 check_timing 以及部分的report_clock_interaction 命令,所以我们最终看到的报告中也包含了这几部分的内容。另外自 2014.3 版起,打开实现后的结果时会直接打开一个预先产生好的报告。

Timing Summary 报告把路径按照时钟域分类,每个组别下缺省会报告 Setup、 Hold 以及 Pulse Width 检查最差的各 10 条路径,还可以看到每条路径的具体延时报告,并支持与 Device View、 Schematic View 等窗口之间的交互。

每条路径具体的报告会分为 Summary、 Source Clock Path、 Data Path 和 Destination Clock Path 几部分,详细报告每部分的逻辑延时与连线延时。用户首先要关注的就是 Summary 中的几部分内容,发现问题后再根据具体情况来检查详细的延时数据。其中,Slack 显示路径是否有时序违例,Source 和 Destination 显示源驱动时钟和目的驱动时钟及其时钟频率, Requirement 显示这条路径的时序要求是多少,Data Path 显示数据路径上的延时,Logic Level 显示这条路径的逻辑级数,而 Clock Path Skew 和 Clock Uncertainty 则显示时钟路径上的不确定性。

以上图这条路径来举例,通过 Summary 我们可以得到这样的信息:这是一条 clk 时钟域内的路径,时钟周期为 3.125ns,这条路径有 0.268ns 的时序违例。违例的主要原因是逻辑级数较高导致的数据链路延时较大,但连线延时的比例也较高,所以可以仔细看看这条路径的数据路径上有没有可能改进布局、降低扇出或者是减少逻辑级数的优化方向。

report_timing

report_timing 是更具体的时序报告命令,经常用来报告某一条或是某些共享特定节点的路径。用户可以在设计的任何阶段使用 report_timing,甚至是一边设置 XDC,一边用其来验证约束的可行性与优先级。在Vivado IDE 中可以由 Tools > Timing > Report Timing 调出其图形化设置窗口。

与 report_timing_summary 类似,调整选项后对应的 Tcl 命令也会在 Command 栏生成,在 Targets 一栏还可以设置需要报告路径的起始点/途经点/结束点,可以三个都设置或是仅设置其中任何一项,每一项都支持通配符匹配甚至是正则表达式查找。report_timing 报告出的路径延时与 report_timing_summary 中具体到每根路径上的报告一致,可以以此为依据帮助我们定位时序失败的原因。

用 report_timing 来报告时序其实还有一些更常见的应用场景,用来帮助我们设置和验证约束,尤其是那些时序例外约束。

举例来说,在设计过程中我们约束了一条或数条多周期约束,不同于 UCF 必须读入约束后重跑设计,我们可以直接在 Tcl Console 中输入这条 XDC,无需重跑设计,直接用 report_timing 来验证。在随之显示的时序报告Summary 部分可以看到 Timing Exception 后列出这条路径被设置了怎样的时序例外约束(注意,不加额外 option时,以下两条命令都仅针对 setup check) 。

单纯的一条多周期约束没有什么特别,但是如果使用了通配符后的时序例外有重叠的情况下,Vivado 会根据优先级来决定对某条路径应用怎样的约束。当设计较大,XDC 较多时,一边设置 XDC 一边用 report_timing 来验证就变得尤其重要。

另外,仅仅输入 report_timing 而不加任何 option,Vivado 便会报告出时序违例最严重的那条路径,方便我们快速了解当前设计的 WNS,找到最差的那条路径。在验证 I/O 约束时也常常用到 report_timing,只要指定-from某个输入或是-to 某个输出便可以快速验证当前设计在接口上的时序。

get_timing_paths

除了上述两个大家比较熟悉的时序报告命令,Vivado 中还提供一个 get_timing_paths 的命令,可以根据指定
的条件找到一些特定的路径。我们可以利用其返回值中的一些属性来快速定位设计中的问题。

例如逻辑级数这个影响 FPGA 性能的一大因素,因为经常隐藏在时序报告后很难被发现。在 Vivado 中,除了借助综合后的报告来找到那些可能因为逻辑级数较高而导致的时序难满足的路径外,还有一个更直接的办法,可以一次性报告出设计中那些高逻辑级数的路径,方便我们有针对性的深入分析和优化。

下图这个例子报告了时序最差的 10 条路径的逻辑级数。需要注意的是,在综合后和在布局布线后用一样的脚本报告出的结果会稍有不同,对逻辑级数较为关注的情况,还是建议以综合后的结果为主要依据。

小结

本文可以视为对《 XDC 约束技巧》 系列文章的补充,希望可以帮助大家了解 FPGA 设计中的时序分析方法,学会使用 Vivado 中的静态时序分析工具来验证时序,定位问题,快速找到问题和解决方案。

作者:Ally Zhou

整理:碎碎思

版权归原作者所有

---> END <---

NOW

推荐阅读

【Vivado那些事】如何查找官网例程及如何使用官网例程

【每周一问】如何控制加载FPGA程序时,Xilinx FPGA的IO管脚输出高低电平

【每周一问】Vivado综合时突然OCC模式弹不出来了

一文读懂Tcl在Vivado中的应用

用Tcl定制Vivado设计实现流程

在Vivado中实现ECO功能

XDC约束技巧——时钟篇
XDC约束技巧之CDC篇

XDC约束技巧之I/O篇(上)
 

点击上方字体即可跳转阅读哟

在PT里分析时序时report_timing 常用选项总结:
weixin_44495082的博客
05-09 1287
report_timing -nworst X -to $end会报告到$end最差的X条path,与max_path不同的是nworst会把相同startpoint/endpoint pair,不同路径的path也算进去。-max_paths 报出指定数量的相同end point的path timing情况,比如说:-max_paths 10就是报出10条最差的相同end point上的path timing情况。其他选项还有in_to_reg,reg_to_out和in_to_out。
(筆記) 如何使用$width? (SOC) (Verilog)
weixin_33935505的博客
01-07 1975
Abstract$width是Verilog所提供的專門用來做timing check的system task,可以檢查一個edge transition到另外一個相反的edge transition的時間長度是否符合規格需求,若pulse width小於我們所指定的需求,將產生violation warning。 Introduction使用環境:NC-Verilog 5.4 + Debussy...
Verilog综合(synthesis)过程中出现 found timing loop.的critical warning
最新发布
H19981118的博客
03-22 935
打开时序检查报告(synthesis->Report Timing Summary),找到loops的位置,查看生成的原理图schematic定位到出问题的模块,从而看到出问题的位置,在对应代码修改。Verilog综合(synthesis)过程中出现 found timing loop.的critical warning。found timing loop的问题不会像少写end等具体提示代码位置,只会提示所在模块,所以不便于查找🔍修改。组合电路中,else未写全,所以生成了latch。
Xilinx Vivado开发环境之Timing Constraints的使用
allfpga的博客
10-04 1797
Xilinx Vivado开发环境之Timing Constraints的使用
DC report_timing 报告分析(STA)
热门推荐
sinat_29862967的博客
12-15 3万+
每一个path都有专属的slack,slack值可以是正,0或者负。某一个path拥有最坏的slack的话则称之为 critical path critical path拥有最大的负slack值。若是所有的path都没有时序违规,则slack都是正数,此时最小的那个slack则是critical path。 负数critical paths意味着某一组的path都是critical path。 路径可以被分组(group)来得到各自的时序分析,时序报告和优化。 【时序报告】示例 Startpoint: I_
ISE 里的timing report
samssm的专栏
09-13 4811
ISE综合后能够得到这样一个timing report    Minimum period: 1.124ns (Maximum Frequency: 889.318MHz)    Minimum input arrival time before clock: 3.138ns    Maximum output required time after clock: 51.163ns  
ISE中进行综合后时序查看
w40306030072的专栏
03-23 1万+
ISE中进行综合后,查看生成的report,找到Timing Report部分。简要分析如下: ========================================================================= TIMING REPORT NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
vm-timing-report:报告实际 VM 启动时间的工具
07-07
vm-timing-report 版权所有 (C) 2014 英特尔公司 作者:Ikey Doherty 要测试此系统,请将脚本指向使用 systemd 的有效原始文件系统。 首先,发出以下命令: sudo spin-from-raw.sh $PATHTORAWFILESYSTEM 如果...
Timing Designer时序图绘制工具
04-03
Timingdesigner9.2是一款灵活、交互式的时域分析和图示工具。适用于数字集成电路和印刷电路板设计。 Forte Design Systems公司的Chronology部门发布了新版本的TimingDesigner交互式时序分析和图表工具,以增强其项目...
VGA-timing.rar_VGA timing_timing_vga
09-19
VGA 图像时序分析,是VGA测试的入门资料
画波形图软件AndyTiming.rar
05-07
《使用AndyTiming绘制波形图的全面指南》 在IT领域,数据可视化是至关重要的工具,它能够帮助我们更直观地理解复杂的信息。当我们需要分析或展示与时间相关的数据时,波形图无疑是最合适的图表类型之一。今天,我们...
JS Timing
10-30
JS Timing
vivado产生报告阅读分析7-时序报告3
cckkppll的博客
11-18 1031
vivado产生报告阅读分析7-时序报告3
如何阅读 Vivado中的Timing Report
坚持
08-14 3万+
《XDC约束技巧》系列中讨论了XDC约束的设置方法、约束思路和一些容易混淆的地方。我们提到过 约束是为了设计服务,写入Vivado中的XDC实际上就是用户设定的目标 ,Vivado对FPGA设计的实现过程必须以满足XDC中的约束为目标来进行。那么: 如何验证实现后的设计有没有满足时序要求?如何在开始布局布线前判断某些约束有没有成功设置?如何验证约束的优先级? 这些都需要用到Vivado中的
vivado进行时序分析的方法
crjmail的博客
01-06 2832
打开方式有两种,一种是在reports-timing-report timing summary;在device界面会显示当前这条路径的起始位置和结束位置;3、还可以对这条路径进行高亮化处理,便于观察它的具体位置。一、打开report timing summary。双击选中第一条路径,会显示该条路径的详细时序信息;1、点击上图中0.166 位置就会跳转界面。4、在原理图中观察这个路径。二、打开具体路径分析。5、显示路径详细信息。
Vivado使用技巧(14):使用时序约束向导
bleauchat的博客
02-19 4924
时序约束向导 打开综合设计或实现设计后,在Flow Navigator中点击Open Synthesized/Implemented Design目录下的Constraints Wizard可以打开时序约束向导(会要求选择一个target约束文件),弹出如下窗口:  利用该向导可以快速地完成时序约束。时序约束向导会分析网表、时钟网络的连接和已存在的时序约束,给出一些缺少的时序约束的建议;时...
vivado 时序约束
weiweiliulu的专栏
06-17 1万+
XDC的基本语法可以分为时钟约束、IO约束以及时序例外约束,对一个设计进行约束的先后顺序也可以按照这三类约束依次进行。 时钟约束 时钟约束必须最早创建,端口进来的主时钟以及GT的输出RXCLK/TXCLK都必须由用户使用create_clock自主创建。如果是差分输入的时钟,可以仅在差分对的P侧用get_ports获取端口,并使用create_clock创建。 create_clock...
PrimeTime 时序分析流程和方法
Augusdi的专栏
03-17 4064
PrimeTime是Synopsys的一个单点的全芯片、门级静态时序分析器。它能分析大规模、同步、数字ASICS的时序。PrimeTime工作在设计的门级层次,并且和Synopsys其它工具整合得很紧密。 基本特点和功能: 时序检查方面: 建立和保持时序的检查(Setup and hold checks) 重新覆盖和去除检查(Recovery and removal checks) 时钟脉...
时序约束方法及解决timing问题的方法(一)
XiaoJian_Chip的博客
08-13 1万+
    承接上一篇文件《 基于xilinx FPGA验证ASIC可能遇到的timing问题》中提到的问题,本文列数一下在vivado中可能用到的约束方法和面对timing问题的解决办法。 (1)详尽的时钟约束         create_clock:和其他FPGA EDA tool一样,在vivado中timing约束越全越好,越细越好,而place约束可以很粗略或者省略调。约束中最常用的语...
vivado timing report
10-11
用户可以在设计的任何阶段使用report_timing,甚至是一边设置XDC,一边用其来验证约束的可行性与优先级。在Vivado IDE中可以由Tools > Timing > Report Timing调出其图形化设置窗口。可以通过Timer Settings来改变...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Cadence License破解失败解决办法 61851
  • 高速差分信号AC耦合电容详解 48850
  • FPGA 主流芯片选型指导和命名规则(一) 48241
  • 史上最详细的ALLEGRO导出GERBER教程!卧龙会草根西米原创(转) 46395
  • 隔离模块介绍-隔离电源模块 37323

分类专栏

  • 优秀的 Verilog/FPGA开源项目介绍 付费 99篇
  • AXI 付费 25篇
  • 开源FPGA和它的工具们 17篇
  • FPGA和CNN 10篇
  • 数字硬件建模-SystemVerilog篇 40篇
  • HDLBits:SystemVerilog 30篇
  • Vivado那些事儿 65篇
  • HLS 18篇
  • ISP 4篇
  • ZYNQ 16篇
  • 数字硬件建模-Verilog篇 23篇
  • 古老CPU启示录 5篇
  • MIPI 4篇
  • PCIe 15篇
  • SDR 5篇
  • 笔试面试 2篇
  • Vitis 2篇
  • 杂七杂八 13篇
  • OpenCL 10篇
  • FPGA 223篇
  • C++
  • Vega-Prime
  • Matlab 1篇
  • Linux 3篇
  • C语言 3篇
  • 实用技巧 10篇
  • Office操作 2篇
  • 电路小常识 37篇
  • PCB 24篇
  • vivado-教程 3篇
  • EMC 1篇
  • OpenCV 1篇
  • 树莓派 3篇
  • 机器视觉 4篇
  • SOC-FPGA 4篇
  • CPU-FPGA 2篇
  • 并行计算 1篇
  • MPI 3篇
  • python 1篇
  • 物联网小常识 1篇
  • DEEP LEARNING 1篇
  • 区块链 3篇
  • 通信IC设计 6篇
  • 信号处理 2篇
  • 硬件设计 3篇

最新评论

  • 100G以太网光口的FPGA测试实例

    冰冻的时光: 牛,确实有用。

  • AXI_lite代码简解-AXI-Lite 源码分析

    OpenFPGA: 新建IP,选择axi接口就能看到了

  • AXI_lite代码简解-AXI-Lite 源码分析

    喜欢丸子头: 请问AXI_lite的xilinx原码能在哪找到了。

  • FPGA的调试-内嵌逻辑分析仪(SignalTap)(二)实例

    时间的灰烬: 帮大忙了.好详细

  • 最新 Xilinx vivado IP许可申请

    十一: 到期后可以继续申请吗?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 通信系统中常见的中射频设计方案
  • 厌倦了sv/uvm?来看看用python写验证环境-cocotb
  • 用FPGA做GPU?
2024
07月 1篇
06月 10篇
05月 6篇
04月 7篇
03月 9篇
02月 6篇
01月 9篇
2023年138篇
2022年239篇
2021年279篇
2020年181篇
2019年54篇
2018年90篇
2017年76篇
2016年26篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenFPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码宝安网站优化推广爱联网络营销民治网站优化南山网站改版宝安模板网站建设东莞阿里店铺托管坂田seo深圳外贸网站设计民治网站定制爱联营销网站罗湖网站搜索优化南联百搜标王南联如何制作网站南山网站制作横岗优秀网站设计东莞网站优化按天计费坑梓阿里店铺运营大浪网站建设吉祥百姓网标王西乡网站设计模板龙华网站定制布吉百度网站优化排名大浪优秀网站设计横岗网站开发大鹏品牌网站设计深圳网站排名优化大运模板网站建设坪地网站seo优化民治网站搜索优化松岗模板制作歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化