module kunlun_l_top_gate0_tessent_sib_sti ( ijtag_reset, ijtag_sel, ijtag_si,
ijtag_ce, ijtag_se, ijtag_ue, ijtag_tck, ijtag_so, ijtag_from_so,
ltest_si, ltest_scan_en, ltest_en, ltest_clk, ltest_mem_bypass_en,
ltest_mcp_bounding_en, ltest_occ_en,
ltest_async_set_reset_dynamic_enable,
ltest_async_set_reset_static_disable, ltest_static_clock_control_mode,
ltest_clock_sequence, ijtag_to_tck, ijtag_to_reset, ijtag_to_si,
ijtag_to_ce, ijtag_to_se, ijtag_to_ue, ltest_so, ltest_to_en,
ltest_to_mem_bypass_en, ltest_to_mcp_bounding_en, ltest_to_scan_en,
ijtag_to_sel );
input [1:0] ltest_clock_sequence;
input ijtag_reset, ijtag_sel, ijtag_si, ijtag_ce, ijtag_se, ijtag_ue,
ijtag_tck, ijtag_from_so, ltest_si, ltest_scan_en, ltest_en,
ltest_clk, ltest_mem_bypass_en, ltest_mcp_bounding_en, ltest_occ_en,
ltest_async_set_reset_dynamic_enable,
ltest_async_set_reset_static_disable, ltest_static_clock_control_mode;
output ijtag_so, ijtag_to_tck, ijtag_to_reset, ijtag_to_si, ijtag_to_ce,
ijtag_to_se, ijtag_to_ue, ltest_so, ltest_to_en,
ltest_to_mem_b;
output ijtag_so, ijtag_to_tck, ijtag_to_reset, ijtag_to_si, ijtag_to_ce,
ijtag_to_se, ijtag_to_ue, ltest_so, ltest_to_en,
ltest_to_mem_bypass_en, ltest_to_mcp_bounding_en, ltest_to_scan_en,
ijtag_to_sel;
好的!来详细讲解一下你给出的这个模块:
➡️ kunlun_l_top_gate0_tessent_sib_sti
模块名字看:
- tessent:DFT设计工具 Synopsys Tessent。
- sib:Segment Insertion Bit,iJTAG链上的子链选择器(开关)。
- sti:通常表示 Scan Test Interface,或者内部名字。
这个模块是一个比普通SIB更复杂的iJTAG SIB模块,除了基本scan链选择,还额外控制了一些LTEST(逻辑测试)功能和时钟、reset、bypass之类的信号。
📋 各端口详细解释
端口 | 方向 | 含义 |
---|---|---|
ijtag_reset |
input | iJTAG链复位信号(控制scan链复位) |
ijtag_sel |
input | 当前SIB模块被主链选中的标志(=1表示本SIB被访问) |
ijtag_si |
input | 串行输入(scan input) |
ijtag_ce |
input | Clock Enable,用来配合TCK控制scan shift |
ijtag_se |
input | Scan Enable,指示是否进行shift |
ijtag_ue |
input | Update Enable,把shift到的位置锁存 |
ijtag_tck |
input | Scan链时钟(TCK) |
ijtag_from_so |
input | 来自下一级模块(被控子模块)的scan输出 |
ltest_si |
input | 来自ltest(逻辑测试模块)的scan input |
ltest_scan_en |
input | ltest的Scan Enable信号 |
ltest_en |
input | ltest的使能信号 |
ltest_clk |
input | ltest模块使用的时钟 |
ltest_mem_bypass_en |
input | ltest控制内存bypass功能 |
ltest_mcp_bounding_en |
input | ltest控制MCP bounding功能(多核芯片测试控制) |
ltest_occ_en |
input | ltest控制OCC(On-chip clock control)使能 |
ltest_async_set_reset_dynamic_enable |
input | ltest动态异步置位/复位功能打开 |
ltest_async_set_reset_static_disable |
input | ltest静态异步置位/复位功能关闭 |
ltest_static_clock_control_mode |
input | ltest静态时钟控制模式 |
ltest_clock_sequence[1:0] |
input | ltest时钟控制时序序列 |
端口 | 方向 | 含义 |
---|---|---|
ijtag_so |
output | 当前模块的scan输出(给到上一级scan链) |
ijtag_to_tck |
output | 分发出去的scan时钟信号(给子模块) |
ijtag_to_reset |
output | 分发出去的scan复位信号 |
ijtag_to_si |
output | 分发出去的scan input信号(给子模块) |
ijtag_to_ce |
output | 分发出去的Clock Enable信号 |
ijtag_to_se |
output | 分发出去的Scan Enable信号 |
ijtag_to_ue |
output | 分发出去的Update Enable信号 |
ijtag_to_sel |
output | 子模块选择信号(打开子链时置1) |
ltest_so |
output | ltest模块自己的scan output |
ltest_to_en |
output | 传递出去的ltest使能信号 |
ltest_to_mem_bypass_en |
output | 传出去的内存bypass信号 |
ltest_to_mcp_bounding_en |
output | 传出去的MCP bounding使能信号 |
ltest_to_scan_en |
output | 传出去的ltest的Scan Enable信号 |
🧠 模块整体功能总结
基本功能:
- 作为一个SIB节点,控制scan链开关。
- 控制是否把iJTAG链连接到后面的子模块。
扩展功能(ltest相关):
- 同时转发ltest的各种控制信号(比如mem_bypass_en,occ_en等)。
- 支持更复杂的测试模式,比如静态时钟控制、动态异步reset控制。
Scan链管理:
- 从外部scan链(ijtag_si)输入数据,经过本模块判断后,决定把数据送到子模块,还是送到自己(SIB)内部。
- 输出串行数据(ijtag_so),形成完整的scan链。
🔥 小结一句话:
kunlun_l_top_gate0_tessent_sib_sti
是一个增强型SIB模块,不仅实现了基本的iJTAG链段选择,还转发了丰富的测试控制信号,适合更复杂的LTEST测试环境。
要不要我给你画一下它内部逻辑图(Shift逻辑 + ltest信号mux逻辑)?
这样你更容易理解scan流向和控制流向。要的话告诉我!🎯