本发明涉及的是一种半导体设计领域的技术,具体是一种使用SiDNA(半导体基因)及其适配电路来探测和记录半导体芯片上CMOS晶体管的不同信息并转换成0/1序列的方法及装置。
背景技术:
很多研究表明在生产CMOS晶体管的时候,栅的长度,宽度,厚度,填充剂的浓度等多会有随机的程正态分布的差异,这些差异虽然很小但是会对晶体管的电性能比如阈值电压,漏源电流,栅电压等产生些微的差异。这些差异也都随机而且正态分布。在设计芯片的时间,为了考虑这些随机变化的因素,半导体生产商都会提供芯片设计部门程正态分布的数学模型。如果没有这个模型或设计时不考虑这个数据,那么产品优良率就会非常低。
现有的芯片序列一般通过电子熔丝编程的方式手动生成,通过数个存储器位单元组成的非易失性存储器或将信息写至所述非易失性存储器内,并从存储器中读取到该唯一芯片识别符或部件编号识别符,但该技术的实现需要在半导体制备后额外增加熔丝编程工艺,且过大的存储器单元也会导致不必要的芯片尺寸增加。
现有的芯片ID号码的生成还包括采用PUF(Physically Unclonable Functions,物理抗克隆)技术实现,PUF技术采用硅片独特的物理特性和IC制造过程的变异性来识别各个硅芯片,判断它们的真伪性,无需采用密钥或存储密钥。由于该技术生成密码方便,并且即便采用完全相同的制造工艺也很难复制ID号码,故常用于安保领域。
最典型的PUF技术应用即为SRAM(静态随机存储器)PUF技术,该存储器中的半导体单元设计为具有对称的结构,使该半导体单元能够处于逻辑临界状态。一旦制造工艺过程产生制程参量上的差异时,每个半导体单元在通电后产生非随机的逻辑状态,从而使得由存储器单元构成的阵列生成唯一的ID号码。如中国专利文献号CN104347111A公开(公告)日2015.02.11,公开了一种半导体集成电路器件,即为上述典型的SRAM PUF技术的应用。
但上述SRAM PUF技术的缺陷在于稳定性难以满足工业需求,存储器单元的输出结果很大程度上受到周边电路或外部环境的影响,上述技术问题构成了现阶段SRAM PUF技术在应用环节的主要阻碍。
技术实现要素:
本发明针对现有技术存在的上述不足,提出一种SiDNA序列生成及识别方法和装置,通过锁存电路和缓冲器电路将半导体制成过程中产生的差异转换成0和1并把它们贮存起来,然后随时读取。
本发明是通过以下技术方案实现的:
本发明涉及一种SiDNA序列生成方法,其特征在于,通过在设计阶段为每个半导体芯片的工作电压和公共接地端电压之间增设若干组并联和/或串联的带有缓冲寄存器的锁存器,即SiDNA单元,经半导体制程工艺使得锁存器实现非临界状态,即产生固定且不相同的0或1,从而形成该半导体芯片对应的DNA序列。
如图1所示,即为根据上述方法得以实现的DNA序列。上述序列在芯片设计过程中也可以采用如图2所示的阵列布置方式。
所述的锁存器具有镜像对称结构。
本发明涉及一种实现上述方法的SiDNA序列生成单元,为两个对称耦合的反相器组成的锁存器。
所述的对称,是指第一反相器和第二反相器具有半导体制程工艺上的对称结构。
所述的耦合,通过第一反相器的输入端与第二反相器的输出端相连,第二反相器的输入端与第一反相器的输出端相连,这样的设计使得第一反相器与第二反相器的输入输出得以反相强化。
所述的SiDNA序列生成单元内进一步优选设有一对缓冲寄存器,该缓冲寄存器对称设置于上述锁存器的两侧。
本发明涉及一种具有SiDNA序列的芯片,包括:若干个上述SiDNA序列生成单元以及多级读取机构,其中:SiDNA单元分布于芯片的各个位置并与多级扫描链单元相连。
所述的多级读取机构,为包括若干个级联的扫描触发器的多级扫描链单元,该扫描触发器的输入端与上述锁存器的输出端或缓冲寄存器的DNA端或DNAC端相连,当扫描触发器接收到时钟信号后将相应在输出端经触发产生相应的信号。
本发明涉及一种系统单芯片,包括:分别与总线相连的若干个带有I/O电路的逻辑单元和一个处理单元,该逻辑单元通过总线和处理单元传输数据,上述逻辑单元遍布于芯片的不同位置;该逻辑单元内包括一个或多个如上述任一权利要求中所述的SiDNA单元,每个逻辑单元中的I/O电路通过总线将与之相连的SiDNA单元的DNA信息通过总线输出至处理单元,由处理单元根据不同的逻辑单元将对应的DNA信息整合为完整的DNA序列。
附图说明
图1为本发明DNA序列示意图。
图2为本发明DNA序列布局示意图;
图3为实施例SiDNA结构示意图;
图4为实施例SiDNA读取示意图;
图5为实施例具有SiDNA序列的芯片示意图;
图6为实施例信号时序图;
图7为实施例系统单芯片示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例1
如图3所示,为本发明的一个SiDNA序列生成单元,具体为两个对称耦合的反相器组成的锁存器1,其中:每个反相器包括一个NMOS管N1(N2)和一个PMOS管P1(P2),其中:P1的源极与电源电压Vdd相连,漏极与N1的漏极相连构成输入端,栅极与N1的栅极相连构成输出端,N1的源极则与地电压Vss相连。
所述的对称,是指第一反相器和第二反相器具有半导体制程工艺上的对称结构,即P1与P2、N1与N2从设计参数上完全相同。
所述的耦合,通过第一反相器的输入端与第二反相器的输出端相连,第二反相器的输入端与第一反相器的输出端相连,这样的设计使得第一反相器与第二反相器的输入输出得以反相强化。
由于制成工艺的局部不同,即便经历完全相同的制造工艺和参数,两个反相器依旧不会完全相同,其中MOS管的沟道宽度和长度、栅极长度、宽度及深度、掺杂浓度、分布和深度、栅极绝缘层的厚度等等因素的不同均会对晶体管电性能产生影响,最终导致两个反相器的不对称。从而使得两个反相器中的任意一个的输出端产生偏离临界状态时,对应的另一个反相器将进一步强化该结果,使得最终实现0或1的输出。
如图4所示,所述的SiDNA序列生成单元内优选进一步设有一对缓冲寄存器2,该缓冲寄存器2对称设置于上述锁存器1的两侧。
所述的缓冲寄存器可以采用反相器或其他常见半导体结构,优选采用与所述的锁存器1中第一、第二反相器相同的结构,本实施例中的缓冲寄存器2采用一个NMOS管N3(N4)和一个PMOS管P3(P4)组成的反相器,例如:P4的源极与电源电压Vdd相连,漏极与N4的漏极相连并与上述第一反相器的输出端、第二反相器的输入端相连,P4的栅极与N4的栅极相连构成DNAC端,N4的源极则与地电压Vss相连,另一侧的反相器采用相同结构并构成DNA端。
如图4所示,为用于读取上述SiDNA单元中数据的一个扫描链单元,包括:一个扫描触发器3,该扫描触发器3的输入端与上述锁存器的输出端或缓冲寄存器的DNA端或DNAC端相连,当扫描触发器3接收到时钟信号后将相应在输出端Q经触发产生相应的信号。
所述的扫描触发器3的输入端进一步设有多路选择器4,该多路选择器4包括多个输入端以及一个输出端,其中:任一一个输入端与上述锁存器的输出端或缓冲寄存器的DNA端或DNAC端相连,输出端与扫描触发器3的输入端相连,并通过读取控制信号和读取选择信号实现片选和输出选择。
本实施例上述扫描链单元可以进一步实现多级级联,从而实现对图1或图2中的SiDNA阵列的读取。
如图5和图6所示,为一种具有DNA序列生成和读取功能的芯片及其控制信号波形,该芯片包括:若干个上述SiDNA单元以及多级扫描链单元,其中:SiDNA单元分布于芯片的各个位置并与多级扫描链单元相连。
所述的各个位置是指:在芯片布图设计阶段将上述SiDNA单元分布设置于芯片的不同几何位置。
所述的多级扫描链单元在本实施例中通过扫描触发器实现,每一级扫描链单元包括的扫描触发器3具有用于读取DNA信息的输入端、用于接收读取控制信号的选择端、用于接收外部信息的数据输入端、时钟信号端以及输出端Q,其中:当选择端收到读取控制信号时,将在下一个时钟信号边沿到来后通过输入端读取DNA信息,否则扫描触发器3则通过数据输入端接收外部信息,并最终通过输出端Q传递至下一级扫描链单元。
在相邻两个扫描链单元之间优选进一步设有多路分配器6,该多路分配器6的输入端与扫描触发器3的输出端Q相连,多路分配器6的多个输出端分别于芯片7的其他端口以及下一级扫描链单元相连。通过读取选择信息对该多路分配器6的输出进行选择,当扫描触发器3接收外部信息时,相同时序下的读取选择信息将会控制多路分配器6将该外部信息输出至芯片7的其他端口。
同样地,当所述的多路选择器4的多个输入端分别与芯片7的不同端口、上述多路分配器6的一个输出端以及SiDNA单元的输入端相连时,则可通过读取选择信息的不同时序设置实现该多级扫描链单元的DNA序列采集、芯片中其他信息的传递等功能。
如图7所示,为本实施例涉及的一种系统单芯片(System-on-a-chip,SoC),该芯片包括:分别与总线11相连的若干个带有I/O电路8的逻辑单元9和一个处理单元10,该逻辑单元9通过总线11和处理单元10传输数据,上述逻辑单元9遍布于芯片的不同位置。
所述的逻辑单元9内进一步可包括一个或多个SiDNA单元。每个逻辑单元9中的I/O电路8通过总线11将与之相连的SiDNA单元的DNA信息通过总线11输出至处理单元10,由处理单元10根据不同的逻辑单元9将对应的DNA信息整合为完整的DNA序列。例如:逻辑单元9向总线11发出包含DNA信息的数据块,处理单元10收到数据块后进行重新排列。该数据块内还可以进一步包含用于重新排列的地址等信息。
除了上述应用外,SiDNA单元还可以实现电路诊断。例如:当处理单元10未收到某个特定逻辑单元9对应的DNA信息时,该逻辑单元9或其周边电路即可能存在缺陷或损坏,实现对芯片电路缺陷的快速定位,并能够用于确保芯片整体性,防止芯片伪造。