一种汉明码SRAM时序参数Setup特征化建模方法与流程

文档序号:18031054发布日期:2019-06-28 22:40阅读:427来源:国知局
一种汉明码SRAM时序参数Setup特征化建模方法与流程

本发明涉及微电子仿真领域,更具体地说,涉及一种汉明码sram时序参数setup特征化建模方法。



背景技术:

仿真sram时序及功耗参数并生成模型的过程称为特征化建模。为了在soc设计流程中使用sram等存储器模块,因此用于仿真、综合及验证的时序及功耗模型是必不可少的。由于sram往往在设计的关键路径上,因此sram时序参数特征化建模的精确度至关重要。

sram时序参数setup的特征化建模的核心是找到关键路径。关键路径通常由仿真得到,首先配置数据端口电平变化,时钟沿到参考节点(通常是存储单元)电平变化的延时最大值所在路径即为关键路径。

传统sram的时序参数“setup”的特征化建模方法,都是基于传统关键路径实现。关键路径通常通过仿真sram正常存取数据的路径进行建模,数据单比特位输入、参考节点是输入比特位对应的存储阵列中的存储单元。

汉明码sram,是通过编解码及纠检错冗余位来增强传统sram的纠错能力,相较于传统sram其包含编解码模块和冗余存储阵列。汉明码sram通常也采用传统方法通过仿真数据写入存储完成特征化建模。但是由于汉明码sram的实际关键路径不同于传统sram,因此基于单比特位向量、参考存储阵列的传统关键路径已不能精确地完成汉明码sram的特征化建模,精确度差。



技术实现要素:

1.要解决的技术问题

针对现有技术中存在的传统关键路径已不能精确地完成汉明码sram的特征化建模、精度差的问题,本发明提供了一种汉明码sram时序参数setup特征化建模方法,在仿真中模拟了从数据变化到纠检错冗余位接收的编码的关键路径,相比于传统方法,能够精确地得到的时序参数模型,准确性好。

2.技术方案

本发明的目的通过以下技术方案实现。

一种汉明码sram时序参数setup特征化建模方法,其步骤如下:

(1)通过仿真纠检错编码工作方式得到实际关键路径,原理为:配置若干编码路径并分别进行仿真,选择延时最大的一条作为关键路径;

选择实际关键路径对应的多个数据端口进行比特位向量输入;冗余阵列中的比特位单元为参考节点;

(2)对于关键路径的各个端口相对时钟进行相位扫描,判断参考节点是否成功写入数据,获得实际关键路径的各个对应端口的相位差临界值;

(3)选择各个端口对应的相位差临界值中最大的临界值作为数据端口的setup参数值。

更进一步的,步骤(1)中数据端口为sram数据端口。

更进一步的,步骤(1)中数据端口为选择所有端口中的不少于两个端口的任一集合。

更进一步的,参考节点分别通过判断是否成功写入“1”和“0”,分别来获得对应的临界值,分别判断setuprise和setupfall参数值。

更进一步的,步骤(1)中实际关键路径获得步骤为,数据端口da、db、……di输入比特位向量,参考节点bitk写“1”或“0”,选择的数据端口为da、db、……di为数据端口d0~d7中任意2到i个端口的集合,bitk为冗余单元的任意一位比特位单元。

更进一步的,步骤(1)中数据端口向量配置为x→y,其中x→y为(0→1)或(1→0)向量变化。

更进一步的,步骤(2)中获得各个若对应的实际关键路径对应端口的相位差临界值的方法如下,

定义参数δxa,赋予其足够大的值能够成功扫描成功写入数据,da与时钟向量之间设置相位差δxa进行扫描,其他数据向量与时钟向量之间固定设置相位差选择足够大的值扫描,判断冗余阵列单元能否成功写入数据“1”或“0”,如能写入,减少相位差δxa的值,其余数据向量依旧为足够大值(如10ns),直到δxa减小到一定的值,此时不能够成功写入数据“1”或“0”,则判断δxa为数据向量da的相位差临界值,同理获得,db、……di的相位差临界值。

更进一步的,步骤(2)中时钟端口向量配置为(0→1)。

更进一步的,步骤(2)中所述各个端口的临界值分别进行判断。

3.有益效果

相比于现有技术,本发明的优点在于:

