一种存储器编译器的制作方法

文档序号:12720443阅读:285来源:国知局
一种存储器编译器的制作方法与工艺

本发明涉及存储器技术领域,尤其涉及一种存储器编译器。



背景技术:

存储器(Memory)是现代信息技术中用于保存信息的记忆设备。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据存储器控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。自世界上第一台计算机问世以来,计算机的存储器也在不断的发展更新,从一开始的汞延迟线,磁带,磁鼓,磁芯,到现在的半导体存储器,磁盘,光盘,纳米存储等;从1971年的10um制程,到1999年的0.18um制程,再到如今的14nm制程,工艺发展也非常迅速。嵌入式存储器作为嵌入模块中最普及的一种,因其自身功能的特性,以及同等面积下比组合逻辑块功耗低的优点,在深亚微米的片上系统设计中越来越受到设计者的青睐。其应用普及程度已经与标准单元和输入输出单元相当。标准单元和输入输出单元的生成,需要列举所有常用规格,将所有模块归纳成单元库,存储器的解决方案则不能通过列举所有规格来实现。无论从模块数量、数据量,还是人力资源上都是不现实的,这时就需要一个工具能够实现各种规格存储器的自动生成,这就是存储器编译器。

目前利用存储器编译器生成存储器设计数据的流程如图1所示:1)首先客户提出详细的设计需求,具体包括存储器的容量、面积以及功耗等;2)存储器公司/工程师得到客户的设计要求,将这些需求输入到存储器编译器中,存储器编译器开始工作;3)一段时间后存储器编译器生成满足客户需求的存储器的设计数据。得到的设计数据一般为存储器宏单元,其主要包括一定位宽的数据总线、控制总线以及地址总线,数据总线用于传输数据信息,比如在执行写操作时,传输要写入存储器的数据,在执行读操作时,传输从存储器中读出的数据;控制总线用于传输控制命令,比如写操作命令和读操作命令;地址总线用于传输存储器的地址信息。

存储区编译器在生成存储器宏单元的同时也会产生一状态机(Finite State Machine,FSM)用于控制存储器的操作。状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。

然而,随着半导体工艺的发展,特别是在半导体工艺达到深亚微米(40nm及以下)以后,一方面嵌入式存储器的存储单元密度将会变得很大(比如存储密度大于16Mb),另一方面工艺的波动性也会变大。这些情况都将会导致状态机很难精确控制嵌入式存储器的每一BIT数据,使得存储器的可靠性和性能将由性能最差的比特(tail bit)决定。最终,这将导致存储器的良品率下降,从而极大影响经济效益,这是本领域技术人员所不愿见到的。



技术实现要素:

针对上述存在的问题,本发明公开了一种存储器编译器,所述存储器编译器生成的存储器的设计数据包括存储器宏单元和微控制器(Micro controller Unit,MCU);

所述微控制器用于控制所述存储器进行读出、写入、自我测试和自我优化操作。

上述的存储器编译器,其中,所述存储器宏单元包括存储器板,所述存储器板包括:

存储阵列,用于存储数据;

存储器外设,与所述存储阵列连接,用于对所述存储阵列进行读出、写入操作。

上述的存储器编译器,其中,所述存储器编译器生成的存储器至少包括:

控制总线,用于传输控制信号;

数据总线,用于传输数据;

地址总线,用于传输地址;

程序录入总线,用于录入程序;

外部拓展总线,用于实现所述存储器的拓展功能。

上述的存储器编译器,其中,所述控制总线包括:

写入使能总线,用于传输写使能信号;

读出使能总线,用于传输读使能信号。

上述的存储器编译器,其中,所述存储器编译器生成的存储器的设计数据还包括晶振和第一存储空间和/或第二存储空间。

上述的存储器编译器,其中,所述第一存储空间为非易失性存储器。

上述的存储器编译器,其中,利用所述微控制器对所述存储器进行写入操作时所采用的模块包括所述存储器宏单元、所述微控制器、所述晶振和所述第一存储空间;

利用所述微控制器对所述存储器进行写入操作时所采用的总线包括所述写使能总线、所述地址总线和所述数据总线。

