一种数据整形电路、方法和芯片与流程
- 国知局
- 2024-07-31 19:48:26
本技术涉及芯片领域,特别涉及一种数据整形电路、方法和芯片。
背景技术:
1、在逻辑电路利用dma(direct memory access)模块读取主机数据的场景中,主机返回的一包数据(以sop开始,eop结束)中每一拍数据可能不是整数据位宽有效的,比如整数据位宽是64b,读返回的每一拍数据其有效字节数可能小于64b。但是逻辑电路中接收读返回数据的后级模块往往会要求接收到的每一拍数据必须是整数据位宽有效的(即上例中除最后一拍的每一拍数据中的有效字节数为64b),因此需要对读返回的每一拍数据进行数据整形,然后再输入后级模块。
2、以整数据位宽是64b为例,目前数据整形采用的方法是:收到一拍数据,如果满64b有效,直接输出,如果不满64b有效,将其寄存,暂不输出,等后续再来一拍数据,将残留数据和刚来的这一拍数据合并输出,同时将这一拍剩下的数据继续寄存,这样一直重复前面步骤,直到最后一拍数据到来,如果最后一拍的数据合并之前寄存的数据小于等于64b,则最后一拍数据可以直接输出,但是如果最后一拍的数据合并之前寄存的数据大于64b,则大于64b的数据将会被寄存,需要在下一拍反压住上级模块,输出最后寄存的数据。但是在不少场景中,上级模块不接受反压。
技术实现思路
1、本技术公开了一种数据整形电路、方法和芯片,以在上级模块不接受反压的情况下,实现将数据整形时需要额外一拍输出的残留数据进行输出。
2、根据本技术实施例的第一方面,提供一种数据整形电路,包括整形模块和至少一个通道数据寄存器;
3、所述通道数据寄存器,用于存储对应通道的剩余数据信息,所述剩余数据信息包括对应通道在上一拍未输出的剩余数据;
4、所述整形模块用于接收当前拍的写入数据信息,根据所述写入数据信息从对应的通道数据寄存器中读取对应的剩余数据信息,对所述写入数据信息和所述剩余数据进行处理,输出处理数据给所述数据整形电路的下一级电路和/或输出处理后的剩余数据信息给对应的所述通道数据寄存器。
5、优选地,所述写入数据信息包括所述写入数据及所述写入数据对应的通道信息,所述根据所述写入数据信息从对应的通道数据寄存器中读取对应的剩余数据信息包括:
6、从与所述写入数据对应的通道信息相同的通道数据寄存器中读取所述对应的剩余数据信息。
7、优选地,所述写入数据信息还包括用于指示当前拍写入数据是否为包首的第一指示信息,所述剩余数据信息还包括用于指示当前通道数据寄存器中是否有剩余数据的第二指示信息,所述整形模块具体用于:
8、当所述第一指示信息确定所述写入数据为包首数据时,若所述第二指示信息确定对应的通道数据寄存器中有剩余数据,则将通道数据寄存器中的剩余数据输出给所述下一级电路,并将所述写入数据写入所述通道数据寄存器中进行保存;若所述第二指示信息指示所述通道数据寄存器中没有剩余数据,则确定所述写入数据的字节长度是否满足预设长度,如果满足,则将所述写入数据输出,若不满足,则将所述写入数据写入所述通道数据寄存器中。
9、优选地,所述整形模块还用于:
10、当所述第一指示信息确定所述写入数据不为包首数据时,若所述剩余数据的长度与所述写入数据的长度之和大于所述预设长度,从所述写入数据中提取(预设长度-剩余数据长度)的写入数据和所述剩余数据进行拼接,并将拼接后的数据输出,将所述写入数据余下的数据输入给所述对应的通道数据寄存器中,当所述剩余数据的长度与所述写入数据的长度之和小于所述预设长度时,则根据写入数据的第四指示信息确定输出处理数据给所述数据整形电路的下一级电路和/或输出处理后的剩余数据信息给对应的所述通道数据寄存器,其中,所述写入数据信息还包括所述写入数据是否是包尾数据的所述第四指示信息。
11、优选地,所述整形模块还用于:
12、若根据所述第四指示信息确定所述写入数据为包尾数据时,则将剩余数据和所述写入数据进行拼接,并向所述下一级电路输出拼接后的数据,若根据所述第四指示信息确定所述写入数据不为包尾数据时,则将所述剩余数据和所述写入数据进行拼接,并将拼接后的数据发送给所述通道数据寄存器进行保存。
13、优选地,所述剩余数据信息还包括用于指示通道数据寄存器中的数据是否处于可输出状态的第五指示信息,所述数据整形电路还包括调度模块;
14、所述调度模块还用于在输入数据信息中的写入数据为空数据时,获取所述至少一个通道寄存器中的第五指示信息,确定所述第五指示信息为剩余数据可输出状态的通道寄存器,从所述第五指示信息为可输出状态的通道寄存器中选择一个,输出所选择的通道数据寄存器中的剩余数据。
15、本发明第二方面提供一种数据整形方法,所述方法应用于数据整形电路,所述电路包括整形模块和至少一个通道数据寄存器;
16、所述通道数据寄存器存储对应通道的剩余数据信息,所述剩余数据信息包括对应通道在上一拍未输出的剩余数据;
17、所述整形模块接收当前拍的写入数据信息,根据所述写入数据信息从对应的通道数据寄存器中读取对应的剩余数据信息,对所述写入数据信息和所述剩余数据进行处理,输出处理数据给所述数据整形电路的下一级电路和/或输出处理后的剩余数据信息给对应的所述通道数据寄存器。
18、优选地,所述写入数据信息包括所述写入数据及所述写入数据对应的通道信息,所述根据所述写入数据信息从对应的通道数据寄存器中读取对应的剩余数据信息包括:
19、从与所述写入数据对应的通道信息相同的通道数据寄存器中读取所述对应的剩余数据信息。
20、优选地,所述写入数据信息还包括用于指示当前拍写入数据是否为包首的第一指示信息,所述剩余数据信息还包括用于指示当前通道数据寄存器中是否有剩余数据的第二指示信息,所述对所述写入数据信息和所述剩余数据进行处理,输出处理数据给所述数据整形电路的下一级电路和/或输出处理后的剩余数据信息给对应的所述通道数据寄存器具体包括:
21、当所述第一指示信息确定所述写入数据为包首数据时,若所述第二指示信息确定对应的通道数据寄存器中有剩余数据,则将通道数据寄存器中的剩余数据输出给所述下一级电路,并将所述写入数据写入所述通道数据寄存器中进行保存;若所述第二指示信息指示所述通道数据寄存器中没有剩余数据,则确定所述写入数据的字节长度是否满足预设长度,如果满足,则将所述写入数据输出,若不满足,则将所述写入数据写入所述通道数据寄存器中。
22、优选地,所述方法还包括:
23、当所述第一指示信息确定所述写入数据不为包首数据时,若所述剩余数据的长度与所述写入数据的长度之和大于所述预设长度,从所述写入数据中提取(预设长度-剩余数据长度)的写入数据和所述剩余数据进行拼接,并将拼接后的数据输出,将所述写入数据余下的数据输入给所述对应的通道数据寄存器中,当所述剩余数据的长度与所述写入数据的长度之和小于所述预设长度时,则根据写入数据的第四指示信息确定输出处理数据给所述数据整形电路的下一级电路和/或输出处理后的剩余数据信息给对应的所述通道数据寄存器,其中,所述写入数据信息还包括所述写入数据是否是包尾数据的所述第四指示信息。
24、优选地,所述根据写入数据的第四指示信息确定输出处理数据给所述数据整形电路的下一级电路和/或输出处理后的剩余数据信息给对应的所述通道数据寄存器具体包括:
25、若根据所述第四指示信息确定所述写入数据为包尾数据时,则将剩余数据和所述写入数据进行拼接,并向所述下一级电路输出拼接后的数据,若根据所述第四指示信息确定所述写入数据不为包尾数据时,则将所述剩余数据和所述写入数据进行拼接,并将拼接后的数据发送给所述通道数据寄存器进行保存。
26、优选地,所述剩余数据信息还包括用于指示通道数据寄存器中的数据是否处于可输出状态的第五指示信息,所述数据整形电路还包括调度模块;
27、所述调度模块在输入数据信息中的写入数据为空数据时,获取所述至少一个通道寄存器中的第五指示信息,确定所述第五指示信息为剩余数据可输出状态的通道寄存器,从所述第五指示信息为可输出状态的通道寄存器中选择一个,输出所选择的通道数据寄存器中的剩余数据。
28、根据本技术实施例的第三方面,提供一种芯片,所述芯片包括如上任一项所述的数据整形电路。
29、本技术的实施例提供的技术方案可以包括以下有益效果:
30、本技术提供的数据整形电路,将每一通道中上一拍未输出的剩余数据存储至对应的通道数据寄存器中,整形模块接收到当前拍的写入数据信息时,根据所述写入数据信息从对应的通道数据寄存器中读取对应的剩余数据信息,对所述写入数据信息和所述剩余数据进行处理,输出处理数据给所述数据整形电路的下一级电路和/或输出处理后的剩余数据信息给对应的所述通道数据寄存器。本技术中的数据整形电路不需要对数据整形电路的上级模块进行反压,可以接收上级模块输出的每一拍写入数据。
31、此外,每个通道对应一个通道数据寄存器,而不是增加整形模块的数量,大大节省了逻辑资源。
32、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
本文地址:https://www.jishuxx.com/zhuanli/20240731/184135.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表