基于低功耗数字电路的信号处理装置的制作方法

文档序号:12806227阅读:163来源:国知局
基于低功耗数字电路的信号处理装置的制作方法
本发明涉及数据电路,具体涉及一种基于低功耗数字电路的信号处理装置。
背景技术
:如数字滤波器、数字相关器、数字储存器等基于低功耗数字电路的信号处理装置中,功耗主要取决于装置中的寄存器单元的跳变。以下以有限脉冲响应滤波器来举例详细说明。在无线通信系统中,为了抵抗邻近通道的干扰,要求数字滤波器具有很强的邻道抑制能力,这意味着,数字滤波器将具有很高的复杂度,其面积及功耗在系统设计中所占比例都将很可观。尤其在物联网中,对低功耗更是有着极为严苛的要求,比如可穿戴设备的供电往往只是纽扣电池或者很小容量的锂电池。有限脉冲响应滤波器简介:有限脉冲相应滤波器的n阶传输函数为:通过其传输函数,很容易推导出其电路实现结构一般如图1所示,在图1中,省略时钟端口clock和重置端口reset的连线。对于传统结构滤波器,当系数为固定时,综合工具会把乘法器综合成移位加的电路实现。当系数不是固定的时候,综合工具会把乘法器综合成真正的乘法器电路。不管是移位加或是乘法器都是组合逻辑电路。由于此为现有技术,不再赘述。由图1可见,阶数为n,二进制位宽为m的滤波器由数字电路实现的时候占用的寄存器单元为m×n个。假设m、n都等于10,则一共占用100个寄存器单元。z-0即是输入的fir_in信号,z-1~z-n用移位寄存器实现,在无线通信系统中接收到的信号往往有高斯信号和实际信号。简单介绍一下这两种信号:高斯信号是时域上不连续的信号,相邻数据没有任何规律性。实际信号往往是比较有规律的连续信号,相邻数据一般高数据位跳变的相对较少。滤波器功耗的产生的原因就是电平信号的跳变翻转。因为移位寄存器的输入和输出相连,每次有新的数据输入,那么整个用于存储滤波器数据的寄存器单元都可能会翻转,无论数据输入的是高斯信号还是实际信号。取最差的情况就是m×n个寄存器单元同时在跳变,以示例中100个寄存器单元来算,就是100个寄存器单元同时在跳变,滤波器作为通信系统里面最主要的部分,其功耗不容小视。技术实现要素:针对现有技术的不足,本发明公开了一种基于低功耗数字电路的信号处理装置。本发明的技术方案如下:一种基于低功耗数字电路的信号处理装置,包括移位寄存器;移位寄存器包括n个触发器;还包括:计数器电路,用于向数据输入选择电路和数据输出选择电路输出时钟节拍计数值;时钟节拍计数值的初始值为0,每输入一个输入数据至滤波器,时钟节拍计数值加1;当输入完第n个输入数据后,时钟节拍计数值清零重新开始累加;数据输入选择电路,接收滤波器的输入数据,并读取计数器电路所输出的时钟节拍计数值,根据时钟节拍计数值的变化,由第一触发器开始,依次选择移位寄存器中的触发器,并根据输入数据,刷新被选中的触发器中所储存的数据值;直至刷新第n触发器中的数据后,在下一个时钟节拍,重新选中第一触发器,并刷新其中的数据。其进一步的技术方案为:还包括数据输出选择电路,接收移位寄存器的并行输出数据;根据计数器电路所输出的时钟节拍计数值,确定输出数据中待搬移数据的个数;将移位寄存器中的第一触发器中的数据搬移至移位寄存器并行输出的最后一个数据之后,以此类推,直至将待搬移数据搬移完成。其进一步的技术方案为:还包括乘法器和累加器;所述乘法器包括n+1个乘法单元;滤波器输入数据输入至第一乘法单元,与第一滤波器系数进行乘积运算;数据输出选择电路的输出数据,依次对应输入至第二乘法单元至第n+1乘法单元,并依次分别与第二滤波器系数至第n+1滤波器系数进行乘积运算;n+1个乘法单元的乘积运算的结果输入所述累加器进行数据累加之后输出。本发明的有益技术效果是:本发明所公开的基于低功耗数字电路的信号处理装置,无论应用于数字滤波器、数字相关器还是数字储存器,都可使得装置中的寄存器单元的跳变数量发生质变。以装置中存在100个寄存器单元为例,其同时跳变的寄存器单元减少到了14个,与100个寄存器单元跳变相比,减少了7倍。则大大减少了装置功耗。如果装置的阶数越高,其功耗减少越明显。固然本发明所公开的技术方案新增加了一些组合逻辑电路:计数器电路、数据输入选择电路、数据输出选择电路等,所以其电路面积会稍许增加,但是新的电路结构的寄存器单元存在用存储器(ram)实现的可能,这对面积和功耗也同样有优化作用。本发明所公开的技术方案,应用于物联网或者其他领域中,可以降低相关设备的耗能,极大地增加设备的使用时间,改善用户体验。附图说明图1是现有技术中有限脉冲响应滤波器的结构。图2是本发明中的有限脉冲响应滤波器的结构。图3是实施例中数据输出选择电路搬移数据的第一步骤。图4是实施例中数据输出选择电路搬移数据的第二步骤。具体实施方式本发明所述的技术方案可以应用于数字滤波器、数字相关器或者数字储存器。以下使用有限脉冲响应滤波器的结构进行说明。如果装置为数字储存器,则本发明所述的技术方案也可以对存储器结构的数字电路进行功耗优化,只要去除最后的数据输出选择电路和相应的乘法器和累加器即可,其余的减少功耗的原理类似,所以不再详述。图2是本发明中的有限脉冲响应滤波器的结构。如图2所示,滤波器包括数据输入选择电路、移位寄存器、计数器电路、数据输出选择电路、乘法器和累加器。滤波器的阶数为n,滤波器的二进制位宽为m。也就是说,滤波器中的移位寄存器,包括n个d触发器,每个d触发器包括m个寄存器单元,即每个d触发器所输入的数据均为位宽为m的二进制数据。如图2所示,以移位寄存器的数据输入顺序为标准,移位寄存器中的触发器依次为第一触发器dff(0)至第n触发器dff(n-1)。在本实施例中,滤波器的阶数n=10,滤波器的位宽m=10。本发明所述的技术方案,主要是增加了三个电路结构:计数器电路、数据输入选择电路和数据输出选择电路,以下对这三个电路结构进行详述。(1)计数器电路:计数器电路用于向数据输入选择电路和数据输出选择电路输出时钟节拍。以一组输入滤波器的输入数据fir_in的长度为一个计数周期,每个计数周期包括l个时钟节拍。计数器电路中设置有用于计数时钟节拍的计数参数count[m-1:0]。其中参数m指的是滤波器阶数n的二进制位宽,在本实施例中,滤波器的阶数n=10,以二进制的表示方法为n=1010,位宽为4位,即m=4。计数参数count的初始值为0,在一个计数周期中,每经过过一个时钟节拍,计数参数count的值加1,直至到第n个时钟节拍,此时计数参数count的值为n-1。在第n+1个时钟节拍时,计数参数count的值清零并重新开始计数累加。直至到第l个时钟节拍,一个时计数周期结束,所有的输入数据均已经输入至滤波器。在本实施例中,输入数据fir_in的长度为12,即输入滤波器的数据为data1~data12,在一个计数周期中,包括l=12个时钟节拍。如果滤波器阶数为2的整数次幂,即n=2b,且b为正整数,则在第n+1个时钟节拍时,也就是计数参数count的值为n时,计数参数count会自动溢出清零,之后继续随着时钟节拍从0开始重新累加。(2)数据输入选择电路:输入数据fir_in首先输入至数据输入选择电路,数据输入选择电路包括n个输出端,每个输出端依次对应连接移位寄存器中的一个触发器的数据输入端,即,此时移位寄存器的数据输入方式为并行输入方式。数据输入选择电路读取计数器电路所输出的计数参数count的值,并根据计数参数count值的变化,以第一触发器至第n触发器的顺序,在每个时钟节拍依次选中一个触发器,并刷新此触发器中的数据,直至在第n个时钟节拍时,也就是计数参数count=n-1时,刷新至第n触发器。在第n+1个时钟节拍时,重新选中第一触发器,并刷新其中的数据。在每个时钟节拍中,被选中的触发器中的数据被刷新,其他触发器的时钟输入开关关断。为了详细说明数据输入电路的工作原理,以下用两个表格,来显示传统的移位寄存器和本发明所述的移位寄存器的数据处理区别。结合图2,在表1和表2中,横向表头示意出了一个计数周期中的12个时钟节拍,纵向表头示意出了每个时钟节拍里,各个触发器dff(0)~dff(n-1)中的数据示意值。其中第0个时钟节拍时,各个触发器中的数据为data0,无逻辑动作。表1传统移位寄存器中每个时钟节拍的数据表2本发明所述的移位寄存器中每个时钟节拍的数据由表1和表2可以看出,对于传统的移位寄存器,在每个时钟节拍,移位寄存器中所有触发器中的值都会被刷新。而在本发明所述的电路结构中,数据输入选择电路,根据计数器中的计数参数count的值,对输入数据fir_in做出选择,触发器中的寄存器单元则被综合工具综合成带门控时钟的电路,在每个时钟节拍,移位寄存器中只有一个触发器被选中,其数据被刷新,其他触发器的时钟输入开关将被关断。根据上述内容,在本实施例中,假设在最差的情况中,同时会有10+4=14个寄存器单元在跳变:其中有4个寄存器单元属于计数器电路,由于计数需要,计数器电路中的寄存器单元所储存的数据,如计数参数等需要刷新,另外10个寄存器单元属于移位寄存器中被选中的一个触发器,由于同一时间只有一个触发器被选中且其中所储存的数据将被刷新,而且所储存的数据的二进制位宽为10,就是有10个寄存器单元会产生跳变。由上述可知,本电路结构实现了电路的低功耗运行。与现有技术相比,寄存器单元跳变数由100个减少到14个,已产生质的飞越。但是随之而来的问题就是数据没有连续性,这由表2中第11、12个时钟节拍的数据可以显而易见的看出。(3)数据输出选择电路:如果只是通用存储器结构的数字电路功耗优化,在现有技术中,增加上述两个电路结构实现已可以完毕,但是本文讲述的滤波器结构的数字电路功耗优化,仅仅实现存储器的功耗优化,是不能实现滤波器功能的。数字滤波器要求存储器结构里面的每个数据与前后数据必须是连续的。但是上述的电路结构中,每个触发器所输出的数据和相邻触发器所输出的数据是不一定连续的。所以增加数据输出选择电路,将不连续的数据搬移位置使之连续。如图2所示,n个d触发器的数据输出端分别连接数据输出选择电路的n个输入端口。即,移位寄存器的数据输出方式为并行输出的方式。在图1所示的电路中,数据z-1~z-n是直接由移位寄存器输出的,但是在图2所示的电路中,在n≠0时,移位寄存器输出的值并不和算法意义上的z-(n)一一对应。由此,针对数据的连续性要求,需要设计一个数据输出选择电路。首先,见下表3:表3时钟节拍和计数器所输出的计数参数值的关系cycle01234…101112count01234…012可以看出,时钟节拍cycle的值和计数器所输出的计数参数count的值之间有如下的关系:count=mod(cycle,n)。然后,再对比表2中所示的数据和时钟节拍cycle之间的关系。很容易看出,计数器所输出的计数参数count的值和表2中所示的,移位寄存器所输出的不连续的数据个数a相等。基于此,数据输出电路根据计数器输出的计数参数count的值判断哪些数据不连续,并把不连续的数据做搬移,即,以第一触发器至第n触发器的顺序,由第一触发器所输出的数据开始,将此数据搬移至最后一个数据之后。之后搬移第二触发器所输出的数据,将此数据搬移至此时的最后一个数据之后。以此类推,直至搬移完毕a个数据为止。在本实施例中有:count=mod(12,10)=2;即,有两个数据不连续,a=2。则首先如图3所示,数据输出选择电路由第一触发器所输出的数据data11开始,将data11搬移至最后一个数据之后,也就是第十触发器所输出的数据data10之后。其次如图4所示,再搬移第二触发器所输出的数据data12,将data12搬移至此时的最后一个数据之后,也就是前一步骤已经搬移好的data11之后。如图2所示,数据输出选择电路的输出数据输入至乘法器。乘法器包括n+1个乘法单元。初始的输入数据z-0输入至第零乘法单元,并与第零滤波器系数h(0)进行乘积运算。数据输出选择电路的n个输出端口分别连接剩余的n个乘法单元,则数据输出选择电路所输出的n个数据z-1~z-n在n个乘法单元中,分别与n个滤波器系数h(1)~h(n)进行乘积运算。n+1个乘法单元的输出端均连接于累加器的输入端,各个乘法单元的乘积运算的结果输入累加器进行数据累加之后作为输出数据fir_out输出。以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1