上述的存储器编译器,其中,利用所述微控制器对所述存储器进行所述写入操作的步骤包括:

所述写使能总线传输的写使能信号使所述晶振产生时钟信号;

所述微控制器接收到所述时钟信号后,读取所述第一存储空间中待写入数据的地址,并通过行、列译码器确定该待写入数据在存储阵列中待存放的位置;

所述微控制器控制所述存储器外设将所述待写入数据写入所述待存放的位置。

上述的存储器编译器,其中,利用所述微控制器对所述存储器进行读出操作时所采用的模块包括所述存储器宏单元、所述微控制器和所述晶振;

利用所述微控制器对所述存储器进行读出操作时所采用的总线包括所述读使能总线、所述地址总线和所述数据总线。

上述的存储器编译器,其中,利用所述微控制器对所述存储器进行所述读出操作的步骤包括:

所述读使能总线传输的读使能信号使所述晶振产生时钟信号;

所述微控制器接收到所述时钟信号后,读取待读出数据的地址信息,并通过行、列译码器确定所述待读出数据在所述存储阵列中待存放的位置;

所述微控制器控制所述存储器外设读出所述待读出数据。

上述的存储器编译器,其中,利用所述微控制器对所述存储器进行自我测试和自我优化操作时所采用的模块包括所述存储器宏单元、所述微控制器、所述晶振和第二存储空间;

利用所述微控制器对所述存储器进行自我测试和自我优化操作时所采用的总线包括所述程序录入总线。

上述的存储器编译器,其中,利用所述微控制器对所述存储器进行所述自我测试和自我优化操作的步骤包括:

通过所述程序录入总线将自测试、优化程序录入到所述第二存储空间中;

所述微控制器执行所述第二存储空间中的自测试程序,对存储器进行自我测试,并获取测试结果;

所述微控制器执行所述第二存储空间中的自优化程序,并根据所述测试结果对所述存储器进行优化。

上述的存储器编译器,其中,所述第一存储空间和所述第二存储空间为相同的存储空间。

上述的存储器编译器,其中,所述第二存储空间为非易失性存储器。

上述的存储器编译器,其中,所述存储器的拓展功能为所述微控制器为片上系统中的一个可选微处理器核。

上述的存储器编译器,其中,所述存储器为闪存、相变存储器、阻变存储器、磁存储器或铁电存储器。

上述的存储器编译器,其中,所述微控制器为ARM或MIPS架构的微控制器。

上述发明具有如下优点或者有益效果:

本发明公开了一种存储器编译器,利用该存储器编译器生成的设计数据不仅包括目前存储器编译器生成的存储器宏单元,还至少包括一微控制器;该微控制器不仅能实现传统的对存储器的读出和写入操作,还能实现对存储器的自我测试、自我优化以及作为一个片上系统(System on Chip,SOC)中可选的微处理器核使用,从而提高了存储器的可靠性和性能。

附图说明

通过阅读参照以下图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部图中相同的标记指示相同的部分。并未可以按照比例绘制图,重点在于示出本发明的主旨。

图1是传统技术中利用存储器编译器生成存储器设计数据的流程的示意图;

图2是利用本发明提出的存储器编译器生成存储器设计数据的流程的示意图;

图3是执行写入操作所需部分的示意图;

图4是微控制器执行写入操作的具体步骤的示意图;

图5是写入操作的时序图的示意图;

图6是执行读出操作所需部分的示意图;

图7是微控制器执行读出操作的具体步骤的示意图;

图8是读出操作的时序图的示意图;

图9是自我测试以及自我优化所需部分的示意图;

图10是执行自我测试以及自我优化步骤的示意图;

图11是拓展功能所需部分的示意图;

图12a~12d是写操作、读操作、自测自优化、拓展分别所需总线的示意图;

图13是本发明具体应用生成存储器的编译器架构的示意图;

图14是本发明具体应用生成存储器设计数据的流程的示意图;

图15是本发明具体应用生成的设计数据的结构示意图;

图16是本发明具体应用执行写入操作所需部分的示意图;

图17是本发明具体应用执行写入操作具体步骤的示意图;

图18是本发明具体应用执行写入操作的时序图的示意图;

图19是本发明具体应用执行读出操作所需部分的示意图;

图20是本发明具体应用执行读出操作具体步骤的示意图;

图21是本发明具体应用执行读出操作的时序图的示意图;

图22是本发明具体应用执行自我测试、自我优化所需部分的示意图;

图23是本发明具体应用执行自我测试、自我优化的步骤的示意图;

图24是本发明具体应用执行外部拓展功能的示意图;

图25a~25d是本发明具体应用执行写操作、读操作、自测自优化、拓展分别所需总线的示意图。

具体实施方式

本发明公开了一种存储器编译器,该存储器编译器生成的存储器的设计数据包括存储器宏单元和微控制器;其中,微处理器用于控制存储器进行读出、写入、自我测试和自我优化操作。

在本发明一个优选的实施例中,上述存储器宏单元包括存储器板,所述存储器板包括用于存储数据的存储阵列;与存储阵列连接,用于执行对存储阵列进行读、写操作的存储器外设。

在本发明一个优选的实施例中,上述存储器编译器生成的存储器至少包括用于传输控制信号的控制总线、用于传输数据的数据总线、用于传输地址的地址总线、用于录入程序的程序录入总线、用于实现拓展功能的外部拓展总线。

在本发明一个优选的实施例中,上述控制总线包括用于传输写使能信号的写入使能总线以及用于传输读使能信号的读出使能总线。

在本发明一个优选的实施例中,存储器编译器生成的存储器的设计数据还包括晶振和第一存储空间和/或第二存储空间。

在本发明一个优选的实施例中,第一存储空间为非易失性存储器。

在本发明一个优选的实施例中,利用微控制器对存储器进行写入操作时所采用的模块包括存储器宏单元、微控制器、晶振和第一存储空间;利用微控制器对存储器进行写入操作时所采用的总线包括写使能总线、地址总线和数据总线。

在本发明一个优选的实施例中,利用微控制器对存储器进行写入操作的步骤包括:

写使能总线传输的写使能信号使晶振产生时钟信号;

微控制器接收到时钟信号后,读取第一存储空间中待写入数据的地址,并通过行、列译码器确定该待写入数据在存储阵列中待存放的位置;

微控制器控制存储器外设将待写入数据写入待存放的位置。

在本发明一个优选的实施例中,利用微控制器对存储器进行读出操作时所采用的模块包括存储器宏单元、微控制器和晶振;利用微控制器对存储器进行读出操作时所采用的总线包括读使能总线、地址总线和数据总线。

在本发明一个优选的实施例中,利用微控制器对存储器进行读出操作的步骤包括:

读使能总线传输的读使能信号使晶振产生时钟信号;

微控制器接收到时钟信号后,读取待读出数据的地址信息,并通过行、列译码器确定待读出数据在存储阵列中待存放的位置;

微控制器控制存储器外设读出待读出数据。

在本发明一个优选的实施例中,利用微控制器对存储器进行自我测试和自我优化操作时所采用的模块包括存储器宏单元、微控制器、晶振和第二存储空间;利用微控制器对存储器进行自我测试和自我优化操作时所采用的总线包括程序录入总线。

在本发明一个优选的实施例中,利用微控制器对存储器进行自我测试和自我优化操作的步骤包括:

通过程序录入总线将自测试、优化程序录入到第二存储空间中;

微控制器执行第二存储空间中的自测试程序,对存储器进行自我测试,并获取测试结果;

微控制器执行第二存储空间中的自优化程序,并根据测试结果对存储器进行优化。

在本发明一个优选的实施例中,第一存储空间和第二存储空间为相同的存储空间。

在本发明一个优选的实施例中,第二存储空间为非易失性存储器。

在本发明一个优选的实施例中,存储器的拓展功能为微控制器为片上系统中的一个可选微处理器核。

在本发明一个优选的实施例中,存储器为闪存、相变存储器、阻变存储器、磁存储器或铁电存储器。

在本发明一个优选的实施例中,微控制器为ARM或MIPS架构的微控制器。

下面结合图以具体的实施例对本发明存储器编译器作进一步的描述:

本实施例涉及一种存储器编译器,与传统存储器编译器生成的设计数据相比,本实施例提出的存储器编译器生成的设计数据不仅包括目前存储器编译器生成的存储器宏单元,还至少包括一微控制器,比如ARM、MIPS等架构的微控制器。利用该存储器编译器生成存储器设计数据的流程如图2所示:1)首先客户提出详细的设计需求,具体包括存储器的容量、面积以及功耗等;2)存储器公司/工程师得到客户的设计要求并将这些要求输入到存储器编译器中,存储器编译器开始工作;3)一段时间后存储器编译器生成满足客户需求的存储器的设计数据。利用本发明提出的新型存储器编译器生成的存储器宏单元的结构相比传统的存储器编译器生成的存储器宏单元的结构不仅包含了嵌入式存储器的所有组成部分,还至少包括一微控制器。利用本发明提出的新型存储器编译器生成的存储器的结构至少由以下两部分组成:1)存储器宏单元,主要包括存储器板2_1,主要包括存储阵列2_1_1(用来存储数据,存储器中最大面积的部分)和存储器的外设2_1_2(例如驱动,解码器,灵敏放大器等),用来执行对存储阵列进行读、写等操作,比如读出数据时用到的行列译码器、灵敏放大器等;2)微控制器2_2(例如ARM,MIPS等架构的微控制器等),用来控制存储器进行读出、写入、自我测试、自我优化等操作。

具体的,此新型存储器编译器生成的微控制器至少应包含以下功能:

写入操作:在执行写入操作时,如图3所示,本发明提出的新型存储器编译器除了产生上述基本的部分外,还至少会产生晶振2_3(产生时钟信号,使微控制器正常工作),第一存储空间2_4(用于存储要写入存储器的数据),该第一存储空间2_4可以为易失性存储器或者非易失性存储器,最优的,该第一存储空间2_4为非易失性存储器。执行写入操作需要以下总线的参与,分别为写使能总线,数据总线和地址总线,写使能总线用于传输写使能信号,数据总线用于传输数据,地址总线用于传输地址。另外,微控制器执行存储器写入操作的具体步骤如图4所示:1)写入控制信号(写使能信号)使晶振2_3开始工作,产生时钟信号;2)微控制器2_2读取需要写入数据的地址,通过行、列译码器,确定数据在存储阵列2_1_1中将要存放的位置;3)微控制器2_2控制存储器的外设2_1_2将第一存储空间2_4中的数据写入需要存放的位置。写入操作的时序图如图5所示(假设此时晶振已经处于工作状态),假设写使能信号高电平有效,步骤如下:1)在时钟上升沿到来时,微控制器2_2收到写使能信号;2)当写使能信号从高电平变为低电平时,微控制器2_2读取需要写入数据的地址信号ADDR_1,通过行、列译码器,确定数据在存储阵列中将要存放的位置;3)微控制器2_2控制外设将第一存储空间2_4中的数据DATA_1写入需要存放的位置。

读出操作:利用微控制器2_2对存储器进行读操作所用到的模块如图6所示。执行读出操作需要以下总线的参与,分别为读使能总线,数据总线和地址总线,读使能总线用于传输读使能信号,数据总线用于传输数据,地址总线用于传输地址。微控制器2_2执行读存储器操作的具体步骤如图7所示,具体如下:1)微控制器2_2收到读使能信号;2)微控制器2_2读取需要读出数据的地址信号,通过行、列译码器,确定数据在存储阵列2_1_1中将要存放的位置;3)微控制器2_2控制外设2_1_2将相应位置的数据读取出来。读出操作的时序图如图8所示,假设读使能信号高电平有效,步骤如下:1)在时钟上升沿到来时,微控制器2_2收到读使能信号;2)当读使能信号非从高电平变为低电平时,微控制器2_2读取需要读出数据的地址信号ADDR_2,通过行、列译码器,确定数据在存储阵列中的位置;3)微控制器2_2控制外设2_1_2将存储阵列2_1_1中的数据DATA_2读出,通过数据总线传输出到存储器外部。

自我测试与自我优化:在传统的存储器测试中,一般是通过自动测试设备对存储器进行测试,但是这种测试方法对自动测试设备的依赖程度较大,因此为了降低存储器测试对自动设备的依赖程度,目前通过在存储器中内建测试电路,通过一定的测试算法,对存储器的存储阵列进行一系列的测试,比如说利用存储器内建测试电路对存储器进行读写操作,从而发现存储阵列中是否有因短路、开路、互扰等问题影响存储器的读、写等功能的问题。而存储器的自我优化即存储器根据自我测试得到的结果,对存储器的参数进行优化,使其能够选择一种最佳的工作方案,提高存储器存储单元的良率。本发明提出的新型存储器编译器生成的微控制器可以进行存储器的自我测试和自我优化,而不需要特定的自建测试电路。利用微控制器2_2对存储器进行自我测试和自我优化所用到的模块如图9所示,图中的第二存储空间2_5用于存储自我测试或/和自我优化的代码,第二存储空间2_5跟所述第一存储空间2_4可以为同一存储空间,也可以为不同的存储空间,第二存储空间2_5可以为非易失性存储器或者易失性存储器,最优的,该第二存储空间2_5为非易失性存储器。由于在进行自我测试和自我优化时需要将程序下载到第二存储空间2_5内,因此需要第二存储空间2_5和程序录入总线的参与。存储器进行自我测试和自我优化的步骤如图10所示:1)通过程序录入总线将自测试、优化程序录入到第二存储空间2_5中;2)微控制器2_2执行第二存储空间2_5中的自测试程序,对存储器进行自我测试;3)微控制器2_2执行第二存储空间2_5中的自优化程序,根据自我测试得到的结果,对存储器进行优化。

拓展:在传统存储器编译器生成的存储器宏单元中,电路常常采用DFT(Design for Testability,可测试性设计),即将一些特殊电路在设计阶段植入芯片中(例如植入扫描链等,存储器自我测试电路),以便设计完成后对存储器进行测试。但是当测试完成后,存储器中植入的用作测试的电路将会变成dark silicon(暗硅,停止工作的晶体管),造成芯片面积的浪费。在本发明中,存储器的自我测试程序是通过微控制器2_2执行的,当测试完成以后,微控制器2_2可以成为片上系统中的一个可选微处理器核,而不会成为暗硅。存储器的拓展功能需要微控制器2_2和外部拓展总线参与。如图11所示,可选微处理器核通过外部拓展总线连接到片上系统总线,再连接片上系统上的其他部分,如外部存储器接口2_7(用于外接存储器),其他微处理器核2_6(比如ARM、MIPS架构的微处理器,和本发明中的微处理器2_2构成多核微处理器架构,比如ARM公司的big.LITTLE架构),第三存储器2_8(比如片上系统的其他存储器),桥接器2_9(用于连接片上系统的外设,比如通用输入输出口,定时器,数模转换器,模数转换器,通用串行总线等)。

为了实现以上功能,此存储器编译器生成的存储器至少应包括以下总线:1)控制总线(Control Bus,CB),包括存储写入使能总线、存储读出使能总线。2)数据总线(Data Bus,DB),进行数据的输入、输出。3)自我测试、自我优化所需的程序录入总线。4)将微控制器2_2拓展成可选微处理器核所需的外部拓展总线,比如AMBA总线等。此外,还包括地址总线(Address Bus,AB)。如图12a所示,写操作相关的总线包括:写使能总线、地址总线、数据总线;如图12b所示,读操作相关的总线包括:读使能总线、地址总线、数据总线;如图12c所示,自测试、自优化相关总线包括:程序录入总线;如图12d所示,拓展相关总线包括:外部拓展总线。

如图13所示,传统编译器只包括用来产生行列解码器、存储核心、灵敏放大器、充电电路等的基本模块以及将这些基本模块组合在一起的bank模块和控制逻辑(control_logic)。为了实现以上功能,本实施例所提出的存储器编译器架构与传统存储器编译器架构相比:1)加入了实现Arm功能的Arm模块,通过模式识别电路来选择Arm工作的四种模式—写入模式,读出模式,自我测试与自我优化模式,扩展模式。2)加入了OSC模块用于实现晶振产生时钟信号的功能。3)加入了Code_Mem模块用来实现存储存储器自我测试与自我优化代码的功能。4)加入了Data_Mem模块用来存储各个bank模块的初始化数据参数,并将自我测试和自我优化后产生的优化参数作为新的数据存储在Data_Mem内。

下面将通过一个具体例子来详细说明本发明提出的新型存储器编译器的具体应用。

本发明提出的存储器编译器适用于所有的嵌入式存储器宏单元的生成,比如相变存储器、阻变存储器、磁存储器和铁电存储器等。在本实施例中,我们以相变存储器为例来说明。利用新型相变存储器编译器生成存储器设计数据的流程如图14所示:1)首先客户提出详细的设计需求,具体包括存储器的容量(128Mb)、面积以及功耗等;2)存储器公司/工程师得到客户的设计要求并将这些要求输入到存储器编译器中,存储器编译器开始工作;3)一段时间后存储器编译器生成满足客户需求的存储器的设计数据。设计数据主要包括128Mb嵌入式相变存储器宏单元以及实现本发明所述功能的相应的总线,即数据总线、控制总线、地址总线、程序录入总线以及拓展总线,数据总线用于传输数据信息,控制总线用于传输控制命令,地址总线用于传输存储器的地址信息,程序录入总线用于存储器自我测试、自我优化程序的录入,外部拓展总线用于拓展为一个片上系统中的可选微处理器核。

图15为该新型存储器编译器生成的128Mb的嵌入式相变存储器宏单元和一个ARM架构的微控制器。它包括一个128Mb的嵌入式相变存储阵列3_1,存储阵列所需要的外设3_2,ARM架构的微控制器3_3,晶振3_4,写入数据所需的第一存储空间3_6(这里以非易失性存储器为例),第二存储空间3_7(这里以静态随机存取存储器SRAM为例);总线包括写入数据所需的写使能总线、数据总线、地址总线,读出数据所需的读使能总线、数据输出总线、地址总线,自我测试、自我优化所需程序录入总线,以及拓展为片上系统上的可选微处理器核所需的外部拓展总线。

本发明提出的新型存储器编译器生成微控制器具有以下功能:

写入操作:如图16所示,写入操作需要128Mb嵌入式相变存储阵列3_1,外设3_2,ARM架构的微处理器3_3,晶振3_4,第一存储空间3_5等部分参与,需要写使能总线,数据总线和地址总线参与。写入步骤如图17所示,具体如下:1)写使能信号使能晶振3_4开始工作,产生时钟信号;2)ARM架构的微控制器3_3读取需要写入数据的地址信号,通过行、列译码器,确定数据在相变存储阵列3_1中将要存放的位置;3)ARM架构的微控制器3_3根据时钟信号,控制外设3_2将第一存储空间3_5中的数据写入嵌入式相变存储器3_1中。写入操作的时序图如图18所示(假设晶振已经处于工作状态),假设写使能信号高电平有效,步骤如下:1)在时钟上升沿到来时,ARM微控制器3_3收到写使能信号,此处为写使能信号非从高电平变为低电平;2)当写使能信号非从高电平变为低电平时,ARM微控制器3_3读取需要写入数据的地址信号ADDR_1,通过行、列译码器,确定数据在相变存储阵列中将要存放的位置;3)ARM微控制器3_3根据时钟信号,控制外设3_2将第一存储空间3_5中的数据DATA_1写入需要存放的位置。

