一种异步数据读写控制方法、装置及系统制造方法及图纸

技术编号:7736061 阅读:165 留言:0更新日期:2012-09-09 17:27
本发明专利技术适用于芯片设计领域,提供了一种异步数据读写控制方法、装置及系,所述方法包括下述步骤:采集来自命令发起端的读写命令,生成命令数据包,所述命令数据包包括所述读写命令的使能信号、地址信号和数据信号;通过命令发起端的时钟触发,对所述命令数据包进行缓存,同时令缓存状态信号为有效;通过命令接收端的时钟触发,在所述命令数据包被命令接收端获取的同时令所述缓存状态信号为无效。本发明专利技术通过在将命令发起端的读写命令封装后进行缓存的同时,在命令发起端的时钟触发下设置缓存状态信号为有效,并在命令接收端将该命令取走的同时在命令接收端的时钟触发下设置缓存状态信号为无效,实现了缓存状态的及时反馈和不同时钟域的有效隔离。

【技术实现步骤摘要】

本专利技术属于芯片设计领域,尤其涉及一种异步数据读写控制方法、装置及系统
技术介绍
在芯片设计中,通常涉及到 芯片接ロ模块的跨时钟域数据读写过程,当以总线形式进行数据的双向传输时,常常面临到数据输入输出的读、写冲突,从而导致数据接收错误,因此,需要对异步传输数据进行读写控制。现有的异步数据读写控制方法通常采用异步先入先出(First InputFirstOutput,FIFO)方式实现,在将双ロ随机存取存储器(Random Access Memory,RAM)的地址进行格雷码转换后,通过判决地址的距离来判断FIFO的空满状态,并将其作为跨时钟域的握手信号。上述方法适用于大批量固定方向数据传输的情况,很好地隔离了不同的时钟域,但其控制逻辑复杂,且当面临到少量数据的传输需求时,上述方法需要的传输延迟时间较长,导致数据读写效率低下。另ー种针对少量异步数据进行读写控制的方法是直接采用总线握手的方式,其控制逻辑简单,但在无法确定两个时钟频率快慢关系时或者在两个时钟域内发生双向数据传输时,为保证信号的稳定传输,双端的同步控制逻辑的传播延时非常大,否则就容易发生判决不清或者时钟域隔离不干净等情况,导致信号传输的不稳定。以图I所示的异步数据读写控制时序为例,其命令发起端为ー个频率为100MHz的中央处理器(Central Processing Unit, CPU),命令接收端为一个频率为30MHz的命令转接ロ,其操作对象为ー个频率为30MHz的多媒体存储卡(Multi Media Card, MMC)控制器,CPU通过命令转接ロ向MMC控制器进行寄存器读写。容易看到,若直接采用总线握手的方式,当CPU发起读命令,需要从地址为addrB的MMC控制器寄存器地址中读取数据时,由于命令转接ロ的时钟域(slave_clk)与CPU的时钟域(main_clk)不同,在CPU发起读命令时,命令转接ロ不处于其时钟触发状态,因此无法触发对该读命令的采集动作,由此错过了此次的数据读取过程。
技术实现思路
本专利技术实施例的目的在于提供一种异步数据读写控制方法,g在解决现有技术无法在保证对跨时钟域进行有效隔离的同时,简单、快速地完成异步数据读写过程的问题。本专利技术实施例是这样实现的,一种异步数据读写控制方法,所述方法包括下述步骤采集来自命令发起端的读写命令,生成命令数据包,所述命令数据包包括所述读写命令的使能信号、地址信号和数据信号;通过命令发起端的时钟触发,对所述命令数据包进行缓存,同时令缓存状态信号为有效;通过命令接收端的时钟触发,在所述命令数据包被命令接收端获取的同时令所述缓存状态信号为无效。本专利技术实施例的另一目的在于提供一种异步数据读写控制装置,所述装置包括命令数据包生成单元,用于采集来自命令发起端的读写命令,生成命令数据包;时钟同步单元,用于同步命令发起端或者命令接收端的时钟;缓存单元,用于对所述命令数据包进行缓存;缓存状态信号控制单元,用于控制缓存状态信号为有效或者无效。 本专利技术实施例的另一目的在于提供一种异步数据读写控制系统,包括命令发起端和命令接收端,所述系统还包括如上所述的异步数据读写控制装置。本专利技术实施例通过在将命令发起端发起的读写命令封装后进行缓存的同时,在命令发起端的时钟触发下设置缓存状态信号为有效,并在命令接收端将该命令取走的同时在命令接收端的时钟触发下设置缓存状态信号为无效,实现了缓存状态的及时反馈,且很好地对不同时钟域进行了有效隔离。附图说明图I是现有技术提供的异步数据读写控制时序图;图2是本专利技术第一实施例提供的异步数据读写控制系统的结构图;图3是本专利技术第二实施例提供的异步数据读写控制方法的实现流程图;图4是本专利技术第三实施例提供的异步数据写入控制方法的时序图;图5是本专利技术第四实施例提供的异步数据读取控制方法的时序图;图6是本专利技术第四实施例提供的异步数据读取控制方法的实现流程图;图7是本专利技术第五实施例提供的异步数据读写控制装置的结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例基于双端口的静态随机存取存储器(Static RandomAccessMemory, SRAM)实现,在将命令发起端发起的读写命令封装后进行缓存的同时,在命令发起端的时钟触发下设置缓存状态信号为有效,告知命令接收端有数据需要接收,并在命令接收端将该命令取走的同时在命令接收端的时钟触发下设置缓存状态信号为无效,以便进行下一次的读写命令传输,由此实现了不同时钟域的有效隔离和缓存状态的及时反馈。图2示出了本专利技术第一实施例提供的异步数据读写控制系统的结构,为了便于说明,仅不出了与本实施例相关的部分。参照图2,该异步数据读写控制系统主要由命令发起端21、异步数据读写控制装置22和命令接收端23组成,命令发起端21和命令接收端23分别位于不同的时钟域,由命令发起端21发起的读写命令通过异步数据读写控制装置22传输给命令接收端23。其中命令发起端21为该异步数据读写控制系统的命令发起端,其通过相应的地址信号、数据信号以及读/写使能 信号向命令接收端发起读命令或者写命令,并将上述信号发送至异步数据读写控制装置22进行相应的缓存处理。在本专利技术实施例中,命令发起端21可以有以下两种工作模式I、在发送完命令后,不需要等待内容反馈(如读取数据反馈)便进入下一命令发送周期,等待新命令的产生。此时命令发起端21在向异步数据读写控制装置22中发送完命令后便认为当前任务完成,重新返回到等待状态,等待新命令的产生;2、在发送完命令后,需要收到内容反馈后才进入下一命令发送周期,等待新命令的产生。此时命令发起端21在向异步数据读写控制装置22中发送完命令数据后便进入等待反馈状态,不断检测来自命令接收端23的反馈是否到达。在获取到来自命令接收端23的反馈后,命令发起端21重新返回到等待状态,等待新命令的产生。异步数据读写控制装置22基于双端口的SRAM实现。该双端口的SRAM拥有两套独立的SRAM端口,每套SRAM端口对应独立的时钟线、SRAM地址线、数据线以及独立的数据输入端口和数据输出端口,其通过相应的控制逻辑,使得独立的两套SRAM端口能够共享一个存储体,只要两套端口不同时往同一个地址里面写数据,那么存储体内的数据就能按照预期读写,即从端口 A往地址X写入的数据不仅能够从端口 A的地址X读出,也能够从端口B的地址X读出。在本专利技术实施例中,SRAM的两个独立时钟线分别与命令发起端21和命令接收端23的时钟处于同一时钟域,由此进行跨时钟域的异步数据读取控制。命令接收端23通过检测异步数据读写控制装置22的缓存状态,当发现有新命令数据到达时,立即获取该命令数据,并根据该命令数据的解析结果,对其操作对象执行相应的读写操作。同时,当命令发起端21发起读命令时,命令端接收端23需要通过异步数据读写控制装置22向命令发起端21返回读取的数据。在本专利技术实施例中,异步数据读写控制装置22的存储体容量根据命令发起端21的不同工作模式来决定,存在以下几种情况I、当命令发起端21的数据输出为单线程,且可能需要在收到命令接收端23反馈的读取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异步数据读写控制方法,其特征在于,所述方法包括下述步骤 采集来自命令发起端的读写命令,生成命令数据包,所述命令数据包包括所述读写命令的使能信号、地址信号和数据信号; 通过命令发起端 的时钟触发,对所述命令数据包进行缓存,同时令缓存状态信号为有效; 通过命令接收端的时钟触发,在所述命令数据包被命令接收端获取的同时令所述缓存状态信号为无效。2.如权利要求I所述的方法,其特征在干,当所述读写命令为读命令时,所述命令数据包包括读使能信号和读地址信号; 当所述读写命令为写命令时,所述命令数据包包括写使能信号、写地址信号和数据信号。3.如权利要求I所述的方法,其特征在干,当所述读写命令为读命令时,所述方法还包括下述步骤 采集命令接收端返回的读数据,生成反馈数据包; 通过命令接收端的时钟触发,在对所述反馈数据包进行缓存的同时令所述缓存状态信号为有效; 通过命令发起端的时钟触发,在所述反馈数据包被命令发起端获取的同时令所述缓存状态信号为无效。4.如权利要求I所述的方法,其特征在干,当进行缓存的命令数据包有多个时,所述在命令数据包被命令接收端获取的同时令所述缓存状态信号为无效的步骤具...

【专利技术属性】
技术研发人员:蔡宁宁胡胜发
申请(专利权)人:安凯广州微电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1