CN2615770Y - 测试只读存储器的电路 - Google Patents
测试只读存储器的电路 Download PDFInfo
- Publication number
- CN2615770Y CN2615770Y CN 03231629 CN03231629U CN2615770Y CN 2615770 Y CN2615770 Y CN 2615770Y CN 03231629 CN03231629 CN 03231629 CN 03231629 U CN03231629 U CN 03231629U CN 2615770 Y CN2615770 Y CN 2615770Y
- Authority
- CN
- China
- Prior art keywords
- read
- circuit
- rom
- memory
- input end
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本实用新型涉及一种测试只读存储器的电路,通过只读存储器控制信号端(2),读只读存储器信号的控制电路(3),只读存储器数据运算电路(4)和输出电路(5)对只读存储器(1)的测试以及对测试结果的数据输出的判断,以检验只读存储器(1)内固化的COS(片内操作***)数据是否正确,保证了IC卡的安全使用。
Description
技术领域
本实用新型涉及集成电路卡领域,尤其涉及一种测试只读存储器的电路。
背景技术
各类存储器被广泛地应用于集成电路(IC)卡中。对存储器的基本要求是高精度、大容量、低功耗。按功能分,存储器可分为随机存储器(RAM)及只读存储器(ROM)。只读存储器又可分为两大类,掩膜编程ROM及可编程ROM(Programmable Read-Only Memory)。掩膜编程的ROM,其存储的固定逻辑信息是由生产厂家通过,是刻掩膜版来决定的。它是存储器中结构最简单的一种。它的数据写入后就不能用简单而迅速的方法随时更改。因此,在正常工作时它存储的数据是固定不变的,只能读出,不能写入,称之为只读存储器。通常,ROM被用来作为程序存储器。
在带CPU的IC卡上开发了在其中使用的操作***,为了使和应用有关的问题和IC卡的技术相隔离,操作***通常按应用来划分目录以组织文件,并用密码保护对它们的访问。认真地进行相互鉴别,可以方便地增加和更改各应用的专门功能,真正地实现一卡多用。
在带CPU的IC卡中,ROM是用作片内操作***COS(Chip OperationSystem)程序代码的载体。因此,检验ROM内固化的COS数据是否正确是非常重要的。
发明内容
本实用新型需要解决的技术问题是提供了一种测试只读存储器的电路,旨在解决不能检验ROM内固化的COS数据是否正确的缺陷。
为了解决上述技术问题,本实用新型是通过以下技术方案实现的:
本实用新型的电路包括:只读存储器,只读存储器控制信号端,读只读存储器信号的控制电路,只读存储器数据运算电路,输出电路;所述的只读存储器控制信号端与读只读存储器信号的控制电路的输入端、只读存储器数据运算电路的第一输入端、输出电路的第一输入端连接;所述的读只读存储器信号的控制电路的输出端将只读存储器的读控制信号输出到所述的只读存储器的输入端;所述的只读存储器的输出端将只读存储器的数据输出到只读存储器数据运算电路的第二输入端;只读存储器数据运算电路的输出端将运算操作数输出到所述的输出电路的第二输入端;输出电路将测试结果的数据输出。
与现有技术相比,本实用新型的有益效果是:通过检验ROM内固化的COS数据是否正确,保证了IC卡的安全使用。
附图说明
图1是测试只读存储器的电路的方框图;
图2是读只读存储器信号的控制电路的方框图;
图3是只读存储器数据运算电路的方框图;
图4是只读存储器数据运算电路的电路图;
图5是输出电路的方框图;
图6是测试只读存储器方法的工作流程图;
图7是只读存储器数据运算电路中的运算流程图;
图8是测试只读存储器的时序图。
其中:只读存储器1,只读存储器控制信号端2,读只读存储器信号的控制电路3,只读存储器数据运算电路4,输出电路5,地址寄存器31,第一多路选择器32,第一触发器33,时钟34,与运算、缩位异或运算电路41,移位运算电路42,异或运算电路43,第二多路选择器52,第二触发器53。
具体实施方式
下面结合附图与具体实施方式对本实用新型作进一步详细描述:
RomTstEn是控制信号,RomTstRd是ROM的读控制信号,RomData是从ROM中读出的数据,SigAna是测试算法的运算操作数,RomTstOut是数据输出,SigAna[0]是运算操作数第0位的数据。
由图1、图2、图3、图5可见:本实用新型的电路包括:只读存储器1,只读存储器控制信号端2,读只读存储器信号的控制电路3,只读存储器数据运算电路4,输出电路5;所述的只读存储器控制信号端2与读只读存储器信号的控制电路3的输入端、只读存储器数据运算电路4的第一输入端、输出电路5的第一输入端连接;所述的读只读存储器信号的控制电路3的输出端将只读存储器的读控制信号输出到所述的只读存储器1的输入端;所述的只读存储器1的输出端将只读存储器的数据输出到只读存储器数据运算电路4的第二输入端;只读存储器数据运算电路4的输出端将运算操作数输出到所述的输出电路5的第二输入端;输出电路5将测试结果的数据输出;
所述的读只读存储器信号的控制电路3包括地址寄存器31,第一多路选择器32,第一触发器33,时钟34;所述的地址寄存器31和只读存储器控制信号端2分别与第一多路选择器32的第一、第二输入端连接;所述的时钟34和多路选择器32的输出端分别与触发器33的第一、第二输入端连接,所述的触发器33的输出端与只读存储器1的输入端连接,以控制只读存储器1的读信号;
所述的只读存储器数据运算电路4包括时钟34,与运算、缩位异或运算电路41,移位运算电路42,异或运算电路43;所述的与运算、缩位异或运算电路41是运算操作数第16位由上一个时钟周期的运算操作数和运算种子数与操作之后缩位异或而成的电路;所述的移位运算电路42是第9位到第15位由上一个时钟周期的运算操作数第10位到第16位移位而成的电路;所述的异或运算电路43是第1位到第8位是上一个时钟周期的运算操作数第2位到第9位和当前ROM中的数据相异或而成的电路;所述的与运算、缩位异或运算电路41,移位运算电路42,异或运算电路43在时钟34和只读存储器控制信号端2的控制下,输出运算操作数;
所述的输出电路5包括地址寄存器31,第二多路选择器52,第二触发器53,时钟34;所述的地址寄存器31与第二多路选择器52输入端连接;所述的第二多路选择器52输出端与第二触发器53的第一输入端连接,所述的只读存储器控制信号端2与第二触发器53的第二输入端连接,所述的时钟34与第二触发器53的第三输入端连接,以控制将运算操作数第0位的数据输出;
所述的地址寄存器31是15位的地址寄存器;
由图4可见:由多个元器件组成的逻辑运算电路,以实现逻辑运算。
由图6、图7可见:本实用新型的方法是通过以下步骤实现的:
通过只读存储器控制信号端由“1’b0”变为“1’b1”,以进入测试模式的步骤41;
通过读只读存储器信号的控制电路中的地址寄存器自动加1的步骤42;
通过读只读存储器中数据的步骤43;
通过只读存储器数据运算电路中的运算步骤44;
通过比较地址寄存器中的最后位是“1’b0”或者“1’b1”,以判别输出运算操作数45或者回到步骤42;
通过串行输出16位的二进制数,以判别只读存储器中数据正确的步骤46。
所述的通过只读存储器数据运算电路中的运算步骤44中的运算操作数SigAna=SigAna[15]nSigAna[14:8]nSigAna[7:0]n由三部分组成,是通过以下步骤实现的:
SigAna[15]n=^(SigAnan1 &SigSeed)441
SigAna[14:8]n=SigAna[15:9]n-1442
SigAna[7:0]n=SigAna[8:1]n-1^RomData 443
所述的运算操作数第16位SigAna[15]n是上一个时钟周期的运算操作数SigAnan-1和运算种子数SigSeed与操作(运算符号为“&”)之后缩位异或(运算符号为“^”)而成;第9位到第15位SigAna[14:8]n是上一个时钟周期的运算操作数第10位到第16位SigAna[15:9]n-1移位而成;第1位到第8位SigAna[7:0]n是上一个时钟周期的运算操作数第2位到第9位SigAna[8:1]n-1和当前ROM中的数据RomData相异或(运算符号为“”)得到的值。其中包含下标n的数据代表当前时钟周期的数值,包含下标n-1的数据代表上一个时钟周期的数值。
所述的16位二进制运算操作数SigAna在初始状态时,为‘16’b0’;
所述的运算种子数SigSeed是‘16′b0110 1000 0000 0001’;
由图8可见:在测试期间,RomTstEn保持高电平,当测到3FFF时RomTstOut发出启始位并在下一个周期开始逐位输出SigAna,在输出SigAna时,RomTstRd转为高电平,当输出完成后RomTstOut自动转为高电平,这样就完成了测试数据输出的过程。
下面对本实用新型的原理作如下描述:
本实用新型按照功能可以分为三个部分:首先是读ROM信号的控制电路3,主要功能是在自测试开始时使ROM1的读信号RomTstRd有效,以及当ROM1的所有数据参与运算之后停止继续读ROM1;其次是只读存储器数据运算电路4,ROM1的每一个数据在这里按照一定的算法参与自测试的运算,最后产生16位的校验码;最后是运算结果的输出电路5,主要功能是串行输出16位的校验码结果。三个部分在时钟的驱动下工作,能够可靠并且快速的完成一次ROM1中所有数据的测试。
读只读存储器信号的控制电路3包含地址寄存器31,用来控制ROM1的地址。当一个地址的值运算完毕后,地址寄存器31自动加一。地址寄存器31预设15位,比ROM1地址多一位,因此当地址寄存器31的最高位(RomTestA[14])由0变1时,表示所有的地址已经运算完毕,可以输出结果。在ROM1测试时,控制信号RomTstEn置高电平,此时地址寄存器31开始递增。
在ROM测试期间,发出一个读控制信号RomTstRd,说明在此期间内运算ROM1中的数据,此信号低电平有效,当控制信号RomTstEn=’1’和地址寄存器31的最高位RomTestA[14]=’0’两个条件同时满足时读控制信号RomTstRd置底电平,其它周期为高电平。
RomTstOut用于输出运算后的结果,它通常保持高电平,测试完成时发出一个开始位,然后用16个时钟周期输出结果,输出完毕又转为高电平。这个过程由控制信号RomTstEn和地址寄存器31控制,RomTstEn在整个ROM1测试期间有效,地址寄存器31的低14位是正在计算的地址,当计算到ROM1最后一个地址“3FFF”h时使RomTstOut跳低发出开始位,在地址“4000”h至“400F”h这16个时钟周期串行输出测试结果,然后变为高电平。
控制信号RomTstEn由1’b0变为1’b1时,CPU卡进入了ROM数据测试的模式,ROM的地址线以及控制信号转为由本实用新型的电路提供。
地址寄存器31开始自动累加。为了尽可能的保证ROM1中数据的正确,把ROM1中的每一个数据都参与测试,ROM的读控制信号RomTstRd必须保证在ROM1的数据没有被全部读出之前保持有效。这里把地址寄存器31的地址线增加了一位,并用最高位来参与控制ROM1的读信号。当RomTestA[14]由1’b0变为1’b1时,表明“0~3FFF”h即16K的地址中的数据已经全部读出。
数据读出后,要参与运算。算法中包含一个运算种子数SigSeed,运算种子数的选取以及算法本身能够使ROM1中的数据无论发生怎样的错误,都会尽可能的产生与正确的16位校验码不同的结果。算法的本质是通过增加数据的冗余量,产生校验码。如果要检验数据是否正确,只需采用相同的校验算法,判断得到的校验码是否相同。
ROM1的容量是16K,但是最后得到的校验码只有16位,在16位数字之中涵盖ROM1所有出错的可能性是无法实现的。但是ROM1中90%的情况下,是只有一个或者几个数据出错,而并非大块的数据产生错误。在这个算法中,S1gSeed的选取就考虑到了这个问题。SigSeed与算法配合,能够涵盖90%可能出现的ROM1的数据错误。尽可能的使错误在16位的校验码中有所反映,达到最优的ROM1自测试的效率。误判率是评价算法纠错能力的一个指标,如果单纯追求算法的纠错能力,误判率可以达到比较低的数值,但是会使自测试的速度大大降低;而如果单纯追求运算的速度,自测试的速度加快的同时,也可能导致误判的概率比较高。所以效率才是关键。本算法平衡考虑了可靠性与速度,有比较高的效率。
在所有的数据参与运算并得到16位的校验码之后,运算操作数SigAna中的数据通过RomTstOut串行输出,至此完成了一次16K ROM的测试。
ROM1测试的核心功能是检测ROM1中数据的正确与否,因此含有一个算法,把每一个地址的数据加以逻辑运算,最后得到一个16位的数,放在运算操作数SigAna中。在初始状态操作数SigAna为‘0’,当控制信号RomTstEn=‘1’开始测试后,产生新的SigAna值,由3部分构成,SigAna[15]是把上一个时钟周期产生的SigAna和SigSeed与操作之后缩位异或而成,SigAna[14:8]是上一个时钟周期产生的SigAna[15:9]移位而成,SigAna[7:0]是上一个时钟周期产生的SigAna[8:1]和当前RomData相异或得到的值。计算完毕后再用下一个RomData来产生下一个SigAna值。这样循环计算,直至ROM1中的每一个数运算完毕,得到一个16位的结果。因此,利用这种方法可以检测ROM1中是否存在错误数据。
Claims (5)
1.一种测试只读存储器的电路,包括:只读存储器(1),其特征在于:还包括只读存储器控制信号端(2),读只读存储器信号的控制电路(3),只读存储器数据运算电路(4),输出电路(5);所述的只读存储器控制信号端(2)与读只读存储器信号的控制电路(3)的输入端、只读存储器数据运算电路(4)的第一输入端、输出电路(5)的第一输入端连接;所述的读只读存储器信号的控制电路(3)的输出端将只读存储器的读控制信号输出到所述的只读存储器(1)的输入端;所述的只读存储器(1)的输出端将只读存储器的数据输出到只读存储器数据运算电路(4)的第二输入端;只读存储器数据运算电路(4)的输出端将运算操作数输出到所述的输出电路(5)的第二输入端;输出电路(5)将测试结果的数据输出。
2.根据权利要求1所述的一种测试只读存储器的电路,其特征在于:所述的读只读存储器信号的控制电路(3)包括地址寄存器(31),第一多路选择器(32),第一触发器(33),时钟(34);所述的地址寄存器(31)和只读存储器控制信号端(2)分别与多路选择器(32)的第一、第二输入端连接;所述的时钟(34)和多路选择器(32)的输出端分别与触发器(33)的第一、第二输入端连接,所述的触发器(33)的输出端与只读存储器(1)的输入端连接,以控制只读存储器(1)的读信号。
3.根据权利要求1所述的一种测试只读存储器的电路,其特征在于:所述的只读存储器数据运算电路(4)包括时钟(34),与运算、缩位异或运算电路(41),移位运算电路(42),异或运算电路(43);所述的与运算、缩位异或运算电路(41)是运算操作数第16位由上一个时钟周期的运算操作数和运算种子数与操作之后缩位异或而成的电路;所述的移位运算电路(42)是第9位到第15位由上一个时钟周期的运算操作数第10位到第16位移位而成的电路;所述的异或运算电路(43)是第1位到第8位是上一个时钟周期的运算操作数第2位到第9位和当前只读存储器(1)中的数据相异或而成的电路;所述的与运算、缩位异或运算电路(41),移位运算电路(42),异或运算电路(43)在时钟(34)和只读存储器控制信号端(2)的控制下,输出运算操作数。
4.根据权利要求1所述的一种测试只读存储器的电路,其特征在于:所述的输出电路(5)包括地址寄存器(31),第二多路选择器(52),第二触发器(53),时钟(34);所述的地址寄存器(31)与第二多路选择器(52)输入端连接;所述的第二多路选择器(52)输出端与第二触发器(53)的第一输入端连接,所述的只读存储器控制信号端(2)与第二触发器(53)的第二输入端连接,所述的时钟(34)与第二触发器(53)的第三输入端连接,以控制将运算操作数第0位的数据输出。
5.根据权利要求2所述的一种测试只读存储器的电路,其特征在于:所述的地址寄存器(31)是15位的地址寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03231629 CN2615770Y (zh) | 2003-05-30 | 2003-05-30 | 测试只读存储器的电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03231629 CN2615770Y (zh) | 2003-05-30 | 2003-05-30 | 测试只读存储器的电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN2615770Y true CN2615770Y (zh) | 2004-05-12 |
Family
ID=34248277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03231629 Expired - Fee Related CN2615770Y (zh) | 2003-05-30 | 2003-05-30 | 测试只读存储器的电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN2615770Y (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484557A (zh) * | 2015-08-31 | 2017-03-08 | 联芯科技有限公司 | 选择读参数的方法及装置 |
-
2003
- 2003-05-30 CN CN 03231629 patent/CN2615770Y/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484557A (zh) * | 2015-08-31 | 2017-03-08 | 联芯科技有限公司 | 选择读参数的方法及装置 |
CN106484557B (zh) * | 2015-08-31 | 2019-06-18 | 联芯科技有限公司 | 选择读参数的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0108346B1 (en) | Memory reconfiguration method in a data processing system | |
US4862347A (en) | System for simulating memory arrays in a logic simulation machine | |
CN1243251C (zh) | 在基于事件的测试***上用于存储器测试的模块化结构 | |
CN1093641C (zh) | 存贮器试验装置 | |
CN1203420C (zh) | 用于移动存储块的直接存储器存取控制器及其移动方法 | |
CN100347677C (zh) | 空间计算机抗单粒子翻转的存储器纠检错与自动回写方法 | |
CN103473160B (zh) | 缓存的测试装置、cpu芯片及缓存的测试方法 | |
CN1117619A (zh) | 执行模糊逻辑运算的数字处理器及其执行方法 | |
CN101310342A (zh) | 测试装置以及测试方法 | |
CN103473146A (zh) | 存储器控制方法、存储器控制器以及电子装置 | |
JPS5958558A (ja) | 並列周期的冗長チエツク回路 | |
JP5134569B2 (ja) | メモリ装置 | |
CN112420115B (zh) | 一种动态随机存取存储器的故障检测方法 | |
CN1653434A (zh) | 获得数据掩码映射信息 | |
CN1218961A (zh) | 检测存储器装置的方法 | |
CN1543618A (zh) | 使用综合用于有效数据加载和下载的基于分组的协议的逻辑的硬件辅助的设计验证*** | |
CN102237139B (zh) | 计算补偿电压与调整阀值电压方法及存储器装置与控制器 | |
CN109783005A (zh) | 控制记忆装置的方法、记忆装置、及其控制器和电子装置 | |
CN1252730C (zh) | 具有测试压缩功能的存储电路 | |
CN2615770Y (zh) | 测试只读存储器的电路 | |
CN1627516A (zh) | 一种芯片内建电可擦除存储器的测试模块及其测试方法 | |
CN1251244C (zh) | 电子电路内装自测试的方法 | |
CN1553326A (zh) | 测试只读存储器的电路及其测试方法 | |
CN1100306C (zh) | 集成电路卡读写器及其控制方法 | |
CN101178943A (zh) | 存储器及其读取错误检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |