数字IC-ME-STA_Check

一、STA SPEC Check

1.1 Kick Off资料

1.2 STA式样书

1.3 impl

1.4 电气特性

1.5 MPC

1.6 流用资料

二、Input File Check

2.1 Lib Check

2.1.1 Description

2.1.2 Check Method & Command

2.1.2.1 Check Method
2.1.2.2 Check Command

(1)
redirect -compress ./chk/list_libs_rpt.gz {
list_libs
}
(2)
redirect -compress ./chk/list_libs_used_rpt.gz {
list_libs -only_used
}
(3)
redirect -compress ./chk/report_libs_rpt.gz {
foreach_in_collection CHK_LIB [get_libs *] {
report_lib $CHK_LIB
}
}

2.1.3 Vio & Fix Method

2.1.4 Attention

2.1.5 Study Link

2.2 Netlist Check

2.2.1 Description

2.2.2 Check Method & Command

2.2.2.1 Check Method
2.2.2.2 Check Command

(1)
redirect -compress ./chk/design.list.rpt.gz {
list_designs
}
(2)
redirect -compress ./chk/design.list.used.rpt.gz {
list_designs -only_used
}

2.2.3 Vio & Fix Method

2.2.4 Attention

2.2.5 Study Link

2.3 SDC Check

2.3.1 Clk Info

redirect -compress ./chk/clock.rpt.gz {
report_clock -nosplit
}

redirect -compress ./chk/clock_skew.rpt.gz {
report_clock -skew -nosplit
}
redirect -compress ./chk/cross_clock.rpt.gz {
check_timing -verbose -override_defaults clock_crossing
}

2.3.1.1 Clk Skew
2.3.1.1.1 Description
2.3.1.1.2 Check Method & Command
2.3.1.1.2.1 Check Method
2.3.1.1.2.2 Check Command

redirect -compress ./rep/BigSkew.rpt.gz {
report_timing $CHK_Value -nosplit -input_pins
}

2.3.1.1.3 Vio & Fix Method
2.3.1.1.4 Attention
2.3.1.1.5 Study Link
2.3.1.2 Clk Latency
2.3.1.2.1 Description
2.3.1.2.2 Check Method & Command
2.3.1.2.2.1 Check Method
2.3.1.2.2.2 Check Command

(1)
redirect -compress ./rep_clk/${CHK_CLK_NAME}.clock.rpt.gz {
report_clock_timing -type latency -clock KaTeX parse error: Expected 'EOF', got '}' at position 93: …a -nosplit }̲ (2) redire…{CHK_CLK_NAME}.clock.sum.rpt.gz {
report_clock_timing -type latency -clock $CHK_CLK_NAME -setup -capture -nworst 2000000 -nosplit
}

2.3.1.2.3 Vio & Fix Method
2.3.1.2.4 Attention
2.3.1.2.5 Study Link
2.3.1.3 Constraints
report_constraints -all_violators -verbose -max_delay -recovery -clock_gating_setup -nosplit -pba_mode $CD_REP_PBAMODE
report_constraints -all_violators -verbose -min_delay -removal -clock_gating_hold -nosplit -pba_mode $CD_REP_PBAMODE
2.3.1.3 Synchronizer Path
2.3.1.3.1 Description
2.3.1.3.2 Check Method & Command
2.3.1.3.2.1 Check Method
2.3.1.3.2.2 Check Command

(1)
redirect -compress ./rep/sync.rpt.gz {
report_timing -delay_type $MAX_MIN -max_paths 1 -nworst 1 -slack_lesser_than inf
-nosplit -input_pins
-from $CHK_SP
}

2.3.1.3.3 Vio & Fix Method
2.3.1.3.4 Attention
2.3.1.3.5 Study Link

2.3.2 Contant Pin

2.3.2.1 Description
2.3.2.2 Check Method & Command
2.3.2.2.1 Check Method
2.3.2.2.2 Check Command

(1)
redirect -compress ./chk/case.rpt.gz {
report_case_analysis -nosplit
}

2.3.2.3 Vio & Fix Method
2.3.2.4 Attention
2.3.2.5 Study Link