由于汉明码sram的写入过程包含数据存取和编码校验两部分,前者是传统的由数据端到存储阵列的过程,而后者则是数据先经过编码并将结果存入冗余阵列的过程。因此,汉明码sram的实际关键路径必然发生在编码到冗余阵列中。若仍按照传统特征化建模方法必然无法从传统路径中获取setup精确参数。此特征化建模方法,由于在仿真中模拟了从数据变化到纠检错冗余位接收的编码的实际关键路径,相比于传统方法,能够精确地得到的时序参数模型。

附图说明

图1setuprise特征化建模原理;

图2setupfall特征化建模原理;

图3传统特征化建模方法原理图;

图4本发明的特征化建模方法原理图。

图5本发明setuprise特征化建模流程图。

具体实施方式

下面结合说明书附图和具体的实施例,对本发明作详细描述。

实施例1

参数定义,setup为时序参数“建立时间”,setuprise为数据“1”的建立时间,setupfall为数据“0”的建立时间

时序参数setuprise其特征化建模原理:对数据端口配置仿真向量(0→1),时钟上升沿向量(0→1),数据向量与时钟向量之间存在一定的延时相位差,调整相位差,通过参考节点能否成功写入数据“1”来判断相位差临界值,这个临界值就是setuprise。如图1所示,相位差为δx1时,参考节点iq可成功写入数据“1”,而相位差为δx2时,参考节点不能成功写入数据,因此setuprise为δx1。

对于时序参数setupfall其特征化建模原理:如图2所示,对数据端口配置仿真向量(1→0),时钟上升沿向量(0→1),数据向量与时钟向量之间存在一定的延时相位差,调整相位差,通过参考节点能否成功写入数据“0”来判断相位差临界值,对应的δx1,这个临界值就是setupfall。

传统sram的时序参数“setup”的特征化建模方法,都是基于传统关键路径实现。关键路径通常通过仿真sram正常写入数据的路径进行建模,数据单比特位输入、参考节点是输入比特位对应的存储阵列中的存储单元,如图3所示。

以单端口sram512x8为例,其输入输出端口为8位(d0~d7,q0~q7),存储阵列为bit0~bit7,传统setuprise特征化建模过程为:

(1)通过仿真数据存取得到数据端setuprise关键路径,即延时最大路径:数据端口di比特位向量,参考节点biti。其中di为数据端口d0~d7中任意一个端口,biti为存储阵列bit0~bit7中任意一位比特位阵列。

(2)数据端口仿真向量配置为di(0→1),时钟端口配置(0→1),参考节点为存储阵列biti的对应存储单元,以存储单元能否成功写入数据“1”作为临界值判断标准,从而得到数据端口的setuprise参数值。

传统setupfall特征化建模过程为:

(1)通过仿真数据存取得到数据端setupfall关键路径,即延时最大路径:数据端口di比特位向量,参考节点biti。其中di为数据端口d0~d7中任意一个端口,biti为存储阵列bit0~bit7中任意一位比特位阵列。

(2)数据端口仿真向量配置为di(0→1),时钟端口配置(0→1),参考节点为存储阵列biti的对应存储单元,以存储单元能否成功写入数据“1”作为临界值判断标准,从而得到数据端口的setupfall参数值。

但是汉明码sram,结构与普通sarm不同,由于存在编码模块,其实际关键路径必然发生在编码到冗余阵列中。本发明的主要目的在于提供一种针对汉明码sram的特征化建模方法,此方法针对传统方法不能精确地完成特征化建模的缺点进行改进,实现了基于新的关键路径的时序模型特征化建模方法。

为达到上述目的,本发明提供了针对汉明码sram的特征化建模方法。由于存在编解码模块,其关键路径已不在传统比特位阵列上,而是在冗余比特位阵列上,且输入数据矢量为多比特位变化。以下结合具体实施例,对本发明进一步详细说明。

如图4、5所示,依照本发明的时序特征化建模方法,

通过仿真得到新的关键路径:输入数据向量为多比特位输入,参考节点是冗余阵列中的比特位单元;

本发明对setuprise特征化建模过程为:

(1)通过仿真纠检错编码工作模式得到实际关键路径原理为:配置若干编码路径并分别进行仿真,选择延时最大的一条作为关键路径;

关键路径:数据端口da(x→y)、db(x→y)、……di(x→y)比特位向量,参考节点bitk写“1”。其中da、db、……di为数据端口d0~d7中任意2到i个端口的集合,(x→y)为(0→1)或(1→0)向量变化,bitk为冗余阵列bit8~bit13中任意一位比特位阵列。判断能否得到最大写延时,如果是,此仿真条件为关键路径,如果不是,重新定义仿真条件,直到获得关键路径。

(2)数据端口仿真向量配置为da(x→y)、db(x→y)、……di(x→y),时钟端口配置(0→1),参考节点为冗余阵列bitk的对应比特位单元。基于setuprise特征化建模原理,以冗余阵列单元能否成功写入数据“1”作为临界值判断标准。临界值的判断遵循前介绍的setup特征化建模方法,只是输入仿真向量为多通道,但是多个输入条件的临界值可以各自判断。

具体的定义参数δxa,赋予其足够大的值,此处实施例可以用10ns,也可以选择其他的值进行,只要保证这个足够大的值能够成功写入数据,da与时钟向量之间设置相位差δxa进行扫描,其他数据向量与时钟向量之间设置相位差选择足够大的值10ns扫描,判断冗余阵列单元能否成功写入数据“1”,如能写入,减少相位差δxa的值,减少的幅度根据需求调整,可以为0.1ns,也可以为其他值,其余数据向量依旧为足够大值10ns。直到δxa减小到一定的值,此时不能够成功写入数据“1”,则判断δxa为数据向量da的相位差临界值。同理使用相同的方法获得,db、……di的相位差临界值。

(3)选取较大临界值作为数据端口的setuprise参数值。由前面得到的多个临界值选择较大一个临界值。

本发明对setupfall特征化建模过程为:

(1)通过仿真纠检错编码工作模式得到实际关键路径,原理为:配置若干编码路径并分别进行仿真,选择延时最大的一条作为关键路径;

关键路径:数据端口da(x→y)、db(x→y)、……di(x→y)比特位向量,参考节点bitk写“0”。其中da、db、……di为数据端口d0~d7中任意2到i个端口的集合,(x→y)为(0→1)或(1→0)向量变化,bitk为冗余阵列bit8~bit13中任意一位比特位阵列。判断能否得到最大写延时,如果是,此仿真条件为关键路径,如果不是,重新定义仿真条件,直到获得关键路径。

(2)数据端口仿真向量配置为da(x→y)、db(x→y)、……di(x→y),时钟端口配置(0→1),参考节点为冗余阵列bitk的对应比特位单元。基于setupfall特征化建模原理,方法如同setuprise临界值获得方法,以冗余阵列单元能否成功写入数据“0”作为临界值判断标准,da、db、……di的相位差临界值。

(3)选取da、db、……di中较大临界值作为数据端口的setupfall参数值。

获得对应的汉明码sram时序参数setup特征化建模。此特征化建模方法,由于在仿真中模拟了从数据变化到纠检错冗余位接收的实际关键路径,相比于传统方法,能够精确地得到的时序参数模型。针对而工艺、容量、编解码算法的不同等都会造成实际关键路径与传统仿真差异的不同,具体的参数设置值不同,其可以大大提高能够精确地得到对应的汉明码sram时序参数模型。

实施例2

选择具体的一个实施例进行建模,以单端口汉明码sram512x8为例,其输入输出端口为8位(d0~d7,q0~q7),存储阵列为bit0~bit7,其用于纠检错的冗余阵列为bit8~bit13。

关键路径基于多比特位输入,参考节点是冗余阵列对应比特位单元。此处,通过仿真得到设计中实际关键路径为d7&d2→bit10,因此其仿真配置端口为d7和d2,参考节点为冗余阵列bit10内的存储单元。本发明仿真向量配置原理:数据端口d7和d2都相对时钟进行相位扫描,相位差为足够大的值为10ns,以冗余阵列bit10的对应存储单元是否成功写入数据作为各端口临界值判断标准,分别获得d2的相位差临界值为1ns,d7相位差临界值为2ns。选取两端口临界值中的较大值2ns作为数据端口的setup参数值。获得对应的时序参数setup特征化模型。

以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1