读出操作:读出操作需要128Mb嵌入式相变存储阵列3_1,外设3_2,ARM微控制器3_3,晶振3_4等部分参与,需要读使能总线,数据总线和地址总线参与,具体如图19所示,读使能总线用于传输读使能信号,数据总线用于传输数据,地址总线用于传输地址。读出操作的步骤如图20所示,具体如下:1)ARM微控制器3_3收到读使能信号;2)ARM微控制器3_3读取需要读出数据的地址信号,通过行、列译码器,确定数据在128Mb嵌入式相变存储阵列3_1中存放的位置;3)ARM微控制器3_3根据时钟信号,控制外设3_2将相应位置的数据读取出来。读出操作的时序图如图21所示,假设读使能信号高电平有效,步骤如下:1)在时钟上升沿到来时,ARM微控制器3_3收到读使能信号,此处为读使能信号非从高电平变为低电平;2)当读使能信号非从高电平变为低电平时,ARM微控制器3_3读取需要读出数据的地址信号ADDR_2,通过行、列译码器,确定数据在存储阵列3_1中的位置;3)ARM微控制器3_3根据时钟信号,控制外设3_2将128Mb嵌入式相变存储器中的数据DATA_2读出,通过数据总线传输出到存储器外部。

3)自我测试与自我优化:自我测试以及自我优化需要128Mb嵌入式相变存储阵列3_1,外设3_2,ARM微处理器3_3,晶振3_4,第二存储器空间3_7(这里以SRAM为例)等部分参与,在进行自我测试和自我优化时需要将自我测试和自我优化程序下载到SRAM 3_7内,这时需要程序录入总线的参与,具体如图22所示。在本例中,采用JTAG(Joint Test Action Group,联合测试工作组)接口对存储器芯片进行测试,标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线,通过JTAG接口将测试用程序录入到SRAM 3_7中。自我测试和自我优化的步骤如图23所示,具体如下:1)通过程序录入总线将自测试、优化程序录入到SRAM 3_7中;2)ARM微控制器3_3执行SRAM 3_7中存储的自我测试程序,进行自我测试,例如对所有存储单元写“1”再读取验证所有单元,对所有存储单元写“0”再读取验证所有单元,以检查每个单元的短路、开路问题,以及是否有相邻单元短路的问题;例如对第一个存储单元写入“1”,第二个存储单元写入“0”,以此类推,直至最后一个存储单元,然后再读取验证所有单元,再对每个单元写入相反数据,再读取验证所有单元,以检测存储单元干扰(即读写某个存储单元时会引起周围存储单元状态的改变);3)ARM微控制器3_3执行SRAM 3_7中的自我优化程序,进行自我优化,根据存储器的测试结果,对存储器的参数进行优化,使其能够选择一种最佳的工作方案,提高存储器存储单元的良率。

4)拓展:拓展功能需要ARM微处理器3_3,需要外部拓展总线参与,本例中使用ARM公司研发的AMBA总线(Advanced Micro controller Bus Architecture)来进行拓展,2.0版AMBA标准定义了三组总线:AHB(the Advanced High-performance Bus,AMBA高性能总线)、ASB(the Advanced System Bus,AMBA系统总线)和APB(the Advanced Peripheral Bus,AMBA外设总线)。可选微处理器核通过AMBA总线连接片上系统上的其他部分,如通过AHB或ASB连接高带宽外部存储器接口3_10,高性能ARM处理器3_7,高性能片上RAM 3_8,桥接器3_9等,桥接器通过APB连接通用输入输出口3_11,通用串行总线3_12以及定时器3_13等,具体如图24所示。

为了实现以上功能,此存储器编译器生成的128Mb相变存储器宏单元至少应包含以下总线:1)控制总线,包括存储写使能总线、存储读使能总线。2)数据总线。3)自我测试、自我优化所需的程序录入总线(JTAG)。4)将ARM微控制器拓展成可选微处理器核所需的拓展总线(AMBA)。此外,还包括地址总线。如图25a所示,写操作相关的总线包括:写使能总线、地址总线、数据总线;读操作相关的总线包括:如图25b所示,读使能总线、地址总线、数据总线;图25c所示,如自我测试、自我优化相关总线包括:程序录入总线;如图25d所示,拓展相关总线包括:外部拓展总线。

综上,本发明公开的存储器编译器生成的设计数据不仅包括目前存储器编译器生成的存储器宏单元,还至少包括一微控制器。该微控制器不仅能实现传统的对存储器的读写操作,还能实现对存储器的自我测试、自我优化以及作为一个片上系统中可选的微处理器核使用。

本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。

以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

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