程控型/命令控制型存储器功能仿真系统的制作方法

文档序号:6562602阅读:149来源:国知局
专利名称:程控型/命令控制型存储器功能仿真系统的制作方法
技术领域
本发明涉及一种存储器功能仿真系统,尤其涉及一种程控型/命令控制型存储器功能仿真系统。
现有技术中的硬件仿真系统旨在对一些复杂的应用设计进行硬件与软件仿真,以验证其逻辑设计的正确性。但是,传统的硬件仿真系统采用外接卡(可配置的存储器模块)只能对非程控型或非命令控制型存储器进行仿真,并且在容量和配置地重构性上受到限制。这种专用的存储器外接卡也十分昂贵,很难适合用户的多种存储器实体的验证要求。
本发明的目的是针对上述问题,提供一种新颖的程控型/命令控制型存储器仿真系统,该系统实现对不同类型的存储器界面的转换,并且还可以监视和记录系统执行中的各种错误(如在存储器的读、写、刷新等执行过程中所发生的功能错或状态错等)。
本发明的程控型/命令控制型存储器功能仿真系统包含置于一块PFGA中的USB控制器,用于提供可置换存储器界面与数据存储器之间的信号转换与解码,以控制外部系统对数据存储器的访问;模式设置逻辑,用于将存储器功能仿真系统设置为所要求的仿真配置,以决定仿真存储器的深度和宽度;侦错逻辑,用于提供对仿真系统的监控,鉴别输入信号和记录错误信息;置于PFGA中的可配置存储器界面,用于实现不同类型存储器界面的置换;内部存储器阵列,由大容量半导体存储器阵列构成,并与所述接口模块连接,构成数据的存储实体;一个USB通讯口元件(600),用于处理PC存储器功能仿真系统之间的数据通讯。
根据本发明的程控型/命令控制型存储器仿真系统采用可置换界面技术使程控型以及命令控制型存储器功能仿真系统适合多种半导体存储器的功能仿真,由于硬件无需修改,也不需付加任何外部硬件,节省了系统成本。
另外,本发明中采用USB通口,既可重设置仿真系统的结构配置,又可监控并记录系统仿真过程中的错误信息。
本发明的程控型/命令控制型存储器仿真系统还可以通过多种组合构成一个各种深度和不同位宽度的大容量数据存储器作为硬件仿真系统的容量扩充摸块。


图1是根据本发明的程控型/命令控制型存储器仿真系统的应用框图2是图1中的存储器仿真系统中的可置换存储界面的配置;
图3是图1中的存储器仿真系统中的USB控制器的配置;
图4是用于说明本发明的存储器仿真系统侦错过程的方框图。
如图1所示,根据本发明的程控型/命令控制型存储器仿真系统1包含了一个置于一块PFGA中的USB控制器100,一个模式设置逻辑200,一个侦错逻辑300,一个置于PFGA中的可配置存储器界面400(图中以一个SDRAM为例)和内部存储器阵列500,并如图所示,与一外部系统相连,该外部系统由用于诸如语音合成器等的外部IC仿真器120,以及具有USB端口的PC机110构成。下面分别根据图2到图4对这些部件进行详细详细描述。
图1中的USB控制器100作为内置微控制器控制USB器件进行通讯,并对USB口的输入输出数据进行转换处理。首先USB控制器处于接收状态,然后根据接收到的命令判别下一步的状态,当存储器功能仿真系统向PC传送数据时,控制器可将内部数据总线上数据转换为8位数据依次传送到USB器件,并置USB器件为发送方式,传送给PC。反过来,当存储器功能仿真系统接受由PC发送的数据时,USB器件为接收方式,控制器将接收到的8位数据转换成相应的位宽放到内部数据总线上。更具体地说,如图3所示,用于本发明中的USB控制器100包括USB控制逻辑A1,数据控制逻辑A2,侦错用读/写逻辑A3,存储器配置逻辑A4,错误寄存器读出逻辑A5以及下载逻辑A6。
USB控制逻辑A1对USB芯片(USBN9603)实施控制,对USB芯片发出读/写控制命令(CS,WR,RD,A0),使其工作于接收或发送数据的状态。USB控制逻辑A1在系统上电时默认为接收数据状态(接收命令),首先它将读取和判别USB芯片中的寄存器表,确定是否有从PC发送来的数据,如果有,系统会接收并对数据进行判别,在系统接收到命令后,根据命令的类型和要求决定USB控制逻辑A1在下一步的工作状态。
数据控制逻辑A2实际上是对接收到的数据的一个解码逻辑,它对接收到的第一个数据或者是执行完一条命令后的下一条数据进行解码,来判别系统的下一步工作状态,确定数据总线上数据的流向。
侦错用读/写逻辑A3用来对由存储器仿真系统的界面读出或写入存储器的数据的正确性进行判别。从PC向仿真系统存储器写入数据,由仿真系统的接口读出数据;或者从仿真系统的接口写入,由USB向PC读出,判别写入和读出的数据的一致性可以判别系统的工作是否存在错误。并且这一部分还对系统的位宽作了调整,USB采用8位位宽,而仿真系统的位宽为可变,在时序上作了调整来对仿真系统的位宽作出拆分或合并,使两者相匹配。
存储器配置逻辑A4是根据不同客户的不同要求,灵活的实现仿真系统对不同位宽的要求,以适应不同的硬件仿真环境,存储器功能仿真系统设计为带宽可变型。存储器功能仿真系统的带宽可以实现8位、16位、32位、64位之间随意的切换,(通过并联整个存储器仿真系统还可以实现128位,甚至使256位的带宽)。不同带宽的设计已经预先置于系统中,对不同带宽的选取所要做的只是由PC给出包含了相应带宽的命令。USB的控制逻辑根据接收到的命令对存储器设置寄存器(mode_reg)重新赋值,系统内部作出相应调整,从而实现对整个系统带宽的调整。
错误寄存器读出逻辑A5是将记录了存储器仿真系统在功能存取时错误发生的类型、时间、地点等信息的错误寄存器的内容读出经USB口输出到PC。它的逻辑同存储器读取数据相似,而数据源不同,前者是从存储器读取,后者是将错误寄存器的数据读出。本发明中,观察错误寄存器内容就可以了解硬件仿真系统对存储器功能仿真系统数据存取时发生的错误,从而对整个硬件仿真系统进行调整。输出错误寄存器是通过USB通用串行接口来实现的。当USB控制模块接到输出错误寄存器的命令(output error register)后,向系统发出输出错误寄存器的命令,系统收到命令后会将错误寄存器的内容分成8位数据依次送到USB控制模块中,USB控制模块控制USB将接收到的数据通过USB端口送到PC中去。
下载逻辑A6是为了对FPGA芯片的逻辑连接关系进行重构。FPGA允许再编程建立新的逻辑连接关系。下载逻辑A6对第二块FPGA(界面可置换模块)上的某些输入信号位(program,init,cclk,done,din)进行设置和判别,使第二块FPGA工作在重构模式下,并且对下载时的时序作了控制,将新的配置文件下载到第二块FPGA中去,从而实现了对其逻辑连接关系的重构。
总地来说,从图3中可以看出,USB控制逻辑A1实现了对数据的接收和发送,数据控制逻辑A2进行数据的判别,其余各个部分分别实现了对数据流的方向的控制。
USB控制逻辑A1在接收到数据后向其他各部分发出run信号,使其余各部分开始工作,当USB控制逻辑A1将USB芯片中数据全部读取后,将再次读取和判别USB芯片中的寄存器表,这时需要将run信号置0,暂停其他各部分的工作。数据控制逻辑A2根据接收到的第一个数据或者是执行完一条命令后的下一条数据的判别来对cmd_set、state[10]置位,决定下一步工作状态和数据的流向,当需要向PC发送数据时,数据控制逻辑A2还会向USB控制逻辑A1发出请求,使USB口转向发送的状态。侦错用读/写逻辑A3,存储器配置逻辑A4,错误寄存器读出逻辑A5以及下载逻辑A6实现对数据的处理,当它们暂时不需要数据或者要向PC发送数据而数据还没有准备好时,会向USB控制逻辑A1发出信号rw_en=0,使USB控制逻辑A1暂停数据的发送。
图1中的可配置存储器界面400能按照仿真的存储器的功能重新构置,这个界面是可以在线修改以实现各类存储器的功能仿真。可变存储器界面如图2所示,外部硬件仿真系统的存储器控制命令经由命令编码逻辑B1编码产生内部存储器的标准控制命令。例如,SDRAM仿真时,需要转换由/CE,/RAS,/CAS,/WE构成的存储器访问指令。对SDRAM的地址信号亦需要地址缓存器转换为内存储器的地址信号。内存储器的芯片选择信号是通过高位地址的编码产生。SDRAM的其他多种命令如auto-refresh(自动刷新),power down(下电)等,也必须适当处理,进行分析鉴别。数据移位电路B2可根据仿真配置设置,产生不同的数据带宽转换。存储器功能仿真系统内部存储器的数据带宽按64位带宽设计,可以转换为4种仿真配置8位,16位,32位和64位。仿真错误监控逻辑B3可以判别输入信号和记录信号中的错误,并存储于错误寄存器内。
可变存储器界面由状态控制机、地址转换以及数据移位电路三部份组成。其中的状态控制部分模拟并处理各种类型存储器的内部状态转换过程,该电路通过分析各种存储器的界面命令,产生内部地址以及读写控制信号,在存储器工作在睡眠或是省电模式下时,该模块将不发出任何读写控制命令,内部SRAM不会进入相应的睡眠或是省电状态,内部地址输出为全零。在读写状态下,内部地址由地址转换电路处理,读写命令除控制内部SRAM的工作状态外,同时作为地址转换及数据移位电路的工作控制信号。状态控制机的设计是可变界面实现的关键,通过更换这部分的逻辑,便可实现不同类型存储器的界面接口,从而实现对各种存储器仿真的快速实现。地址转换电路由状态控制机部分得到25位内部地址,按照存储器工作方式的不同组合并解码形成不同的地址和片选信号。处理过程中先根据不同的MODE将内部地址进行转换,转换的结果保存于内部地址寄存器,转换方式如下表格所示
该地址寄存器的低19位送到SRAM作为SRAM的地址,高6位用于产生SRAM的片选信号。以下表格列出不同模式下用于片选信号译码的位地址。
同时由adr_buf[24]和adr_buf[2019]组成cs_sel,该信号送数据移位电路作为移位控制信号,它决定了当前有效数据位在数据总线上的分布情况,数据移位电路根据cs_sel及MODE将不同位的数据移到外部总线的相应位置,以实现位宽的选择。以下表格列出了不同cs_sel下有效数据的位置,及转换后的位置。
8个数据位
16个数据位
在本发明中,使用FPGA配置USB控制器100以及可置换存储器界面400具有很大便利。基于对不同仿真系统的存储器界面设计需再重构存储器界面界面,采用FPGA可以轻易实现这一构想,FPGA允许对内部结构重新设置来实现新的逻辑功能,根据FPGA的下载逻辑可以方便的将新的配置文件下载到FPGA中去,USB成为FPGA与PC之间数据交换的通道。基于不同设计的数据流文件通过PC上的USB通用串行口传送到存储器功能仿真系统上USB芯片中去,USB的控制逻辑置于一块FPGA中,它控制了FPGA与USB的数据通信,USB的控制逻辑根据FPGA的下载逻辑对第二块FPGA(界面可置换模块)上的某些信号位(program,init,cclk)进行置位,使第二块PFGA工作在configuration(配置)模式下,新的配置文件将通过USB控制模块下载到界面可置换模块中去,从而实现了对存储器界面的置换。在完成了存储器界面的置换后,控制模块将回到初始状态,等待下一个命令。
另外,使用USB作为仿真系统侦错的接口,也是本发明的一个特色。USB控制模块操作存储器仿真系统,使存储器部分与界面脱离,用户可直接对存储器部分读写以达到侦错的目的。当USB控制模块处于工作状态,它将向系统内部发出命令(ram_en=0),系统根据这个信号将界面与存储器的控制权交给USB模块来控制,这时界面与存储器不再有联系,所有与存储器相连的数据信号、地址信号、控制信号都由USB模块来控制,USB的控制模块根据由PC发出的命令来判别系统的工作状态以及工作方式。当USB控制模块不再接受PC的命令,自动将控制权交给界面。
图1中的模式设置逻辑200将存储器功能仿真系统设置为所要求的仿真配置,以决定仿真存储器的深度和宽度。具体地说,设计深度为230个字,宽度为64位。
图1中的侦错逻辑300控制PC仿真系统的通讯方式,即访问内部存储器方式,或读取错误寄存器模式。如图4所示,侦错仅对界面信号进行。侦错逻辑210监控可置换存储器界面220和内部存储器230。由USB口启动侦错逻辑将界面220内的错误记录和存储器内的数据发送到PC,根据所获得的信号检查存储器功能仿真的正确性。来自PC的usb_data_in信号开始通讯进程。先由侦错逻辑210发送出WE(upload)和OE(download)信号对内部存储器230进行读写操作,比较写入数据和读出数据以检查内部存储器的访问操作。或直接从可置换存储器界面内读出错误寄存器信息。
侦错逻辑210的详细内容见下表。
其中,Writea*为white with autoprecharge reada*read with autoprecharge
虽然本说明书已经根据附图,对本发明的一个较佳实施例的构成和工作进行了描述,但是熟悉本领域的技术人员在本发明所揭示的原理范围内还可进行各种形式和细节上的修改,因此上述较佳实施例仅仅是说明性的。本发明的范围由所附权利要求书确定。
权利要求
1.一种程控型/命令控制型存储器功能仿真系统包含
置于一块PFGA中的USB控制器(100),用于提供可置换存储器界面(400)与数据存储器(500)之间的信号转换与解码,以控制外部系统对数据存储器的访问;
模式设置逻辑(200),用于将存储器功能仿真系统设置为所要求的仿真配置,以决定仿真存储器的深度和宽度;
侦错逻辑(300),用于提供对仿真系统的监控,鉴别输入信号和记录错误信息;
置于PFGA中的可配置存储器界面(400),用于实现不同类型存储器界面的置换;
内部存储器阵列(500),由大容量半导体存储器阵列构成,并与所述接口模块连接,构成数据的存储实体;
一个USB通讯口元件(600),用于处理PC存储器功能仿真系统之间的数据通讯。
2.如权利要求1所述的程控型/命令控制型存储器功能仿真系统,其特征在于USB控制器(100)包含
USB控制逻辑(A1),用于提供PC与存储器仿真系统之间数据的发送与接收;
数据控制逻辑(A2),用于对接收到的第一个数据或者是执行完一条命令后的下一条数据进行解码,来判别系统的下一步工作状态,确定数据总线上数据的流向;
侦错用读/写逻辑(A3),用于对由存储器仿真系统的界面读出或写入存储器的数据的正确性进行判别;
存储器配置逻辑(A4),用于根据要求实现不同带宽的切换;
错误寄存器读出逻辑(A5),用于将记录了存储器仿真系统在功能存取时错误发生的类型、时间、地点等信息的错误寄存器的内容读出经USB口输出到PC;
下载逻辑(A6),用于对FPGA芯片的逻辑连接关系进行重构。
3.如权利要求1或2所述的程控型/命令控制型存储器功能仿真系统,其特征在于可置换存储器界面(400)包含命令编码逻辑(B1),数据位移电路(B2),仿真错误监控逻辑(B3),内部存储器(B4)。
4.如权利要求1到3任一条所述的程控型/命令控制型存储器功能仿真系统,其特征在于模式设置逻辑(200)采用模式寄存器(mode register)和控制(control flags)的修改实现存储器功能仿真系统的多种配置。
5.如权利要求3所述的程控型/命令控制型存储器功能仿真系统,其特征在于命令解码逻辑(B1)可按照数据带宽的不同更改地址解码,或者通过多路开关选择不同的地址输入通道,实现存储器的不同访问操作,数据带宽转换电路提供8,16,32和64等不同数据带宽。
全文摘要
本发明提供了一种程控型/命令控制型存储器功能仿真系统,包含置于一块PFGA中的USB控制器,模式设置逻辑,侦错逻辑,置于另一块PFGA中的可配置存储器界面/内部存储器阵列,以及一个USB通讯口元件。本发明的程控型/命令控制型存储器功能仿真系统用于存储器的功能仿真,解决了目前存储器功能仿真领域中需要根据实际应用修改仿真系统的的问题。
文档编号G06F9/455GK1402128SQ0112644
公开日2003年3月12日 申请日期2001年8月10日 优先权日2001年8月10日
发明者王岐 申请人:上海捷硕微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1