半导体装置和追踪数据存储方法与流程

文档序号:16468225发布日期:2019-01-02 22:54阅读:148来源:国知局
半导体装置和追踪数据存储方法与流程

包括说明书、附图和摘要的于2017年6月23日提交的日本专利申请no.2017-123242的公开内容通过引用整体上并入本文。

本发明涉及半导体装置和追踪数据存储方法,并且涉及例如具有dma(直接存储器访问,directmemoryaccess)控制器的半导体装置和在这种半导体装置中的追踪数据存储方法。



背景技术:

日本未经审查的专利申请公开no.2003-6003(专利文献1)公开了具有诸如cpu(中央处理单元)和dma控制器的功能模块的半导体集成电路。在专利文献1中记载了,在这种半导体集成电路中,为了辅助程序和系统的调试,追踪经由功能模块和dma控制器所耦接到的总线所传送的地址和数据。

具体而言,在专利文献1中,dma控制器经由多个通道接收dma请求。dma控制器具有仲裁装置,并且仲裁装置根据预先指派给多个通道的优先级来选择经由所述多个通道接收的多个dma请求中的一个。在专利文献1中,关于由仲裁装置选择的dma请求的追踪数据被存储在追踪缓冲器中。



技术实现要素:

存在dma控制器以预定访问单位为基础访问存储器的情况。另一方面,存在由dma控制器接收到的dma请求所指定的传送数据的范围不限于预定访问单位并且由dma请求所指定的传送数据的范围与预定访问单位不匹配的情况。在对存储器的未对准访问的情况下,dma控制器以预定访问单位为基础访问存储器、从自存储器获得的数据提取必要的数据,并将其传送到传送目的地的设备。

但是,在专利文献1中描述的半导体集成电路中,在存储追踪数据时不考虑未对准的访问。在专利文献1中,经由总线传送的数据被存储在追踪缓冲器中。因此,当发生未对准的访问时,不仅实际dma传送的数据而且外围的地址的数据都被存储到追踪缓冲器中。

其它目标和新颖特征将从附图和说明书的描述中变得清楚。

根据实施例,半导体装置具有以预定访问单位访问存储器的dma控制器以及追踪接口。当dma请求指示“读取”时,追踪接口将由dma控制器从存储器获得的数据、由dma请求指定的开始地址以及从存储器获得的数据中的有效传送大小输出到追踪电路。追踪电路将由存储器获得的数据中从dma请求指定的开始地址起的有效传送大小的量的数据存储到追踪缓冲器中。

根据该实施例,在要dma传送的数据变得与访问存储器的单元不对准的情况下,也可以抑制将不必要的数据存储到追踪缓冲器。

附图说明

图1是图示根据第一实施例的半导体装置的框图。

图2是图示dma控制器的配置的框图。

图3是示意性地图示dma控制器的存储器访问的图。

图4是图示当dma控制器从存储器读取数据时的操作信号的示例的时序图。

图5是图示当执行数据读取时输出到追踪电路的信号的时序图。

图6是图示当dma控制器将数据写入存储器时的操作信号的示例的时序图。

图7是图示当执行数据写入时输出到追踪电路的信号的时序图。

具体实施方式

在下文中,将参考附图详细描述用于解决问题的手段所应用到的实施例。为了使描述清楚,以下描述和附图被适当地省略和简化。在附图中作为执行各种处理的功能块示出的要素可以作为硬件由cpu(中央处理单元)、存储器和其它电路配置,以及可以作为软件由加载到存储器等的程序实现。因此,本领域技术人员理解,那些功能块可以通过仅硬件、仅软件或硬件和软件的组合以各种形式实现,并且不限于它们中的任何。在附图中,相同的参考标记被指派给相同的部件,并且根据需要省略重复的描述。

上述程序通过使用各种类型的非瞬态计算机可读介质来存储并且可以被供给到计算机。非瞬态计算机可读介质包括各种类型的有形存储介质。非瞬态计算机可读介质的示例包括磁记录介质(例如,软盘、磁带和硬盘)、磁-光记录介质(例如,磁-光盘)、cd-rom(只读存储器)、cd-r、cd-r/w和半导体存储器(例如,掩模rom、prom(可编程rom)、eprom(可擦除prom)、闪存rom和ram(随机存取存储器))。程序可以由各种类型的瞬态计算机可读介质中的任何来供给。瞬态计算机可读介质的示例包括电信号、光信号和电磁波。瞬态计算机可读介质可以经由诸如电线或光纤的有线通信路径或无线通信路径将程序供给到计算机。

在下面的实施例中,当为了方便起见而有必要时,通过将实施例划分成多个部分或实施例来进行描述。除非另有明确指定,否则它们彼此不相关,但具有诸如其中一个是另一个的一部分或全部的变形例、应用例、详细描述和补充说明的关系。在以下的实施例中,在涉及要素等的数字(包括件数、数值、数量和范围)的情况下,除了明确提到的情况、本发明原则上明确地限于具体值的情况等以外,本发明不限于具体值。该数字可以大于或小于具体值。

另外,在以下的实施例中,显然,除了明确提及的情况、认为部件原则上明确必要的情况等以外,部件(包括操作步骤)并不总是必要的。类似地,在下面的实施例中,当提到部件的形状、位置关系等时,除了明确提到的情况、认为形状等原则上不是明确相似的情况等以外,它们基本包括与其接近或相似的形状等。这类似地适用于数量等(包括件数、数值、数量和范围)。

第一实施例

图1图示了根据第一实施例的半导体装置。半导体装置10具有多个cpu11、dma控制器12、开关13、存储器14、追踪电路15和追踪缓冲器16。图1图示了半导体装置10具有三个cpu11的示例。但是,cpu11的数量不受限制。例如,半导体装置10具有至少一个cpu11就足够了。虽然在图1中未示出,但是半导体装置10可以具有其它外围装置等。

cpu11和dma控制器12经由开关13耦接到存储器14。cpu11中的每一个和开关13经由总线51耦接,并且dma控制器12和开关13经由总线52耦接。开关13和存储器14经由总线53耦接。开关13例如是将耦接到每个cpu11的总线51和耦接到dma控制器12的总线52之一与耦接到存储器14的总线53耦接的交叉开关。总线51至53是例如用于根据axi(高级可扩展接口)总线协议执行通信的axi总线。

dma控制器12接收dma请求并根据接收到的dma请求访问存储器14。dma请求包括例如指示读取或写入的访问类型的信息、关于地址的信息(开始地址)、关于传送目的地或传送源的信息以及诸如传送数据大小的信息。dma控制器12例如经由总线52从存储器读取数据,并将读取的数据传送到诸如未示出的外围设备的传送目的地。可替代地,dma控制器12从传送源获得数据,并将获得的数据经由总线52写入存储器14。

在该实施例中,dma控制器12经由总线52以预定访问单位为基础访问存储器14。例如,总线52包括具有预定数据宽度的数据总线,并且dma控制器12对可以被预定的数据宽度整除(exactlydivisible)的地址以预定的数据宽度为单位基础访问存储器14。具体而言,例如,在从存储器14读取数据的情况下,dma控制器12使用可被八个字节整除的地址作为读取开始地址,并以8字节为单位基础从该地址起读取数据。

dma控制器12包括追踪接口24。追踪接口24将关于通过dma控制器12经由总线52对存储器14的访问的信息经由总线53输出到追踪电路15。例如,可以使用axi总线或通过扩展axi总线所获得的总线作为总线53。追踪电路15收集追踪数据并将其存储到追踪缓冲器16中。追踪缓冲器16是用于存储追踪数据的存储设备。例如,追踪电路15基于从追踪接口24输出的信息生成追踪数据并将其存储到追踪缓冲器16中。并不总是有必要在dma控制器12的内部设置追踪接口24。追踪接口24可以设置在dma控制器12的外部。

dma控制器

图2图示了dma控制器12的配置。dma控制器12具有请求接收单元21、传送处理单元22、缓冲器23和追踪接口24。请求接收单元21从另一个设备(例如,从cpu11)接收dma请求。dma请求包括从存储器14读取数据的“读取”和向存储器14写入数据的“写入”。请求接收单元21包括例如寄存器。通过由cpu11(参考图1)等向寄存器写入dma请求,dma请求被接收。请求接收单元21具有例如多个通道并且被配置为可以接收多个dma请求。

传送处理单元22根据由请求接收单元21接收的dma请求来访问存储器14。当dma请求指示“读取”时,传送处理单元22经由总线52将读取请求发送到存储器14。存储器14接收读取请求,并且响应于此,经由总线52将读取数据发送(返回)到传送处理单元22。传送处理单元22将从存储器14获得的读取数据传送到由dma请求指定的传送目的地。当dma请求指示“写入”时,传送处理单元22从dma请求中指定的传送源获得写入数据,并经由总线52将写入请求和写入数据发送到存储器14。当接收到写入请求时,存储器14存储写入数据。

总线52包括例如读取地址通道、读取数据通道、写入地址通道和写入数据通道。当dma请求指示“读取”时,传送处理单元22经由总线52的读取地址通道将包括读取开始地址(araddr)的读取请求发送到存储器14。读取请求还可以包括突发(burst)大小(arsize)和突发长度(arlen)。传送处理单元22经由总线52的读取数据通道从存储器14获得读取数据(rdata)。

另一方面,当dma请求指示“写入”时,传送处理单元22经由总线52的写入地址通道将包括写入开始地址(awaddr)的写入请求发送到存储器14。写入请求还可以包括突发大小(awsize)和突发长度(awlen)。传送处理单元22经由总线52的写入数据通道发送用于指定在输出到写入数据通道(用于写入的数据总线)的数据中要写入的数据的选通信号(wstrb)和写入数据(wdata)。当dma控制器12访问存储器14时,读取数据通道和写入数据通道的数据总线的数据宽度与例如预定访问单位对应。

传送处理单元22可以包括请求管理缓冲器25。请求管理缓冲器25管理dma请求与输出到存储器14的读取请求之间的对应关系。请求管理缓冲器25存储例如dma请求的id(标识符)、接收dma请求的通道、读取请求的id以及读取请求中所包括的读取开始地址,以便彼此相关联。请求管理缓冲器25还存储dma请求的id、与由dma传送指定的开始地址和读取开始地址之间的差对应的低位(low-order)地址(地址偏移)以及被dma传送的数据的数据大小,以便彼此相关联。传送处理单元22参考请求管理缓冲器25来执行dma传送处理。

缓冲器23存储从dma控制器12输出到总线52的信号以及由dma控制器12从总线52接收的信号。缓冲器23暂时存储例如上述通道的信号。更具体而言,缓冲器23暂时存储经由读取地址通道发送到存储器14的读取请求,并且暂时存储经由读取数据通道发送到dma控制器12的读取数据。缓冲器23暂时存储经由写入地址通道发送到存储器14的写入请求,并暂时存储经由写入数据通道发送到存储器14的写入数据和选通信号。追踪接口24基于存储在缓冲器23中的信号生成经由总线53输出到追踪电路15的信号。

现在将描述以预定访问单位为基础的存储器访问。在传送数据时,dma控制器12执行还读取未实际传送的数据以及仅传送(写入)必要数据的操作,作为更高总线效率的访问方法。dma控制器12通过突发传送来实现这种操作。在axi协议中,在突发传送的情况下,由读取请求指定的读取开始地址(araddr)必须由与每个单元的数据大小(arsize)对准的地址指定。但是,存在dma控制器12以与每个单元的数据大小未对准(对偏)的地址范围传送数据的情况。

图3示意性地图示了由dma控制器12进行的存储器访问。将检查每个单元的数据大小是八字节并且dma控制器12以8字节单位为基础访问存储器14的情况。将检查dma控制器12接收dma请求的情况,该dma请求使用地址01h作为开始地址、从该开始地址起读取32字节的数据并且将读取数据传送到传送目的地的。

在从存储器14读取数据的情况下,dma控制器12例如使用可被八个字节整除的地址(边界地址)(诸如地址00h、08h、10h、18h和20h)作为读取开始地址来访问存储器14。当由dma请求指定的开始地址与对存储器14的访问单元不匹配时,和/或当dma传输的数据的大小小于预定访问单位时,dma控制器12对存储器14的访问变成未对准的访问。

在dma请求指示“读取”的情况下,dma控制器12(传送处理单元22)确定由dma请求指定的开始地址是否与以预定访问单位的边界地址匹配。当确定它们不匹配时,dma控制器12经由总线52将包括与边界地址对准的地址作为读取开始地址的读取请求输出到存储器14。例如,当由dma请求指定的开始地址为01h并且dma传送的数据大小为32字节时,dma控制器12经由总线52请求存储器14以从地址00h至27h获得40字节的数据。

当从dma控制器12接收到读取请求时,存储器14经由总线52向dma控制器12发送包括在由dma请求指定的范围内的数据和该范围外的数据的数据。具体而言,存储器14经由总线52向dma控制器12发送从地址00h至27h的40字节数据。dma控制器12使用由dma请求指定的地址01h作为首地址从由存储器14获得的40字节的数据中提取32字节的数据,并将其传送到由dma传送指定的传送目的地。

在上面的示例中,dma控制器12从存储器14获得40字节的数据,所述40字节的数据不仅包括实际上被dma传送的32字节的数据,还包括外围地址的数据。在这个时候,当追踪电路15简单地将经由总线52从存储器14输出到dma控制器12的数据作为追踪数据存储到追踪缓冲器16中时,未实际传送的额外数据也被存储在追踪缓冲器16中。在这种情况下,例如,当中断点等被设置在没有被实际传送的数据的地址中时,存在发生暂时停止cpu11等的操作并通知外部调试工具的事件以及预期的调试不被执行的可能性。该实施例提供了主要用于解决这种问题的手段。

再次参考图2,在本实施例中dma请求指示“读取”的情况下,为了解决该问题,追踪接口24经由总线54向追踪电路15输出从存储器14获得的数据、由dma请求指定的开始地址和从存储器14获得的数据中的有效传送大小。有效传送数据大小是指由dma请求指定的范围内的数据的数据大小。换句话说,有效传送数据大小是指从存储器14获得的数据中要被dma传送的数据的大小。

在未对准的访问的情况下,追踪接口24将包括在缓冲器23中缓冲的读取请求中的存储器14的读取开始地址重写为由dma请求指定的开始地址,并向追踪电路15输出其中读取开始地址被重写的读取请求和缓冲器23中缓冲的读取数据。在这个时候,追踪接口24可以将在总线52的读取地址通道上不存在的有效传送大小添加到读取请求,并且将结果输出到追踪电路15。

例如,当dma控制器12输出读取请求时,追踪接口24参考请求管理缓冲器25将从缓冲器23获得的读取请求中所包括的读取开始地址重写为由dma请求指定的开始地址。更具体而言,例如,追踪接口24从请求管理缓冲器25读取与读取请求对应的偏移地址(低位地址),并且通过将读取的偏移地址添加到包括在读取请求中的读取开始地址而将包括在读取请求中的读取开始地址重写为由dma请求指定的开始地址。当访问不是未对准的访问时,读取开始地址和由dma请求指定的开始地址匹配,并且偏移地址为零。因此,即使偏移地址被添加到包括在读取请求中的读取开始地址,读取开始地址也不改变。追踪接口24从请求管理缓冲器25获得有效传送大小、将所获得的有效传送大小添加到读取请求,并将结果输出到追踪电路15。

追踪电路15将从存储器14获得的数据中从由dma请求指定的开始地址起的有效传送大小的量的数据存储到追踪缓冲器16中。例如,在图3的示例中,追踪电路15将从存储器14获得的40字节的数据中从地址01h起的有效传送大小的32字节的量的数据连同其它伴随信息一起存储到追踪缓冲器16中。以这种方式,即使在未对准的访问的情况下,在从存储器14获得的数据中也只有要dma传送的数据可以被存储到追踪缓冲器16中。

另一方面,当dma请求指示“写入”时,追踪接口24将输出到存储器14的数据中的由选通信号指定为要写入的数据的数据、由dma请求指定的开始地址以及输出到写入数据通道的数据中的有效传送大小输出到追踪电路15。例如,追踪接口24获得从缓冲器23输出到写入数据通道的数据,并且将所获得的数据中的由选通信号指定为要写入的数据的数据移位到最高有效位或最低有效位侧。追踪接口24将其位位置被移位的数据和从缓冲器23获得的写入请求输出到追踪电路15。在这个时候,追踪接口24可以将有效传送大小添加到写入请求,并将结果输出到追踪电路15。

追踪电路15将从追踪接口24输出的数据存储到追踪缓冲器16中。追踪电路15将例如在追踪接口24中被移位到最高有效位侧或最低有效位侧的数据中从最高有效位或最低有效位起的有效传送大小的量的数据存储到追踪缓冲器16中。

读取的操作示例

以下,将描述操作示例。图4图示了当dma控制器12从存储器14读取数据时的操作信号的示例。图4中图示的读取请求的id(arid)(参考(b))、读取开始地址araddr(参考(c))、突发大小arsize(参考(d))和突发长度arlen(参考(e))表示总线52的读取地址通道中的信号。读取id(rid)(参考(f))、读取数据rdata(参考(g))和读取最后信号rlast(参考(h))表示在总线52的读取数据通道中的信号。总线52在根据时钟信号clk(参考(a))的定时操作。

dma控制器12接收在存储器14中从地址01h起读取32字节的数据并将其传送到作为传送目的地的设备的dma请求(也参考图3)。dma控制器12在时间t11通过总线52的读取地址通道发出读取请求。dma控制器12在时间t11发出araddr为“00h”、arsize为“3”并且arlen为“4”的读取请求。即,dma控制器12对存储器14发出读取开始地址是00h、突发大小是8个字节并且突发长度是五次的读取请求。

存储器14接收读取请求,例如,在时间t12根据读取请求开始数据读取,并且将读取数据作为对读取请求的响应输出到dma控制器12。具体而言,存储器14从由araddr指示的地址00h起读取数据五次、每次八个字节,并且顺序地将每次八个字节的读取数据作为rdata输出到dma控制器12。作为读取数据通道中的rid,使用与读取请求中包括的arid相同的id。在时间t13读取最后的数据之后,存储器14断言读取最后信号rlast并向dma控制器12通知数据是最终数据。

图5图示了当执行数据读取时输出到追踪电路的信号。追踪接口24将在总线52中的读取请求的id(arid)作为dmatrcarid输出(参考(a)),将突发大小arsize作为dmatrcarsize输出(参考(c)),并将突发长度arlen作为dmatrcarlen输出(参考(d))。追踪接口24还将总线52上的读取id(rid)作为dmatrcdrid输出(参考(f))并将读取数据rdata作为dmatrcdrdata输出(参考(g))。

在该实施例中,代替将在总线52中的读取开始地址araddr原样输出到追踪电路15,追踪接口24将通过将存储在请求管理缓冲器25中的偏移地址(参考图2)加到读取开始地址araddr所获得的地址作为dmatrcaraddr(参见(b))输出。具体而言,追踪接口24输出通过将偏移地址“01h”(也参考图3)加到araddr“00h”所获得的地址,作为dmatrcaraddr。

追踪接口24生成作为总线52中不存在的信号的有效传送大小dmaartrsz(参考(e))。具体而言,追踪接口24从请求管理缓冲器25获得被dma传送的数据的“32字节”的数据大小,并将指示有效传送大小为32字节的dmatrartrsz“1fh”输出到追踪电路15。在这个示例中,追踪电路15将从追踪接口24输出的40字节的dmatrcdrdata中的在图5中阴影线的地址范围(01h至20h)中的数据作为有效数据存储到追踪缓冲器16中。

写入的操作示例

图6图示了当dma控制器12将数据写入存储器14时的操作信号的示例。图6中图示的写入请求的id(awid)(参考(b))、写入开始地址awaddr(参考(c))、突发大小awsize(参考(d))和突发长度awlen(参考(e))表示总线52的写入地址通道中的信号。写入id(wid)(参考(f))、读取数据wdata和选通信号wdtrb(参考(g))以及写入最后信号wlast(参考(h))表示总线52的写入数据通道中的信号。以类似于图4的方式,总线52以根据时钟信号clk(参考(a))的定时操作。

将检查dma控制器12接收从传送源获得32字节的数据并在存储器14中从地址01h起写入32字节的数据的dma请求的情况。当写入未对准时,dma控制器12适当地划分数据并发出多个写入请求。dma控制器12例如将32字节的数据划分成一个字节、两个字节、四个字节、24个字节和一个字节的五条数据,并顺序地发出用于将划分的数据写入存储器14的写入请求。

