Wrapping Core Flow
本文主要讲述了在wrapping a core的过程中如何对port进行特定设置,以及工具对于相关command的格式要求。参考(翻译)自《Synopsys® TestMAX™ DFT User Guide》,FYI。
Configuring Port-Specific Wrapper Settings
set_wrapper_configuration命令适用于design的所有port。要指定特定port的wrapper cell特性,可以使用set_boundary_cell命令,该命令提供了许多和set_wrapper_configuration相同的option。
例如,要为特定port设置safe value,使用set_boundary_cell -safe_state命令。
set_boundary_cell -class core_wrapper -port port_list -type WC_D1_S -safe_state 0 | 1
Note: 当使用set_boundary_cell命令时,必须在specification中指明wrapper cell的类型。指定的类型应该匹配safe state和share register的特性。在前面的事例中使用dedicated wrapper cell。
为了防止对特定端口列表加wrapper cell,使用以下命令:
set_boundary_cell -class core_wrapper -ports port_list -type none
当一个输出port驱动下行时钟引脚或是异步set reset信号时可能需要这样做,如果对这个输出port加了wrapper,wrapper cell toggle时可能会导致下游逻辑出现不期望的活动。但是将port从wrapper chain移除会减小test coverage,所以应该在移除之前评估操作的必要性。
当要为port添加dedicated wrapper cell时需要指定,不然会默认使用shared wrapper cell,使用set_boundary_cell命令指定WC_D1或者WC_D1_S wrapper cell。
#no safe state
set_boundary_cell -class core_wrapper -ports port_list -type WC_D1
#safe state
set_boundary_cell -class core_wrapper -ports port_list -type WC_D1_S -safe_state safe_value
Note:
如果为wrapper port使用的I/O register不满足作为shared wrapper cell的要求或是无法启用-style shared选项,不能使用set_boundary_cell命令将它强制指定为shared wrapper cell。
要制定特定的wrapper clock用来给dedicated wrapper cell的特定端口指定clock,使用以下命令:
set_boundary_cell -class core_wrapper -type WC_D1 -shift_clk clock_name -ports port_name
欢迎大家关注公众号IC练习生,后期会不定期更新IC学习历程。