PTPX中的activity文件以及mapping文件

在不同的simulation中的capturing switching activity:

SAIF:Switching Activity Interface Format,包含toggle counts和static probabilities。

RTL中的SAIF文件包含primary input,hierarchical port,sysnthesis-invariant单元如sequential elements。

                             block box cells,tristate cell,latches,retention registers,clock-gating cell等。

                      不包含integrated clock-gating cells和latch-based isolation cells等。

VCD:Verilog Change Dump format,是一种event-based format,包含每个value change以及他们的time。

             read_vcd -rtl表示输入的是rtl的activity文件。进行average分析。

                           -zero_delay表示输入的是netlist文件,但是并没有sdf文件的。进行cycle_accurate分析。

                           什么都不加时,表示进行基于event的分析。

在进行synthesis时,可能会使得一些rtl synthesis invariants的模块(register outputs,primary inputs,tristate,black boxes)

等的名字被改变,所以需要一个mapping文件来进行match RTL activity到gate_level component。

PTPX提供了三种方式:

1)set_rtl_to_get_name命令。

2)exact name mapping

3)default name mapping。

在综合的过程中,如果使用DC工具,可以生成一个map-file,包含很多set_rtl_to_gate_name命令来保证netlist与rtl的一致。

如果没有这个map-file就需要人为的设置很多这样的命令,如果工具仍然发现一个mismatch,那会使用PTPX内建的机制,来进行map。

经过这些操作,仍然mismatch,PTPX就不会在RTL activity file上反标这个object。

set_rtl_to_gate_name  -rtl{a} -gate{a_reg}

当map一个RTL的寄存器时,工具实现Q pin和QB pin的标注。

PTPX支持one-to-many的mapping,如在插入Clock Tree Synthesis Buffer时,一个RTL clock可以map所有的buffer。

但是不支持多个RTL object map到一个netlist的object上。

Exact name mapping是区分大小写的,一般情况下,要将cell和pin的exact name map打开,关闭net的exact name map,

因为同一个net名字,可能已经经过了invert。

命令 power_disable_exact_name_match_to_net。

default mapping方式,

1)将RTL hierarchy map到flatten gate_level object上,用“_”代替“/”。

2)RTL的寄存器map到gate_level的object上,用_reg后缀。

3)bus上的"[]"号,map为"_",a[7]map为a_reg_7_。

Name Mapping report:

report_name_mapping,生成一个RTL与netlist之间的通过set_rtl_to_gate_name命令设置的map报告。

report_activity_file_check,列出activity file中所有的RTL name。

原文地址:https://www.cnblogs.com/-9-8/p/5668170.html