2.3.3 Clk Domain Crossing

2.3.4 Pin to Pin

2.3.5 Clk Gating

(1)
redirect -compress ./chk/gating.rpt.gz {
report_clock_gating_check [get_cells -hier -filter “is_integrated_clock_gating_cell==false”] -nosp
}
(2)
redirect -compress ./chk/chkGCLKPathAll.rpt.gz {
chkGCLKPathAll
}

2.3.6 Port Info

redirect -compress ./chk/port.rpt.gz {
report_port -verbose -input_delay -output_delay -drive -wire_load -nosplit
}
redirect -compress ./chk/port.indly.rpt.gz {
report_port -nosplit -input_delay [all_inputs]
}
redirect -compress ./chk/port.outdly.rpt.gz {
report_port -nosplit -output_delay [all_outputs]
}
redirect -compress ./chk/port.drive.rpt.gz {
report_port -nosplit -drive [all_inputs]
}
redirect -compress ./chk/port.load.rpt.gz {
report_port -nosplit -wire_load [all_outputs]
}

2.3.7 Max/Min Delay

2.3.8 Disable Timing

redirect -compress ./chk/disable.rpt.gz {
report_disable_timing -nosplit
}

2.3.9 Exception Timing

redirect -compress ./chk/exception.rpt.gz {
report_exception -nosplit
}
redirect -compress ./chk/exception_ignore.rpt.gz {
report_exception -nosplit -ignored
}

redirect -compress ./chk/loop.rpt.gz {
check_timing -verbose -override_defaults loops
}

redirect -compress ./chk/signal_level.rpt.gz {
check_timing -verbose -override_defaults signal_level
}

2.3.10 Check SDC Tool

2.3.11 SDC Management

2.4 SDF/SPEF Check

2.4.1 Description

2.4.2 Check Method & Command

2.4.2.1 Check Method
2.4.2.2 Check Command

(1)
redirect -compress ./chk/spef_annotated.rpt.gz {
report_annotated_parasitics -check
}
(2)
redirect -compress ./chk/spef_not_annotated.rpt.gz {
report_annotated_parasitics -boundary_nets -internal_nets -pin_to_pin_nets -max_nets 1000000 -list_not_annotated
}

2.5 Macro Version Check

三、Env Check

3.1 Update Point Check

3.2 Tool Version Check

3.3 Mode Check

3.4 Corner Check

3.5 SDF Condition Check

3.6 Metas FF Check

3.6.1 Description

检查以下内容
1) SPEC Inst vs CIESTA Inst是否一致 , 如不一致,Ciesta做修改。
2)所有的对象FF都是ZMAX的种类 。
3)FF对应的ZMAX种类,所对应的Spec都一致 。

3.6.2 Check Method & Command

3.6.2.1 Check Method
3.6.2.2 Check Command

3.3.3 Vio & Fix Method

3.3.4 Attention

3.7 Lib Condition Check

3.8 Operatiing Condition/OCV Setting Check

3.8.1 Description

3.8.2 Check Method & Command

3.8.2.1 Check Method
3.8.2.2 Check Command

(1)
redirect -compress ./chk/timing_derate.rpt.gz {
report_timing_derate -nosplit
}
(2)
redirect -compress ./chk/aocvm.rpt.gz {
report_aocvm
}
(3)
redirect -compress ./chk/aocvm.coef.rpt.gz {
report_aocvm -coefficient
}
(4)
redirect -compress ./chk/aocvm.not_anno.rpt.gz {
report_aocvm -list_not_annotated
}
(5)
redirect -compress ./chk/aocvm.distance.rpt.gz {
report_aocvm [get_timing_paths -delay_type $MAX_MIN -pba_mode exhaustive -path_type full_clock_expanded]
}

3.8.3 Vio & Fix Method

3.8.4 Attention

3.8.5 Study Link

3.9 Variable Setting Check

redirect -compress ./chk/check_result.list.gz {
comp_var ./scr/variables_CONDITION.list
}

3.10 Xtalk_Pessimism_Peduction Setting Check

3.10.1 Description

3.10.2 Check Method & Command

3.10.2.1 Check Method
3.10.2.2 Check Command

redirect -compress ./rep/noise.paramaters.rpt.gz {
report_noise_parameters
}
redirect -compress ./rep/noise.above_low.rpt.gz {
report_noise -nosplit -above -low -slack_type height -all_violators
}
redirect -compress ./rep/noise_below_high.rpt.gz {
report_noise -nosplit -below -high -slack_type height -all_violators
}
redirect -compress ./rep//report_si_double_switching.rpt.gz {
report_si_double_switching -nosplit -rise -fall
}

3.10.3 Vio & Fix Method

3.10.4 Attention

3.10.5 Study Link

3.11 Clk Uncertainty Check

3.12 Slew Setting Check

3.13 SDF Generate Command Option Check

3.14 SPEF Generate Command Option Check

3.15 Back Annotation Check

四、Output Check

4.1 Timing Check

4.1.1 User Timing Result Check

在这里插入图片描述

4.1.1.1 Description
4.1.1.2 Check Method & Command
4.1.1.2.1 Check Method
4.1.1.2.2 Check Command
4.1.1.3 Vio & Debug & Fix Method
4.1.1.3.1 Vio
4.1.1.3.2 Debug
4.1.1.3.3 Fix Method
4.1.1.4 Attention
4.1.1.5 Study Link
4.1.1.1 Internal Timing Result

4.1.2 AC Timing Result Check

4.1.2.1 IO介绍
4.1.2.1.1 IO类型
4.1.2.1.1.1 专用IO
4.1.2.1.1.2 GPIO
4.1.2.1.2 IO功能
4.1.2.1.2.1 专用IO
4.1.2.1.2.2 GPIO

GPIO的八种工作模式详解:浮空输入、带上拉输入、带下拉输入、模拟输入、开漏输出、推挽输出、开漏复用输出。
(1)浮空输入_IN_FLOATING
浮空输入顾名思义,浮空就是 浮在空中.也就是没有什么把他拉下来,也没有什么把它拉上去。
特点:电压的不确定性,它可能是0V,也可能是VCC,还可能是介于两者之间的某个值(最有可能).。
浮空一般用来做ADC输入用、可以做KEY识别、RX,这样可以减少上下拉电阻对结果的影响。

(2)带上拉输入_IPU
带上拉输入上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用!

(3)带下拉输入_IPD
下拉输入特点就是把电压拉低,拉到GND。与上拉原理相似。
对于要加上拉或下拉电阻:
1.当作单片机作为输入时,假设我们直接在IO端口接一个按键到地(或电源)。
因为按键按,于不按管脚都是悬空的。单片机就很难检测按键是否按下。
所以人为的接一个上拉(或下拉)。以确定未按下的时候IO输入电平的状态
2.可以提高芯片的抗干扰能
3.当单片机的IO口作输出时,如果不接上拉电阻只能提供灌电流。无法输出电流驱动外接设备。这时也需要考虑上拉电阻。这样才可以使IO输出高电平

(4)模拟输入_AIN
模拟输入应用ADC模拟输入,或者低功耗下省电
信号从左边编号为1 的端口进从右边编号为2的一端直接进入MCU的AD模块。
(5)开漏输出_OUT_OD

(6)推挽输出_OUT_PP
推挽输出GPIO的推挽输出模式是在开漏输出模式的基础上,在“输出控制电路”之后,增加了一个P-MOS管
当CPU输出逻辑“1 ”时,编号3 处的P-MOS管导通,而下方的N-MOS管截止,达到输出高电平的目的
当CPU输出逻辑“0 ”时,编号3 处的P-MOS管截止,而下方的N-MOS管导通,达到输出低电平的目的
在这个模式下,CPU 仍然可以从“输入数据寄存器”读到该IO端口电压变化的信号。
优点:可以吸收电流也可以灌电流。
缺点:一条总线上,只能有一个推挽输出器件。
(7)开漏复用输出_AF_OD

(8)推挽复用输出_AF_PP

