发明名称 一种利用数论变换计算循环卷积的电路结构
摘要 本发明属于集成电路设计技术领域,具体为一种利用数论变换计算循环卷积的电路结构。其包括输入数据缓存RAM、输出数据缓存RAM、运算RAM、计数器、主控制器、地址产生模块、蝶形运算模块和取模运算单元等。本发明中变换只需要加法(减法)及移位操作而不用乘法,从而提高了运算速度,费马数论变换(FNT)还消除了FFT带来的舍入误差,故能得到高精度的卷积,并且不需要基函数的存取,从而节省的存储空间,是一种以更小的芯片面积和更低的功耗实现快速循环卷积运算的电路结构,能够较好地应用于图像滤波和图像处理领域。
申请公布号 CN103870438B 申请公布日期 2016.08.17
申请号 CN201410062873.5 申请日期 2014.02.25
申请人 复旦大学 发明人 韩军;杨春峰;曾晓洋
分类号 G06F17/14(2006.01)I;G06F7/72(2006.01)I 主分类号 G06F17/14(2006.01)I
代理机构 上海正旦专利代理有限公司 31200 代理人 陆飞;王洁平
主权项 一种利用数论变换计算循环卷积的电路结构,其特征在于:其包括输入数据缓存RAM、运算RAM、计数器、主控制器、地址产生模块、蝶形运算模块、取模运算单元和输出数据缓存RAM;其中:输入数据缓存RAM,对输入数据进行缓存;计数器,在1‑N之间循环计数,N为变换序列长度,其计数输出作为主控制器的输入;主控制器,根据计数器的值控制地址产生模块,以及产生蝶形运算单元移位数的值和符号;地址产生模块,输出读写运算RAM的地址,以及判断是不是最后一位写地址,并将判断结果输出到输出数据缓存RAM;运算RAM,用于存取由蝶形运算单元计算得到的中间结果;蝶形运算模块,分别从运算RAM读取中间运算结果、从输入数据缓存RAM读取输入序列数据和从主控制读取移位控制信号,进行蝶形运算;取模运算模块,将蝶形运算模块得到的数据对费马数进行取模,并将结果输出到输出数据缓存RAM;输出数据缓存RAM,对输出数据进行缓存;其中:所述蝶形运算单元中包含逻辑移位、取反、选择器、加减控制逻辑和加减法器;其中:逻辑移位,用于进行逻辑移位操作,移位数据为输入数据缓存RAM模块输出的序列,移位量为主控制器输入的移位控制信号;取反,对移位后的数据乘以‑1;选择器,对移位输出和移位输出取反后的数据进行选择,选择端的控制信号为移位控制信号的最高位;加减控制逻辑,用来控制加减法器进行加法或减法操作;加减法器,进行加减法运算;由输入数据缓存RAM输入的数据yn先经过移位操作,具体移位数值由从主控制器输入的数据shift进行控制;然后移位后的数据分为2路,一路不进行任何操作,另一路进行取反操作;之后2路数据经过选择器,从主控制器输入的信号控制选择器进行数据选择;最后,选择器的输出与从运算RAM读入的数据进行相加得到输出;所述取模运算单元中包括选择器、选择器控制逻辑和减法器;其中:选择器,对两个输入数据选择;选择器控制逻辑,产生选择器的选择端信号;减法器,进行减法运算;将输入数据In的高位数据In[63:32]减去低位数据In[31:0],再减去符号位In[64:64],即可得到输入数据In[64:0]对模M=Ft=2^32+1的取模运算结果。
地址 200433 上海市杨浦区邯郸路220号