CN102110047A - 一种在开发系统中读写ram的方法 - Google Patents
一种在开发系统中读写ram的方法 Download PDFInfo
- Publication number
- CN102110047A CN102110047A CN2009102434907A CN200910243490A CN102110047A CN 102110047 A CN102110047 A CN 102110047A CN 2009102434907 A CN2009102434907 A CN 2009102434907A CN 200910243490 A CN200910243490 A CN 200910243490A CN 102110047 A CN102110047 A CN 102110047A
- Authority
- CN
- China
- Prior art keywords
- data
- ram
- development system
- address
- jtag
- 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.)
- Granted
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明介绍一种在开发系统中读写RAM的方法,涉及到用开发系统对智能卡芯片程序开发和调试的领域。开发系统采用FPGA芯片仿真智能卡芯片的CPU等数字逻辑模块,用RAM仿真FLASH、EEPROM和ROM等存储器模块。各个存储器模块都可以通过CPU来访问。在开发系统上对智能卡芯片程序进行开发和调试的阶段,设计一条JTAG链以及相应的RAM接口模块来读写上述各存储器模块,将使得上述开发和调试过程更加方便、快捷。本发明通过对上述仿真、程序开发和调试阶段的存储器操作进行分类,设计一条JTAG链及其对应的RAM接口模块,便利了在开发系统上对智能卡芯片程序进行开发和调试。
Description
技术领域
本发明涉及到在开发系统上对仿真智能卡芯片的FLASH、EEPROM、ROM、RAM等存储器的RAM模块通过JTAG链进行快速、便捷的读写,从而实现对智能卡芯片运行的仿真和智能卡芯片程序开发和调试的领域。
背景技术
开发系统采用FPGA芯片仿真智能卡芯片的CPU等数字逻辑模块,用RAM仿真FLASH、EEPROM、ROM、RAM等存储器模块。各个存储器模块都可以通过CPU来访问。在对智能卡芯片运行进行仿真和智能卡芯片程序开发和调试的过程中,需要动态、快速的向各个存储器读写大容量的数据。为了保证这种读写操作的可靠、稳定、动态、快速,有必要设计独立于CPU和存储器之间的存取通道,以方便仿真和调试等工作。
发明内容
本发明的目的是提供一种在开发系统中通过JTAG链来读写RAM的方法,提供了独立于CPU的与存储器之间的存取通道,实现对仿真FLASH、EEPROM、ROM、RAM等存储器模块的RAM模块的快速读写,保证了仿真和调试等工作的可靠和快捷。
本发明中的开发系统为智能卡硬件开发系统,包括FPGA和RAM等芯片,其中FPGA中内嵌有可配置的RAM资源。FPGA经配置后可以实现对智能卡芯片的逻辑仿真。
本发明中对仿真智能卡芯片的FLASH、EEPROM、ROM、RAM等存储器的RAM模块的操作分为4类,分别是RAM类型的选择、对某一地址区域进行单一数据填充、数据写入、数据读取。
本发明中设计的JTAG链包括有数据域和选择域,数据域存储需要写入数据寄存器(DR)的数据或者需要移位输出的数据,选择域用来选择目标DR以便将数据域中的内容写入其中。DR包括RAMID、STARTADDR、ENDADDR、DATA。RAMID实现对仿真智能卡芯片的FLASH、EEPROM、ROM、RAM等存储器的多个RAM模块进行选择,STARTADDR和ENDADDR为待操作的RAM某一区域的起始和结束地址,DATA为待写入的RAM数据。地址和数据输入到统一的RAM接口模块对选中的RAM模块进行操作。
本发明中对某一地址区域进行单一数据填充的操作,地址和数据的输入是通过JTAG链在JTAG时钟域下进行,填充操作则是在快速时钟域进行。在填充过程中,先向JTAG链输入区域起始地址,再输入结束地址,最后输入用于填充的单一数据。RAM接口模块据此判断操作类型并启动填充,同时产生WAIT_OVER信息由JTAG链送出,并由外部程序读取,从而避免了由于填充区域大小不定使得填充时间不定并导致外部程序无法设定具体的等待时间的问题。
本发明中数据写入的操作,地址和数据的输入是通过JTAG链在JTAG时钟域下进行,数据向RAM的写入由RAM接口模块在JTAG时钟域下进行。在输入地址后,依次输入不同的数据。每个数据在后一个数据输入阶段写入,地址相应递加,从而实现在后一数据传输的阶段同步完成前一数据写入RAM,节省了时间。最后一个数据则是在TAP控制器从IDLE状态经过CaptureDR回到IDLE状态过程中写入。这可以在其他操作进行的时候实现,或者向移位寄存器输入一个无关数据实现。
本发明中数据读取的操作,地址的输入是通过JTAG链在JTAG时钟域下进行,数据从RAM中读取是由RAM接口模块在JTAG时钟域下进行,并由JTAG链输出。在依次输入地址后,前一地址的数据输出将在后一地址的输入阶段同步完成,从而节省了时间。最后一个地址中的数据则是在TAP控制器从IDLE状态经过CaptureDR回到IDLE状态过程中输出。这可以向移位寄存器输入一个无关地址来实现。
本发明中写入到仿真智能卡芯片的FLASH、EEPROM、ROM、RAM等存储器的RAM模块数据,与真实芯片一致,从而可以在开发系统上仿真芯片的行为;可以把仿真智能卡芯片的FLASH、EEPROM、ROM、RAM等存储器的RAM模块数据读出,从而可以判断真实芯片运行的结果。
附图说明
图1JTAG链和RAM接口模块框图
图2RAM类型的选择时序图
图3对某一地址区域进行单一数据填充时序图
图4数据写入时序图
图5数据读取时序图
具体实施方式
下面结合附图对开发系统中通过JTAG链读写RAM的方法进行详细说明。
图1为读取RAM的JTAG链和相关数据寄存器(DR)、RAM接口模块以及仿真FLASH、EEPROM、ROM、RAM等存储器模块的RAM0、RAM1、RAMn等模块的信号关系图。虚框为所设计的JTAG链及其数据寄存器。数据在TAP控制器的ShiftDR状态从TDI进入移位寄存器,同时移位寄存器原有数据从TDO输出。在TAP控制器的UpDateDR状态下,将移位寄存器数据域中的内容写入选择域选中的数据寄存器(DR),包括RAMID、STARTADDR、ENDADDR、DATA。
首先TDI输入RAMID,用来选择从RAM0到RAMn等多个RAM模块中的某一个。图2为RAMID的输入时序图,在TAP控制器的ShiftDR状态下向移位寄存器输入数据,在UpDateDR状态下,将数据域中的内容写入RAMID这个DR,实现对RAM的选择。在选中RAM后,可以对选定的RAM进行区域单一数据填充或者数据写入和数据读取操作。
图3为对RAM某一地址区域进行单一数据填充时序图。在先后向移位寄存器输入STARTADDR、ENDADDR、DATA后,这3个DR在相邻的UpDateDR状态更新到对应的DR,并送往图1所示的RAM接口模块。该模块根据这3个DR的操作顺序判断出是对区域进行单一数据填充后,启动填充操作,由地址、数据、控制信号产生模块产生在快速时钟域下的相应信号,包括ram_addr、ram_wr_n、ram_cs_n,输出给选中的RAM进行单一数据填充。在填充过程中,RAM接口模块产生WAIT_OVER信号,在TAP控制器的CapureDR状态捕捉并由移位寄存器输出。外部程序不断查询TDO上送出的信号,直到读取到填充结束信号。
图4为数据写入时序图。在预先向移位寄存器输入起始地址后,就可以不断的输入所要写入的DATA0、DATA1、...、DATAn。起始地址在UpDateDR状态下输入到STARTADDR这个DR中,DATA0、DATA1、...、DATAn在相邻的UpDateDR状态输入到DATA这个DR中。RAM接口模块根据这个DR操作顺序来启动数据写入操作。在DATA1输入到移位寄存器的过程中,DATA0写入到起始地址对应的RAM单元;在DATA2输入到移位寄存器的过程中,DATA1写入到从起始地址自动累加后的新的地址单元。最后一个数据DATAn的写入需要TAP控制器从IDLE状态经过CaptureDR回到IDLE状态。这可以在其他操作进行的时候实现,或者向移位寄存器输入一个无关数据实现。
图5为数据读取时序图。数据读取操作必须向ENDADDR这个DR写入地址信息。向移位寄存器不断输入的地址ADDR0、ADDR1、...、ADDRn将在相邻的UpDateDR阶段写入到ENDADDR中,RAM接口模块根据这个DR操作顺序来启动数据读取操作。在ADDR1输入到移位寄存器之前的TAP控制器状态下,ADDR0对应的RAM单元中的数据被读出并且在CaptureDR阶段写入到了移位寄存器的数据域;ADDR1在ShiftDR状态从TDI移位进入到移位寄存器时,该RAM单元数据从TDO移位输出。其余地址单元内容的读出依次类推。最后一个地址单元对应数据的读出需要TAP控制器从IDLE状态经过CaptureDR回到IDLE状态。这可以向移位寄存器输入一个无关地址来实现。
Claims (7)
1.一种在开发系统中通过JTAG链来读写RAM的方法,其特征在于:在开发系统上对智能卡芯片程序进行开发和调试过程中,通过JTAG链传输地址或者数据信号,由RAM接口模块产生仿真智能卡芯片存储器的RAM模块的地址、数据和控制信号,实现对RAM类型的选择、对某一地址区域单一数据填充、写入、读取操作。
2.根据权利要求1所述的在开发系统中通过JTAG链来读写RAM的方法,其特征在于所述JTAG链包括选择域和数据域,其中数据域存储写入数据寄存器的数据或移位输出的数据,选择域用来选择目标数据寄存器以将数据域中的内容写入其中。
3.根据权利要求1所述的在开发系统中通过JTAG链来读写RAM的方法,其特征在于通过JTAG链输入RAM模块号,实现对仿真智能卡芯片存储器的多个RAM模块进行选择,由统一的RAM接口模块对选中的RAM模块进行操作。
4.根据权利要求1所述的在开发系统中通过JTAG链来读写RAM的方法,其特征在于对某一地址区域进行单一数据填充的操作,地址和数据的输入通过JTAG链在JTAG时钟域下进行,填充操作则在快速时钟域进行。
5.根据权利要求1所述的在开发系统中通过JTAG链来读写RAM的方法,其特征在于在数据填充过程中,先向JTAG链输入区域起始地址,再输入结束地址,最后输入用来填充RAM区域的单一数据。
6.根据权利要求1所述的在开发系统中通过JTAG链来读写RAM的方法,其特征在于数据写入或读取操作中,在输入地址后,依次输入不同的数据或地址,在后一数据或地址的传输阶段同步完成前一数据写入或读取操作。
7.根据权利要求1所述的在开发系统中通过JTAG链来读写RAM的方法,其特征在于数据写入、读取的操作,地址和数据的输入通过JTAG链在JTAG时钟域下进行,数据向RAM的写入和读取由RAM接口模块在JTAG时钟域下进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102434907A CN102110047B (zh) | 2009-12-23 | 2009-12-23 | 一种在开发系统中读写ram的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102434907A CN102110047B (zh) | 2009-12-23 | 2009-12-23 | 一种在开发系统中读写ram的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102110047A true CN102110047A (zh) | 2011-06-29 |
CN102110047B CN102110047B (zh) | 2013-12-11 |
Family
ID=44174213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102434907A Active CN102110047B (zh) | 2009-12-23 | 2009-12-23 | 一种在开发系统中读写ram的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102110047B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999453A (zh) * | 2012-10-12 | 2013-03-27 | 杭州中天微系统有限公司 | 用于系统芯片集成的通用非易失性存储器控制装置 |
CN103853629A (zh) * | 2012-11-29 | 2014-06-11 | 艺伦半导体技术股份有限公司 | 数据流存储方法及现场可编程门阵列 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1841270A (zh) * | 2005-04-01 | 2006-10-04 | 北京清华同方微电子有限公司 | 一种用于智能卡仿真调试系统的接口 |
US20090058462A1 (en) * | 2005-01-21 | 2009-03-05 | Actel Corporation | Field programmable gate array including a nonvolatile user memory and method for programming |
-
2009
- 2009-12-23 CN CN2009102434907A patent/CN102110047B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090058462A1 (en) * | 2005-01-21 | 2009-03-05 | Actel Corporation | Field programmable gate array including a nonvolatile user memory and method for programming |
CN1841270A (zh) * | 2005-04-01 | 2006-10-04 | 北京清华同方微电子有限公司 | 一种用于智能卡仿真调试系统的接口 |
Non-Patent Citations (1)
Title |
---|
吴皓等: "基于JTAG的DSP处理器嵌入式调试接口设计", 《计算机工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999453A (zh) * | 2012-10-12 | 2013-03-27 | 杭州中天微系统有限公司 | 用于系统芯片集成的通用非易失性存储器控制装置 |
CN102999453B (zh) * | 2012-10-12 | 2015-09-09 | 杭州中天微系统有限公司 | 用于系统芯片集成的通用非易失性存储器控制装置 |
CN103853629A (zh) * | 2012-11-29 | 2014-06-11 | 艺伦半导体技术股份有限公司 | 数据流存储方法及现场可编程门阵列 |
Also Published As
Publication number | Publication date |
---|---|
CN102110047B (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541707B (zh) | 复用jtag接口的fpga片内逻辑分析仪系统和方法 | |
CN102087606B (zh) | 一种fpga配置文件更新装置 | |
US6182247B1 (en) | Embedded logic analyzer for a programmable logic device | |
CN100573537C (zh) | 一种soc芯片系统级验证系统及方法 | |
CN106291336A (zh) | 一种 fpga 测试配置码流实时下载方法及系统 | |
CN201886122U (zh) | 一种基于pxi总线的数字测试模块 | |
CN101504692B (zh) | 一种验证和测试片上系统的系统及方法 | |
US8607174B2 (en) | Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA | |
CN106843983A (zh) | 远程升级现场可编程门阵列的系统及方法 | |
CN104572384B (zh) | 一种芯片多fpga验证方法 | |
CN109783340B (zh) | SoC的测试代码烧写方法、IP测试方法及装置 | |
CN105930186B (zh) | 多cpu的软件加载方法及基于多cpu的软件加载装置 | |
CN101694512A (zh) | 测试电路和片上系统 | |
JP2014120155A (ja) | 単一のフィールド・プログラマブル・ゲート・アレイ(fpga)のキャパシティを超過するエンベデッド・プロセッサのデザインのタイミング及びソフトウェアデバッグ用検証モジュール装置 | |
CN104200846B (zh) | 一种嵌入式prom测试系统及实现方法 | |
CN103376340A (zh) | 一种转接板、多平台串行测试系统及方法 | |
CN110457033A (zh) | 用于在gpu上生成动态踪迹数据的装置和方法 | |
CN106682296A (zh) | 一种面向fpga的多路通用化配置加载控制系统及方法 | |
CN108920197A (zh) | 一种提高fpga串行被动加载速率的加载电路及加载方法 | |
CN102110047B (zh) | 一种在开发系统中读写ram的方法 | |
CN101196556A (zh) | 进行并行测试判定的soc及其实现方法 | |
CN107068196A (zh) | 用于闪存的内建自测试电路、系统及方法 | |
CN104459522A (zh) | 芯片自测方法及系统 | |
CN102193860B (zh) | 微控制器在线调试电路及方法、微控制器 | |
CN109426671A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP02 | Change in the address of a patent holder |
Address after: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building, Patentee after: Beijing CEC Huada Electronic Design Co., Ltd. Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer Patentee before: Beijing CEC Huada Electronic Design Co., Ltd. |