4.1.2.1.3 IO电气特性
4.1.2.1.4 IO约束方法
4.1.2.3 Input File
4.1.2.3 Flow
4.1.2.4 AC Timing Result & Debug & Fix timing
4.1.2.5 Attention

4.1.3 SP Timing Result Check

4.1.3.1 SP 应用场景
4.1.3.2 SP input file
4.1.3.3 SP flow
4.1.3.4 SP Timing Result & Debug & Fix timing
4.1.3.4.1 SP Timing Result
4.1.3.4.2 Debug

(1) path 报不出
1)检查impl设定,CIESTA是否按照impl设定作成

2)impl中设定的point不存在


3)impl中设定的point不存在

4)impl中设定的path不存在

5)CIESTA中的设定不正确

6)STA环境设定不正确

7)受其他检证项目影响
(2) fix 假path
1)

4.1.3.4.3 Fix timing
4.1.3.5 SP Attention

4.1.4 Scan Timing Result Check

4.1.5 Mbist Timing Result Check

4.1.2 Min_Pulse_Width Check

4.1.2.1 Description
    全称为最小脉冲宽度检查。经常用在时序器件或者memory上面。用于检查通过某pin(例如FF的clk)的时钟脉冲宽度(高电平)是否满足要求。

(1) 影响时钟脉冲宽度的因素:

  1. 一般情况下,由于cell本身有变异,rise和fall delay不相同,这样可能会造成时钟信号脉冲宽度减小;

  2. 由于net上的noise影响;

(2) 修复min pulse width的violation:

  1. 使用rise和fall delay相同的buf;

  2. clk line上插inv:

  3. 修正noise;

4.1.2.2 Check Method & Command
4.1.2.2.1 Check Method

(1)

pt_shell> set_min_pulse_width 2.0 [get_clocks CK1]

(2)

pt_shell> set_min_pulse_width -low 2.5 U1/Z

(3)

pt_shell> report_min_pulse_width -nosp -all_violators -path_type full_clock_expanded -input_pins -capacitance -transition_time

(4)

pt_shell> report_min_pulse_width -path_type full_clock_expanded [get_pin ff2/CP]

(5)

pt_shell> report_const -nosp -all_vio

(6)

pt_shell> report_global_timing -include {inter_clock} -format wide -significant_digits 3 -delay ${value}

(7)

pt_shell> report_min_pulse_width -nosp -all_vio -path full_clock_exp -input -net -tran -cap

(8)

pt_shell> report_constraint -nosp -all_vio -min_period

4.1.2.2.2 Check Command

redirect -compress ./rep/min_pulse_violators.rpt.gz {
# report_constraints -all_violators -verbose -min_pulse_width -nosplit
report_min_pulse_width -nosp -all_violators -path_type full_clock_expanded -input_pins -capacitance -transition_time

4.1.2.3

(1) 学习链接

  1. 论STA | min pulse width - 腾讯云开发者社区-腾讯云 (tencent.com)

4.1.3 Min_Pulse_Width Check (LowSpeed)

4.1.4 Min_Period Check

4.4.1 Description

min period全称为最小周期检查。为什么要有这个检查呢? 我们在实际设计中经常会碰到这种情况,通常在时序器件上,尤其是memory,如果我们的memory,它最高只能工作到800Mhz频率,但是我们却希望它能工作到1Ghz的频率,这时就会出现min period的violation。

min period的要求一般定义在时序库文件lib的clock pin上,如下图所示:

pin(CLK){

direction: input ;

capacitance: 1.2;

min period: 1.25

}

上面描述中的min period: 1.25代表着到达CLK pin的所有clock需要至少1.25ns周期,如果不满足该条件的话,工具会显示violation.

4.4.2 Check Method & Command

4.4.2.1 Check Method

(1)

set_timing_derate -min_period

(2)

(3)

pt_shell> report_min_period

(4)

pt_shell> report_min_period -path_type full_clock -derate ${FF}/CLK

4.4.2.2 Check Command

redirect -compress ./rep/min_period_violators.rpt.gz {
#report_constraints -all_violators -verbose -min_period -nosplit
report_min_period -all_violators -nosp -path_type full_clock_expanded
}

4.4.3 Vio & Fix Method

4.4.4 Attention

4.4.5 Study Link

4.1.5 Session Check

4.1.6 Timing Check

redirect -compress ./rep/all_violators.rpt.gz {
report_timing -delay_type $MAX_MIN -input_pins -nosplit -transition_time -capacitance -crosstalk_delta -derate
-max_paths 25000 -nworst 1 -pba_mode KaTeX parse error: Expected 'EOF', got '}' at position 10: pba_mode }̲ redirect…{CHK_CLK_NAME}.tim.rpt.gz {
report_timing -delay_type $MAX_MIN -include_hierarchical_pin -path_type full_clock_expanded
-input_pins -nosplit -transition_time -capacitance -crosstalk_delta
-group $CHK_CLK_NAME -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
}
redirect -compress ./rep_ex/clock_gating_default.tim.rpt.gz {
report_timing -delay_type $MAX_MIN -include_hierarchical_pin -path_type full_clock_expanded
-input_pins -nosplit -transition_time -capacitance -crosstalk_delta
-group clock_gating_default -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
}

redirect -compress ./rep_ex/async_default.tim.rpt.gz {
report_timing -delay_type $MAX_MIN -include_hierarchical_pin -path_type full_clock_expanded
-input_pins -nosplit -transition_time -capacitance -crosstalk_delta
-group async_default -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
}

redirect -compress ./rep_ex/default.tim.rpt.gz {
report_timing -delay_type $MAX_MIN
-input_pins -nosplit -transition_time -capacitance -crosstalk_delta
-group default -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
}

4.1.7 Global Timing

redirect -compress ./rep/global.rpt.gz {
report_global_timing -delay_type $MAX_MIN -pba_mode $pba_mode
}

redirect -compress ./rep/global_all_grp.rpt.gz {
report_global_timing -delay_type $MAX_MIN -include { non_violated } -separate_all_groups -pba_mode $pba_mode
}

4.1.8 Global Timing Rpt

  redirect -compress ./rep_ex/${CHK_CLK_NAME}.tim.rpt.gz {
    report_timing -delay_type $MAX_MIN -include_hierarchical_pin -path_type full_clock_expanded \
      -input_pins -nosplit -transition_time -capacitance -crosstalk_delta \
      -group $CHK_CLK_NAME -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
  }

redirect -compress ./rep_ex/clock_gating_default.tim.rpt.gz {
report_timing -delay_type $MAX_MIN -include_hierarchical_pin -path_type full_clock_expanded
-input_pins -nosplit -transition_time -capacitance -crosstalk_delta
-group clock_gating_default -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
}

redirect -compress ./rep_ex/async_default.tim.rpt.gz {
report_timing -delay_type $MAX_MIN -include_hierarchical_pin -path_type full_clock_expanded
-input_pins -nosplit -transition_time -capacitance -crosstalk_delta
-group async_default -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
}

redirect -compress ./rep_ex/default.tim.rpt.gz {
report_timing -delay_type $MAX_MIN
-input_pins -nosplit -transition_time -capacitance -crosstalk_delta
-group default -slack_lesser_than inf -max_paths 100 -nworst 1 -derate -pba_mode $pba_mode
}

4.2 DRV Check

4.3 Inv Chain Check

4.4 Loop Circuit Check

4.4.1 Description

redirect -compress ./chk/loop.rpt.gz {
check_timing -verbose -override_defaults loops
}

4.4.2 Check Method & Command

4.4.2.1 Check Method
4.4.2.2 Check Command

4.4.3 Attention

(1)不论电路复杂简单,所有意图之内的Combinational loop 请用set_disable_timing 打断,所有意图之外的Combinational loop 要在RTL阶段修掉。
(2)Combinational loop 是常规设计必须要规避的电路结构,如果不得不有,若交给工具,因为每个工具的算法不同,得到的结果会有差异,所以最好用命令设掉。Combinational loop 除对综合,形式验证,布局布线,静态时序分析有影响之外,对DFT 同样有影响。
(3)startpoint 和endpoint是同一个DFF的情况,不算是loop,也就是没有问题。
组合逻辑出去回到组合逻辑输入的,才是有问题的loop。
(4)产生Combinational loop一般情况下是RTL的问题,个别情况下也有SDC的问题。

4.5 Genetated Clk With Clk As Data

4.6 Genetated Clk With Clk As Data

4.7 Signal Voltage Level

redirect -compress ./chk/signal_level.rpt.gz {
check_timing -verbose -override_defaults signal_level
}

4.8 Clk Cell

4.8.1 Description

4.8.2 Check Method & Command

4.8.2.1 Check Method
4.8.2.2 Check Command

在这里插入图片描述

4.8.3 Vio & Fix Method

4.8.4 Attention

4.8.5 Study Link

4.9 Max Transition

4.9.1 Description

4.9.2 Check Method & Command

4.9.2.1 Check Method
4.9.2.2 Check Command

(1)
redirect -compress ./rep/max_tran_violators.rpt.gz {
report_constraints -all_violators -nosplit -max_transition
(2)
redirect -compress ./rep/max_cap_violators.drv.rpt.gz {
get_cap_vio_drv

4.9.3 Vio & Fix Method

4.9.4 Attention

4.9.5 Study Link

4.10 Max Cap

4.10.1 Description

4.10.2 Check Method & Command

4.10.2.1 Check Method
4.10.2.2 Check Command
4.10.2.2.1

redirect -compress ./rep/cstr.max_cap.violators.rpt.gz {
report_constraints -all_violators -nosplit -max_capacitance

4.10.2.2.2

redirect -compress ./rep/max_cap.violators.drv.rpt.gz {
get_cap_vio_drv

4.10.3 Vio & Fix Method

4.10.4 Attention

4.10.5 Study Link

4.11 High Fanout Check

4.11.1 Description

4.11.2 Check Method & Command

4.11.2.1 Check Method
4.11.2.2 Check Command
4.11.2.2.1

redirect -compress ./rep/max_fanout_violators.rpt.gz {
report_constraint -max_fanout -all_violators -nosplit
}

4.11.3 Vio & Fix Method

4.11.4 Attention

4.11.5 Study Link

4.12 Glitch Noise Check

4.12.1 Description

4.12.2 Check Method & Command

4.12.3 Vio & Fix Method

4.12.4 Attention

4.12.5 Study Link

4.13 Double Switch Check

4.14 Level Shifter True/Bar Skew Check

4.15 Log Check

4.16 Write_SDC Check

write_sdc -nosplit -compress gzip ./chk/ T O P . {TOP}. TOP.{MODE}.sdc

4.17 COMMON CHECK

4.17.1 Description

4.17.2 Check Method & Command

4.17.2.1 Check Method
4.17.2.2 Check Command

redirect -compress ./chk/check_timing.rpt.gz {
check_timing -verbose
}

4.17.3 Vio & Fix Method

4.17.4 Attention

4.17.5 Study Link

4.18 Clock cell CHECK

4.18.1 Description

 检查clock的clk line上是否插入了*DLY*类cell,因为该类cell延时较大可能会影响到clk的timing,一般不允许在clk中插入该类cell。如果发现插入了该类cell则要给出理由。

4.18.2 Check Method & Command

4.18.2.1 Check Method

使用以下命令检查clk line中是否插入了DLY类cell(个别mode不需要检查)。
pt_shell> get_cells [get_clock_network_objects –type cell –include_clock_gating_network * ] –filter “ref_name =~ DLY

4.18.2.2 Check Command

4.18.3 Attention

(1)在以下情况下可以允许插入DLY类cell:
1) 设计中故意插入,并设置了dont touch,可以通过dont touch设定查询。
2)该类cell驱动的FF/clk不是需要检查timing path(设置了false path)。
3)该类cell所在的path不是clk line。

五、STA sign off condition

5.1

六、Question

6.1 ACtimingInfo_Port_Sig

6.1.1

ACtimingInfo_Port_Sig

七、Others

7.1 Deliver DATA

7.1.1 Timing Result

7.1.2 Timing Result

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值