CN111666225B - 一种数据处理电路及方法 - Google Patents
一种数据处理电路及方法 Download PDFInfo
- Publication number
- CN111666225B CN111666225B CN202010507000.6A CN202010507000A CN111666225B CN 111666225 B CN111666225 B CN 111666225B CN 202010507000 A CN202010507000 A CN 202010507000A CN 111666225 B CN111666225 B CN 111666225B
- Authority
- CN
- China
- Prior art keywords
- data
- port memory
- asynchronous
- module
- image data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000015654 memory Effects 0.000 claims abstract description 191
- 238000003672 processing method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013500 data storage Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Static Random-Access Memory (AREA)
Abstract
本发明提供了一种数据处理电路及方法,所述电路包括:至少一个单口存储器,用于接收上一级电路在第一时钟域下发送的数据并写入至单口存储器中以缓存;至少一个异步先入先出模块,所述异步先入先出模块与所述单口存储器连接,用于接收所述单口存储器在第一时钟域下发送的数据并写入至所述异步先入先出模块中,以及,在第二时钟域下将所述异步先入先出模块中的数据读出,以对应发送至下一级电路。本发明提供的数据处理电路的面积较小,所占空间较小,兼容性较强。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种数据处理电路及方法。
背景技术
在集成电路系统中往往包括有多个不同芯片,其中难免会存在时钟域不匹配的芯片,此时,若时钟域不匹配的芯片之间进行交互时就需要进行跨时钟域交互。
相关技术中,一般利用双口静态随机存取存储器(SRAM)来实现跨时钟域交互。其中,双口SRAM包括有两套独立的读写地址线、数据线和控制线,可以同时进行写入和读出操作,且双口SRAM的读写时钟可以不同。同时,双口SRAM还可以用于缓存数据。由此利用双口SRAM对数据实现跨时钟域交互的方法具体包括:在第一时钟域下,将数据写入双口SRAM中存储,之后,按照先入先出的顺序在第二时钟域下将所存储的数据从所述双口SRAM读出。
但是,双口SRAM的面积较大,所占空间较多。以及,当利用双口SRAM对包括有多种不同类型数据的数据(例如包括有长曝光图像数据、中曝光图像数据、短曝光图像数据的高动态范围图像数据)进行跨时钟域处理时,双口SRAM需要同时输出多种类型的数据,则会使得双口SRAM对于每一种类型数据的输出频率的可变范围均较小,从而使得第二时钟域的第二时钟频率的可变范围较小,降低了跨时域处理的灵活性。
发明内容
本发明的目的在于提供一种数据处理电路及方法,以解决相关技术中的双口SRAM面积较大、所占空间较多、第二时钟频率的可变范围较小、以及灵活性较低的技术问题。
为解决上述技术问题,本发明提供了一种数据处理电路,所述电路包括:
至少一个单口存储器,用于接收上一级电路在第一时钟域下发送的数据并写入至单口存储器中以缓存;
至少一个异步先入先出模块,所述异步先入先出模块与所述单口存储器连接,用于接收所述单口存储器在第一时钟域下发送的数据并写入至所述异步先入先出模块中,以及,在第二时钟域下将所述异步先入先出模块中的数据读出,以对应发送至下一级电路;
其中,当所述异步先入先出模块处于非写满状态时,所述单口存储器用于向所述异步先入先出模块发送数据,直至所述异步先入先出模块处于写满状态。
可选的,所述单口存储器为偶数倍数据位宽的单口存储器。
可选的,至少一个所述单口存储器所接收的数据中包括至少两种不同种类的数据,所述数据处理电路包括至少两个异步先入先出模块;以及
所述单口存储器用于将接收到的数据分类发送至不同的异步先入先出模块。
可选的,所述单口存储器所接收的数据包括高动态范围图像数据,所述高动态范围图像数据中包括有长曝光图像数据、中曝光图像数据、短曝光图像数据;以及
所述数据处理电路中包括三个单口存储器和三个异步先入先出模块,其中,每个单口存储器对应连接一个异步先入先出模块,所述三个单口存储器用于分别接收长曝光图像数据、中曝光图像数据、以及短曝光图像数据,并分别将所接收到的数据发送至对应的异步先入先出模块。
可选的,每个单口存储器为双倍数据位宽的单口存储器。
可选的,所述单口存储器所接收的数据包括高动态范围图像数据,所述高动态范围图像数据中包括有长曝光图像数据、中曝光图像数据、短曝光图像数据;以及
所述数据处理电路中包括一个单口存储器和三个异步先入先出模块,其中,所述单口存储器与所述三个异步先入先出模块连接,所述单口存储器用于接收所述长曝光图像数据、中曝光图像数据、短曝光图像数据,并将所接收到的长曝光图像数据、中曝光图像数据、短曝光图像数据分别发送至所述三个异步先入先出模块。
可选的,所述单口存储器为六倍数据位宽的单口存储器。
可选的,所述数据处理电路还包括至少一个输入模块,所述输入模块连接在所述上一级电路与所述单口存储器之间,用于接收所述上一级电路并行发送的数据并存储,以及当所述输入模块中所存储的数据的长度大于等于预设比特值时,将所述输入模块中的数据并行输出至所述单口存储器,其中,所述预设比特值为所述输入模块与所述单口存储器之间一次所能传输的最大数据的比特值。
可选的,所述电路还包括至少一个输出模块,所述输出模块连接在所述单口存储器和所述异步先入先出模块之间;所述输出模块用于当所述异步先入先出模块中需要写入数据时,在当前时钟节拍下将所述单口存储器中的数据写入至所述输出模块中,同时在当前时钟节拍下将所述写入至输出模块中的数据读出至所述异步先入先出模块中。
此外,本发明还提供了一种基于如上所述的数据处理电路实现的数据处理方法,所述方法包括:
利用单口存储器接收上一级电路在第一时钟域下发送的数据并写入至所述单口存储器中;
利用异步先入先出模块接收所述单口存储器在第一时钟域下发送的数据并写入至所述异步先入先出模块中,以及,在第二时钟域下将所述异步先入先出模块中的数据读出,以对应发送至下一级电路;
其中,当所述异步先入先出模块处于非写满状态时,所述单口存储器用于向所述异步先入先出模块发送数据,直至所述异步先入先出模块处于写满状态。
可选的,利用单口存储器接收上一级电路发送的数据的方法包括:
先利用一输入模块接收所述上一级电路并行发送的数据并存储,以及当所述输入模块中所存储的数据的长度达到预设比特值时,将所述输入模块中的数据并行输出至所述单口存储器,其中,所述预设比特值为所述输入模块与所述单口存储器之间一次所能传输的最大数据的比特值。
可选的,利用异步先入先出模块从所述单口存储器中读出数据的方法包括:利用所述输出模块在当前时钟节拍下将所述单口存储器中的数据写入至所述输出模块中,同时在当前时钟节拍下将所述写入至输出模块中的数据读出至所述异步先入先出模块中。
综上所述,本发明提供的数据处理电路及方法中,所述电路包括有单口存储器和异步先入先出模块,其中所述单口存储器用于接收数据并缓存数据,以及在第一时钟域下将其接收到的数据发送至所述异步先入先出模块中,所述异步先入先出模块用于在第二时钟域将异步先入先出模块中的数据写出至下一级电路,由此实现跨时钟域交互。其中,由于本发明中的单口存储器和异步先入先出模块所占面积均较小,远远小于双口SRAM。从而本发明提供的数据处理电路的面积较小,所占空间也较小,降低了成本。
此外,本发明中的电路在接收到上一级电路所发送的数据后,会先将所接收到的数据分类,之后还会利用多个异步先入先出模块来分类输出不同种类的数据以进行跨时域处理,则相比于利用一个异步先入先出模块输出各个种类的数据而言,本发明中利用多个异步先入先出模块分别输出不同种类的数据的方法,可以使得每一种类的数据从异步先入先出模块输出时的输出频率的可变范围较大,进而使得所述第二时钟域的第二时钟频率的可变范围较广,提高了跨时域处理的灵活性。
附图说明
图1为本发明实施例提供的一种数据处理电路的结构示意图;
图2为本发明实施例提供的一种数据处理电路中所传输的数据的波形图;
图3为本发明实施例提供的另一种数据处理电路的结构示意图;
图4为本发明实施例提供的又一种数据处理电路的结构示意图;
图5为本发明实施例提供的再一种数据处理电路的结构示意图;
图6为本发明实施例提供的一种数据处理方法的流程示意图。
具体实施方式
以下结合附图和具体实施例对本发明提出的数据处理电路及方法作进一步详细说明。根据下面说明书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
图1为本发明实施例提供的一种数据处理电路的结构示意图,如图1所示,所述数据处理电路可以包括:
至少一个单口存储器01,用于接收上一级电路在第一时钟域下发送的数据并写入至单口存储器01中以存储,以及将其所存储的数据在第一时钟下发送至所述异步输入输出模块。其中,所述数据可以为图像数据,所述图像数据的数据类型可以包括但不限于RAW6、RAW7、RAW8、RAW10、RAW12、YUV4228bit、YUV42210bit中的一种。所述单口存储器例如可以为单口静态随机存取存储器(SRAM)。
至少一个异步先入先出模块02,所述异步先入先出模块02与所述单口存储器01连接,用于接收所述单口存储器在第一时钟域下发送的数据并写入至所述异步先入先出模块中,以及,在第二时钟域下将所述异步先入先出模块02中的数据读出,以对应发送至下一级电路,由此实现跨时钟域处理。其中,所述异步先入先出模块主要基于组合逻辑和时序逻辑搭建而成,面积很小。
以及,在本实施例中,所述异步先入先出模块02也具备有一定的缓存功能,但是其缓存空间较小,远远小于单口存储器。以及其中,当所述异步先入先出模块中还有剩余的缓存空间时(也即是所述异步先入先出模块处于非写满状态时),所述异步先入先出模块会将所述单口存储器中的数据写入至异步先入先出模块中,直至所述异步先入先出模块处于写满状态时停止。
还需要说明的是,本实施例中所述异步先入先出模块输出数据的第二时钟频率主要与所述上一级电路所发送的数据的数据类型以及包括所述下一级电路的芯片的类型相关。其中,当所述上一级电路所发送的数据的数据类型不同或者包括所述下一级电路的芯片的生产厂家不同时,所述第二频率也会不同。
可选的,所述数据处理电路可以被配置在MIPI接口中。
综上所述,本发明提供的数据处理电路及方法中,所述电路包括有单口存储器和异步先入先出模块,其中所述单口存储器用于接收数据并缓存数据,以及在第一时钟域下将其接收到的数据发送至所述异步先入先出模块中。所述异步先入先出模块用于在第二时钟域将异步先入先出模块中的数据写出至下一级电路,由此实现跨时钟域交互。其中,由于本发明中的单口存储器和异步先入先出模块所占面积均较小,远远小于双口SRAM。从而本发明提供的数据处理电路的面积较小,所占空间也较小,降低了成本。
以下对本发明实施例所提供的数据处理电路进行详细介绍。
其中,本实施例中所述单口存储器应具备整数倍(例如可以为偶数倍)的数据位宽,以此来提高所述单口存储器对于数据的读写频率。具体而言,所述单口存储器无法同时进行读写操作,其在一个时钟节拍只能完成一次操作,即一个时钟节拍内只能完成一次读数据操作或完成一次写数据操作。由此,针对单口存储器而言,在第一个时钟节拍写入至单口存储器的第一个数据无法在第一个时钟节拍读出,需要在第二时钟节拍读出,以及在第三时钟节拍写入的第二个数据,需要在第四时钟节拍才能读出,以此类推可以确定所述单口存储器在两个时钟节拍内只能对一个数据完成读写操作、在四个时钟节拍之内只能对两个数据完成读写操作、在六个时钟节拍之内只能对三个数据完成读写操作,从而使得数据的读写频率较低。
但是,当所述单口存储器为整数倍数据位宽的单口存储器时,例如为双倍数据位宽的单口存储器时,所述单口存储器一次可以输入或输出双倍数据。基于此,所述单口存储器可以在第一时钟节拍写入第一个数据,在第二时钟节拍写入第二个数据,之后,在第三时钟节拍将第一个数据和第二个数据同时读出;以及,在第四个时钟节拍内写入第三个数据,在第五个时钟节拍内写入第四个数据,在第六个时钟节拍内将第三个数据和第四个数据同时读出。由此可以推算得出,所述双倍数据位宽的单口存储器在三个时钟节拍之内可以对两个数据完成读写操作,在六个时钟节拍之内可以对四个数据完成读写操作,则双倍数据位宽的单口存储器对数据的读写频率较高。
由此,本实施例中通过使得所述单口存储器为整数倍数据位宽的单口存储器(例如为双倍数据位宽的存储器),可以提高所述单口存储器对数据的读写频率。
进一步地,在本实施例中,所述上一级电路发送至所述单口存储器中的数据中可能包括有不同种类的数据,此时,本实施例中的数据处理电路在接收到所述上一级电路发送的数据之后,会先对所接收到的数据进行分类,以便后续分别对不同种类的数据进行跨时钟域处理。
其中,所述数据处理电路对所述上一级电路发送的数据进行分类的方法主要为:基于行头标识符进行分类。具体而言,不同种类的数据分别对应有不同的行头标识符,则所述数据处理电路在接收到数据之后,可以基于预设协议解析出数据的行头标识符,进而基于所解析出的行头标识符确定出所接收到的数据的种类,以此对不同种类的数据进行分类。
示例的,以所述上一级电路发送至单口存储器中的数据为高动态范围图像数据为例进行说明。其中,所述高动态范围图像数据中包括有三种不同种类的数据,分别为长曝光图像数据、中曝光图像数据、短曝光图像数据,所述长曝光图像数据对应的行头标识符为2c,中曝光图像数据对应的行头标识符为6c,短曝光图像数据对应的行头标识符为ac,此时可以将标识符2c、6c、ac分别看作不同的虚拟通道,以分别用于传输长曝光图像数据、中曝光图像数据、短曝光图像数据。具体的,当所述数据处理电路解析出当前所接收到的图像数据的行头标识符为2c时,则可以确定出后续所接收到的数据为长曝光图像数据,当解析出当前所接收到的图像数据行头标识符为6c时,可以确定后续所接收到的数据为中曝光图像数据,当解析出当前所接收到的图像数据行头标识符为ac时,可以确定后续所接收到的数据为短曝光图像数据,由此可以实现对不同种类的数据进行分类。
示例的,图2为本发明实施例提供的一种数据处理电路中所传输的数据的波形图,如图2所示,假设所述数据处理电路所接收到的高动态范围图像数据的波形图为图2中的波形一,其中,所述高动态范围图像数据中的长曝光图像数据2cdata,其对应的行头标识符为2c,所述高动态范围图像数据中的中曝光图像数据6cdata,其对应的行头标识符为6c,所述高动态范围图像数据中的短曝光图像数据acdata,其对应的行头标识符为ac。则所述数据处理电路接收到图2所示的高动态范围图像数据后,基于行头标识符2c、6c、ac对高动态范围图像数据进行分类后,所得的长曝光图像数据的波形图如图2中的波形二所示、所得的中曝光图像数据的波形图如图2中的波形三所示、所得的短曝光图像数据的波形图如图2中的波形四所示。
以及,进一步地,在本实施例中,所述数据处理电路中应当包括有至少两个异步先入先出模块,以对不同种类的数据分别进行跨时钟域处理。具体的,当所述上一级电路发送至单口存储器中的数据中包括有多个不同种类的数据时,应使得所述异步先入先出模块的数量与所述单口存储器所接收的数据中的种类数相同,以便后续在对不同种类的数据进行分类后,可以将各个种类的数据分别发送至不同的异步先入先出模块中以分别对每一种类的数据进行跨时钟域处理。
需要说明的是,本实施例仅对异步先入先出模块的数量进行限定,并不对单口存储器的数量进行限定,所述单口存储器只需可以将不同种类的数据分别发送至不同的异步先入先出模块中即可。
以及,示例的,以所述数据处理电路所接收的数据为高动态范围图像数据为例进行说明,所述高动态范围图像数据包括有三种不同种类的图像数据,分别为长曝光图像数据、中曝光图像数据、短曝光图像数据,则所述异步先入先出模块的数量也应为三个。基于此,所述数据处理电路具体可以包括但不限于以下两种可实现方式。
第一种、所述数据处理电路中包括三个单口存储器和三个异步先入先出模块,其中,三个单口存储器中的每个单口存储器均为双倍数据位宽的单口存储器,且均对应连接一个异步先入先出模块,所述三个单口存储器用于分别接收长曝光图像数据、中曝光图像数据、以及短曝光图像数据,并分别将所接收到的数据发送至对应的异步先入先出模块中,以分别进行跨时钟域处理。
其中,图3为本发明实施例提供的另一种数据处理电路的结构示意图,如图3所示,所述数据处理电路中可以包括单口存储器01A、单口存储器01B、单口存储器01C以及异步先入先出模块02A、异步先入先出模块02B、异步先入先出模块02C。所述单口存储器01A、单口存储器01B、单口存储器01C均为双倍数据位宽的单口存储器。以及,所述单口存储器01A与所述异步先入先出模块02A连接,所述单口存储器01B与所述异步先入先出模块02B连接,所述单口存储器01C与所述异步先入先出模块02C连接。
其中,所述上一级电路可以将高曝光图像数据发送至所述单口存储器01A中,以便所述单口存储器01A将高曝光图像数据发送至所述异步先入先出模块02A中进行跨时钟域处理。以及,所述上一级电路可以将中曝光图像数据发送至所述单口存储器01B中,以便所述单口存储器01B将中曝光图像数据发送至所述异步先入先出模块02B中进行跨时钟域处理。所述上一级电路可以将短曝光图像数据发送至所述单口存储器01C中,以便所述单口存储器01C将短曝光图像数据发送至所述异步先入先出模块02C中进行跨时钟域处理。由此分别对长曝光图像数据、中曝光图像数据、短曝光图像数据进行跨时钟域处理。
其中,当所述高动态范围图像数据的波形图如图2中的波形一时,则所述单口存储器01A所接收的波形图应为图2中的波形二;所述单口存储器01B所接收的波形图应为图2中的波形三;所述单口存储器01C所接收的波形图应为图2中的波形四。
以及,在本实施例中,所述单口存储器01A、01B、01C的存储总量可以为所述数据存储电路所接收的图像数据中一行数据的比特数,例如,若所述数据存储电路所接收的图像数据的大小为1080p,图像数据中单个像素数据宽度为12bit,则单口存储器01A、01B、01C的存储总量应均为1928×12bit。
第二种、所述数据处理电路中包括一个单口存储器和三个异步先入先出模块。其中,所述一个单口存储器与所述三个异步先入先出模块连接,所述一个单口存储器用于接收所述长曝光图像数据、中曝光图像数据、短曝光图像数据,并将所接收到的长曝光图像数据、中曝光图像数据、短曝光图像数据分别发送至所述三个异步先入先出模块。
其中,图4为本发明实施例提供的又一种数据处理电路的结构示意图,如图4所示,所述数据处理电路中可以包括单口存储器01D以及异步先入先出模块02A、异步先入先出模块02B、异步先入先出模块02C。所述单口存储器01D与所述异步先入先出模块02A、异步先入先出模块02B、异步先入先出模块02C连接。所述单口存储器01D用于接收所述高动态范围图像数据,并将高动态范围中的长曝光图形数据、中曝光图像数据、短曝光图像数据进行分类,之后,将长曝光图像数据(例如图2中的波形二)发送至异步先入先出模块02A以进行跨时钟域处理,将中曝光图像数据(例如图2中的波形三)发送至异步先入先出模块02B以进行跨时钟域处理,将短曝光图像数据(例如图2中的波形四)发送至异步先入先出模块02C以进行跨时钟域处理,由此实现对不同种类的数据分别进行跨时钟域处理。
需要说明的是,第二种可选的实现方式中的所述单口存储器01D实质上是将第一种可选的实现方式中的单口存储器01A、01B、01C三者合并后所得的单口存储器,并且,所述单口存储器01D的存储总量为所述单口存储器01A、01B、01C三者存储总量的总和。以及所述单口存储器01D具备有六倍的数据位宽,其在三个时钟节拍内可以同时对长曝光图像数据中的两个数据、中曝光图像数据中的两个数据、短曝光图像数据中的两个数据均完成一次读写操作。
以及,相比于第一种可选的实现方式中需要设置三个单口存储器而言,第二种可选的实现方式中仅设置一个单口存储器所需空间较小,且引脚较少,成本较低。
并且,需要说明的是,采用所述第一种可选的实现方式以及第二种可选的实现方式所提供的数据处理电路时,其相较于相关技术中的双口SRAM而言,可以大大减少占用面积,具体可以减少百分之五十到八十的占用面积。
同时,本实施例中通过利用不同的异步先入先出模块分别对不同种类的数据进行跨时钟域处理后分路独立输出,则可以使得每一种类的图形数据从异步先入先出模块中输出的频率的可变范围较大,进而使得所述第二时钟域的第二时钟频率的可变范围较广,提高了跨时域处理的灵活性,同时可以更好的匹配后续的下一级电路(例如图像处理模块),兼容性较强。
此外,还需要说明的是,在本实施例中,所述第二时钟频率的取值与所述上一级电路所发送的数据的数据类型相关,其中,当所述上一级电路发送至所述数据处理电路中的数据类型不同时,所述第二时钟域的第二时钟频率也不相同。基于此,当本实施例中的第二时钟频率的可变范围较广时,会使得所述数据存储电路所能处理的数据的数据类型较多,也即是,所述数据处理电路能够对较多类型的数据进行跨时钟域处理,从而扩大了所述数据处理电路的适用范围。
再进一步地,本实施例中,所述数字处理电路还可以包括至少一个输入模块。其中,所述输入模块连接在所述上一级电路与所述单口存储器之间,用于接收所述上一级电路并行发送的数据并存储,以及当所述输入模块中所存储的数据的长度大于等于预设比特值时,将所述输入模块中的数据并行输出至所述单口存储器,其中,所述预设比特值为所述输入模块与所述单口存储器之间一次所能传输的最大数据的比特值,并且,本实施例中,所述输入模块与所述单口存储器之间每次所传输的数据的长度应当为所述预设比特值。
其中,在本实施例中,所述上一级电路通常通过物理接口(例如MIPI接口,MIPI的输入时钟频率可高达750Mhz,单通道输出带宽可以为1.5Gbit/s,四通道输出带宽为6Gbit/s)向所述数据处理电路并行发送串并转换后的数据,所述物理接口可以支持多通道输入以及多通道输出(例如MIPI接口最高可支持四条通道并行输入以及四条通道并行输出)。基于此,通过设置所述输入模块可以兼容接收所述物理接口的不同通道多次所发送的数据。具体而言,假设所述预设比特值为48bit,同时假设MIPI接口中每条通道一次可以传输12bit的数据。基于此,当所述上一级电路通过MIPI接口传输数据的过程中仅利用了一条通道,则此时,需要所述上一级电路向所述输入模块传输四次数据,以使得所述输入模块中的数据长度累计至48bit后,才会将其存储的48bit数据并行输出至所述单口存储器中。以及,当所述上一级电路通过MIPI接口传输数据的过程中仅利用了两条通道,则此时,需要所述上一级电路向所述输入模块传输两次数据,以使得所述输入模块中的数据长度累计至48bit后,才会将其存储的48bit数据并行输出至所述单口存储器中。同理的,当所述上一级电路通过MIPI接口传输数据的过程中利用了全部的四条通道,此时,所述上一级电路向所述输入模块传输一次数据,即可使得所述输入模块中的数据长度到达48bit,则所述输入模块可以直接将其接收到的48bit数据并行输出至所述单口存储器中。
以及,示例的,图5为本发明实施例提供的再一种数据处理电路的结构示意图,如图5所示,所述数据处理电路包括三个输入模块,分别为第一输入模块、第二输入模块以及第三输入模块,其中,所述第一输入模块设置于所述上一级电路与所述单口存储器01A之间、所述第二输入模块设置于所述上一级电路与所述单口存储器01B之间、所述第三输入模块设置于所述上一级电路与所述单口存储器01C之间,用于分别兼容接收长曝光数据、中曝光数据、短曝光图像数据。
以及,本实施例中,所述数据处理电路还可以包括至少一个输出模块,所述输出模块连接在所述单口存储器和所述异步先入先出模块之间。所述输出模块用于当所述异步先入先出模块中需要写入数据时,在当前时钟节拍下将所述单口存储器中的数据写入至所述输出模块中,同时在当前时钟节拍下将写入至输出模块中的数据读出至所述异步先入先出模块中,以使得数据在发送至异步先入先出模块之前,其输入时钟节拍与输出时钟节拍之间不存在延迟。
具体而言,当所述单口存储器具备整数倍数据位宽时,会使得数据的输入时钟节拍与输出时钟节拍之间会存在延迟。例如,当所述单口存储器为双倍数据位宽的存储器时,其在第一时钟节拍输入第一个数据,在第二时钟节拍输入第二个数据,在第三时钟节拍输出第一个数据和第二个数据,则所述第一个数据的输入时钟节拍为第一时钟节拍、输出时钟节拍为第三时钟节拍,两者之间存在延迟,同理的,第二个数据的输入时钟节拍和输出时钟节拍之间也存在延迟。基于此,当在单口存储器与异步输入输出模块之间设置了输出模块时,所述输出模块可以实现同时输入输出的功能。则所述单口存储器在当前时钟节拍下将数据输入至所述输出模块时,所述输出模块可以将其接收到的数据在当前时钟节拍下同时输出,从而使得待输入至所述异步先入先出模块的数据的输入时钟节拍与输出时钟节拍之间不存在延迟。
以及,参考图5,本实施例中可以包括三个输出模块,分别为第一输出模块、第二输出模块、第三输出模块,其中,所述第一输出模块设置于所述单口存储器01A与所述异步先入先出模块02A之间,所述第二输出模块设置于所述单口存储器01B与所述异步先入先出模块02B之间,所述第三输出模块设置于所述单口存储器01C与所述异步先入先出模块02C之间,以此使得待输入至所述异步先入先出模块02A、02B、02C的数据的输入时钟节拍与输出时钟节拍之间均不存在延迟。
此外,需要说明的是,在本实施例中,图5所示的数据处理电路中输入模块、单口存储器、输出模块、异步先入先出模块应当基于握手处理机制进行交互。所述握手处理机制具体包括:单口存储器的写入条件为“输入模块不空”;单口存储器的读出条件为“输入模块不写以及输出模块不满”;输出模块读出条件为“异步先入先出模块不满以及输出模块不空”。
以及,基于图5所示的数据处理电路而言,所述第二时钟频率FPCLK的上下限应当满足以下公式:
FPCLK≥HSIZE÷THTS
FPCLK≤4×FBYTECLK
其中,HSIZE为上一级电路输出的数据的数据宽度,FBYTECLK为所述第一时钟域的第一时钟频率,THTS=TUI+Tlp01+Tprepare+Tzero+Tpayload+Ttrail+Texit,TUI为MIPI接口传输一个比特位的数据所用的时间,Tlp01为MIPI接口的低功耗状态周期,Tprepare为MIPI接口在开始进行HS传输之前驱动LP-00的时间,Tzero为MIPI接口在发送同步序列之前驱动HS-0的时间,Tpayload为MIPI接口发送有效载荷的时间,所述有效载荷为编码后的图形数据,Ttrail为MIPI接口在HS传输最后一个有效载荷数据位之后,驱动翻转至差分状态所需的时间,Texit为MIPI接口在HS突发后驱动LP-11的时间。其中,关于TUI、Tlp01、Tprepare、Tzero、Tpayload、Ttrail、Texit的详细解释具体可以参考MIPI董事会于2014年9月10日通过的“MIPI联盟1.2版本”的文件。
此外,需要说明的是,在本实施例中,所述上一级电路、输入模块、单口存储器、输出模块与所述异步先入先出模块之间均是在第一时钟域下进行交互,所述异步先入先出模块与所述下一级电路之间是在第二时钟域下进行交互。以及,所述输入模块每次发送至所述单口存储器的数据的长度可以为48bit,基于此,当所述单口存储器具备双倍数据位宽时,所述单口存储器每次发送至所述输出模块的数据的长度应为98bit,同时,所述输出模块每次向所述异步先入先出模块发送的数据的长度也为98bit。以及,所述异步先入先出模块每次发送至所述下一级电路的数据的长度可以为12bit。并且,所述异步先入先出模块可以是通过DVP接口向所述下一级电路输出数据的。
综上所述,本发明提供的数据处理电路中,所述电路包括有单口存储器和异步先入先出模块,其中所述单口存储器用于接收数据并缓存数据,以及在第一时钟域下将其接收到的数据发送至所述异步先入先出模块中。所述异步先入先出模块用于在第二时钟域将异步先入先出模块中的数据写出至下一级电路,由此实现跨时钟域交互。其中,由于本发明中的单口存储器和异步先入先出模块所占面积均较小,远远小于双口SRAM。从而本发明提供的数据处理电路的面积较小,所占空间也较小,降低了成本。
此外,本发明中的电路在接收到上一级电路所发送的数据后,会先将所接收到的数据分类,之后还会利用多个异步先入先出模块来分类输出不同种类的数据以进行跨时域处理,则相比于利用一个异步先入先出模块输出各个种类的数据而言,本发明中利用多个异步先入先出模块分别输出不同种类的数据的方法,可以使得每一种类的数据从异步先入先出模块输出时的输出频率的可变范围较大,进而使得所述第二时钟域的第二时钟频率的可变范围较广,提高了跨时域处理的灵活性。
以及,图6为本发明实施例提供的一种数据处理方法的流程示意图,所述数据处理方法采用如图1-4任一所示的数据处理电路实现,所述方法包括:
步骤100、利用单口存储器接收上一级电路在第一时钟域下发送的数据并写入至所述单口存储器中。
步骤200、利用异步先入先出模块接收所述单口存储器在第一时钟域下发送的数据并写入至所述异步先入先出模块中,以及,在第二时钟域下将所述异步先入先出模块中的数据读出,以对应发送至下一级电路。
其中,当所述异步先入先出模块处于非写满状态时,所述单口存储器用于向所述异步先入先出模块发送数据,直至所述异步先入先出模块处于写满状态。
可选的,利用单口存储器接收上一级电路在第一时钟域下发送的数据的方法包括:
先利用一输入模块接收所述上一级电路并行发送的数据并存储,以及当所述输入模块中所存储的数据的长度达到预设比特值时,将所述输入模块中的数据并行输出至所述单口存储器,其中,所述预设比特值为所述输入模块与所述单口存储器之间一次所能传输的最大数据的比特值。
可选的,利用异步先入先出模块从所述单口存储器中读出数据的方法包括:利用所述输出模块在当前时钟节拍下将所述单口存储器中的数据写入至所述输出模块中,同时在当前时钟节拍下将所述写入至输出模块中的数据读出至所述异步先入先出模块中。
综上所述,本发明提供的数据处理电路及方法中,所述电路包括有单口存储器和异步先入先出模块,其中所述单口存储器用于接收数据并缓存数据,以及在第一时钟域下将其接收到的数据发送至所述异步先入先出模块中。所述异步先入先出模块用于在第二时钟域将异步先入先出模块中的数据写出至下一级电路,由此实现跨时钟域交互。其中,由于本发明中的单口存储器和异步先入先出模块所占面积均较小,远远小于双口SRAM。从而本发明提供的数据处理电路的面积较小,所占空间也较小,降低了成本。
此外,本发明中的电路在接收到上一级电路所发送的数据后,会先将所接收到的数据分类,之后还会利用多个异步先入先出模块来分类输出不同种类的数据以进行跨时域处理,则相比于利用一个异步先入先出模块输出各个种类的数据而言,本发明中利用多个异步先入先出模块分别输出不同种类的数据的方法,可以使得每一种类的数据从异步先入先出模块输出时的输出频率的可变范围较大,进而使得所述第二时钟域的第二时钟频率的可变范围较广,提高了跨时域处理的灵活性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (11)
1.一种数据处理电路,其特征在于,所述数据处理电路包括:
至少一个单口存储器,用于接收上一级电路在第一时钟域下发送的数据并写入至单口存储器中以缓存;
至少一个异步先入先出模块,所述异步先入先出模块与所述单口存储器连接,用于接收所述单口存储器在第一时钟域下发送的数据并写入至所述异步先入先出模块中,以及,在第二时钟域下将所述异步先入先出模块中的数据读出,以对应发送至下一级电路;
其中,至少一个所述单口存储器所接收的数据中包括至少两种不同种类的数据,所述数据处理电路包括至少两个异步先入先出模块;以及所述单口存储器用于将接收到的数据分类发送至不同的异步先入先出模块;
当所述异步先入先出模块处于非写满状态时,所述单口存储器用于向所述异步先入先出模块发送数据,直至所述异步先入先出模块处于写满状态。
2.如权利要求1所述的数据处理电路,其特征在于,所述单口存储器为偶数倍数据位宽的单口存储器。
3.如权利要求1所述的数据处理电路,其特征在于,所述单口存储器所接收的数据包括高动态范围图像数据,所述高动态范围图像数据中包括有长曝光图像数据、中曝光图像数据、短曝光图像数据;以及
所述数据处理电路中包括三个单口存储器和三个异步先入先出模块,其中,每个单口存储器对应连接一个异步先入先出模块,所述三个单口存储器用于分别接收长曝光图像数据、中曝光图像数据、以及短曝光图像数据,并分别将所接收到的数据发送至对应的异步先入先出模块。
4.如权利要求3所述的数据处理电路,其特征在于,每个单口存储器为双倍数据位宽的单口存储器。
5.如权利要求1所述的数据处理电路,其特征在于,所述单口存储器所接收的数据包括高动态范围图像数据,所述高动态范围图像数据中包括有长曝光图像数据、中曝光图像数据、短曝光图像数据;以及
所述数据处理电路中包括一个单口存储器和三个异步先入先出模块,其中,所述单口存储器与所述三个异步先入先出模块连接,所述单口存储器用于接收所述长曝光图像数据、中曝光图像数据、短曝光图像数据,并将所接收到的长曝光图像数据、中曝光图像数据、短曝光图像数据分别发送至所述三个异步先入先出模块。
6.如权利要求5所述的数据处理电路,其特征在于,所述单口存储器为六倍数据位宽的单口存储器。
7.如权利要求1所述的数据处理电路,其特征在于,所述数据处理电路还包括至少一个输入模块,所述输入模块连接在所述上一级电路与所述单口存储器之间,用于接收所述上一级电路并行发送的数据并存储,以及当所述输入模块中所存储的数据的长度大于等于预设比特值时,将所述输入模块中的数据并行输出至所述单口存储器,其中,所述预设比特值为所述输入模块与所述单口存储器之间一次所能传输的最大数据的比特值。
8.如权利要求1所述的数据处理电路,其特征在于,所述电路还包括至少一个输出模块,所述输出模块连接在所述单口存储器和所述异步先入先出模块之间;所述输出模块用于当所述异步先入先出模块中需要写入数据时,在当前时钟节拍下将所述单口存储器中的数据写入至所述输出模块中,同时在当前时钟节拍下将所述写入至输出模块中的数据读出至所述异步先入先出模块中。
9.一种基于如权利要求1-8任一所述的数据处理电路实现的数据处理方法,其特征在于,所述方法包括:
利用单口存储器接收上一级电路在第一时钟域下发送的数据并写入至所述单口存储器中;
利用异步先入先出模块接收所述单口存储器在第一时钟域下发送的数据并写入至所述异步先入先出模块中,以及,在第二时钟域下将所述异步先入先出模块中的数据读出,以对应发送至下一级电路;
其中,当所述异步先入先出模块处于非写满状态时,所述单口存储器用于向所述异步先入先出模块发送数据,直至所述异步先入先出模块处于写满状态;至少一个所述单口存储器所接收的数据中包括至少两种不同种类的数据,所述数据处理电路包括至少两个异步先入先出模块;以及所述单口存储器用于将接收到的数据分类发送至不同的异步先入先出模块。
10.如权利要求9所述的数据处理方法,其特征在于,利用单口存储器接收上一级电路发送的数据的方法包括:
先利用一输入模块接收所述上一级电路并行发送的数据并存储,以及当所述输入模块中所存储的数据的长度达到预设比特值时,将所述输入模块中的数据并行输出至所述单口存储器,其中,所述预设比特值为所述输入模块与所述单口存储器之间一次所能传输的最大数据的比特值。
11.如权利要求9所述的数据处理方法,其特征在于,利用异步先入先出模块从所述单口存储器中读出数据的方法包括:利用所述输出模块在当前时钟节拍下将所述单口存储器中的数据写入至所述输出模块中,同时在当前时钟节拍下将所述写入至输出模块中的数据读出至所述异步先入先出模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010507000.6A CN111666225B (zh) | 2020-06-05 | 2020-06-05 | 一种数据处理电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010507000.6A CN111666225B (zh) | 2020-06-05 | 2020-06-05 | 一种数据处理电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111666225A CN111666225A (zh) | 2020-09-15 |
CN111666225B true CN111666225B (zh) | 2023-12-01 |
Family
ID=72386828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010507000.6A Active CN111666225B (zh) | 2020-06-05 | 2020-06-05 | 一种数据处理电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111666225B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862518A (zh) * | 2006-06-21 | 2006-11-15 | 北京中星微电子有限公司 | 一种异步数据缓存装置 |
CN101166151A (zh) * | 2007-09-20 | 2008-04-23 | 北大方正集团有限公司 | 跨时钟域不同位宽数据传递的方法及装置 |
CN101320362A (zh) * | 2008-06-27 | 2008-12-10 | 北京大学深圳研究生院 | 支持异步传输的阵列处理系统及其时钟管理方法 |
CN201781477U (zh) * | 2010-06-01 | 2011-03-30 | 新峤网络设备(上海)有限公司 | 现场可编程门阵列以及接收和发送多路fe数据的装置 |
CN103594110A (zh) * | 2012-08-15 | 2014-02-19 | 上海华虹集成电路有限责任公司 | 替代双端口静态存储器的存储器结构 |
CN107656886A (zh) * | 2017-09-30 | 2018-02-02 | 中国科学院长春光学精密机械与物理研究所 | 一种跨时钟域信号处理电路及其处理方法 |
-
2020
- 2020-06-05 CN CN202010507000.6A patent/CN111666225B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862518A (zh) * | 2006-06-21 | 2006-11-15 | 北京中星微电子有限公司 | 一种异步数据缓存装置 |
CN101166151A (zh) * | 2007-09-20 | 2008-04-23 | 北大方正集团有限公司 | 跨时钟域不同位宽数据传递的方法及装置 |
CN101320362A (zh) * | 2008-06-27 | 2008-12-10 | 北京大学深圳研究生院 | 支持异步传输的阵列处理系统及其时钟管理方法 |
CN201781477U (zh) * | 2010-06-01 | 2011-03-30 | 新峤网络设备(上海)有限公司 | 现场可编程门阵列以及接收和发送多路fe数据的装置 |
CN103594110A (zh) * | 2012-08-15 | 2014-02-19 | 上海华虹集成电路有限责任公司 | 替代双端口静态存储器的存储器结构 |
CN107656886A (zh) * | 2017-09-30 | 2018-02-02 | 中国科学院长春光学精密机械与物理研究所 | 一种跨时钟域信号处理电路及其处理方法 |
Non-Patent Citations (1)
Title |
---|
狄超等.《FPGA之道》.2014,第397-403页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111666225A (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7013359B1 (en) | High speed memory interface system and method | |
KR100694440B1 (ko) | 반도체기억장치 | |
US20120324152A1 (en) | Memory controller with bi-directional buffer for achieving high speed capability and related method thereof | |
GB2146811A (en) | Video graphic dynamic ram | |
CN105553636A (zh) | 一种余度模式fc发送通道帧同步电路 | |
CN109388370A (zh) | 一种实现先入先出队列的方法及装置 | |
CN115579036A (zh) | 一种基于fpga的ddr连续存储电路及其实现方法 | |
JPH04301290A (ja) | 先入れ先出しメモリ回路 | |
US8611159B1 (en) | Memory write interface in an integrated circuit and method of providing same | |
CN111666225B (zh) | 一种数据处理电路及方法 | |
CN110705195A (zh) | 一种基于fpga的跨时钟域深度自行配置fifo系统 | |
CN100463443C (zh) | 一种异步fifo实现系统及实现方法 | |
CN113794849B (zh) | 用于图像数据同步的装置、方法及图像采集系统 | |
GB2341253A (en) | A high-speed dual port synchronous memory device | |
US9959230B2 (en) | Data transfer device | |
US7248663B2 (en) | Apparatus and method for transforming data transmission speed | |
US5917832A (en) | Self-test circuit and method utilizing interlaced scanning for testing a semiconductor memory device | |
KR101404844B1 (ko) | 듀얼 포트 메모리 및 그 방법 | |
KR20070035934A (ko) | 신호 정렬 회로 및 이를 구비한 반도체 메모리 소자 | |
US7899955B2 (en) | Asynchronous data buffer | |
US6240028B1 (en) | Simplified peripheral logic for memory device | |
WO2022126893A1 (zh) | 用于serdes接口的桥接模块 | |
US7046580B1 (en) | Apparatus and method for address selection | |
CN111831209A (zh) | 数据存取装置及系统 | |
KR20040034711A (ko) | 단일 포트 메모리를 사용하는 디지털 라인 지연 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |