CN211878599U - 应用于现场可编辑门阵列fpga的仿真验证*** - Google Patents
应用于现场可编辑门阵列fpga的仿真验证*** Download PDFInfo
- Publication number
- CN211878599U CN211878599U CN202020473796.3U CN202020473796U CN211878599U CN 211878599 U CN211878599 U CN 211878599U CN 202020473796 U CN202020473796 U CN 202020473796U CN 211878599 U CN211878599 U CN 211878599U
- Authority
- CN
- China
- Prior art keywords
- sram
- interface
- state
- read
- instruction
- 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.)
- Active
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本实用新型公开了一种应用于现场可编辑门阵列FPGA的仿真验证***。其中,该***包括:第一SRAM,用于存储应用程序;第二SRAM,用于保存选项字节信息;中央处理器CPU,用于发起对第一SRAM或第二SRAM的控制指令;接口控制区,包括第一传输接口、第二传输接口、接口逻辑单元以及片选单元,第一传输接口,与CPU通信连接;第二传输接口,与片选单元通信连接;接口逻辑单元,与第一传输接口和第二传输接口通信连接,用于根据接收的控制指令生成对第一SRAM或第二SRAM的操作指令;片选单元,与第二传输接口、第一SRAM和第一SRAM通信连接。本实用新型解决了在FPGA验证环境中的仿真验证***的验证效率较低的技术问题。
Description
技术领域
本实用新型涉及计算机领域,具体而言,涉及一种应用于现场可编辑门阵列FPGA的仿真验证***。
背景技术
非易闪存(NorFlash)为随机存储介质,由于传输效率高,可执行程序可以在芯片内执行,即应用程序可以直接在内存(Flash EEPROM Memory,简称Flash)内运行的优异特性,被广泛的应用于***级芯片(System on Chip,简称SOC)***中,作为启动芯片使用。
进一步地,将Flash国际互连协议(Internet Protocol,简称IP)单元直接集成于SOC芯片内部。得益于NorFlash的地址线以及数据线能够以并行的方式与中央处理器(central processing unti,简称CPU)进行通信,因而相较于普通的基于串行通信连接的SOC***外置Flash方式,内置集成方式可以显著提升数据/指令访问速度。
在SOC芯片的前端设计时,只需要从NorFlash IP供应商(vender)处获得Flash的仿真模型,并按其时序要求加入相应的接口控制逻辑即可。而在芯片综合的时候,则用Flash的.lib/.db文件,以及后端设计的相应文件,完成Flash的集成工作。
为了确保SOC芯片设计的正确性,验证环节必不可少。除了电子设计自动化(Electronics Design Automation,简称EDA)仿真之外,现场可编程逻辑门阵列(FieldProgrammable Gate Array简称FPGA)验证是一种重要的途径,可以在很大程度上弥补EDA软件模拟仿真的不足。
但在FPGA验证环境中,无法直接调用IP vender提供的NorFlash的仿真模型,也无法使用.lib/.db文件进行FPGA综合,进而导致了在FPGA验证环境中的仿真验证***存在效率低的问题。
即现有技术中在FPGA验证环境中的仿真验证***的效率较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本实用新型实施例提供了一种应用于现场可编辑门阵列FPGA的仿真验证***,以至少解决在FPGA验证环境中的仿真验证***的验证效率较低的技术问题。
根据本实用新型实施例的一个方面,提供了一种应用于现场可编辑门阵列FPGA的仿真验证***,包括:第一SRAM,用于存储应用程序;第二SRAM,用于保存选项字节信息;中央处理器CPU,用于发起对第一SRAM或第二SRAM的控制指令;接口控制区,包括第一传输接口、第二传输接口、接口逻辑单元以及片选单元,第一传输接口,与CPU通信连接;第二传输接口,与片选单元通信连接;接口逻辑单元,与第一传输接口和第二传输接口通信连接,用于根据接收的控制指令生成对第一SRAM或第二SRAM的操作指令;片选单元,与第二传输接口、第一SRAM和第一SRAM通信连接。
在本实用新型实施例中,接口控制区,包括第一传输接口、第二传输接口、接口逻辑单元以及片选单元,第一传输接口,与CPU通信连接;第二传输接口,与片选单元通信连接;接口逻辑单元,与第一传输接口和第二传输接口通信连接,用于根据接收的控制指令生成对第一SRAM或第二SRAM的操作指令;片选单元,与第二传输接口、第一SRAM和第一SRAM通信连接,通过接口控制区控制第一SRAM以及第二SRAM模拟Flash中的存储应用程序,以及保存选项字节信息功能,进而达到采用处理速度更快的SRAM替代仿真验证***中部分验证步骤的目的,从而实现了提高仿真验证***的验证效率的技术效果,进而解决了在FPGA验证环境中的仿真验证***的验证效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本实用新型的进一步理解,构成本申请的一部分,本实用新型的示意性实施例及其说明用于解释本实用新型,并不构成对本实用新型的不当限定。在附图中:
图1是根据本实用新型实施例的一种可选的应用于现场可编辑门阵列FPGA的仿真验证***的示意图;
图2是根据本实用新型实施例的另一种可选的应用于现场可编辑门阵列FPGA的仿真验证***的示意图;
图3是根据本实用新型实施例的另一种可选的应用于现场可编辑门阵列FPGA的仿真验证***的示意图;
图4是根据本实用新型实施例的另一种可选的应用于现场可编辑门阵列FPGA的仿真验证***的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本实用新型方案,下面将结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本实用新型一部分的实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本实用新型保护的范围。
需要说明的是,本实用新型的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本实用新型的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
可选地,作为一种可选的实施方式,应用于现场可编辑门阵列FPGA的仿真验证***包括:
1)第一SRAM,用于存储应用程序;
2)第二SRAM,用于保存选项字节信息;
3)中央处理器CPU,用于发起对第一SRAM或第二SRAM的控制指令;
4)接口控制区,包括第一传输接口、第二传输接口、接口逻辑单元以及片选单元,第一传输接口,与CPU通信连接;第二传输接口,与片选单元通信连接;接口逻辑单元,与第一传输接口和第二传输接口通信连接,用于根据接收的控制指令生成对第一SRAM或第二SRAM的操作指令;片选单元,与第二传输接口、第一SRAM和第一SRAM通信连接。
可选的,在本实施例中,应用于现场可编辑门阵列FPGA的仿真验证***可以但不限于应用于SOC芯片的验证过程中,其中,SOC芯片内部可以但不限于包括Flash IP单元,以及SOC中的Flash可以但不限于包括主程序区以及选项信息区,其中,主程序区可以但不限于用于存储应用程序,选项信息区可以但不限于用于保存选项字节信息(如读、写保护设置),具体的,上述主程序区以及选项信息区可以但不限于被等分为若干页、扇区,以及对应着固定的物理地址区间。静态随机存储器(Static Random-Access Memory,简称SRAM)可以但不限于是一种随机存取存储器,其中,在SRAM保持通电的情况下,SRAM中存储的数据集就会一直保存。
需要说明的是,应用于现场可编辑门阵列FPGA的仿真验证***包括第一SRAM、第二SRAM、中央处理器CPU以及接口控制区,其中,接口控制区,包括第一传输接口、第二传输接口、片选单元以及接口逻辑单元。
进一步举例说明,可选的如图1所示,中央处理器CPU106通过第一传输结果110与接口控制区108通信连接,接口控制区108通过第二传输接口112、以及片选单元116与第一SRAM以及第二SRAM通信连接,其中,接口控制区108中还包括接口逻辑单元114。
进一步举例说明,可选的SOC中的Flash可以但不限于包括主程序区以及选项信息区,进一步,中央处理器CPU,用于发起对第一SRAM或第二SRAM的控制指令,即相当于中央处理器CPU,用于验证过程中的模拟发起对Flash中的主程序区以及选项信息区的控制指令;以及接口控制区,用于与CPU进行通信连接、以及通信连接、与第一SRAM或第二SRAM进行通信连接、以及通信连接、以及根据控制指令生成对第一SRAM或第二SRAM的操作指令,即相当于用于验证过程中的模拟连接、数据交互以及控制Flash中的主程序区以及选项信息区。
进一步举例说明,可选的如图2所示,其中,中央处理器CPU202通过第一传输接口(图中未示出)与接口控制区204进行通信连接,接口控制区204通过第二传输接口(图中未示出)、以及片选单元(图中未示出)与第一SRAM206以及第二SRAM208进行通信连接,其中,第一SRAM206可以但不限于包括引脚(或端口)片选使能‘EN’、写操作使能‘WE’、地址端口‘ADDR’、数据输入‘DIN’、数据输出‘DOUT’、时钟‘CLK’,第二SRAM208可以但不限于包括引脚(或端口)EN、WE、ADDR、DIN、DOUT、CLK;例如接口控制区204向第一SRAM206以及第二SRAM208发送使能信号210、使能信号212、使能信号214、使能信号216、地址信息218、写入数据220、保护设置指令222,以及第一SRAM206向接口控制区204发送第一SRAM的返回值224,以及接口控制区204将处理后的第一SRAM的返回值224发送至中央处理器CPU202;
通过本申请提供的实施例,利用第一SRAM以及第二SRAM模拟Flash中的主程序区以及选项信息区,以及接口控制区连接、控制第一SRAM以及第二SRAM的方式,通过处理速度更快的SRAM替代仿真验证***中的部分验证步骤,实现了提高仿真验证***的验证效率的效果。
作为一种可选的方案,接口逻辑单元包括:
1)控制接口模块,用于控制切换片选单元状态,其中,在片选单元状态处于第一状态的情况下,选择与第一SRAM进行通信连接,在片选单元状态处于第二状态的情况下,选择与第二SRAM进行通信连接;
2)使能模块,用于在接收到CPU发起的读指令的情况下,产生读使能信号;还用于在***上电复位后,根据自动产生的选项字节加载使能信号触发产生读使能信号,其中,在片选单元状态处于第一状态且第一SRAM中的读使能接口处于有效状态的情况下,读使能信号用于控制第一SRAM处于读状态;在片选单元状态处于第二状态且第二SRAM中的读使能接口处于有效状态的情况下,读使能信号用于控制第二SRAM处于读状态。
需要说明的是,接口逻辑单元包括控制接口模块以及使能模块,其中,控制接口模块用于控制切换片选单元状态,使能模块,用于在接收到CPU发起的读指令的情况下,产生读使能信号,以及在***上电复位后,根据自动产生的选项字节加载使能信号触发产生读使能信号。
进一步举例说明,可选的如图2所示,例如中央处理器CPU202发起的读指令(图中未示出),接口控制区204生成并发送片选信号214,其中,片选信号214用于片选第一SRAM206或第二SRAM208。例如,片选信号214为置“0”IFREN信号,则片选第一SRAM206;或片选信号214为置“1”IFREN信号,则片选第二SRAM208。
进一步,例如在接口控制区204接收到中央处理器CPU202发起读指令产生(读)使能信号210,在接口控制区204在***上电复位的情况下,产生(读)使能信号216,以及进一步结合片选信号214,共同驱动第一SRAM206或第二SRAM208中的EN端口;例如使能信号210为SE信号,使能信号216为OBL_EN信号,片选信号为IFREN信号,则在使能信号320为有效SE信号或(OR)使能信号216为有效OBL_EN信号,且片选信号214为置“0”IFREN信号的情况下,驱动第一SRAM206的EN端口,以及控制第一SRAM206处于读状态;在使能信号320为有效SE信号或(OR)使能信号216为有效OBL_EN信号,且片选信号214为置“1”IFREN信号的情况下,驱动第二SRAM208的EN端口,以及控制第二SRAM208处于读状态。
通过本申请提供的实施例,利用用于控制切换片选单元状态的控制接口模块,以及用于在接收到CPU发起的读指令的情况下,产生读使能信号,或在***上电复位后,根据自动产生的选项字节加载使能信号触发产生读使能信号的使能模块,达到了控制SRAM模拟Flash读功能的目的,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,使能模块204,还用于在接收到CPU发起的写指令的情况下,产生写使能信号;其中,在片选单元状态处于第一状态且第一SRAM中的读使能接口和写使能接口均处于有效状态的情况下,写使能信号用于控制第一SRAM处于写状态;在片选单元状态处于第二状态且第二SRAM中的读使能接口和写使能接口均处于有效状态的情况下,写使能信号用于控制第二SRAM处于写状态。
需要说明的是,在片选单元状态处于第一状态且第一SRAM中的读使能接口和写使能接口均处于有效状态的情况下,写使能信号用于控制第一SRAM处于写状态;在片选单元状态处于第二状态且第二SRAM中的读使能接口和写使能接口均处于有效状态的情况下,写使能信号用于控制第二SRAM处于写状态。可选的,NorFlash的编程可以但不限于将Flash中“1”改写为“0”,其中,擦除指令可以但不限于为将已编程的数据还原到“1”,进而针对Flash的仿真模拟验证过程中的编程、页擦除、整片擦除操作,可以但不限相当于向SRAM写入数据。
进一步举例说明,可选的如图2所示,例如中央处理器CPU202发起的写指令(图中未示出),接口控制区204生成并发送片选信号214,其中,片选信号214用于片选第一SRAM206或第二SRAM208。例如,片选信号214为置“0”IFREN信号,则片选第一SRAM206;或片选信号214为置“1”IFREN信号,则片选第二SRAM208;
进一步,例如在接口控制区204接收到中央处理器CPU202发起写指令产生(写)使能信号212,以及进一步结合片选信号214,共同驱动第一SRAM206或第二SRAM208中的WE端口;例如使能信号212为(PROG|PAGE_ERASE|MAS_ERASE)信号,片选信号为IFREN信号,则在使能信号212为有效(PROG|PAGE_ERASE|MAS_ERASE)信号,且片选信号214为置“0”IFREN信号的情况下,驱动第一SRAM206的WE端口,以及在第一SRAM206的EN端口被驱动的情况下,控制第一SRAM206处于写状态;在使能信号212为有效(PROG|PAGE_ERASE|MAS_ERASE)信号,且片选信号214为置“1”IFREN信号的情况下,驱动第二SRAM208的WE端口,以及在第二SRAM208的EN端口被驱动的情况下,控制第一SRAM206处于写状态。
通过本申请提供的实施例,利用用于在接收到CPU发起的写指令的情况下,产生读使能信号,或在***上电复位后,根据自动产生的选项字节加载使能信号触发产生读使能信号的使能模块,达到了控制SRAM模拟Flash写功能的目的,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,接口逻辑单元包括:
1)第一地址映射模块,用于在接收到CPU发起的读指令的情况下,将读指令中携带的第一地址信息直接映射到第一SRAM或第二SRAM中的地址,以读取存储的数据;
2)第二地址映射模块,用于在接收到CPU发起的编程指令的情况下,将编程指令中携带的第二地址信息直接映射到第一SRAM或第二SRAM中的地址,以读取存储的数据;
3)第三地址映射模块,用于在接收到CPU发起的擦除指令的情况下,触发计数器,其中,计数器用于计算擦除指令所指示的擦除操作的操作地址。
需要说明的是,第一地址映射模块,用于在接收到CPU发起的读指令的情况下,将读指令中携带的第一地址信息直接映射到第一SRAM或第二SRAM中的地址,以读取存储的数据;第二地址映射模块,用于在接收到CPU发起的编程指令的情况下,将编程指令中携带的第二地址信息直接映射到第一SRAM或第二SRAM中的地址,以读取存储的数据;第三地址映射模块,用于在接收到CPU发起的擦除指令的情况下,触发计数器,其中,计数器用于计算擦除指令所指示的擦除操作的操作地址。可选的,读指令以及标称指令的操作地址可以但不限于为单一地址,接口逻辑模块可以但不限于直接将上述单一地址映射到SRAM对应的地址。可选的,擦除指令的操作地址,可以但不限于为CPU的地址信息中定义的Flash对应页的首地址。
进一步举例说明,可选的如图2所示,假设接口控制区204接收中央处理器CPU202发起的读指令(图中未示出),且读指令中包含地址信息218,进而接口控制区204将地址信息218直接映射到第一SRAM206或第二SRAM208中的地址,以读取存储的数据。
进一步举例说明,可选的如图2所示,假设接口控制区204接收中央处理器CPU202发起的编程指令(图中未示出),且编程指令中包含地址信息218,进而接口控制区204将地址信息218直接映射到第一SRAM206或第二SRAM208中的地址,以读取存储的数据。
通过本申请提供的实施例,利用第一地址映射模块、第二地址映射模块以及第三地址映射模块,达到了将读指令、编程指令以及擦除指令的操作地址映射到SRAM上的目的,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,第三地址映射模块包括:
1)第一计数器,用于在擦除指令用于指示页擦除操作的情况下,计算计数值与页擦除的首地址累加后得到的页擦除操作的操作地址,其中,第一计数器的计数长度与一页的地址深度一致;
2)第二计数器,用于在擦除指令用于指示整片擦除操作的情况下,将计数值作为整片擦除操作的操作地址,其中,第二计数器的计数长度与总地址深度一致。
需要说明的是,第一计数器用于在擦除指令用于指示页擦除操作的情况下,计算计数值与页擦除的首地址累加后得到的页擦除操作的操作地址,第二计数器用于在擦除指令用于指示整片擦除操作的情况下,将计数值作为整片擦除操作的操作地址。
进一步举例说明,可选的如图3所示,假设第一计数器为计数器308,第二计数器为计数器310,页擦除操作所在页的首地址为页的首地址302;通过地址累加器304,将页的首地址302以及计数器308中的计数值累加,进而获取页擦除操作的操作地址,并输入数据选择器306中;以及获取计数器310中的计数值,并输入与计数器310中的计数值长度一致的操作地址至数据选择器306中;进一步,通过数据选择器306,将处理后的页擦除操作的操作地址以及整片擦除操作的操作地址映射到静态随机存储器312中。
通过本申请提供的实施例,利用第一计数器以及第二计数器分别获取页擦除操作的操作地址和整片擦除操作的操作地址的方式,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,第一SRAM包括第一输入接口,第二SRAM包括第二输入接口,其中,在接收到CPU发起的编程指令的情况下,将编程指令中的数据通过第一输入接口写入第一SRAM,或通过第二输入接口写入第二SRAM;在接收到CPU发起的擦除指令的情况下,产生全一数据,并通过第一输入接口写入第一SRAM,或通过第二输入接口写入第二SRAM。
需要说明的是,在接收到CPU发起的编程指令的情况下,将编程指令中的数据通过第一输入接口写入第一SRAM,或通过第二输入接口写入第二SRAM;在接收到CPU发起的擦除指令的情况下,产生全一数据,并通过第一输入接口写入第一SRAM,或通过第二输入接口写入第二SRAM。
进一步举例说明,可选的如图2所示,例如在接口控制区204接收到中央处理器CPU202发起的编程指令(图中未示出)的情况下,接口控制区204根据上述编程指令生成并发送写入数据220至第一SRAM206或第二SRAM208的DIN端口,其中,上述发送至DIN端口的写入数据220即为中央处理器CPU202编程指令中的编程数据。
进一步举例说明,可选的如图4所示,例如在接口控制区中的接口逻辑单元402接收到CPU发起的编程指令410的情况下,由接口逻辑单元产生的全一数据408,并写向静态随机存储器406的DIN端口404;其中,写入静态随机存储器406的DIN端口404的全一数据408即为CPU编程指令410中的编程数据。
通过本申请提供的实施例,在接收到CPU发起的编程指令的情况下,将编程指令中的数据通过第一输入接口写入第一SRAM,或通过第二输入接口写入第二SRAM;在接收到CPU发起的擦除指令的情况下,产生全一数据,并通过第一输入接口写入第一SRAM,或通过第二输入接口写入第二SRAM,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,接口逻辑单元包括:
设置模块,用于在第二SRAM向CPU返回目标数据的情况下,根据目标数据设置对第一SRAM的读保护或写保护。
需要说明的是,Flash主程序区的返回值,经过接口逻辑转换后,输出到CPU。而选项信息区的返回值,除了供CPU获取之外,其选项字节信息中所包含有读、写保护配置信息,可以但不限于在Flash的接口控制逻辑区产生相应的读、写保护设置,以指示当前***的主程序区是否允许被外部设备经调试端口读取,或者指定主程序区的哪些扇区处于写保护状态。可选的,设置模块用于在第二SRAM向CPU返回目标数据的情况下,根据目标数据设置对第一SRAM的读保护或写保护。
进一步举例说明,可选的如图2所示,例如在第一SRAM206输出的第一SRAM的返回值224经过接口逻辑单元(图中未示出)的转换后(虚线处),输出到了中央处理器CPU202;而第二SRAM返回值为选项字节信息,上述选项字节信息可以但不限于也输出到中央处理器CPU202,以及上述选项字节信息中所包含有保护设置指令222,且保护设置指令222可以但不限于在接口控制逻辑单元中产生相应的读、写保护设置,以指示当前***的SRAM单元是否允许被外部设备经调试端口读取,或者指定SRAM单元(第一SRAM206或第二SRAM208)中的部分或全部扇区处于写保护状态。
通过本申请提供的实施例,利用在第二SRAM向CPU返回目标数据的情况下,根据目标数据设置对第一SRAM的读保护或写保护的方式,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,接口逻辑单元包括:
第一报警模块,用于在接收到CPU发起的编程指令,且编程指令所指示的地址内的数据非全一的情况下,产生编程错误标识,以终止编程操作。
需要说明的是,Flash异常错误标志可以但不限于包括编程错误标志、读保护错误标志、写保护错误标志等。Flash可以但不限于禁止CPU两次连续的向同一地址进行编程。第一报警模块用于在接收到CPU发起的编程指令,且编程指令所指示的地址内的数据非全一的情况下,产生编程错误标识,以终止编程操作。
进一步举例说明,可选的例如在接口逻辑单元在接收到编程指令后,向该编程地址发送读操作,在该址内的数据非全一的情况下,产生错误(或中断)标志,并终止编程操作。
通过本申请提供的实施例,利用在接收到CPU发起的编程指令,且编程指令所指示的地址内的数据非全一的情况下,产生编程错误标识,以终止编程操作的方式,通过利用SRAM模拟Flash设置异常保护,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,接口逻辑单元包括:
第二报警模块,用于在第二SRAM已设置读保护或写保护的情况下,在检测到CPU发起的读指令或编程指令或擦除指令的情况下,产生读保护错误标识或写保护错误标识。
需要说明的是,第二报警模块用于在第二SRAM已设置读保护或写保护的情况下,在检测到CPU发起的读指令或编程指令或擦除指令的情况下,产生读保护错误标识或写保护错误标识。
进一步举例说明,可选的,例如在CPU错误地向该地址区间发起了读操作或者编程/擦除操作的情况下,产生相应的读保护错误标志(或中断),或写保护错误标志(或中断)。
通过本申请提供的实施例,利用在第二SRAM已设置读保护或写保护的情况下,在检测到CPU发起的读指令或编程指令或擦除指令的情况下,产生读保护错误标识或写保护错误标识的方式,通过利用SRAM模拟Flash设置异常保护,实现了提高SRAM替代验证的仿真性的效果。
作为一种可选的方案,第一SRAM中的存储区和第二SRAM中的存储区均使用目标格式存储文件。
需要说明的是,第一SRAM中的存储区和第二SRAM中的存储区均使用目标格式存储文件。可选的,SRAM在掉电后,数据会丢失,而Flash在掉电后,数据不会丢失。
进一步举例说明,可选的例如将应用程序代码以及选项信息区的数据以.coe文件的方式,分别固化到第一SRAM与第二SRAM中,作为其上电初始化默认数据,进而在BOOT启动及程序自举的情况下,读取上述上电初始化默认数据。
通过本实施例,利用第一SRAM中的存储区和第二SRAM中的存储区均使用目标格式存储文件的方式,通过SRAM模拟Flash在掉电后,数据不会丢失的功能,实现了提高SRAM替代验证的仿真性的效果。
上述本实用新型实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本实用新型的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本实用新型各个实施例方法的全部或部分步骤。
在本实用新型的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实用新型各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本实用新型的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本实用新型原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本实用新型的保护范围。
Claims (10)
1.一种应用于现场可编辑门阵列FPGA的仿真验证***,其特征在于,包括:
第一SRAM,用于存储应用程序;
第二SRAM,用于保存选项字节信息;
中央处理器CPU,用于发起对第一SRAM或第二SRAM的控制指令;
接口控制区,包括第一传输接口、第二传输接口、接口逻辑单元以及片选单元,所述第一传输接口,与所述CPU通信连接;所述第二传输接口,与所述片选单元通信连接;所述接口逻辑单元,与所述第一传输接口和所述第二传输接口通信连接,用于根据接收的控制指令生成对所述第一SRAM或所述第二SRAM的操作指令;所述片选单元,与所述第二传输接口、所述第一SRAM和所述第一SRAM通信连接。
2.根据权利要求1所述的***,其特征在于,所述接口逻辑单元包括:
控制接口模块,用于控制切换片选单元状态,其中,在所述片选单元状态处于第一状态的情况下,选择与所述第一SRAM进行通信连接,在所述片选单元状态处于第二状态的情况下,选择与所述第二SRAM进行通信连接;
使能模块,用于在接收到所述CPU发起的读指令的情况下,产生读使能信号;还用于在***上电复位后,根据自动产生的选项字节加载使能信号触发产生读使能信号,其中,在所述片选单元状态处于第一状态且所述第一SRAM中的读使能接口处于有效状态的情况下,读使能信号用于控制所述第一SRAM处于读状态;在所述片选单元状态处于第二状态且所述第二SRAM中的读使能接口处于有效状态的情况下,
读使能信号用于控制所述第二SRAM处于读状态。
3.根据权利要求2所述的***,其特征在于,所述使能模块,还用于在接收到所述CPU发起的写指令的情况下,产生写使能信号;其中,在所述片选单元状态处于第一状态且所述第一SRAM中的读使能接口和写使能接口均处于有效状态的情况下,写使能信号用于控制所述第一SRAM处于写状态;在所述片选单元状态处于第二状态且所述第二SRAM中的读使能接口和写使能接口均处于有效状态的情况下,写使能信号用于控制第二SRAM处于写状态。
4.根据权利要求1所述的***,其特征在于,所述接口逻辑单元包括:
第一地址映射模块,用于在接收到所述CPU发起的读指令的情况下,将读指令中携带的第一地址信息直接映射到所述第一SRAM或所述第二SRAM中的地址,以读取存储的数据;
第二地址映射模块,用于在接收到所述CPU发起的编程指令的情况下,将编程指令中携带的第二地址信息直接映射到所述第一SRAM或所述第二SRAM中的地址,以读取存储的数据;
第三地址映射模块,用于在接收到所述CPU发起的擦除指令的情况下,触发计数器,其中,所述计数器用于计算擦除指令所指示的擦除操作的操作地址。
5.根据权利要求4所述的***,其特征在于,所述第三地址映射模块包括:
第一计数器,用于在擦除指令用于指示页擦除操作的情况下,计算计数值与页擦除的首地址累加后得到的页擦除操作的操作地址,其中,所述第一计数器的计数长度与一页的地址深度一致;
第二计数器,用于在擦除指令用于指示整片擦除操作的情况下,将计数值作为整片擦除操作的操作地址,其中,所述第二计数器的计数长度与总地址深度一致。
6.根据权利要求4所述的***,其特征在于,所述第一SRAM包括第一输入接口,所述第二SRAM包括第二输入接口,其中,在接收到CPU 发起的编程指令的情况下,将编程指令中的数据通过所述第一输入接口写入所述第一SRAM,或通过所述第二输入接口写入所述第二SRAM;在接收到CPU发起的擦除指令的情况下,产生全一数据,并通过所述第一输入接口写入所述第一SRAM,或通过所述第二输入接口写入所述第二SRAM。
7.根据权利要求1所述的***,其特征在于,所述接口逻辑单元包括:
设置模块,用于在所述第二SRAM向所述CPU返回目标数据的情况下,根据目标数据设置对所述第一SRAM的读保护或写保护。
8.根据权利要求1所述的***,其特征在于,所述接口逻辑单元包括:
第一报警模块,用于在接收到所述CPU发起的编程指令,且编程指令所指示的地址内的数据非全一的情况下,产生编程错误标识,以终止编程操作。
9.根据权利要求1所述的***,其特征在于,所述接口逻辑单元包括:
第二报警模块,用于在所述第二SRAM已设置读保护或写保护的情况下,在检测到所述CPU发起的读指令或编程指令或擦除指令的情况下,产生读保护错误标识或写保护错误标识。
10.根据权利要求1至9中任一项所述的***,其特征在于,所述第一SRAM中的存储区和所述第二SRAM中的存储区均使用目标格式存储文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202020473796.3U CN211878599U (zh) | 2020-04-02 | 2020-04-02 | 应用于现场可编辑门阵列fpga的仿真验证*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202020473796.3U CN211878599U (zh) | 2020-04-02 | 2020-04-02 | 应用于现场可编辑门阵列fpga的仿真验证*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN211878599U true CN211878599U (zh) | 2020-11-06 |
Family
ID=73250120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202020473796.3U Active CN211878599U (zh) | 2020-04-02 | 2020-04-02 | 应用于现场可编辑门阵列fpga的仿真验证*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN211878599U (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569525A (zh) * | 2021-06-24 | 2021-10-29 | 合肥松豪电子科技有限公司 | 一种利用sram在fpga验证平台上的验证模型及方法 |
-
2020
- 2020-04-02 CN CN202020473796.3U patent/CN211878599U/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569525A (zh) * | 2021-06-24 | 2021-10-29 | 合肥松豪电子科技有限公司 | 一种利用sram在fpga验证平台上的验证模型及方法 |
CN113569525B (zh) * | 2021-06-24 | 2024-07-23 | 合肥松豪电子科技有限公司 | 一种利用sram在fpga验证平台上的验证模型及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW486668B (en) | A single-chip data processing apparatus incorporating an electrically rewritable nonvolatile memory and method of operating the same | |
TW574647B (en) | Data processing method in high-capacity flash EEPROM card system | |
US8954705B2 (en) | Memory space management method and memory controller and memory storage device and memory storage using the same | |
US20190235858A1 (en) | Apparatus and method for configuring or updating programmable logic device | |
CN104541280A (zh) | 用于利用非易失性存储器装置的备选引导路径支持 | |
US20140019670A1 (en) | Data writing method, memory controller, and memory storage device | |
JP2002278781A (ja) | 記憶装置、記憶装置制御方法及びプログラム | |
US8417902B2 (en) | One-time-programmable memory emulation | |
CN108108191A (zh) | 一种soc芯片及soc芯片cpu指令集的配置方法 | |
CN104461859B (zh) | 一种支持nvm软断点调试的仿真器和方法 | |
CN110765032A (zh) | 基于***管理总线接口对i2c存储器进行读写的方法 | |
CN211878599U (zh) | 应用于现场可编辑门阵列fpga的仿真验证*** | |
CN104035757A (zh) | 基于MIPS处理器的u-boot移植的实现方法 | |
CN108701080A (zh) | 使用参考值确保存储设备动作有效 | |
CN111208935A (zh) | 数据储存装置与数据存取方法 | |
CN106485020B (zh) | 带有非易失性存储器的处理器芯片仿真器 | |
CN107861775A (zh) | 一种ssd启动控制设备以及方法 | |
CN109426511A (zh) | 软核更新方法和*** | |
CN107133066A (zh) | 一种mcu芯片中的存储复用控制*** | |
CN116343888A (zh) | 一种存储芯片的验证方法、电子设备及存储介质 | |
CN206058176U (zh) | 一种车用BootLoader调试设备及试验用汽车 | |
CN103678751A (zh) | 处理器芯片仿真调试*** | |
CN105573924A (zh) | 仿真*** | |
CN107402887B (zh) | 闪速存储器中的计数器 | |
CN112035378A (zh) | 一种数据快速写入flash闪存的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |