CN100468385C - 一种实现串行信号处理的协处理器及方法 - Google Patents
一种实现串行信号处理的协处理器及方法 Download PDFInfo
- Publication number
- CN100468385C CN100468385C CNB2006100895356A CN200610089535A CN100468385C CN 100468385 C CN100468385 C CN 100468385C CN B2006100895356 A CNB2006100895356 A CN B2006100895356A CN 200610089535 A CN200610089535 A CN 200610089535A CN 100468385 C CN100468385 C CN 100468385C
- Authority
- CN
- China
- Prior art keywords
- processing unit
- storage unit
- signal
- unit
- 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
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明公开了一种用于实现串行信号处理的协处理器,该协处理器与控制单元连接,包括第一存储单元、第二存储单元、存储单元写入选择单元、输出选择单元、N(N≥2)个串行连接的处理单元、以及与N个处理单元单一连接的N个存储单元输出选择单元。本发明还公开了一种实现串行信号处理的方法。与现有技术相比,本发明所提出的种实现串行信号处理的协处理器及方法具有如下优点:(1)各处理单元使用共享存储单元,整体上减少了对存储资源的使用;(2)各处理单元可以被设置为正常工作模式、暂停模式、继续运行模式及旁路模式,方便调试;(3)具备良好的可观测性;(4)任意处理单元的数据处理功能可以用软件处理替代。
Description
技术领域
本发明涉及一种协处理器,特别地涉及一种实现串行信号处理的协处理器及方法。
背景技术
在信号处理过程中,经常使用信号处理器(Digital Signal Processing,DSP)或者现场可编程门阵列(Field Programmable Gate Array,FPGA)、特定用途集成电路(Application Specific Integrated Circuit:ASIC)等硬件实现方式。DSP具有灵活的可编程能力,适用于复杂控制及运算的实现,但是由于内部程序执行的串行性,使得DSP的处理能力不能满足大规模并行信号处理的要求;而对于FPGA或者ASIC等硬件却适合实现高度并行性、高速实时的信号处理,与DSP能够形成互补,因而在现有技术中常常由DSP和硬件协调器共同配合实现复杂的信号处理系统。
串行信号处理是信号处理过程中较为常见的一种处理方式,通常采用协处理器来实现。在现有技术中,用于串行信号处理的协处理器结构多如图1所示,(为了简单表示,图1中以两个串行处理单元为例),其中:RAM1、RAM2、RAM3分别为第一存储单元、第二存储单元和第三存储单元,这些存储单元可以选择单口RAM,也可以选择双口RAM,P1和P2分别为第一处理单元和第二处理单元。该协处理器的工作流程如下:当DSP将输入数据写入第一存储单元RAM1时,启动第一处理单元P1;当第一处理单元P1完成处理后,将处理结果写入第二存储单元RAM1中,并启动第二处理单元P2;当第二处理单元P2完成处理后,将最终结果写入第三存储单元RAM3中,并通知DSP;DSP从第三存储单元RAM3中读取最终结果,硬件协处理器完成工作。
可见,在现有技术中,协处理器的各处理单元对存储单元的使用都是独享的,因此需要占用较多的存储资源;并且协处理器一旦启动,外部控制手段无法暂停其运行,也无法访问处理单元的内部数据,因而使用过程中可操作性和可观测性均较差。
发明内容
本发明即是针对上述现有技术中存在的缺点而提出的一种用于串行信号处理的协处理器,该协处理器实现了多个处理单元对存储单元的共享,减少了对存储资源的使用。
为实现上述目的,本发明提供一种用于实现串行信号处理的协处理器,该协处理器与控制单元连接,包括第一存储单元、第二存储单元、存储单元写入选择单元、输出选择单元、N(N≥2)个串行连接的处理单元、以及与N个处理单元一一对应连接的N个存储单元输出选择单元,其中:
存储单元写入选择单元,其与N个处理单元的输出端、控制单元的写输出端、第一存储单元和第二存储单元均连接,用于在接收到的N个处理单元的输出数据及控制单元的写输出数据中选择一组数据输出至被选定的存储单元中;
输出选择单元,其与第一存储单元、第二存储单元、以及控制单元均连接,用于从第一存储单元和第二存储单元中选择一个存储单元,该选定存储单元中的数据被外接控制单元直接读取;
处理单元对输入的数据进行处理,将处理结果输出,并触发下一处理单元工作;
存储单元输出选择单元,其与处理单元、第一存储单元和第二存储单元均连接,用于从第一存储单元和第二存储单元中选择一个存储单元,该选定存储单元中的数据作为对应的处理单元工作时的输入数据。
进一步地,所述的第一存储单元为一块或者一块以上物理RAM构成;所述的第二存储单元为一块或者一块以上物理RAM构成。
进一步地,所述的存储单元写入选择单元进一步地包括:第一输入选通器和第二输入选通器,所述的第一输入选通器的输入端与N个处理单元的输出端、控制单元的写输出端均连接,其输出端与第一存储单元连接,其选通控制信号由控制单元设定;所述的第二输入选通器的输入端与N个处理单元的输出端、控制单元的写输出端均连接,其输出端与第二存储单元连接,其选通控制信号由控制单元设定。
进一步地,所述的输出选择单元为输出选通器,所述的输出选通器的选通控制信号由控制单元设定。
进一步地,所述的存储单元输出选择单元为多路选通器,所述的多路选通器的选通控制信号由控制单元设定。
进一步地,该协处理器还包括与N个处理单元一一对应连接的N个逻辑触发单元,所述的逻辑触发单元用于触发对应的处理单元启动工作。
更进一步地,所述的逻辑触发单元进一步地包括相互串联的一“与”门和一“或”门,所述的“与”门输入端为接收触发信号的触发端以及接收对应的处理单元起始使能信号的起始使能信号端,所述的“与”门输出端与“或”门一输入端连接,所述的“或”门另一输入端为接收对应的处理单元启动信号的启动端,所述的“或”门输出端与对应的处理单元连接。
本发明还提供一种进行串行信号处理的方法,用于具有N个串行连接处理单元的协处理器,其中:N≥2,包括下述步骤:
(a)控制单元将协处理器输入数据写入选定的存储单元中暂存,该存储单元作为第一处理单元的输入数据存储单元;
(b)第n处理单元收到有效的启动触发信号后从选定的输入数据存储单元中读取数据,处理该数据,然后将结果输出到另一存储单元中暂存,停止工作同时触发下一处理单元工作,暂存该结果的存储单元作为下一处理单元的输入数据存储单元,其中n<N;
(c)第N处理单元收到有效的启动触发信号后从选定的输入数据存储单元中读取数据,处理该数据,然后将结果输出到另一存储单元中暂存,停止工作并发出第N结束信号,控制单元接收到第N结束信号后从存储第N处理单元输出数据的存储单元中读取数据。
进一步地,所述的启动触发信号是有效的是根据该信号的逻辑状态来确定的,所述的启动触发信号为单脉冲信号,且只有一个逻辑状态对应于对应的处理单元是有效的。
更进一步地,所述的启动触发信号的逻辑状态是通过下述方法确定的:第一处理单元的启动触发信号为控制单元输出的激励信号,其逻辑状态由控制单元设定;其余处理单元的启动触发信号为前一处理单元的结束信号,其逻辑状态与前一处理单元的结束信号的逻辑状态相同。
更进一步地,所述的处理单元的有效启动触发信号为单个正脉冲信号时,所述的启动触发信号的状态是通过下述方法确定的:
(a1)第n处理单元的启动触发信号的逻辑状态由下述逻辑运算表达式Pn_Start=((HWA_Init)(Pn_Start_Ena))+(Pn_Start_DSP)确定,其中n=1;
(a2)第n处理单元的启动触发信号的逻辑状态由下述逻辑运算表达式Pn_Start=((Pn-1_Done)(Pn_Start_Ena))+(Pn_Start_DSP)确定,其中n≥2;
其中:Pn_Start为第n处理单元的启动触发信号,Pn-1_Done为第n-1处理单元中数据处理结束时输出的单脉冲第n-1结束信号,HWA_Init为单脉冲激励信号,Pn_Start_DSP为单脉冲的处理器第n启动信号;Pn_Start_Ena为设定逻辑状态的第n起始使能信号;所述的激励信号HWA_Init、第n起始使能信号Pn_Start_Ena和处理器第n启动信号Pn_Start_DSP的逻辑状态由控制单元设定。
再进一步地,该方法还包括:
(a11)设定处理器第n启动信号Pn_Start_DSP为无效信号,第n起始使能信号Pn_Start_Ena为有效信号;
(a12)当第一处理单元接收到有效的激励信号后,进行串行信号处理。
再进一步地,该方法还进一步包括下述步骤:
(a21)设定处理器第n启动信号Pn_Start_DSP为无效信号,第n起始使能信号Pn_Start_Ena为无效信号,第n处理单元暂停工作;
(a22)控制单元读取第一存储单元和第二存储单元中的数据。
还进一步地,所述的步骤(a22)之后还包括以下步骤:
(a23)设定处理器第n启动信号Pn_Start_DSP为有效信号,第n处理单元继续工作。
还进一步地,所述的步骤(a22)之后还包括以下步骤:
(a233)控制单元对读取的数据进行处理后,将处理结果输出至设定的第n+1处理单元的输入数据存储单元中;
(a234)设定处理器第n+1启动信号Pn+1_Start_DSP为有效信号,第n+1处理单元继续工作。
与现有技术相比,本发明所提出的用于串行信号处理的协处理器及方法具有如下显著优点:
(1)协处理器各处理单元使用共享存储单元,整体上减少了对存储资源的使用;
(2)协处理器的各处理单元可以被控制单元设置为正常工作模式、暂停模式、继续运行模式及旁路模式,方便调试;
(3)控制单元可以访问任意处理单元的输入与输出数据,具备良好的可观测性;
(4)控制单元可以控制旁路协处理器的任意处理单元,用软件处理替代协处理器的处理单元的功能。
附图说明
图1为现有技术中实现串行信号处理的协处理器结构图;
图2为本发明具体实施例一实现串行信号处理的协处理器结构图;
图3为本发明具体实施例二实现串行信号处理的协处理器结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步地介绍,但不作为对本发明的限定。
首先作一定义:对于各个处理单元而言,能直接或者间接地触发其启动工作的信号为有效信号,反之为无效信号。
实施例一:
如图2所示,为本发明实施例一实现串行信号处理的协处理器结构图,该协处理器为实现三个处理单元串行的协处理器,包括:第一输入选通器MUXA,第二输入选通器MUXB,输出选通器MUXC,第一多路选通器MUX1,第二多路选通器MUX2,第三多路选通器MUX3,第一处理单元P1,第二处理单元P2,第三处理单元P3,第一存储单元RAM1以及第二存储单元RAM2,其中:
第一输入选通器MUXA,其输入端与外接控制单元的写数据输出端、第一处理单元P1数据输出端、第二处理单元P2数据输出端、第三处理单元P3数据输出端均连接,根据选通控制信号SelA选通一组输入数据输出至第一存储单元RAM1中暂存;
第二输入选通器MUXB,其输入端与外接控制单元的写数据输出端、第一处理单元P1数据输出端、第二处理单元P2数据输出端、第三处理单元P3数据输出端均连接,根据其选通控制信号SelB选通一组输入数据输出至第二存储单元RAM2中暂存;
输出选通器MUXC,其输入端与第一存储单元RAM1的输出端、第二存储单元RAM2的输出端均相连,输出端与外接控制单元的读数据输入端相连,根据其选通控制信号SelC在第一存储单元RAM1和第二存储单元RAM2中选择一个存储单元,使得外接控制单元可以直接读取所选定存储单元中的数据;
第一多路选通器MUX1,其输入端与第一存储单元RAM1的输出端、第二存储单元RAM2的输出端均相连,根据其选通控制信号Sel1在第一存储单元RAM1和第二存储单元RAM2中选择一个存储单元,使得该存储单元中的数据可以被第一处理单元P1直接读取;
第一处理单元P1,接收到外接控制单元输出的激励信号HWA_Init后,读取第一多路选通器MUX1所选通的存储单元中的数据,对该数据进行处理,处理结束后将结果输出到另一存储单元中进行暂存,同时产生第一结束信号P1_Done输出至第二处理单元P2;
第二多路选通器MUX2,其输入端与第一存储单元RAM1的输出端、第二存储单元RAM2的输出端均相连,根据其选通控制信号Sel2在第一存储单元RAM1和第二存储单元RAM2中选择一个存储单元,使得该存储单元中的数据可以被第二处理单元P2直接读取;
第二处理单元P2,接收到第一处理单元P1产生的第一结束信号P1_Done后,读取第二多路选通器MUX2所选通的存储单元中的数据,对该数据进行处理,处理结束后将结果输出到另一存储单元进行暂存,同时产生第二结束信号P2_Done输出至第三处理单元P3;
第三多路选通器MUX3,其输入端与第一存储单元RAM1的输出端、第二存储单元RAM2的输出端均相连,根据其选通控制信号Sel3在第一存储单元RAM1和第二存储单元RAM2中选择一个存储单元,该存储单元中的数据可以被第三处理单元P3直接读取;
第三处理单元P3,接收到第二处理单元P2产生的第二结束信号P2_Done后,读取第二多路选通器MUX2选通的存储单元中的数据,对该数据进行处理,处理结束后将结果输出到另一存储单元进行暂存,同时输出第三结束信号P3_Done至外接控制单元的控制端;
第一存储单元RAM1,存储外接控制单元写入的数据或者处理单元输出的数据;
第二存储单元RAM2,存储外接控制单元写入的数据或者处理单元输出的数据;
上述的选通控制信号SelA、SelB、SelC、Sel1、Sel2和Sel3都由外接控制单元设定。
若该协处理器的外接控制单元选用DSP,三个处理单元的有效启动触发信号都设置为单个正脉冲信号,则激励信号HWA_Init、第一结束信号P1_Done、第二结束信号P2_Done、第三结束信号P3_Done为单个正脉冲信号时,对应的处理单元启动工作。该协处理器启动后工作过程如下:
(1)第一输入选通器MUXA的选通控制信号SelA设置为选通“DSP写数据输出端”输出,DSP将该协处理器的输入数据DSP_Wdata写入第一存储单元RAM1中存储;
(2)第一多路选通器MUX1的选通控制信号Sel1设置为选通“第一存储单元RAM1”读有效,第二输入选通器MUXB的选通控制信号SelB设置为选通“第一处理单元P1输出端”输出;DSP输出单个正脉冲激励信号HWA_Init,第一处理单元P1接收到该激励信号HWA_Init,即HWA_Init=1后启动工作,读取第一存储单元RAM1中数据,对其进行处理后将结果数据P1_Output_data通过第二输入选通器MUXB输出到第二存储单元RAM2中暂存;此时,第二多路选通器MUX2的选通控制信号Sel2设置为选通“第二存储单元RAM2”读有效,第一输入选通器MUXA的选通控制信号SelA设置为选通“第二处理单元P2的输出端”输出;第一处理单元P1处理结束时产生单个正脉冲第一结束信号P1_Done输出至第二处理单元P2作为其启动触发信号;
(3)第二处理单元P2接收到第一结束信号P1_Done正脉冲信号,即P1_Done=1后启动工作,读取第二存储单元RAM2中数据,对其进行处理后将结果P2_Output_data通过第一输入选通器MUXA输出到第一存储单元RAM1中暂存;此时,第三多路选通器的MUX3选通控制信号Sel3设置为选通“第一存储单元RAM1”读有效,第二输入选通器MUXB的选通控制信号SelB设置为选通“第三处理单元P3的输出端”输出;第二处理单元P2处理结束时产生单个正脉冲第二结束信号P2_Done输出至第三处理单元P3作为其启动触发信号;
(4)第三处理单元P3接收到第二结束信号P2_Done正脉冲信号,即P2_Done=1后启动工作,读取第一存储单元RAM1中的数据,对其进行处理后将结果P3_Output_data通过第二输入选通器MUXB输出到第二存储单元RAM2中暂存;第三处理单元P3处理结束时产生单个正脉冲第三结束信号P3_Done输出至DSP控制端表明三个处理单元的数据处理工作结束;
(5)DSP控制端接收到第三结束信号P3_Done正脉冲信号,即P3_Done=1后,输出选通器MUXC的选通控制信号SelC设置为选通“第二存储单元RAM2”输出,DSP读取第二存储单元RAM2中的最终数据,硬件协处理器完成工作。
在上述协处理器工作过程中,选通控制信号SelA、SelB、SelC、Sel1、Sel2和Sel3由DSP的配置寄存器设置,也可以再增加一个单独的状态控制单元来实现对各个选通控制信号进行设置。
从上述实施例一所提到的协处理器的结构和工作过程可以看出,对于任何一个激活的处理单元而言,两个存储单元一个是该处理单元的输入数据暂存存储单元,另一个是该处理单元的输出数据暂存存储单元。而选择哪个存储单元进行写操作以及往选定的存储单元中写入什么输入数据是由第一输入选通器MUXA和第二输入选通器MUXB根据其选通控制信号的不同所确定的;处理单元选择哪个存储单元中的数据的进行读取是由第一多路选通器MUX1、第二多路选通器MUX2以及第三多路选通器MUX3根据各自的选通控制信号所决定的。由于第一存储单元RAM1和第二存储单元RAM2对于所有的处理单元都是共享的,因而大大节约了存储空间。
需要说明的一点是,本实施例所提出的协处理器的结构并不仅仅限于实现三个处理单元串行的协处理器,实现N(N≥2)个处理单元串行的协处理器的结构也可类似设计。作一点说明的是:N个处理单元要对应N个多路选通器,也即其中的第n处理单元与第n多路选通器对应连接;第n多路选通器的输入与第一存储单元RAM1和第二存储单元RAM2连接,用于决定对应的处理单元在启动工作时对哪个存储单元中的数据进行读取;第n处理单元的输出端、外接控制单元的写输出端与第一输入选通器MUXA和第二输入选通器MUXB的输入端连接,用于确定对哪个存储单元进行写操作以及往选定的存储单元中写入什么输入数据。实现N(N≥2)个处理单元串行的方法与上述的实现三个处理单元串行的方法也类似,此处也不再赘述。
实施例二:
如图3所示,为本发明实施例二实现串行信号处理的协处理器结构图,该协处理器为实现三个处理单元串行的协处理器,且协处理器中各个处理单元的启动触发信号为单个正脉冲信号。本实施例在实施例一的基础上增加了第一逻辑触发单元1、第二逻辑触发单元2和第三逻辑触发单元3,三个逻辑触发单元用于产生对应的第一处理单元P1、第二处理单元P2、第三处理单元P3的启动触发信号,其中:
第一逻辑触发单元1包括相互串联的第一“与”门和第一“或”门。第一“与”门输入端为激励端和第一起始使能端,对应的输入信号分别为激励信号HWA_Init和第一起始使能信号P1_Start_Ena,激励信号HWA_Init和第一起始使能信号P1_Start_Ena的逻辑状态由外接控制单元设定;第一“与”门输出端与第一“或”门的一输入端连接;第一“或”门另一输入端为第一启动端,其输入信号为处理器第一启动信号P1_Start_DSP,该信号的逻辑状态也由外接控制单元设定;第一“或”门的输出端与第一处理单元P1连接,其输出信号为第一处理单元P1的启动触发信号P1_Start,该启动触发信号P1_Start的逻辑表达式为:P1_Start=((HWA_Init)(P1_Start_Ena))+(P1_Start_DSP):
第二逻辑触发单元2包括相互串联的第二“与”门和第二“或”门。第二“与”门一输入端为第二起始使能端,其输入信号为第二起始使能信号P2_Start_Ena,该信号逻辑状态由外接控制单元设定,另一输入端的输入信号为第一处理单元P1处理结束时产生的第一结束信号P1_Done;第二“与”门输出端与第二“或”门的一输入端连接;第二“或”门另一输入端为第二启动端,其输入信号为处理器第二启动信号P2_Start_DSP,该信号的逻辑状态也由外接控制单元设定;第二“或”门的输出端与第二处理单元P2连接,其输出信号为第二处理单元P2的启动触发信号P2_Start,该启动触发信号P2_Start的逻辑表达式为:P2_Start=((P1_Done)(P2_Start_Ena))+(P2_Start_DSP);
第三逻辑触发单元3包括相互串联的第三“与”门和第三“或”门。第三“与”门一输入端为第三起始使能端,其输入信号为第三起始使能信号P3_Start_Ena,该信号逻辑状态由外接控制单元设定,另一输入端的输入信号为第二处理单元P2处理结束时产生的第二结束信号P2_Done;第三“与”门输出端与第三“或”门的一输入端连接;第三“或”门另一输入端为第三启动端,其输入信号为处理器第三启动信号P3_Start_DSP,该信号的逻辑状态也由外接控制单元设定;第三“或”门的输出端与第三处理单元P3连接,其输出信号为第三处理单元P3的启动触发信号P3_Start,该启动触发信号P3_Start逻辑表达式为:P3_Start=((P2_Done)(P3_Start_Ena))+(P3_Start_DSP)。
如果该协处理器的外接控制单元选用DSP,该协处理器正常工作过程如下:
(11)DSP的配置寄存器对各个输入信号的逻辑状态进行配置,使得:第一起始使能信号P1_Start_Ena=1、第二起始使能信号P2_Start_Ena=1、第三起始使能信号P3_Start_Ena=1、处理器第一启动信号P1_Start_DSP=0、处理器第二启动信号P2_Start_DSP=0、处理器第三启动信号P3_Start_DSP=0;
(12)第一输入选通器MUXA的选通控制信号SelA设置为选通“DSP的写输出端”输出,DSP将输入数据DSP_Wdata写入第一存储单元RAM1中暂存;
(13)第一多路选通器MUX1的选通控制信号Sel1设置为选通“第一存储单元RAM1”读有效,第二输入选通器MUXB的选通控制信号SelB设置为选通“第一处理单元P1的输出端”输出,当DSP输出单个正脉冲激励信号HWA_Init,即HWA_Init=1时,第一处理单元P1的启动触发信号的逻辑表达式为P1_Start=((HWA_Init)(P1_Start_Ena))+(P1_Start_DSP)=1,也对应产生一个正脉冲信号,从而第一处理单元P1启动工作,读取第一存储单元RAM1中数据,对其进行处理后将结果数据P1_Output_data通过第二输入选通器MUXB输出到第二存储单元RAM2中暂存,此时,第二多路选通器MUX2的选通控制信号Sel2设置为选通“第二存储单元RAM2”读有效,第一输入选通器MUXA的选通控制信号SelA设置为选通“第二处理单元P2的输出端”输出;第一处理单元P1处理结束时产生单个正脉冲第一结束信号P1_Done;
(14)第二处理单元P2接收到单个正脉冲信号P1_Done,即P1_Done=1时,其启动触发信号的逻辑表达式为P2_Start=((P1_Done)(P2_Start_Ena))+(P2_Start_DSP)=1,也对应产生一个正脉冲信号,从而第二处理单元P2启动工作,读取第二存储单元RAM2中数据,对其进行处理后将结果数据P2_Output_data通过第一输入选通器MUXA输出到第一存储单元RAM1中暂存,此时,第三多路选通器MUX3的选通控制信号Sel3设置为选通“第一存储单元RAM1”读有效,第二输入选通器MUXB的选通控制信号SelB设置为选通“第三处理单元P3的输出端”输出;第二处理单元P2处理结束时输出单个正脉冲第二结束信号P2_Done;
(15)第三处理单元P3接收到单个正脉冲信号P2_Done,即P2_Done=1时,其启动触发信号的逻辑表达式为P3_Start=((P2_Done)(P2_Start_Ena))+(P2_Start_DSP)=1,也对应产生一个正脉冲信号,从而第二处理单元P3启动工作,读取第一存储单元RAM1中数据,对其进行处理后将结果数据P3_Output_data通过第二输入选通器MUXB输出到第二存储单元RAM2中暂存;第三处理单元P3处理结束时输出单个正脉冲第三结束信号P3_Done;
(16)DSP的控制端接收到单个正脉冲信号第三结束信号P3_Done,即P3_Done=1时,输出选通器MUXC的选通控制信号SelC设置为选通“第二存储单元RAM2”输出,DSP读取第二存储单元RAM2中的数据。
上述步骤(11)—(16)即为实现串行信号处理的协处理器的一个正常工作过程,其中:选通控制信号SelA、SelB、SelC、Sel1、Sel2和Sel3由DSP的配置寄存器设置或者也可以再增加一个单独的状态控制单元来实现对各个选通控制信号进行设置。
该协处理器也可以应用于调试过程中,假设DSP需要读取第一处理单元P1工作结束时刻第一存储单元RAM1和第二存储单元RAM2中的数据,则可以在第一处理单元P1工作结束时刻暂停第二处理单元P2工作,DSP直接读取此时第一存储单元RAM1和第二存储单元RAM2中的数据,调试结束后再使该协处理器继续工作。具体的工作过程如下:
(21)DSP配置寄存器设置第二起始使能信号P2_Start_Ena=0,处理器第二启动信号P2_Start_DSP=0;
(22)当第一处理单元P1完成处理后时,虽然第一结束信号P1_Done为单个正脉冲信号,即P1_Done=1,但此时P2_Start的逻辑表达式为P2_Start=((P1_Done)(P2_Start_Ena))+(P2_Start_DSP)=0,协处理器依旧停止工作;
(23)DSP直接读取此时第一存储单元RAM1和第二处理器RAM2中的数据进行调试;
(24)当调试工作完成后,需要启动协处理器继续工作时,DSP配置寄存器设置处理器第二启动信号P2_Start_DSP产生一个正脉冲,当处理器第二启动信号P2_Start_DSP=1时,第二处理单元P2的启动触发信号P2_Start=((P1_Done)(P2_Start_Ena))+(P1_Start_DSP)=1,也对应产生一个正脉冲信号,则被暂停的第二处理单元P2受到启动触发信号,开始继续工作。
上述步骤(21)—(24)实现了调试过程中利用DSP对第二处理单元P2暂停以及继续运行的控制。
该协处理器还可以应用于对某一处理单元的特殊处理,如果该协处理器运行过程中要利用软件处理代替第二处理单元P2中进行的数据处理过程,也即对第二处理单元P2进行特殊旁路处理,则执行下述步骤:
(31)DSP配置寄存器设置第二起始使能信号P2_Start_Ena=0,即禁止状态,处理器第二启动信号P2_Start_DSP=0,即无效状态;
(32)当第一处理单元P1完成处理后时,虽然第一结束信号P1_Done为单个正脉冲信号,即P1_Done=1,但此时第二处理单元P2的启动触发信号的逻辑表达式为P2_Start=((P1_Done)(P2_Start_Ena))+(P2_Start_DSP)=0,协处理器依旧停止工作;
(33)DSP从第二存储单元RAM2中读取第一处理单元P1的输出数据,用软件处理替代第二处理单元P2实现的处理功能,然后将处理结果写入第一存储单元RAM1中,再通过DSP配置寄存器设置处理器第三启动信号P3_Start_DSP产生单个正脉冲信号,当P3_Start_DSP=1时,第三处理单元P3的启动触发信号的逻辑表达式为P3_Start=((P2_Done)(P3_Start_Ena))+(P3_Start_DSP)=1,也对应产生一个正脉冲信号,表明第三处理单元P3接收到启动触发信号,启动工作。
上述步骤(31)—(33)实现了DSP对第二处理单元P2旁路处理的控制。
在实施例二中可以看出,各个处理单元的有效启动触发信号是单个正脉冲信号,激励信号HWA_Init、第一结束信号P1_Done、第二结束信号P2_Done、第三结束信号P3_Done的有效信号也为单个正脉冲信号;第一起始使能信号P1_Start_Ena、第二起始使能信号P2_Start_Ena、第三起始使能信号P3_Start_Ena的有效信号为固定高电平信号;处理器第一启动信号P1_Start_DSP、处理器第二启动信号P2_Start_DSP、处理器第三启动信号P3_Start_DSP的有效信号为单个正脉冲信号。
从上述的实施例二所提到的协处理器的结构和工作过程可以看出,该协处理器及其实现处理单元串行的方法不仅具有实施例一中所提到的共享存储资源的优点,还由于具有暂停模式、继续运行模式及旁路模式等多种工作模式,方便控制单元对其进行调试。可见该协处理器具有较强的可观测性和可操作性。
需要指出的是,实施例二所提出的协处理器结构并不仅仅限于实现三个处理单元串行的协处理器,实现N(N≥2)个处理单元串行的协处理器的结构也可类似设计。作一点说明的是:每一个处理单元对应一个逻辑触发单元,逻辑触发单元的输出信号为对应的处理单元的启动触发信号,第n处理单元Pn启动触发信号的逻辑表达式为Pn_Start=((Pn-1_Done)(Pn_Start_Ena))+(Pn_Start_DSP),(n≥2),其中:Pn_Start是单个正脉冲信号,Pn-1_Done为第n-1处理单元处数据处理结束时输出的第n-1结束信号,是单个正脉冲信号,Pn_Start_Ena为第n起始使能信号,是一个高电平有效的信号,Pn_Start_DSP为处理器第n启动信号,是单个正脉冲信号,第n起始使能信号Pn_Start_Ena和处理器第n启动信号Pn_Start_DSP的逻辑状态由外接控制单元设定;P1_Start的逻辑表达式为P1_Start=HWA_Init,是单个正脉冲信号。实现N(N≥2)个处理单元串行的方法与上述的实现三个处理单元串行的方法也类似,此处也不再赘述。
在另一实施例中,如果处理单元的有效启动触发信号仍然为单个正脉冲信号,可以在各个逻辑触发单元中的“与”门或者“或”门的各个输入端均加接一个反相器,或者选择性地在其中一个或几个输入端均加接一个反相器。
在该协处理器工作时,仍然类似地采用上述实施例二中的第n处理单元Pn启动触发信号的逻辑表达式,只是对于信号需要取反的输入端信号而言,其有效信号的逻辑状态也取反,例如:若第n起始使能信号Pn_Start_Ena要反相,则第n处理单元Pn启动触发信号的逻辑表达式为 (n≥2),由此可见对于第n起始使能信号Pn_Start_Ena而言,其有效值为一个低电平有效的信号;对于其它需要反相的输入信号,也发生类似变化。
在又一实施例中,如果处理单元的有效启动触发信号为单个负脉冲信号,则可以在逻辑触发单元的输出端加设一个反相器。
在该协处理器工作时,第n处理单元Pn启动触发信号的逻辑表达式为 (n≥2),。各个信号的有效性和实施例二类似。
还需要说明的是,在上述实施例中,所有的多路选通器、第一输入选通器、第二输入选通器以及输出选通器都可以由其它类型的选择单元所替代;选择单元的选通控制信号由协处理器的外接控制单元设定;外接控制单元并不仅仅限于DSP,还可以选用单片机、FPGA、ASIC等替代;第一存储单元RAM1和第二存储单元RAM2可以为一块物理RAM构成,也可以为多块物理RAM构成。
从上述实施例可以看出,本发明具有如下优点:
(1)协处理器各处理单元使用共享存储单元,整体上减少了对存储资源的使用;
(2)协处理器的各处理单元可以被控制单元设置为正常工作模式、暂停模式、继续运行模式及旁路模式,方便调试;
(3)控制单元可以访问任意处理单元的输入与输出数据,具备良好的可观测性;
(4)控制单元可以控制旁路协处理器的任意处理单元,用软件处理替代协处理器的处理单元的功能。
Claims (15)
1.一种用于实现串行信号处理的协处理器,与控制单元连接,包括第一存储单元,第二存储单元以及N个串行连接的处理单元,其中:N≥2;所述的处理单元对输入的数据进行处理,将处理结果输出,并触发下一处理单元工作,其特征在于,该协处理器还包括:存储单元写入选择单元、输出选择单元、以及与N个处理单元一一对应连接的N个存储单元输出选择单元,其中:
存储单元写入选择单元,其与N个处理单元的输出端、控制单元的写输出端、第一存储单元和第二存储单元均连接,用于在接收到的N个处理单元的输出数据及控制单元的写输出数据中选择一组数据输出至被选定的存储单元中;
输出选择单元,其与第一存储单元、第二存储单元、以及控制单元均连接,用于从第一存储单元和第二存储单元中选择一个存储单元,该选定存储单元中的数据被外接控制单元直接读取;
存储单元输出选择单元,其与处理单元、第一存储单元和第二存储单元均连接,用于从第一存储单元和第二存储单元中选择一个存储单元,该选定存储单元中的数据作为对应的处理单元工作时的输入数据。
2.如权利要求1所述的协处理器,其特征在于,所述的第一存储单元为一块或者一块以上物理RAM构成;所述的第二存储单元为一块或者一块以上物理RAM构成。
3.如权利要求1所述的协处理器,其特征在于,所述的存储单元写入选择单元进一步地包括:第一输入选通器和第二输入选通器,所述的第一输入选通器的输入端与N个处理单元的输出端、控制单元的写输出端均连接,其输出端与第一存储单元连接,其选通控制信号由控制单元设定;所述的第二输入选通器的输入端与N个处理单元的输出端、控制单元的写输出端均连接,其输出端与第二存储单元连接,其选通控制信号由控制单元设定。
4.如权利要求1所述的协处理器,其特征在于,所述的输出选择单元为输出选通器,所述的输出选通器的选通控制信号由控制单元设定。
5.如权利要求1所述的协处理器,其特征在于,所述的存储单元输出选择单元为多路选通器,所述的多路选通器的选通控制信号由控制单元设定。
6.如权利要求1所述的协处理器,其特征在于,该协处理器还包括与N个处理单元一一对应连接的N个逻辑触发单元,所述的逻辑触发单元用于触发对应的处理单元启动工作。
7.如权利要求6所述的协处理器,其特征在于,所述的逻辑触发单元进一步地包括相互串联的一“与”门和一“或”门,所述的“与”门输入端为接收触发信号的触发端以及接收对应的处理单元起始使能信号的起始使能信号端,所述的“与”门输出端与“或”门一输入端连接,所述的“或”门另一输入端为接收对应的处理单元启动信号的启动端,所述的“或”门输出端与对应的处理单元连接。
8.一种进行串行信号处理的方法,用于具有N个串行连接处理单元的协处理器,其中:N≥2,其特征在于,该方法包括下述步骤:
(a)控制单元将协处理器输入数据写入选定的存储单元中暂存,该存储单元作为第一处理单元的输入数据存储单元;
(b)第n处理单元收到有效的启动触发信号后从选定的输入数据存储单元中读取数据,处理该数据,然后将结果输出到另一存储单元中暂存,停止工作同时触发下一处理单元工作,暂存该结果的存储单元作为下一处理单元的输入数据存储单元,其中n<N;
(c)第N处理单元收到有效的启动触发信号后从选定的输入数据存储单元中读取数据,处理该数据,然后将结果输出到另一存储单元中暂存,停止工作并发出第N结束信号,控制单元接收到第N结束信号后从存储第N处理单元输出数据的存储单元中读取数据。
9.如权利要求8所述的方法,其特征在于,所述的启动触发信号是有效的是根据该信号的逻辑状态来确定的,所述的启动触发信号为单脉冲信号,且只有一个逻辑状态对应于对应的处理单元是有效的。
10.如权利要求9所述的方法,其特征在于,所述的启动触发信号的逻辑状态是通过下述方法确定的:第一处理单元的启动触发信号为控制单元输出的激励信号,其逻辑状态由控制单元设定;其余处理单元的启动触发信号为前一处理单元的结束信号,其逻辑状态与前一处理单元的结束信号的逻辑状态相同。
11.如权利要求9所述的方法,其特征在于,所述的处理单元的有效启动触发信号为单个正脉冲信号时,所述的启动触发信号的状态是通过下述方法确定的:
(a1)第n处理单元的启动触发信号的逻辑状态由下述逻辑运算表达式Pn_Start=((HWA_Init)(Pn_Start_Ena))+(Pn_Start_DSP)确定,其中n=1;
(a2)第n处理单元的启动触发信号的逻辑状态由下述逻辑运算表达式Pn_Start=((Pn-1_Done)(Pn_Start_Ena))+(Pn_Start_DSP)确定,其中n≥2;
其中:Pn_Start为第n处理单元的启动触发信号,Pn-1_Done为第n-1处理单元中数据处理结束时输出的单脉冲第n-1结束信号,HWA_Init为单脉冲激励信号,Pn_Start_DSP为单脉冲的处理器第n启动信号;Pn_Start_Ena为设定逻辑状态的第n起始使能信号;所述的激励信号HWA_Init、第n起始使能信号Pn_Start_Ena和处理器第n启动信号Pn_Start_DSP的逻辑状态由控制单元设定。
12.如权利要求11所述的方法,其特征在于,该方法还包括:
(a11)设定处理器第n启动信号Pn_Start_DSP为无效信号,第n起始使能信号Pn_Start_Ena为有效信号;
(a12)当第一处理单元接收到有效的激励信号后,进行串行信号处理。
13.如权利要求11所述的方法,其特征在于,该方法还进一步包括下述步骤:
(a21)设定处理器第n启动信号Pn_Start_DSP为无效信号,第n起始使能信号Pn_Start_Ena为无效信号,第n处理单元暂停工作;
(a22)控制单元读取第一存储单元和第二存储单元中的数据。
14.如权利要求13所述的方法,其特征在于,所述的步骤(a22)之后还包括以下步骤:
(a23)设定处理器第n启动信号Pn_Start_DSP为有效信号,第n处理单元继续工作。
15.如权利要求13所述的方法,其特征在于,所述的步骤(a22)之后还包括以下步骤:
(a233)控制单元对读取的数据进行处理后,将处理结果输出至设定的第n+1处理单元的输入数据存储单元中;
(a234)设定处理器第n+1启动信号Pn+1_Start_DSP为有效信号,第n+1处理单元继续工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100895356A CN100468385C (zh) | 2006-06-30 | 2006-06-30 | 一种实现串行信号处理的协处理器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100895356A CN100468385C (zh) | 2006-06-30 | 2006-06-30 | 一种实现串行信号处理的协处理器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101097565A CN101097565A (zh) | 2008-01-02 |
CN100468385C true CN100468385C (zh) | 2009-03-11 |
Family
ID=39011400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100895356A Active CN100468385C (zh) | 2006-06-30 | 2006-06-30 | 一种实现串行信号处理的协处理器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100468385C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494486B (zh) * | 2008-01-21 | 2013-06-12 | 大唐移动通信设备有限公司 | 一种运算阵列结构及包含该结构的基带信号处理装置 |
CN102799546B (zh) * | 2012-06-30 | 2015-07-08 | 广西工学院 | 输出位信息的读写与时序控制器 |
US20170132466A1 (en) | 2014-09-30 | 2017-05-11 | Qualcomm Incorporated | Low-power iris scan initialization |
US9554100B2 (en) * | 2014-09-30 | 2017-01-24 | Qualcomm Incorporated | Low-power always-on face detection, tracking, recognition and/or analysis using events-based vision sensor |
US10984235B2 (en) | 2016-12-16 | 2021-04-20 | Qualcomm Incorporated | Low power data generation for iris-related detection and authentication |
-
2006
- 2006-06-30 CN CNB2006100895356A patent/CN100468385C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101097565A (zh) | 2008-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100468385C (zh) | 一种实现串行信号处理的协处理器及方法 | |
US6990620B2 (en) | Scanning a protocol signal into an IC for performing a circuit operation | |
US5781558A (en) | Diagnostic memory access | |
US5905738A (en) | Digital bus monitor integrated circuits | |
JP2673298B2 (ja) | セルフテスト機能付半導体集積回路 | |
CN103149529B (zh) | 多核处理器及其测试方法和装置 | |
US5757819A (en) | Integrated circuit test controller | |
EP0738975A1 (en) | Method and apparatus for scan testing with extended test vector storage | |
US6815977B2 (en) | Scan cell systems and methods | |
JPH11352188A (ja) | 半導体装置 | |
DE19519453A1 (de) | Halbleiterspeicher-Testvorrichtung | |
CN118013905A (zh) | 一种适用于芯片可测性设计的复位信号生成方法 | |
CN110413561A (zh) | 数据加速处理系统 | |
KR101039853B1 (ko) | 반도체 메모리장치 및 이의 압축 테스트 방법 | |
CN1118753C (zh) | 数据处理装置及其方法 | |
US8917566B2 (en) | Bypass structure for a memory device and method to reduce unknown test values | |
US6662326B1 (en) | Circuit cell having a built-in self-test function, and test method therefor | |
CN100373387C (zh) | 一种芯片仿真平台中的数据处理方法及系统 | |
US20040221109A1 (en) | Multi-port memory testing method utilizing a sequence folding scheme for testing time reduction | |
CN106461724A (zh) | 用于测试时间减少的方法和设备 | |
CN118377750B (zh) | 一种基于fpga的数据库异构加速内核配置系统 | |
CN116825174A (zh) | 一种m4k资源测试方法及装置、电子设备及存储介质 | |
CN116434811A (zh) | 测试访问电路、方法、芯片及可读存储介质 | |
Cheremisinova | SPECIFICATION BASED VERIFICATION OF CONTROL SYSTEMS WITH CONCURRENT BEHAVIOR | |
RU54221U1 (ru) | Устройство для исключения аномальных результатов контроля |
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 |