首先,dma控制器12在时间t21经由总线52的写入地址通道发出第一写入请求。在时间t21,dma控制器12发出awaddr为“01h”、awsize为“0”并且awlen为“0”的写请求。即,dma控制器12发出突发大小为从地址01h起的一个字节,并且突发长度为一次的写请求到存储器14。此时,dma控制器12通过使用选通信号wstrb向存储器14通知例如在8字节的数据总线中的部分的数据是要被写入的数据(有效数据)。

随后,dma控制器12在时间t22通过总线52的写入地址通道发出第二写入请求。在时刻t22,dma控制器12发出awaddr为“02h”,awsize为“1”并且awlen为“0”的写入请求。即,dma控制器12向存储器14发出突发大小为从地址02h起两个字节并且突发长度为一次的写入请求。

随后,dma控制器12在时间t23通过总线52的写入地址通道发出第三写入请求。在时间t23,dma控制器12发出awaddr为“04h”、awsize为“2”并且awlen为“0”的写入请求。此后,类似地,dma控制器12在时间t24发出awaddr为“08h”、awsize为“3”并且awlen为“2”的写入请求,并且在时间t25发出awaddr为“20h”、awsize为“0”并且awlen为“0”的写入请求。

当接收到写入请求时,根据写入请求,存储器14将数据写入由awaddr指定的地址。在时间t22,存储器14根据第一写入请求在由awaddr指示的地址01h中写入一个字节的数据。作为写入数据通道中的wid,使用与每个写入请求中包括的awid相同的id。存储器14在时间t22断言写入最后信号wlast,并向dma控制器12通知写入的数据是第一写入请求的最终数据。

此后,类似地,存储器14在时间t23根据第二写入请求从由awaddr指示的地址02h起写入两个字节的数据,并且在时间t24根据第三写入请求从由awaddr指示的地址04h起写入四个字节的数据。存储器14在时间t25根据第四写入请求从由awaddr指示的地址08h起连续写入八个字节的数据三次,并且在时间t26根据第五写入请求从由awaddr指示的地址20h起写入一个字节的数据。

图7图示了当执行数据写入时输出到追踪电路的信号。追踪接口24将总线52中的写入请求的id(awid)作为dmatrcawid输出(参考(a)),将突发大小awsize作为dmatrcawsize输出(参考(c)),并将突发长度awlen作为dmatrcawlen输出(参考(d))。追踪接口24还将总线52中的写入id(wid)作为dmatrcdwid输出(参见(f))。

在该实施例中,追踪接口24向追踪电路15输出通过将写入数据wdata移位到最低有效位侧而获得的数据作为dmatrcdwdata(参考(g))。数据移位之后的数据不存在的部分用例如“0”填充。以类似于读取的情况的方式,追踪接口24生成作为总线52中不存在的信号的有效传送大小dmaawtrsz(参考(e))。有效传送大小dmaawtrsz可以基于选通信号wstrb生成。以类似于读取的情况的方式,追踪电路15将从追踪接口24输出的dmatrcdwdata中的有效传送大小的量的数据存储到追踪缓冲器16中。

概要

在实施例中,追踪电路15经由追踪接口24从dma控制器12获得数据等。当由dma控制器12接收的dma请求指示“读取”时,追踪接口24向追踪电路15输出由dma控制器12从存储器获得的数据、由dma请求指定的开始地址以及从存储器获得的数据中的有效传送大小。追踪电路15将从存储器获得的数据中的从dma请求指定的开始地址起的有效传送大小的量的数据存储到追踪缓冲器16中。

在一些情况下,dma控制器12从存储器14中读取对于dma传送不必要的地址范围中的数据,并且通过总线52的数据包括不必要的数据。当这种不必要的数据存储在追踪缓冲器16中时,不必要的数据在调试时被认为是有效数据。例如,在调试中由dma控制器12监视对任意地址范围的数据访问(dma发出访问)的情况下,当不必要的数据被视为有效数据的时,存在发生不必要的事件并且调试不能正常执行的可能性。

在实施例中,追踪接口24将由请求管理缓冲器25管理的偏移地址添加到包括在读取请求中的读取开始地址,并且向追踪电路15输出添加了偏移地址的读取开始地址。向其添加了偏移地址的读取开始地址与dma请求指定的开始地址相匹配。追踪接口24将由请求管理缓冲器25管理的传送数据大小(有效传送大小)添加到输出到总线52的读取请求,并将结果输出到追踪电路15。通过使用该信息,追踪电路15可以知道从存储器14获得的数据的一部分中的有效数据。在该实施例中,通过例如由追踪电路15仅将数据中的有效部分存储到追踪缓冲器16中,可以抑制在调试中不必要的数据被视为有效数据的情况。

第二实施例

接下来,将描述第二实施例。根据第二实施例的半导体装置的配置可以与图1中所示的根据第一实施例的半导体装置10的配置类似。在该实施例中,dma控制器12通过向多个读取请求和写入请求中的每一个指派追踪标识符来执行管理。追踪接口24还将追踪标识符输出到追踪电路15。其它要点可以类似于第一实施例的要点。

在第二实施例中,假设dma控制器12可以发出例如至多16个读取请求。例如,每当发出读取请求时,传送处理单元22(参考图2)将读取请求的id(arid)、读取开始地址(araddr)、偏移地址等添加到请求管理缓冲器25。当从存储器14获得对请求的所有响应时,传送处理单元22从请求管理缓冲器25中删除与读取请求对应的条目。

在该实施例中,例如,arid被扩展,通过将用于追踪的添加id添加到arid而获得的id被用作追踪标识符(追踪id)。更具体而言,例如,通过将四位的添加id添加到四位的arid而获得的总共八位的id被用作追踪id。添加id用于识别具有相同arid的多个读取请求。在写入侧同样,将通过将四位的添加id添加到awid所获得的id用作追踪id。

在这种情况下,当接收到多个读取请求时,存储器14(的控制器)按照从对其的响应变为就绪的请求的次序输出读取数据,而不是按照接收请求的次序。例如,将检查发出具有arid(arid1)的两个读取请求并且随后发出具有另一个arid(arid2)的读取请求的情况。存在在对arid1的读取请求的响应之前从存储器14输出对arid2的读取请求的响应的情况。

在这种情况下,在该实施例中,当arid1的第一读取请求被输出到追踪电路15时,追踪接口24将追踪id(arid1+0001b)输出到追踪电路15以代替arid。追踪接口24将对arid1的第二读取请求的追踪id(arid1+0010b)输出到追踪电路15。追踪接口24将对arid2的读取请求的追踪id(arid2+0010b)输出到追踪电路15。假设对具有相同id的多个读取请求的响应按次序获得。

dma控制器12通过使用例如请求管理缓冲器25来对读取请求的每个id的响应的次数进行计数,并且使用该计数信息作为添加id。当dma控制器12从存储器14获得其rid是arid1的第一响应(读取数据)时,追踪接口24输出追踪id(arid1+0001b)作为dmatrcarid。当dma控制器12获得其rid为arid1的第二响应时,追踪接口24输出追踪id(arid1+0010b)作为dmatrcarid。当dma控制器12获得其rid为arid2的响应时,追踪接口24输出追踪id(arid2+0010b)作为dmatrcarid。

概要

在实施例中,追踪接口24将追踪id输出到追踪电路15。追踪电路15将例如包括追踪id的读取请求和写入请求存储到追踪缓冲器16。通过使用追踪id,在调试的情况下,可以从具有相同id的多个读取和写入请求中识别对从存储器14输出的响应的请求。通过使用追踪id,例如,当追踪功能的开/关被动态切换时或者当响应的一部分被丢弃时,在调试时请求和响应也可以正确地关联。

例如,当dma的突出(outstand)为1时,通过监视总线52,可以容易地配置追踪电路15而无需使用追踪接口24。但是,考虑读取请求被乱序处理的情况,当缓存通过总线52的响应并且核对(collated)它们中是否存在作为断点的地址的数据时,存在核对不能赶上总线52的高操作速度的可能性。在该实施例中,由于使用了追踪id,因此请求和响应之间的对应关系可以被容易地确定,并且频率相对低。因此,存在可以生成在定时上也有余量的电路的效果。

虽然以上已基于实施例具体描述了由本文发明人实现的本发明,但显然,本发明不限于前述实施例并且可以在不脱离主旨的情况下进行各种改变。

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