CN104715083B - 使用fpga等效e2的方法和电路 - Google Patents
使用fpga等效e2的方法和电路 Download PDFInfo
- Publication number
- CN104715083B CN104715083B CN201310674009.6A CN201310674009A CN104715083B CN 104715083 B CN104715083 B CN 104715083B CN 201310674009 A CN201310674009 A CN 201310674009A CN 104715083 B CN104715083 B CN 104715083B
- Authority
- CN
- China
- Prior art keywords
- write
- read
- ram
- latch
- data
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种使用FPGA等效E2的方法,可实现E2读、写、擦除、以及BANK、CHECK、CHIP操作相同的等效结果,在先锁存后擦写操作步骤上与真实E2功能保持一致,具有E2未经擦除可直接写入的等效功能。本发明还公开了一种在FPGA上实现所述方法的硬件电路,包括:一E2状态机,一页计数器电路,一BANK计数器电路,一CHIP计数器电路,一页锁存器,一双口RAM。本发明使用FPGA内部逻辑和BRAM搭建E2等效电路,用于不需要实现E2掉电保持数据功能的ASIC原型机验证和仿真器中,模拟真实E2的操作结果。
Description
技术领域
本发明涉及使用FPGA(Field Programmable Gate Array现场可编程逻辑门阵列)进行ASIC(Application Specific Intergrated Circuits专用集成电路)原型机验证以及使用FPGA作为仿真器载体的领域,特别是涉及一种用FPGA等效E2的方法。本发明还涉及一种用于FPGA上实现所述方法的硬件电路。
背景技术
在各种智能卡领域的ASIC设计阶段通常会需要使用FPGA作为原型机验证,各种芯片厂家也会基于FPGA平台制作与芯片功能一致的仿真器提供给客户开发应用程序。在智能卡芯片设计中经常用E2作为客户应用程序和数据的存储介质,由于在ASIC设计阶段的原型机验证和制作仿真器时很多情况下无法获得IP(intellectual property right知识产权)厂家的E2测试片,一般都使用等效的方案实现E2的各种操作功能。E2的主要功能是读、擦、写,其中读可以按任意地址操作,而一个擦/写动作需要被操作的E2地址在同一个页地址内进行,分为锁存数据和启动擦/写两个阶段实现。锁存阶段把数据暂存入E2的页缓存,擦/写时E2内部启动编程高压完成擦除、写入动作;通常使用时先擦除E2需要写入数据的地址内容然后写入数据,擦除后E2的数据根据E2设计定义成全1或者全0。写入则是根据擦除后的数据把0改成1(擦除后全0),或者1改成0(擦除后全1)。如果E2不经过擦除直接写入,操作后E2中的数据为E2写入数据与E2中原保存数据的位与或者位或(根据E2厂家设计规定)。另外,E2模块还会针对IP可测性具有BANK(块操作模式)、CHECK(奇偶页校验模式)、CHIP(片操作模式)等测试功能,即启动BANK、CHECK和CHIP操作后,对一个页内地址数据的擦、写操作会在此页内所属BANK、所有奇数、偶数页或者整个CHIP内实现。一般在原型机验证和仿真器中常见的等效E2功能的方法是使用商用的SRAM(Static RAM静态随机存储器)外挂在FPGA芯片外,在FPGA内部根据外挂SRAM时序,通过修改ASIC的E2控制器逻辑实现SRAM的读写时序来模拟E2功能。由于E2与SRAM操作时序的差异,造成完全等效E2功能困难。一般只对E2的读和擦、写进行等效,对于E2未擦除直接写入以及测试用的模式功能都不做等效。这样在原型机验证和仿真器使用时造成E2部分功能缺失,影响验证的覆盖率,给使用人员带来不便。
发明内容
本发明要解决的技术问题是提供一种使用FPGA等效E2的方法,能够模拟真实E2的操作结果;为此,本发明还要提供一种在FPGA上实现所述方法的电路。
为解决上述技术问题,本发明的使用FPGA等效E2的方法,所述E2即EEPROM(电可擦可编程只读存储器);
用FPGA的BRAM(block memory块存储器)搭建一块第一双口RAM,模拟E2页锁存器功能;
用FPGA的BRAM搭建一块第二双口RAM,实现E2存储器功能;
用FPGA的逻辑,结合所述第一双口RAM和第二双口RAM实现等效E2的读、擦和写功能,并且实现包括BANK、CHECK、CHIP在内的为可测性设计(DFT)的特殊模式操作;
用同一个计数器电路产生所述第一双口RAM和第二双口RAM的地址信号、读信号和写信号,在一个时钟周期内,从所述第一双口RAM的读端口读出数据和从所述第二双口RAM的读端口读出数据,然后将从第一双口RAM的读端口和从第二双口RAM的读端口读出的数据进行或运算或者进行与运算,将运算结果写入第二双口RAM的写端口,实现E2单写功能。
在FPGA上实施所述的电路,包括:
一E2状态机,根据E2控制器输入的控制信号,识别出E2的读、写、擦、BANK、CHECK和CHIP操作状态;
一页锁存器,用于缓存E2控制器锁存入E2的数据;
一RAM,与所述页锁存器相连接,用于等效EEPROM存储器,存储E2的数据;
一页计数器电路,与所述E2状态机、页锁存器和RAM相连接,在页擦除和页写入状态时产生RAM的地址、读信号和写信号以及页锁存器的地址和读信号;
一BANK计数器电路,与所述E2状态机、页锁存器和RAM相连接,在BANK擦除和写入状态时产生RAM的地址、读信号和写信号以及页锁存器的地址和读信号;
一CHIP计数器电路,与所述E2状态机、页锁存器和RAM相连接,在CHECK与CHIP的擦除和写入状态时产生RAM的地址、读信号和写信号以及页锁存器的地址和读信号。
本发明使用FPGA的内部逻辑和BRAM资源等效E2的读、擦、写功能,并且实现BANK、CHECK、CHIP等为DFT(design for test可测性设计)的特殊模式操作。
本发明在先锁存后擦写操作步骤上与真实E2功能能够保持一致,具有E2未经擦除可直接写入的等效功能。
本发明可用于不需要实现E2掉电保持数据功能的ASIC原型机验证和仿真器中,模拟真实E2的操作结果。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是使用FPGA等效EEPROM的电路框图;
图2是EEPROM读时序图;
图3是EEPROM擦、写时序图;
图4是EEPROM编程时序图;
图5是Xilinx(赛灵思)FPGA BRAM读写时序图(先写后读模式);
图6是双口RAM信号时序图。
具体实施方式
以一款ASIC芯片内部包含的E2为例,具体说明如下:
E2模块的读时序如图2所示,READ(读)信号为1时,以E2读数据输出同步信号DOUTSYN作为同步信号,根据输入的E2写入数据的地址EEAD,在E2数据输出端EEDBO读出相应的数据。E2数据操作模式EESEL32和E2操作模式EEMOD是E2控制器输出用来控制操作E2位宽和页、块、片操作模式的控制信号。t6是E2读数据的建立时间,用FPGA等效E2需要满足这个时间关系。
E2模块的擦、写时序如图3所示:ERASE/WRITE信号为1,指示当前的操作是擦/写,PROGRAM_EN信号为1时正式启动擦/写操作,擦/写期间E2根据已锁存的数据擦除或写入对应操作地址的存储空间;除了普通的读、擦、写模式外,E2模块为了自身的可测性会有一些特殊的模式,称为DFT模式;EMOD信号指示当前的擦/写操作是普通页模式、BANK、CHECK和CHIP模式,相对应锁存数据擦除/写入E2的页、BANK、奇、偶页或者整片E2。E2可以单擦、单写操作,单擦除操作后,被操作的E2数据根据E2设计规范被定义成全0或者全1;单写操作后被操作的E2数据根据E2设计是写入数据和原数据的位与或者位或。图3中VALID表示EMOD(E2模式信号)在擦、写过程中都需要保持不变;t15是擦写时间,根据操作模式不同一般为3ms~50ms。另外,E2的编程地址在擦写过程中不允许改变。
图4是一个完整的E2编程操作,首先是锁存数据阶段,设计芯片包含的E2控制器送出的E2清除缓存信号EEBUFCLR(脉冲信号)清除页锁存器中的数据。E2传输使能信号TRANSFER为1阶段,在E2地址线EEAD输入需要写入数据的地址,在E2写数据线EEDBI输入要写入的数据,在E2锁存数据输出同步信号EEDATASYN下写入页锁存器;然后启动擦/写操作,通常的操作为先擦除后写入。结合图1所示,为解决在FPGA上等效真实E2的技术问题,所述使用FPGA等效EEPROM的电路,包括:
一RAM,等效EEPROM存储器,使用FPGA的BRAM搭建成简单双口RAM,作为存储器件存储E2的数据。以Xil inx FPGA的BRAM(块存储器)为例,读写时序如图5所示。在每个时钟CLKA上升沿根据使能信号ENA和写信号WEA的状态读出、写入数据,写WEA、写使能ENA均为高电平有效。所述RAM具有一写端口和一读端口,写端口信号由写端口时钟CLKA、写地址总线ADDRA上的地址、写使能ENA、写WEA、写端口数据线DINA上的数据组成;读端口信号由读端口时钟CLKB、读地址总线ADDRB上的地址、读使能ENB和读出的数据DOUTB组成。RAM的数据宽度和深度根据E2存储器大小设置。对所述RAM写操作时,将从所述页锁存器的读端口读出的数据LATCH_DOUTB与从所述RAM读端口读出的数据DOUTB相与或者相或后,输入所述RAM的写端口数据线DINA。对所述RAM擦操作时,数据根据E2设计规范固定为全1或者全0,用写入RAM来代替擦除E2操作的效果。写入和擦除时根据所述页锁存器读出的数据LATCH_DOUTB最高位包含的锁存标记判断是否对当前地址的数据进行操作,用锁存标记位和RAM的写信号与操作来实现。由于清缓存时缓存中的所有锁存标记都被置为0,在对需要操作的地址锁存操作时,此地址对应数据位的锁存标记置1,锁存标记和RAM的写信号相与后的信号决定了E2地址是否进行写操作,FPGA的块存储器BRAM写操作是高有效,因此只有已锁存操作过的E2地址才可以被写入或擦除。所述RAM的读端口与写端口时钟反相,由所述各个计数器电路根据操作模式提供RAM的读端口的地址、读使能ENB;RAM的写端口的地址、写使能ENA和写WEA信号,如图6所示。为了实现等效E2未擦除直接写入的功能,在RAM的读端口时钟CLKB的上升沿从所述RAM的读端口读出数据DOUTB,在RAM的写端口时钟CLKA的上升沿,将所述读出的数据DOUTB与从所述页锁存器的读端口读出的数据LATCH_DOUTB进行相与或者相或操作后,输入RAM的写端口数据线DINA,写入RAM。
如果写入操作前已经实现过擦操作,被操作的RAM空间已经被写成全1或者全0,则将所述读出的数据DOUTB和从所述页锁存器的读端口读出的数据LATCH_DOUTB进行相与或者相或操作后,仍然保持所述页锁存器的读端口读出的数据LATCH_DOUTB。
一E2状态机,根据E2控制器输入的E2操作模式EMOD、E2读使能READ、E2擦使能ERASE和E2写使能WRITE信号,识别出E2的读、页擦、页写、BANK擦、BANK写、CHECK擦、CHECK写、CHIP擦和CHIP写等操作状态。
所述E2的读状态,用高速时钟采样出图2中E2数据输出同步信号DOUTSYN信号的上升沿,形成一个宽度为1个高速时钟周期的采样信号,将该采样信号和E2读使能信号READ信号与操作,输出E2读状态,并生成RAM读端口的读使能信号ENB。此时根据写入数据的地址EEAD生成地址信号输入RAM的读地址总线ADDRB,从RAM读出的数据DOUTB输出至E2读数据端EEDBO;在非E2读状态,E2数据输出端EEDBO输出0。
E2的页擦、页写状态,用高速时钟采样出图3中E2编程使能PROGRAM_EN信号的上升沿,形成一个宽度为1个高速时钟周期的页擦、写启动信号,用该启动信号启动页计数器电路,生成页擦、写时所述RAM写端口的写使能ENA、写WEA和写地址总线ADDRA上的地址信号,以及所述页锁存器读端口的使能LATCH_ENB和地址LATCH_ADDRB信号。
E2的BANK擦、写状态,控制一BANK计数器电路,生成BANK擦、写时所述RAM写端口的写使能ENA、写WEA和写地址总线ADDRA上的地址信号,以及所述页锁存器读端口的使能LATCH_ENB和地址LATCH_ADDRB信号。
所述E2的奇偶页校验模式CHECK擦、E2的奇偶页校验模式CHECK写、E2的片操作模式CHIP擦和E2的片操作模式CHIP写状态,控制一片操作模式CHIP计数器电路,生成奇偶页校验模式CHECK擦、奇偶页校验模式CHECK写、片操作模式CHIP擦和片操作模式CHIP写时所述RAM写端口的写使能ENA、写WEA和写地址总线ADDRA上的地址信号,以及所述页锁存器读端口的使能LATCH_ENB和地址LATCH_ADDRB信号。
CHECK操作将E2全部地址分为奇数页CHECK0和偶数页CHECK1,将CHIP操作生成的RAM写端口的写使能ENA、写WEA信号与CHIP操作计数器的页进位相与操作,屏蔽掉不需要的奇数或偶数页的写操作即可实现CHECK操作。
一页锁存器,由采用FPGA的BRAM实现的简单双口RAM组成,用来缓存储E2控制器锁存入E2的数据。具有一读端口和一写端口,读操作和写操作分开控制。在锁存操作时,所述RAM的写端口数据线DINA和写地址总线ADDRA分别连接E2控制器的E2写数据线EEDBI、E2地址线EEAD;采用高速时钟采样E2锁存数据输出同步信号EEDATASYN的上升沿,形成一个时钟周期的写信号,将其和E2传输使能TRANSFER信号相与后作为页锁存器写端口的写使能ENA和写WEA信号,将锁存的数据写入所述页锁存器。
所述页锁存器的数据宽度,在E2数据线位宽基础上另外增加一比特,将所述页锁存器读出数据的最高位作为锁存标记位,用于标记当前地址是否已被锁存。写入和擦除时,根据所述锁存标记位判断是否对当前地址的数据进行操作,在当前地址被锁存写入时将所述锁存标记位置1,只有已锁存操作过的E2地址才可以被写入或擦除;在复位或E2清除缓存信号EEBUFCLR置1时,清除所述页锁存器中数据,并将锁存标记位置0,准备下一次锁存操作。在写操作时,将从所述页锁存器读端口读出的数据LATCH_DOUTB和从RAM读出的数据DOUTB相与或者相或操作后,输入RAM的写端口数据线DINA。
一页计数器电路,由一最大计数值为E2页大小的计数器组成,使用高速时钟采样E2编程使能信号PROGRAM_EN的上升沿,生成一个时钟周期的页擦、写启动信号启动所述计数器。当所述页计数器计满一页后停止计数,根据计数值和E2状态机输出的页操作状态生成页锁存器读端口的地址LATCH_ADDRB和读使能LATCH_ENB信号;生成所述RAM写端口的写地址总线ADDRA、写使能ENA和写WEA信号,读端口的读地址总线ADDRB和读ENB使能信号,如图6所示。在页擦除状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位的值相与操作,只对已锁存的地址进行擦除。在页写入状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位的值相与操作,只对已锁存的地址进行写入,并且把从RAM读端口读出的数据DOUTB和从所述页锁存器读端口读出的数据LATCH_DOUTB相与或者相或操作后,输入写端口数据线DINA,实现写入E2的功能。
一BANK计数器电路,由一最大计数值为E2BANK大小的计数器组成,使用高速时钟采样E2编程使能信号PROGRAM_EN的上升沿,生成一个时钟周期的BANK擦、写启动信号启动计数器。当计数器计满其最大计数值后停止计数,根据计数值和所述E2状态机输出的BANK操作状态,生成所述页锁存器读端口的地址LATCH_ADDRB和读使能LATCH_ENB信号,生成所述RAM写端口的写地址总线ADDRA上的地址、写使能ENA和写WEA信号,生成所述RAM读端口的读地址总线ADDRB上的地址和读使能ENB信号,如图6所示。在BANK擦除状态时,将所述RAM的写使能ENA和写WEA信号与所述锁存标记位的值相与操作,只对已锁存的地址进行擦除。在BANK写入状态时,将所述RAM写使能ENA和写WEA信号与所述锁存标记位的值相与操作,只对已锁存的地址进行写入,并且把从RAM读端口读出的数据DOUTB和从所述页锁存器读出的数据LATCH_DOUTB相与或者相或操作后,输入RAM的写端口数据线DINA,实现写入E2的功能。
一CHIP计数器电路,由一最大计数值为E2CHIP大小的计数器组成,使用高速时钟采样E2编程使能信号PROGRAM_EN的上升沿,生成一个时钟周期的CHIP擦、写启动信号启动计数器,当计数器计满最大计数值后停止计数。根据计数值和E2E2状态机输出的CHIP操作状态生成所述页锁存器读端口的地址LATCH_ADDRB和读使能LATCH_ENB信号,生成所述RAM写端口的写地址总线ADDRA上的地址、写使能ENA和写WEA信号,生成所述RAM读端口的读地址总线ADDRB上的地址和读使能ENB信号,如图6所示。在CHIP擦除状态时,将所述RAM的写使能ENA和写WEA信号与所述锁存标记位的值相与操作,只对已锁存的地址进行擦除。在CHIP写入状态时,将所述RAM的写使能ENA和写WEA信号与所述锁存标记位的值相与操作,只对已锁存的地址进行写入。并且把从RAM读端口读出的数据DOUTB和从所述页锁存器读出的数据LATCH_DOUTB相与或者相或操作后,输入RAM的写端口数据线DINA,实现写入E2的功能。将CHIP擦、写操作生成所述RAM写端口的写使能ENA和写WEA信号与E2地址EEAD的页地址位相与操作后实现CHECK操作的擦、写操作。
FPGA内部都有一定规模的BRAM可供构建成大容量的RAM使用,由于FPGA的BRAM是同步操作,需要外加一同步时钟,另外为了电路稳定工作,将所有E2信号同步到同一时钟域,以E2的最高读速度的4倍左右选择一高速时钟作为E2等效电路的主时钟,等效电路还需一复位信号作为所有寄存器的全局复位。
综上所述,本发明利用FPGA的BRAM分别搭建一块双口RAM做页锁存,一块双口RAM做E2存储器,通过一E2状态机、一页计数器电路、一BANK计数器电路、一CHIP计数器电路协同工作,实现在FPGA上等效E2功能,并且等效模块使用ASIC的E2模块端口信号,方便同一等效方法在不同项目之间的移值。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (20)
1.一种使用FPGA等效E2的方法,所述E2即EEPROM;其特征在于:
用FPGA的块存储器BRAM搭建一块第一双口RAM,模拟E2页锁存器功能;
用FPGA的BRAM搭建一块第二双口RAM,实现E2存储器功能;
用FPGA的逻辑,结合所述第一双口RAM和第二双口RAM实现等效E2的读、擦和写功能,并且实现包括块操作模式BANK、奇偶页校验模式CHECK和片操作模式CHIP在内的为可测性设计的特殊模式操作;
用同一个计数器电路产生所述第一双口RAM和第二双口RAM的地址信号、读信号和写信号;在一个时钟周期内,从所述第一双口RAM的读端口读出数据和从所述第二双口RAM的读端口读出数据,然后将从第一双口RAM的读端口和从第二双口RAM的读端口读出的数据进行相或运算或者进行相与运算,将运算结果写入第二双口RAM的写端口,实现E2单写功能。
2.用于实施权利要求1所述方法的硬件电路,其特征在于,包括:
一E2状态机,根据E2控制器输入的控制信号,识别出E2的读、写、擦、块操作模式BANK、奇偶页校验模式CHECK和片操作模式CHIP操作状态;
一页锁存器,用于缓存E2控制器锁存入E2的数据;
一RAM,与所述页锁存器相连接,用于等效EEPROM存储器,存储E2的数据;
一页计数器电路,与所述E2状态机、页锁存器和RAM相连接,在页擦除和页写入状态时产生RAM的地址、读信号和写信号以及页锁存器的地址和读信号;
一块操作模式BANK计数器电路,与所述E2状态机、页锁存器和RAM相连接,在块操作模式BANK擦除和写入状态时产生RAM的地址、读信号和写信号以及页锁存器的地址和读信号;
一片操作模式CHIP计数器电路,与所述E2状态机、页锁存器和RAM相连接,在奇偶页校验模式CHECK与片操作模式CHIP的擦除和写入状态时产生RAM的地址、读信号和写信号以及页锁存器的地址和读信号。
3.如权利要求2所述的硬件电路,其特征在于:所述RAM,由采用FPGA的块存储器BRAM搭建成的双口RAM所构成;
所述RAM具有一写端口和一读端口;写端口信号由写端口时钟CLKA、写地址总线ADDRA上的地址、写使能ENA、写WEA和写端口数据线DINA上的数据组成;读端口信号由读端口时钟CLKB、读地址总线ADDRB上的地址、读使能ENB和读出的数据DOUTB组成;RAM的数据宽度和深度根据E2存储器大小设置;
在每个写端口时钟CLKA上升沿根据写使能ENA和写WEA信号的状态读出和写入数据,写WEA和写使能ENA信号均为高电平有效。
4.如权利要求2或3所述的硬件电路,其特征在于:
对所述RAM写操作时,将从所述页锁存器的读端口读出的数据LATCH_DOUTB与从所述RAM读端口读出的数据DOUTB相与或者相或后,输入所述RAM的写端口数据线DINA;
对所述RAM擦操作时,数据根据E2设计规范固定为全1或者全0,用写入RAM来代替擦除E2操作的效果;
所述页锁存器的数据宽度,在E2数据线位宽基础上另外增加一比特,将所述页锁存器读出的数据LATCH_DOUTB最高位作为锁存标记位;
进行写入和擦除时,根据所述锁存标记判断是否对当前地址的数据进行操作,只有已锁存操作过的E2地址才可以被写入或擦除。
5.如权利要求2或3所述的硬件电路,其特征在于:所述RAM的读端口时钟CLKB与写端口时钟CLKA反相,由所述各个计数器电路根据操作模式提供RAM的读端口的地址、读使能ENB;RAM的写端口的地址、写使能ENA和写WEA信号;
在RAM的读端口时钟CLKB的上升沿从所述RAM的读端口读出数据DOUTB;在RAM的写端口时钟CLKA的上升沿,将所述读出的数据DOUTB与从所述页锁存器的读端口读出的数据LATCH_DOUTB进行相与或者相或操作后,输入RAM的写端口数据线DINA,写入RAM;
如果写入操作前已经实现过擦操作,被操作的RAM空间已经被写成全1或者全0,则将所述读出的数据DOUTB和从所述页锁存器的读端口读出的数据LATCH_DOUTB进行相与或者相或操作后,仍然保持所述页锁存器的读端口读出的数据LATCH_DOUTB。
6.如权利要求2所述的硬件电路,其特征在于:所述E2状态机,根据E2控制器输入的E2操作模式EMOD、E2读使能READ、E2擦使能ERASE和E2写使能WRITE控制信号,识别出E2的读、页擦、页写、块操作模式BANK擦、块操作模式BANK写、奇偶页校验模式CHECK擦、奇偶页校验模式CHECK写、片操作模式CHIP擦和片操作模式CHIP写操作状态。
7.如权利要求6所述的硬件电路,其特征在于:所述E2的读状态,用高速时钟采样E2读数据输出同步信号DOUTSYN的上升沿,形成一个宽度为1个高速时钟周期的采样信号,将该采样信号和E2读使能信号READ与操作,输出E2读状态信号,并生成RAM读端口的读使能ENB信号;此时根据写入数据的地址EEAD生成地址信号输入RAM的读地址总线ADDRB,从RAM读出的数据DOUTB输出至E2数据输出端EEDBO;在非E2读状态,E2数据输出端EEDBO输出0。
8.如权利要求6所述的硬件电路,其特征在于:所述E2的奇偶页校验模式CHECK擦、E2的奇偶页校验模式CHECK写、E2的片操作模式CHIP擦和E2的片操作模式CHIP写状态,控制一片操作模式CHIP操作计数器,生成奇偶页校验模式CHECK擦、奇偶页校验模式CHECK写、片操作模式CHIP擦和片操作模式CHIP写时所述RAM写端口的写使能ENA、写WEA和写地址总线ADDRA上的地址信号,以及所述页锁存器读端口的使能LATCH_ENB和地址LATCH_ADDRB信号。
9.如权利要求2所述的硬件电路,其特征在于:奇偶页校验模式CHECK操作将E2全部地址分为奇数页CHECK0和偶数页CHECK1;将片操作模式CHIP操作生成的RAM写端口的写使能ENA、写信号WEA与片操作模式CHIP操作计数器电路的页进位相与操作,屏蔽掉不需要的奇数或偶数页的写操作即可实现奇偶页校验模式CHECK操作。
10.如权利要求2所述的硬件电路,其特征在于:所述页锁存器,由采用FPGA的BRAM实现的双口RAM所构成,具有一读端口和一写端口,读操作和写操作分开控制;在锁存操作时,所述RAM的写端口数据线DINA和写地址总线ADDRA分别连接E2控制器的E2写数据线EEDBI、E2地址线EEAD,采用高速时钟采样E2锁存数据输出同步信号EEDATASYN的上升沿,形成一个时钟周期的写信号,将其和E2传输使能TRANSFER信号相与后作为页锁存器写端口的写使能ENA和写WEA信号,将锁存的数据写入所述页锁存器。
11.如权利要求2所述的硬件电路,其特征在于:所述页锁存器的数据宽度,在E2数据线位宽基础上另外增加一比特,将所述页锁存器读出数据的最高位作为锁存标记位;写入和擦除时,根据所述锁存标记位判断是否对当前地址的数据进行操作,在当前地址被锁存写入时将所述锁存标记位置1,只有已锁存操作过的E2地址才可以被写入或擦除;在复位或E2清除缓存信号EEBUFCLR置1时,清除所述页锁存器中数据,并将锁存标记位置0,准备下一次锁存操作。
12.如权利要求2或11所述的硬件电路,其特征在于:在写操作时,将从所述页锁存器读端口读出的数据LATCH_DOUTB和从RAM读出的数据DOUTB相与或者相或操作后,输入所述RAM的写端口数据线DINA。
13.如权利要求2所述的硬件电路,其特征在于:所述页计数器电路由一最大计数值为E2页大小的计数器组成,采用高速时钟采样E2编程使能PROGRAM_EN信号的上升沿,生成一个时钟周期的页擦和页写启动信号启动所述计数器;
当所述页计数器电路计满一页后停止计数,根据计数值和E2状态机输出的页操作状态生成所述页锁存器读端口的地址LATCH_ADDRB和读使能LATCH_ENB信号;生成所述RAM写端口的写地址总线ADDRA上的地址、写使能ENA和写WEA信号,读端口的读地址总线ADDRB上的地址和读ENB使能信号。
14.如权利要求13所述的硬件电路,其特征在于:所述页锁存器的数据宽度,在E2数据线位宽基础上另外增加一比特,将所述页锁存器读出的数据LATCH_DOUTB最高位作为锁存标记位;
在页擦除状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位相与操作,只对已锁存的地址进行擦除;
在页写入状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位相与操作,只对已锁存的地址进行写入,并且把从RAM读端口读出的数据DOUTB和从页锁存器读端口读出的数据LATCH_DOUTB相与或者相或操作后,输入所述RAM写端口数据线DINA,实现写入E2的功能。
15.如权利要求2所述的硬件电路,其特征在于:所述块操作模式BANK计数器电路由一最大计数值为E2块操作模式BANK大小的计数器组成,使用高速时钟采样E2编程使能信号PROGRAM_EN的上升沿,生成一个时钟周期的块操作模式BANK擦启动信号和写启动信号启动所述计数器;当该计数器计满其最大计数值后停止计数,根据计数值和所述E2状态机输出的块操作模式BANK操作状态,生成所述页锁存器读端口的地址LATCH_ADDRB和读使能LATCH_ENB信号;生成所述RAM读端口的读地址总线ADDRB上的地址和读使能ENB信号;生成所述RAM写端口的写地址总线ADDRA上的地址、写WEA和写使能WEA信号。
16.如权利要求15所述的硬件电路,其特征在于:所述页锁存器的数据宽度,在E2数据线位宽基础上另外增加一比特,将所述页锁存器读出的数据LATCH_DOUTB最高位作为锁存标记位;
在块操作模式BANK擦除状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位的值进行相与操作,只对已锁存的地址进行擦除;
在块操作模式BANK写入状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位的值进行相与操作,只对已锁存的地址进行写入,并且把从RAM读端口读出的数据DOUTB和所述页锁存器读出的数据LATCH_DOUTB进行相与或者相或操作后,输入所述RAM写端口数据线DINA,实现写入E2的功能。
17.如权利要求2所述的硬件电路,其特征在于:所述片操作模式CHIP计数器电路由一最大计数值为E2片操作模式CHIP大小的计数器组成,使用高速时钟采样E2编程使能信号PROGRAM_EN的上升沿,生成一个时钟周期的片操作模式CHIP擦启动信号和写启动信号启动计数器,当计数器计满其最大计数值时停止计数;根据计数值和E2状态机输出的片操作模式CHIP操作状态,生成所述页锁存器读端口的地址LATCH_ADDRB和读使能LATCH_ENB信号;生成所述RAM写端口的写地址总线ADDRA上的地址、写使能ENA和写WEA信号;生成所述RAM读端口的读地址总线ADDRB上的地址和读使能ENB信号。
18.如权利要求17所述的硬件电路,其特征在于:所述页锁存器的数据宽度,在E2数据线位宽基础上另外增加一比特,将所述页锁存器读出的数据LATCH_DOUTB最高位作为锁存标记位;
在片操作模式CHIP擦除状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位的值进行相与操作,只对已锁存的地址进行擦除;
在片操作模式CHIP写入状态时,所述RAM写端口的写使能ENA和写WEA信号与所述锁存标记位的值进行相与操作,只对已锁存的地址进行写入,并且把从RAM读端口读出的数据DOUTB和从所述页锁存器读出的数据LATCH_DOUTB相与或者相或操作后,输入所述RAM写端口的写端数据线DINA,实现写入E2的功能。
19.如权利要求2所述的硬件电路,其特征在于:将所有E2信号同步到同一时钟域,以E2的最高读速度的4倍选择一高速时钟作为所述硬件电路的主时钟;复位信号将所有寄存器全局复位。
20.如权利要求7、10、13、15、或17所述的硬件电路,其特征在于:所述高速时钟,是指以E2的最高读速度的4倍选择一时钟作为高速时钟;且该高速时钟作为所述硬件电路的主时钟。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310674009.6A CN104715083B (zh) | 2013-12-11 | 2013-12-11 | 使用fpga等效e2的方法和电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310674009.6A CN104715083B (zh) | 2013-12-11 | 2013-12-11 | 使用fpga等效e2的方法和电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104715083A CN104715083A (zh) | 2015-06-17 |
CN104715083B true CN104715083B (zh) | 2018-02-13 |
Family
ID=53414409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310674009.6A Expired - Fee Related CN104715083B (zh) | 2013-12-11 | 2013-12-11 | 使用fpga等效e2的方法和电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104715083B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7090127B2 (en) * | 2002-07-08 | 2006-08-15 | The Boeing Company | Connector identification module for mobile platform |
CN101251753A (zh) * | 2008-04-08 | 2008-08-27 | 浙江大学 | 基于fpga的具有并行处理结构的高速伺服控制器 |
CN101667169A (zh) * | 2008-09-03 | 2010-03-10 | 中国科学院上海技术物理研究所 | 一种数字信号的多处理器并行处理系统 |
CN102063939A (zh) * | 2009-11-18 | 2011-05-18 | 中兴通讯股份有限公司 | 一种电可擦除可编程只读存储器的实现方法和装置 |
CN102508802A (zh) * | 2011-11-16 | 2012-06-20 | 刘大可 | 基于并行随机存储器的数据写入、读取方法、装置及系统 |
CN203084718U (zh) * | 2012-11-29 | 2013-07-24 | 艺伦半导体技术股份有限公司 | 一种现场可编程门阵列 |
-
2013
- 2013-12-11 CN CN201310674009.6A patent/CN104715083B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7090127B2 (en) * | 2002-07-08 | 2006-08-15 | The Boeing Company | Connector identification module for mobile platform |
CN101251753A (zh) * | 2008-04-08 | 2008-08-27 | 浙江大学 | 基于fpga的具有并行处理结构的高速伺服控制器 |
CN101667169A (zh) * | 2008-09-03 | 2010-03-10 | 中国科学院上海技术物理研究所 | 一种数字信号的多处理器并行处理系统 |
CN102063939A (zh) * | 2009-11-18 | 2011-05-18 | 中兴通讯股份有限公司 | 一种电可擦除可编程只读存储器的实现方法和装置 |
CN102508802A (zh) * | 2011-11-16 | 2012-06-20 | 刘大可 | 基于并行随机存储器的数据写入、读取方法、装置及系统 |
CN203084718U (zh) * | 2012-11-29 | 2013-07-24 | 艺伦半导体技术股份有限公司 | 一种现场可编程门阵列 |
Non-Patent Citations (2)
Title |
---|
基于FPGA的E2PROM读写控制设计及实现;宋翠芳 等;《中南民族大学学报(自然科学版)》;20060930;第62-65页 * |
基于FPGA的可靠性E2PROM控制器设计;接辉 等;《微计算机信息》;20090715;第146-148、193页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104715083A (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783954B (zh) | 一种ies联合fpga硬件仿真加速系统 | |
CN201886122U (zh) | 一种基于pxi总线的数字测试模块 | |
CN108228526A (zh) | 电源隔离电路以及多电源域多电源隔离系统 | |
US9639495B2 (en) | Integrated controller for training memory physical layer interface | |
TWI221614B (en) | Tester architecture construction data generating method, tester architecture constructing method and test circuit | |
CN103914580B (zh) | 一种用于fpga电路位流仿真的方法 | |
CN102841950B (zh) | 一种逻辑存储单元自动验证的方法及装置 | |
CN103577373B (zh) | 用于在串行数据信号中对准和减少歪斜的技术 | |
CN103150228A (zh) | 面向高速缓冲存储器的可综合伪随机验证方法及装置 | |
CN109408846A (zh) | 集成电路、非暂时性计算机可读介质以及计算系统 | |
CN103996416A (zh) | 一种可重用的ftl验证方法 | |
CN109087677A (zh) | 存储器装置及其数据读取方法 | |
CN109977558A (zh) | 一种芯片寄存器代码结构的生成方法、装置及存储介质 | |
CN106487362A (zh) | 半导体电路 | |
US8301933B2 (en) | Multi-clock asynchronous logic circuits | |
CN104715083B (zh) | 使用fpga等效e2的方法和电路 | |
CN102565683A (zh) | 一种测试向量的生成与验证方法 | |
Che | FPGA-based memory test system design and test algorithm implementation | |
CN107943644A (zh) | 一种用于基于local bus总线的设计的功能验证平台的搭建方法 | |
CN107491605A (zh) | 一种用于芯片设计的功能验证方法及平台 | |
CN103794245B (zh) | 一种spi接口输出电路、相变存储器的读控制电路及方法 | |
CN105260545B (zh) | 一种可编程电路系统的验证方法 | |
CN106339282B (zh) | 一种信息存储系统和程序烧写及程序启动加载方法 | |
CN112329372B (zh) | 一种用于信号完整性分析的码型的产生方法 | |
CN104332180B (zh) | 存储器烧录接口电路及烧录方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180213 Termination date: 20191211 |
|
CF01 | Termination of patent right due to non-payment of annual fee |