异步电路及其在硬件安全中的应用
1. 异步电路概述
在大规模片上系统(SoC)中,时钟树功耗大,无论电路是否在进行计算,都会有时钟转换。而且时钟信号的活动沿会引发同步事件,导致每个时钟沿出现电流突发,这些突发可被用于侧信道分析来推断电路活动和处理的数据信息。
异步电路因其低功耗和内在安全性,正吸引着科研界和工业界的关注。与同步电路不同,异步电路没有全局同步信号,其寄存器采用局部握手协议,与前后寄存器进行同步。该协议通过InAck信号确认前级输入,通过OutReq信号请求后级处理新数据,避免了同步电路中时钟带来的全局定时假设问题,如时钟分布、时钟偏移和抖动。
2. 异步电路设计基础
2.1 捆绑数据电路
异步电路可根据架构、定时假设或握手协议进行分类。捆绑数据电路有数据路径和控制路径两条路径。数据路径是单轨实现,功能通过普通组合逻辑实现;控制路径包含用于实现握手协议的请求和确认信号,替代了同步设计中时钟信号的功能。请求信号触发寄存器捕获新数据,确保寄存器输入稳定且满足逻辑延迟;确认信号保证前一个寄存器发送的数据已被正确计算和捕获。为保证电路正常运行,需在请求信号路径中插入匹配延迟,以补偿数据路径中功能块的传播延迟。捆绑数据的概念是用电路中的各种定时假设取代全局时钟定时假设,提高了电路性能,减少了悲观估计,避免了全局信号的分配问题。
2.2 延迟不敏感(DI)编码电路
延迟不敏感(DI)编码电路的设计理念是避免任何定时假设,即延迟不敏感性。由于无法预先确定功能块何时完成计算,DI编码电路的挑战在于检测寄存器输入处有效数据的存在,即完成检测。为实现这一点,数据路径采用编码方式,从一个码字跳转到另
超级会员免费看
订阅专栏 解锁全文
12万+

被折叠的 条评论
为什么被折叠?



