CN109117454A - 3780点快速傅立叶转换处理器及其运作方法 - Google Patents

3780点快速傅立叶转换处理器及其运作方法 Download PDF

Info

Publication number
CN109117454A
CN109117454A CN201710485834.XA CN201710485834A CN109117454A CN 109117454 A CN109117454 A CN 109117454A CN 201710485834 A CN201710485834 A CN 201710485834A CN 109117454 A CN109117454 A CN 109117454A
Authority
CN
China
Prior art keywords
twoport
points
storage element
cache unit
datas
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.)
Granted
Application number
CN201710485834.XA
Other languages
English (en)
Other versions
CN109117454B (zh
Inventor
王礼劼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ali Corp
Original Assignee
Ali Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ali Corp filed Critical Ali Corp
Priority to CN201710485834.XA priority Critical patent/CN109117454B/zh
Publication of CN109117454A publication Critical patent/CN109117454A/zh
Application granted granted Critical
Publication of CN109117454B publication Critical patent/CN109117454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种3780点快速傅立叶转换处理器及其运作方法。3780点快速傅立叶转换处理器包括储存单元、计算核心及双口缓存单元。储存单元储存有3780点输入数据。计算核心对3780点输入数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,提供3780点转换数据。双口缓存单元耦接于储存单元与计算核心之间,缓存3780点输入数据及3780点转换数据。当双口缓存单元提供所缓存的3780点输入数据至计算核心时,双口缓存单元自储存单元存取3780点输入数据或提供所缓存的3780点转换数据至储存单元。

Description

3780点快速傅立叶转换处理器及其运作方法
技术领域
本发明是有关于一种快速傅立叶转换处理器,且特别是有关于一种3780点快速傅立叶转换处理器及其运作方法。
背景技术
由于具有传输效率或频谱效率高、抗多径干扰能力强、信号通道估计性能良好、适于移动接收等优势,地面数字多媒体/电视广播系统(DTMB)逐渐成为中国的数字多媒体/电视传输标准。并且,3780点傅立叶转换(FFT)和逆傅立叶转换(IFFT)模块已成为中国地面数字多媒体/电视广播系统的重要模块之一。由于3780点快速傅立叶转换处理器需要在短时间内完成一次傅立叶转换,而傅立叶转换需要重复的多次运算,因此3780点快速傅立叶转换处理器需要较多的缓存数据(亦即需要较多的逻辑资源),影响了3780点快速傅立叶转换处理器的电路面积及制造成本。因此,如何使33780点快速傅立叶转换处理器具有合理的时间延迟和较低的制造成本则成为发展3780点傅立叶转换和逆傅立叶转换模块的一个重要课题。
发明内容
本发明提供一种3780点快速傅立叶转换处理器及其运作方法,可减少逻辑资源消耗及处理延迟,并且减少所需要的储存资源。
本发明的3780点快速傅立叶转换处理器,包括储存单元、计算核心及双口缓存单元。储存单元储存有3780点输入数据。计算核心对3780点输入数据依序进行3点、4点、5点、7点及9点快速傅立叶转换提供3780点转换数据。双口缓存单元耦接于储存单元与计算核心之间,缓存3780点输入数据及3780点转换数据。当双口缓存单元提供所缓存的3780点输入数据至计算核心时,双口缓存单元自储存单元存取3780点输入数据或提供所缓存的3780点转换数据至储存单元。
本发明的3780点快速傅立叶转换处理器的运作方法,包括下列步骤。透过储存单元储存3780点输入数据。透过计算核心对3780点输入数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,以提供3780点转换数据。透过双口缓存单元缓存3780点输入数据及3780点转换数据,其中当双口缓存单元提供所缓存的3780点输入数据至计算核心时,双口缓存单元自储存单元存取3780点输入数据或提供所缓存的3780点转换数据至储存单元。
基于上述,本发明实施例的3780点快速傅立叶转换处理器及运作方法,当双口缓存单元提供所缓存的3780点输入数据至计算核心时,双口缓存单元同时会自储存单元存取3780点输入数据及提供所缓存的3780点转换数据至储存单元。因此,可改善数据的读写与计算周期,以减少逻辑资源消耗与处理延迟,同时可减少所需要的储存资源。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1为依据本发明一实施例的3780点快速傅立叶转换处理器的系统示意图。
图2是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为单口存储器且进行7点快速傅立叶转换的时序示意图。
图3是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为单口存储器且进行3点快速傅立叶转换的时序示意图。
图4是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为双口存储器且进行7点快速傅立叶转换的时序示意图。
图5是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为双口存储器且进行3点快速傅立叶转换的时序示意图。
图6为依据本发明一实施例的3780点快速傅立叶转换处理器的运作方法的流程图。
附图标记说明
1-28:时钟周期
100:3780点快速傅立叶转换处理器
110:储存单元
120:双口缓存单元
130:计算核心
140:状态机
150:地址映射单元
160:指令只读存储器
211、213、221、223、231、233、311、313、315、321、323、325、331、333、335、411、413、415、421、423、425、431、433、435、511、513、515、517、521、523、525、531、533:方块
cmd_op:运算指令
SADD:位址信号
SR1:第一储存区域
SR2:第二储存区域
S610、S620、S630:步骤
具体实施方式
图1为依据本发明一实施例的3780点快速傅立叶转换处理器的系统示意图。请参照图1,在本实施例中,3780点快速傅立叶转换处理器100包括储存单元110、双口缓存单元120、计算核心130、状态机140、地址映射单元150及指令只读存储器160,其中计算核心130具有加法器组、乘法器组及寄存器组,以进行3点、4点、5点、7点及9点快速傅立叶转换。
储存单元110的第一储存区域SR1储存有3780点输入数据。双口缓存单元120耦接于储存单元110与计算核心130之间,用以缓存3780点输入数据,并且将缓存的3780点输入数据提供至计算核心130。计算核心130对3780点输入数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,其中计算核心130可利用维诺格勒(Winograd)傅立叶变换算法(WFTA)进行3点、4点、5点、7点及9点快速傅立叶转换,计算核心130并且依据计算结果提供3780点转换数据至双口缓存单元120以进行缓存,双口缓存单元120提供所缓存的3780点转换数据至储存单元110的第二储存区域SR2。其中,当计算核心130对3780点输入数据进行计算时,双口缓存单元120提供所缓存的3780点输入数据至计算核心130时,同时双口缓存单元120可自储存单元110存取3780点输入数据或可提供所缓存的3780点转换数据至储存单元110。
状态机140耦接储存单元110、双口缓存单元120、计算核心130、地址映射单元150及指令只读存储器160,地址映射单元150耦接储存单元110,并且指令只读存储器160耦接计算核心130。
状态机140控制地址映射单元150提供多个位址信号SADD至储存单元110,以指定同相的3780点输入数据(即3780点输入数据_I)及正交相的3780点输入数据(即3780点输入数据_Q)储存于储存单元110的第一储存区域SR1。接着,状态机140控制储存单元110依序将3780点输入数据_I及3780点输入数据_Q储存(或写入)至第一储存区域SR1中。
当3780点输入数据(包含3780点输入数据_I及3780点输入数据_Q)储存完毕时,状态机140控制双口缓存单元120存取并缓存3780点输入数据,并且状态机140会控制地址映射单元150提供多个位址信号SADD至储存单元110,以决定储存单元110所输出的3780点输入数据,亦即决定双口缓存单元120所存取并缓存的3780点输入数据,而缓存的3780点输入数据会透过双口缓存单元120提供至计算核心130的寄存器组。
然后,状态机140控制指令只读存储器160依序提供多个运算指令cmd_op至计算核心130,以控制计算核心130的加法器组及乘法器组在运算时所使用的寄存器、加法器及乘法器,亦即决定计算核心130的计算模式(例如3点、4点、5点、7点或9点快速傅立叶转换)。并且,在计算核心130接收到各个运算指令cmd_op后,状态机140会控制计算核心130进行一次计算。接着,计算核心130在进行一次完整的快速傅立叶转换后,会透过其寄存器组将计算结果(即3780点转换数据)传送至双口缓存单元120,而双口缓存单元120会受控于状态机140而缓存的3780点转换数据。
当双口缓存单元120缓存一组3780点转换数据时,状态机140会控制地址映射单元150提供多个位址信号SADD至储存单元110,以指定3780点转换数据储存于第二储存区域SR2。接着,状态机140控制储存单元110依序将3780点转换数据储存(或写入)至第二储存区域SR2中。
当储存单元110储存完整的3780点转换数据后,状态机140控制地址映射单元150提供多个位址信号SADD至储存单元110,以控制储存单元110依据所储存的3780点转换数据依序输出同相的3780点转换数据(即3780点转换数据_I)及正交相的3780点转换数据(即3780点转换数据_Q)。
依据上述,当双口缓存单元120提供所缓存的3780点输入数据至计算核心130时,双口缓存单元120自储存单元110存取3780点输入数据或提供所缓存的3780点转换数据至储存单元110。因此,可改善数据的读写与计算周期,以减少逻辑资源消耗与处理延迟,同时可减少所需要的储存资源。
图2是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为单口存储器且进行7点快速傅立叶转换的时序示意图。请参照图1及图2,在本实施例中,是假设储存单元110为单口存储器,并且计算核心130是进行7点快速傅立叶转换。其中,在一实施例中,双口缓存单元120自储存单元110存取计算所需要的每一组3780点输入数据是需要7个时钟周期,计算核心130自双口缓存单元120提取计算所需的数据且完成快速傅立叶转换同样需要7个时钟周期,并且双口缓存单元120将所缓存的每一组3780点转换数据提供至储存单元110也需要7个时钟周期。
如方块211所示,在第1至第7个时钟周期中(图2中标示为1-7),双口缓存单元120自储存单元110存取计算所需要的第一组3780点输入数据(图2中标示为输入数据_11)。如方块213所示,在第8至第14个时钟周期中(图2中标示为8-14),双口缓存单元120自储存单元110存取计算所需要的第二组3780点输入数据(图2中标示为输入数据_12)。如方块221所示,同样在第8至第14个时钟周期中,计算核心130完成输入数据_11的快速傅立叶转换以产生第一组3780点转换数据(图2中标示为转换数据_11)。
如方块223所示,计算核心130完成输入数据_12的快速傅立叶转换以产生第二组3780点转换数据(图2中标示为转换数据_12)。如方块231所示,在转换数据_11产生后,双口缓存单元120则优先提供转换数据_11,因此在第15至第21个时钟周期中(图2中标示为15-21),双口缓存单元120并非自储存单元110存取数据,而是将所缓存的转换数据_11提供至储存单元110。如方块233所示,在第22至第28个时钟周期中(图2中标示为22-28),双口缓存单元120将所缓存的转换数据_12提供至储存单元110。而后续的计算流程可参照上述方块211、213、221、223、231及233于第1至第28个时钟周期所示动作,在此则不再赘述。
依据上述,当计算核心130自双口缓存单元120提取所需要的输入数据(如输入数据_11、输入数据_12)以进行快速傅立叶转换的计算时,双口缓存单元120会自储存单元110存取计算所需要的输入数据(如输入数据_12)或者提供转换数据(如转换数据_11)至储存单元110。
图3是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为单口存储器且进行3点快速傅立叶转换的时序示意图。请参照图1及图3,在本实施例中,是假设储存单元110为单口存储器,并且计算核心130是进行3点快速傅立叶转换。其中,在一实施例中,双口缓存单元120自储存单元110存取计算所需要的每一组3780点输入数据是需要3个时钟周期,计算核心130自双口缓存单元120提取计算所需的数据且完成快速傅立叶转换需要4个时钟周期,并且双口缓存单元120将所缓存的每一组3780点转换数据提供至储存单元110同样需要3个时钟周期。
如方块311所示,在第1至第3个时钟周期中(图3中标示为1-3),双口缓存单元120自储存单元110存取计算所需要的第一组3780点输入数据(图3中标示为输入数据_21)。如方块313所示,在第4至第6个时钟周期中(图3中标示为4-6),双口缓存单元120自储存单元110存取计算所需要的第二组3780点输入数据(图3中标示为输入数据_22)。如方块321所示,在第4至第7个时钟周期中(图3中标示为4-6及7),计算核心130完成输入数据_21的快速傅立叶转换并且产生第一组3780点转换数据(图3中标示为转换数据_21)。
如方块315所示,在第7至第9个时钟周期中(图3中标示为7及8-9),双口缓存单元120自储存单元110存取计算所需要的第三组3780点输入数据(图3中标示为输入数据_23)。其中,在第8至第9个时钟周期中(图3中标示为8-9),虽然转换数据_21已产生,但由于输入数据_23仍未存取完毕,基于储存单元110为单口存储器的前提,双口缓存单元120则继续存取输入数据_23。
如方块323所示,在第8至第11个时钟周期中(图3中标示为8-9及10-11),计算核心130完成输入数据_22的快速傅立叶转换而产生第二组3780点转换数据(标示为转换数据_22)。如方块331所示,在第10至第12个时钟周期中(图3中标示为10-11及12),双口缓存单元120已结束输入数据_23的存取,因此双口缓存单元120转而优先提供转换数据_21,亦即双口缓存单元120将所缓存的转换数据_21提供至储存单元110。如方块325所示,在第12至第15个时钟周期中(图3中标示为12及13-15),计算核心130完成输入数据_23的快速傅立叶转换而产生第三组3780点转换数据(标示为转换数据_23)。
如方块333所示,在第13至第15个时钟周期中(图3中标示为13-15),双口缓存单元120仍优先将所缓存的转换数据_22提供至储存单元110。如方块335所示,在第16至第18个时钟周期中(图3中标示为16-18),双口缓存单元120仍优先将所缓存的转换数据_23提供至储存单元110,并且双口缓存单元120中没有待转换的输入数据,因此计算核心130会闲置。而后续的计算流程可参照上述方块311、313、315、321、323、325、331、333、335于第1至第18个时钟周期所示动作,在此则不再赘述。
依据上述,当计算核心130欲对输入数据(如输入数据_21、输入数据_22、输入数据_23)进行快速傅立叶转换的计算时,双口缓存单元120会自储存单元110存取下一笔所需要的输入数据(如输入数据_22、输入数据_23)或者提供已计算完毕的转换数据(如转换数据_21、转换数据_22)至储存单元110。
图4是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为双口存储器且进行7点快速傅立叶转换的时序示意图。请参照图1及图4,在本实施例中,是假设储存单元110为双口存储器,并且计算核心130是进行7点快速傅立叶转换。其中,双口缓存单元120自储存单元110存取计算所需要的每一组3780点输入数据是需要7个时钟周期,计算核心130自双口缓存单元120提取计算所需的数据且完成快速傅立叶转换同样需要7个时钟周期,并且双口缓存单元120将所缓存的每一组3780点转换数据提供至储存单元110也需要7个时钟周期。
如方块411所示,在第1至第7个时钟周期中(图4中标示为1-7),双口缓存单元120自储存单元110存取计算所需要的第一组3780点输入数据(图4中标示为输入数据_31)。如方块413所示,在第8至第14个时钟周期中(图4中标示为8-14),双口缓存单元120自储存单元110存取计算所需要的第二组3780点输入数据(图4中标示为输入数据_32)。如方块421所示,同样在第8至第14个时钟周期中(图4中标示为8-14),计算核心130完成输入数据_21的快速傅立叶转换的计算以产生第一组3780点转换数据(图4中标示为转换数据_21)。
如方块415所示,在第15至第21个时钟周期中(图4中标示为15-21),双口缓存单元120自储存单元110存取第三组3780点输入数据(图4中标示为输入数据_33)。如方块423所示,同样在第15至第21个时钟周期中(图4中标示为15-21),计算核心130完成输入数据_32的快速傅立叶转换以产生第二组3780点转换数据(图4中标示为转换数据_32)。如方块431所示,同样在第15至第21个时钟周期中(图4中标示为15-21),双口缓存单元120将所缓存的转换数据_31提供至储存单元110。而后续的计算流程(如方块425、433及435)可参照上述方块415、423及431于第15至第21个时钟周期所示,在此则不再赘述。
依据上述,当计算核心130自双口缓存单元120提取所需要的输入数据(如输入数据_31、输入数据_32)以进行快速傅立叶转换的计算时,双口缓存单元120会自储存单元110存取计算所需要的输入数据(如输入数据_32、输入数据_33)或者提供转换数据(如转换数据_31)至储存单元110。
图5是依据本发明一实施例的3780点快速傅立叶转换处理器的储存单元为双口存储器且进行3点快速傅立叶转换的时序示意图。请参照图1及图5,在本实施例中,是假设储存单元110为单口存储器,并且计算核心130是进行3点快速傅立叶转换。其中,双口缓存单元120自储存单元110存取计算所需要的每一组3780点输入数据是需要3个时钟周期,计算核心130自双口缓存单元120提取计算所需的数据且完成快速傅立叶转换需要4个时钟周期,并且双口缓存单元120将所缓存的每一组3780点转换数据提供至储存单元110同样需要3个时钟周期。
如方块511所示,在第1至第3个时钟周期中(图5中标示为1-3),双口缓存单元120自储存单元110存取计算所需要的第一组3780点输入数据(图5中标示为输入数据_41)。如方块513所示,在第4至第6个时钟周期中(图5中标示为4-6),双口缓存单元120自储存单元110存取计算所需要的第二组3780点输入数据(标示为输入数据_42)。如方块521所示,在第4至第7个时钟周期中(图5中标示为4-6及7),计算核心130完成输入数据_41的快速傅立叶转换而产生第一组3780点转换数据(图5中标示为转换数据_41)。
如方块515所示,在第7至第9个时钟周期中(图5中标示为7及8-9),双口缓存单元120自储存单元110存取计算所需要的第三组3780点输入数据(图5中标示为输入数据_43)。如方块523所示,在第8至第11个时钟周期中(图5中标示为8-9、10及11),计算核心130完成输入数据_42的快速傅立叶转换而产生第二组3780点转换数据(图5中标示为转换数据_42)。
如方块531所示,在第8至第10个时钟周期中(图5中标示为8-9及10),双口缓存单元120将所缓存的转换数据_41提供至储存单元110。如方块517所示,在第12至第14个时钟周期中(图5中标示为12-14),双口缓存单元120自储存单元110存取计算所需要的第四组3780点输入数据(图5中标示为输入数据_44)。如方块525所示,在第12至第15个时钟周期中(图5中标示为12-14及15),计算核心130自完成输入数据_43的快速傅立叶转换而产生第三组3780点转换数据(图5中标示为转换数据_43)。
如方块533所示,同样在第12至第14个时钟周期中(图5中标示为12-14),双口缓存单元120将所缓存的转换数据_42提供至储存单元110。而后续的计算流程可参照上述方块517、525及533于第12至第15个时钟周期所示动作,在此则不再赘述。
依据上述,当计算核心130自双口缓存单元120提取所需要的输入数据(如输入数据_41、输入数据_42、输入数据_43)以进行快速傅立叶转换的计算时,双口缓存单元120会自储存单元110存取计算所需要的输入数据(如输入数据_42、输入数据_43)或者提供转换数据(如转换数据_41、转换数据_42)至储存单元110。
参照图2至图5实施例所示,会透过双口缓存单元120自储存单元110存取3780点输入数据中的多组输入数据(如输入数据_11-12、21-23、31-33、41-44),并且透过双口缓存单元120依序提供上述输入数据至计算核心130。接着,透过计算核心130对上述输入数据进行7点或3点快速傅立叶转换,以提供3780点转换数据中的多组转换数据(如转换数据_11-12、21-23、31-33、41-42)至双口缓存单元120。最后,透过双口缓存单元120提供上述转换数据至储存单元110。
在上述实施例中,当储存单元110为单口存储器时,双口缓存单元120存取多个输入数据(如输入数据_11-12、21-23)的时间不重叠于双口缓存单元120提供多组转换数据(如转换数据_11-12、21-23)的时间。另一方面,当储存单元110为双口存储器时,双口缓存单元120存取多个输入数据(如输入数据_31-33、41-44)的时间重叠于双口缓存单元120提供多组转换数据(如转换数据_31-33、41-42)的时间。
并且,计算核心130对各组输入数据(如输入数据_11-12、21-23、31-33、41-44)进行7点或3点快速傅立叶转换的时间至少重叠于双口缓存单元120存取多组输入数据(如输入数据_11-12、21-23、31-33、41-44)其一或提供多组转换数据(如转换数据_11-12、21-23、31-33、41-42)其一的时间。同理可推,计算核心130对各组输入数据进行4点、5点及9点快速傅立叶转换的时间同样至少重叠于双口缓存单元120存取多组输入数据其一或提供多组转换数据其一的时间。
图6为依据本发明一实施例的3780点快速傅立叶转换处理器的运作方法的流程图。请参照图6,在本实施例中,快速傅立叶转换处理器的运作方法包括下列步骤。在步骤S610中,透过储存单元储存3780点输入数据。在步骤S620中,计算核心对3780点输入数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,以提供3780点转换数据。在步骤S630中,透过双口缓存单元缓存3780点输入数据及3780点转换数据,其中当计算核心对3780点输入数据进行计算时,双口缓存单元提供所缓存的3780点输入数据至计算核心,同时双口缓存单元自储存单元存取3780点输入数据或提供所缓存的3780点转换数据至储存单元。其中,步骤S610、S620及S630的顺序为用以说明,本发明实施例不以此为限。并且,步骤S610、S620及S630的细节可参照图1至图5实施例所示,在此则不再赘述。
综上所述,本发明实施例的3780点快速傅立叶转换处理器及运作方法,当双口缓存单元提供所缓存的3780点输入数据至计算核心时,双口缓存单元同时会自储存单元存取3780点输入数据或提供所缓存的3780点转换数据至储存单元。因此,可改善数据的读写与计算周期,以减少逻辑资源消耗与处理延迟,同时可减少所需要的储存资源。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的权利要求所界定者为准。

Claims (14)

1.一种3780点快速傅立叶转换处理器,包括:
储存单元,储存有3780点输入数据;
计算核心,对所述3780点输入数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,提供3780点转换数据;以及
双口缓存单元,耦接于所述储存单元与所述计算核心之间,缓存所述3780点输入数据及所述3780点转换数据;
其中,当所述双口缓存单元提供所缓存的所述3780点输入数据至所述计算核心时,所述双口缓存单元自所述储存单元存取所述3780点输入数据或提供所缓存的所述3780点转换数据至所述储存单元。
2.如权利要求1所述的3780点快速傅立叶转换处理器,其特征在于,所述计算核心利用维诺格勒(Winograd)傅立叶变换算法(WFTA)进行3点、4点、5点、7点及9点快速傅立叶转换。
3.如权利要求1所述的3780点快速傅立叶转换处理器,其特征在于,所述双口缓存单元自所述储存单元存取所述3780点输入数据中的多组输入数据,并且提供所述3780点转换数据中的多组转换数据至所述储存单元。
4.如权利要求3所述的3780点快速傅立叶转换处理器,其特征在于,所述储存单元为单口存储器,并且所述双口缓存单元存取所述多个输入数据的时间不重叠于所述双口缓存单元提供所述多组转换数据的时间。
5.如权利要求3所述的3780点快速傅立叶转换处理器,其特征在于,所述储存单元为双口存储器,并且所述双口缓存单元存取所述多个输入数据的时间重叠于所述双口缓存单元提供所述多组转换数据的时间。
6.如权利要求3所述的3780点快速傅立叶转换处理器,其特征在于,所述计算核心对各个所述多组输入数据进行7点或3点快速傅立叶转换的时间重叠于所述双口缓存单元存取所述多组输入数据其一或提供所述多组转换数据其一的时间。
7.如权利要求1所述的3780点快速傅立叶转换处理器,其特征在于,更包括状态机,耦接所述储存单元、所述计算核心及所述双口缓存单元,该状态机控制所述储存单元储存及输出所述3780点输入数据及所述3780点转换数据,控制所述双口缓存单元缓存所述3780点输入数据或所述3780点转换数据,以及控制所述计算核心依序进行3点、4点、5点、7点及9点快速傅立叶转换。
8.如权利要求7所述的3780点快速傅立叶转换处理器,其特征在于,更包括:
指令只读存储器,耦接所述状态机及所述计算核心,受控于该状态机依序提供多个运算指令至所述计算核心;以及
地址映射单元,耦接所述状态机及所述储存单元,受控于该状态机依序提供多个位址信号至所述储存单元。
9.一种3780点快速傅立叶转换处理器的运作方法,包括:
透过储存单元储存3780点输入数据;
透过计算核心对所述3780点输入数据依序进行3点、4点、5点、7点及9点快速傅立叶转换,提供3780点转换数据;以及
透过双口缓存单元缓存所述3780点输入数据及所述3780点转换数据,其中当所述双口缓存单元提供所缓存的所述3780点输入数据至所述计算核心时,所述双口缓存单元自所述储存单元存取所述3780点输入数据或提供所缓存的所述3780点转换数据至所述储存单元。
10.如权利要求9所述的3780点快速傅立叶转换处理器的运作方法,其特征在于,所述计算核心利用维诺格勒(Winograd)傅立叶变换算法(WFTA)进行3点、4点、5点、7点及9点快速傅立叶转换。
11.如权利要求9所述的3780点快速傅立叶转换处理器的运作方法,其特征在于,更包括:
透过所述双口缓存单元自所述储存单元存取所述3780点输入数据中的多组输入数据;
透过所述双口缓存单元依序提供所述多组输入数据至所述计算核心;
透过所述计算核心对所述多组输入数据进行7点或3点快速傅立叶转换来提供所述3780点转换数据中的多组转换数据至所述双口缓存单元;以及
透过所述双口缓存单元提供所述多组转换数据至所述储存单元。
12.如权利要求11所述的3780点快速傅立叶转换处理器的运作方法,其特征在于,所述储存单元为单口存储器,并且所述双口缓存单元存取所述多个输入数据的时间不重叠于所述双口缓存单元提供所述多组转换数据的时间。
13.如权利要求11项所述的3780点快速傅立叶转换处理器的运作方法,其特征在于,所述储存单元为双口存储器,并且所述双口缓存单元存取所述多个输入数据的时间重叠于所述双口缓存单元提供所述多组转换数据的时间。
14.如权利要求11所述的3780点快速傅立叶转换处理器的运作方法,其特征在于,所述计算核心对各个所述多组输入数据进行7点或3点快速傅立叶转换的时间重叠于所述双口缓存单元存取所述多组输入数据其一或提供所述多组转换数据其一的时间。
CN201710485834.XA 2017-06-23 2017-06-23 3780点快速傅立叶转换处理器及其运作方法 Active CN109117454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710485834.XA CN109117454B (zh) 2017-06-23 2017-06-23 3780点快速傅立叶转换处理器及其运作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710485834.XA CN109117454B (zh) 2017-06-23 2017-06-23 3780点快速傅立叶转换处理器及其运作方法

Publications (2)

Publication Number Publication Date
CN109117454A true CN109117454A (zh) 2019-01-01
CN109117454B CN109117454B (zh) 2022-06-14

Family

ID=64732111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710485834.XA Active CN109117454B (zh) 2017-06-23 2017-06-23 3780点快速傅立叶转换处理器及其运作方法

Country Status (1)

Country Link
CN (1) CN109117454B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002048901A2 (de) * 2000-12-13 2002-06-20 Ihp Gmbh-Innovations For High Performance Microelectronics/Institut Für Innovative Mikroelektronik Verfahren und schaltungsanordnung zur durchführung einer fast fourier transformation sowie anwendung derselben
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method
CN101630308A (zh) * 2008-07-16 2010-01-20 财团法人交大思源基金会 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
TW201017529A (en) * 2008-10-28 2010-05-01 Univ Nat Chiao Tung Computation and addressing method of a eneral sized memory-based FFT processor
CN102073620A (zh) * 2009-11-20 2011-05-25 扬智电子(上海)有限公司 快速傅立叶转换器与反快速傅立叶转换器及其方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002048901A2 (de) * 2000-12-13 2002-06-20 Ihp Gmbh-Innovations For High Performance Microelectronics/Institut Für Innovative Mikroelektronik Verfahren und schaltungsanordnung zur durchführung einer fast fourier transformation sowie anwendung derselben
US20070239815A1 (en) * 2006-04-04 2007-10-11 Qualcomm Incorporated Pipeline fft architecture and method
CN101630308A (zh) * 2008-07-16 2010-01-20 财团法人交大思源基金会 以内存为基础的任意点数快速傅立叶转换器的设计与寻址方法
TW201017529A (en) * 2008-10-28 2010-05-01 Univ Nat Chiao Tung Computation and addressing method of a eneral sized memory-based FFT processor
CN102073620A (zh) * 2009-11-20 2011-05-25 扬智电子(上海)有限公司 快速傅立叶转换器与反快速傅立叶转换器及其方法

Also Published As

Publication number Publication date
CN109117454B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
US7225312B2 (en) Multi-bank memory accesses using posted writes
JP7216781B2 (ja) データ記憶方法、データ記憶装置、データ読み取り方法及びデータ読み取り装置
CN101236774B (zh) 单端口存储器实现多端口存储功能的装置和方法
US20120014202A1 (en) Memory device and method
CN112767983A (zh) 刷新控制电路及存储器
CN103577161A (zh) 一种面向大数据的数据频度并行处理方法
CN108595917A (zh) 基于fpga的面向基因测序串匹配算法的加速平台及设计方法
CN102117244B (zh) Soc中支持多个音视频ip核寻址的ddr2的控制方法
TW200521674A (en) Method and apparatus for implicit dram precharge
CN106445472B (zh) 一种字符操作加速方法、装置、芯片、处理器
CN108959149B (zh) 一种基于共享内存的多核处理器交互总线设计方法
CN104064213B (zh) 存储器存取方法、存储器存取控制方法及存储器控制器
CN103019657B (zh) 支持数据预取与重用的可重构系统
CN108897701A (zh) cache存储架构
CN109117454A (zh) 3780点快速傅立叶转换处理器及其运作方法
CN116431562B (zh) 一种基于加速处理器的多头注意力机制融合计算分配方法
CN108062279A (zh) 用于处理数据的方法和设备
CN105373348B (zh) 一种混合内存的硬件实现系统及方法
US20050010726A1 (en) Low overhead read buffer
CN106658101A (zh) 一种控制节目播放的方法、装置及系统
CN114626005B (zh) 一种视频sar实时成像中cs算法的fpga实现方法
CN112596881B (zh) 存储部件及人工智能处理器
CN107167713B (zh) 一种基于fpga的电缆局部放电脉冲信号时频分析系统及方法
US5577228A (en) Digital circuit for performing multicycle addressing in a digital memory
CN102073604B (zh) 一种同步动态存储器读写控制方法、装置和系统

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