亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種fft倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度方法及電路的制作方法

文檔序號(hào):6430726閱讀:206來(lái)源:國(guó)知局
專利名稱:一種fft倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度方法及電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于超大規(guī)模集成電路(VLSI,Very Large Scale Integrated Circuit) 領(lǐng)域,具體涉及到一種快速傅立葉變換(FFTJast Fourier Transform)倒序操作的存儲(chǔ)器數(shù)據(jù)調(diào)度方法和電路結(jié)構(gòu)。
背景技術(shù)
隨著雷達(dá)、衛(wèi)星和消費(fèi)電子等應(yīng)用需求的不斷增長(zhǎng),F(xiàn)FT處理器設(shè)計(jì)的點(diǎn)數(shù)和精度需求不斷增加,流水線結(jié)構(gòu)具有靈活可配置的特點(diǎn),并且作為提升計(jì)算速度的重要手段,因而被廣泛采用。在大點(diǎn)數(shù)的浮點(diǎn)數(shù)據(jù)格式的FFT計(jì)算中,倒序模塊的面積和性能對(duì)于整個(gè) FFT處理器的性能具有至關(guān)重要的影響,因而有必要研究出能夠高效完成倒序操作并具有較低面積開(kāi)銷的倒序模塊存儲(chǔ)器調(diào)度方法和結(jié)構(gòu)。FFT的VLSI結(jié)構(gòu)分為存儲(chǔ)器迭代結(jié)構(gòu)和單路徑/多路徑流水線結(jié)構(gòu)兩類,存儲(chǔ)器迭代結(jié)構(gòu)在處理單元較少的設(shè)計(jì)中,可以有效減少面積開(kāi)銷,但同時(shí)計(jì)算速度非常慢,嚴(yán)重影響系統(tǒng)處理的實(shí)時(shí)性要求;而采用多路并行處理的方式,提高速度和增加面積開(kāi)銷同時(shí), 對(duì)于外部帶寬的要求非常大。單路徑延遲反饋(SDF,Single-path Delay Feedback)或多路徑延遲切換(MDC,Multiple-path Delay Commutator)等流水線結(jié)構(gòu)具有較高的處理單路或多路數(shù)據(jù)的效率,具有較高的計(jì)算單元利用率和速度,并具有較少的存儲(chǔ)器面積開(kāi)銷。無(wú)論是單路徑或多路徑流水線結(jié)構(gòu),并基于此采用高基數(shù)或混合基算法,其數(shù)據(jù)輸入和輸出均具有與 Cooley-Tukey 算法(Radix_2DIT,Decimation-In-Time)或 Sande-Tuey 算法(Radix_2DIF,Decimation-In-Frequency)相同的自然序或倒位序輸入和輸出特點(diǎn)。而對(duì)于FFT處理器的主控器件數(shù)字信號(hào)處理器(DSP,Digital Signal Processor) 或其它微控制器(MCU,Micro Control Unit)而言,對(duì)數(shù)據(jù)的調(diào)度往往是通過(guò)直接存儲(chǔ)器訪問(wèn)(DMA,Direct Memory Access)控制器以連續(xù)地址的方式完成寫(xiě)入或讀取,并且夕卜部的 SDR/DDR/DDRIISDRAM(Single Data Rate/Double Data Rate/Double Data Rate IlSynchronous Dynamic Random Access Memory)等動(dòng)態(tài)存儲(chǔ)器件也要求數(shù)據(jù)以連續(xù)地址方式讀寫(xiě),才能獲得較高的讀寫(xiě)效率,因而設(shè)計(jì)高效的FFT倒序電路對(duì)于整體系統(tǒng)處理性能的提高非常重要。自然序輸入、倒位序輸出的FFT計(jì)算核心得到一組序列,長(zhǎng)度為N = 2m,每個(gè)數(shù)據(jù)的輸出的索引序號(hào)可以表示為m位的二進(jìn)制index = (Kb1 ...Iv1)β (i = 0,1, ...,m_l)(1)其中bi為1或Olnrl為最高位,k為最低位。倒序操作就是將該index索引號(hào)的數(shù)據(jù)重新調(diào)整到nojndex索引號(hào)的位置,之后可以按照該順序依次輸出,得到FFT計(jì)算的順序結(jié)果,其中nojndex滿足以下關(guān)系nojndex = Ov1Iv2…b0)β (i = 0,1, ...,m_l)(2)倒位序輸出的相鄰兩個(gè)連續(xù)數(shù)據(jù)成一組,X (indexj和X (index2k+1)表示在一組N=2m個(gè)數(shù)據(jù)中第2k和2k+1個(gè)數(shù)據(jù),其中k = 0 2-^-1,那么index2k+1-index2k = 2m_1(3)而對(duì)于相鄰的X(indeX2k)和X(indeX2k+1)的索引號(hào)分別有如下表達(dá)式index2k = (OtvHtv1)B(4)index制=(IVhIv1)b(5)因而在XGndex2k)和X(indeX2k+1)兩組序列中其索引號(hào)具有m-lbits倒位序的特點(diǎn)。對(duì)于自然序結(jié)果轉(zhuǎn)換為倒位序的結(jié)果具有上述類似的特點(diǎn),本發(fā)明倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度方法和結(jié)構(gòu)正是基于這樣的倒位序特點(diǎn)。非連續(xù)數(shù)據(jù)倒序操作很簡(jiǎn)單,僅需要一塊N深度的單口存儲(chǔ)器。但實(shí)際應(yīng)用中幾乎均為連續(xù)處理的情況,以滿足數(shù)字圖像等領(lǐng)域的二維、甚至多維處理和相關(guān)計(jì)算,并且對(duì)于實(shí)時(shí)性要求很高。對(duì)于VLSI設(shè)計(jì)中的連續(xù)倒序操作,傳統(tǒng)設(shè)計(jì)方法包括兩種使用兩塊 N深度的單口存儲(chǔ)器和使用一塊N深度的雙口存儲(chǔ)器。Wen-Zen Shen ψ 1994The Reduction of Reorder Buffer Size for Discrete Fourier Transform Processor Design,, (IEEE International Symposium on Circuits and Systems, 1994,171-174) 一文中采用一±夬雙口存儲(chǔ)器實(shí)現(xiàn)基于 504 = 7X8X9點(diǎn)素因子算法(PFA,I^rime Factor Algorithm)的數(shù)據(jù)重整序,但其算法和數(shù)據(jù)調(diào)度非常復(fù)雜,并且不易于擴(kuò)展應(yīng)用于各種可配置FFT點(diǎn)數(shù)的數(shù)據(jù)重整序中。Fredrik Kristensen 于 2004 年在"Reduced Transceiver-Delay for OFDM Systems,,(IEEE Vehicular Technology Conference,2004,1242-124 —文中采用了兩塊 N 深度的單口存儲(chǔ)器來(lái)實(shí)現(xiàn)FFT的數(shù)據(jù)重新整序,其中一塊存儲(chǔ)器用于數(shù)據(jù)緩存,另一塊存儲(chǔ)器用于讀出,之后兩塊存儲(chǔ)器做乒乓切換,從而避免了數(shù)據(jù)讀寫(xiě)訪問(wèn)的沖突。Tuhin Subhra Chakraborty 于 2008 年在"On Output Reorder Buffer Design of Bit Reversed Pipelined Continuous Data FFT Architecture,, (IEEE Asia Pacific Conference on Circuits and Systems, 2008,1132-1135) 一文中采用一塊N深度的雙口存儲(chǔ)器,并尋求最快的數(shù)據(jù)輸出時(shí)間,事實(shí)上這增加了 FIFO存儲(chǔ)器的開(kāi)銷并為可配置模式帶來(lái)困難,并且數(shù)據(jù)提前輸出的時(shí)間并不明顯,不妨將此延遲定為N個(gè)時(shí)鐘,這樣更便于實(shí)現(xiàn)相關(guān)讀寫(xiě)控制和不同點(diǎn)數(shù)模式配置邏輯,也可避免大量的FIFO資源開(kāi)銷。無(wú)論是使用兩塊N深度的單口存儲(chǔ)器,還是使用一塊N深度的雙口存儲(chǔ)器的倒序操作,在大點(diǎn)數(shù)和高精度FFT計(jì)算中面積都是巨大的,因此如何在保證N個(gè)時(shí)鐘延遲和數(shù)據(jù)吞吐率為1時(shí)鐘/數(shù)據(jù)條件下,有效降低倒序操作的面積開(kāi)銷和實(shí)現(xiàn)存儲(chǔ)器數(shù)據(jù)無(wú)沖突讀寫(xiě)成為VLSI結(jié)構(gòu)設(shè)計(jì)的重點(diǎn)。

發(fā)明內(nèi)容
本發(fā)明針對(duì)FFT處理器計(jì)算結(jié)果順序與DMA和SDR/DDR/DDRIISDRAM等器件數(shù)據(jù)讀寫(xiě)特點(diǎn)的矛盾,以及現(xiàn)有方法存儲(chǔ)器面積開(kāi)銷過(guò)大和不同點(diǎn)數(shù)配置不夠靈活的特點(diǎn),提出了一種倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度電路,該電路基于兩塊N/2深度的單口存儲(chǔ)器,充分發(fā)揮單口存儲(chǔ)器的面積和功耗優(yōu)勢(shì),具有1時(shí)鐘/數(shù)據(jù)的吞吐率和N個(gè)時(shí)鐘的數(shù)據(jù)延遲特性, 顯著降低了芯片面積和成本。一種FFT倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度方法,涉及第一和第二單端口存儲(chǔ)器,具體為
定義待寫(xiě)入數(shù)據(jù)序列的數(shù)據(jù)個(gè)數(shù)為N = 2m,第一單端口存儲(chǔ)器的讀地址和寫(xiě)地址分別為raddrl和waddrl,第二單端口存儲(chǔ)器的讀地址和寫(xiě)地址分別為raddr2和waddr2, inv_M()為m-1位比特地址信號(hào)倒置操作,cntlO和cnt2 ()為兩個(gè)m bits的計(jì)數(shù)器,記當(dāng)前數(shù)據(jù)序號(hào)為c_num,第一組待寫(xiě)入數(shù)據(jù)序列直接進(jìn)入初始只寫(xiě)模式,初始只寫(xiě)模式將第一組待寫(xiě)入數(shù)據(jù)序列分兩路并行寫(xiě)入第一和第二單端口存儲(chǔ)器,兩單端口存儲(chǔ)器的寫(xiě)地址waddrl=waddr2 = inv_M(cntl[m-l:l]),寫(xiě)至當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下存儲(chǔ)器地址最高限值時(shí),若還有待寫(xiě)入的數(shù)據(jù)序列,則轉(zhuǎn)至第一種交替讀寫(xiě)模式,否則,轉(zhuǎn)至清空只讀模式;第一種交替讀寫(xiě)模式讀取第一和第二單端口存儲(chǔ)器的數(shù)據(jù),第一和第二單端口存儲(chǔ)器的讀地址分別為
\cnt2[M -1:0],如果c — num& [1 + kN,N12 + kN] raddrl = <一, + l 其它
\cnt2[M-1:0] +1,如果c —++
raddrl = <一, 其它k = 0,1,2, m-1將待寫(xiě)入數(shù)據(jù)序列分兩路并行寫(xiě)入第一和第二單端口存儲(chǔ)器,第一和第二單端口存儲(chǔ)器的寫(xiě)地址分別為 waddrl = raddrl_pre,waddr2 = raddr2_pre,raddrl_pre 為第一單端口存儲(chǔ)器前一時(shí)鐘的讀地址,raddr2_pre為第二單端口存儲(chǔ)器前一時(shí)鐘的讀地址;寫(xiě)至當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下存儲(chǔ)器地址最高限值時(shí),若還有待寫(xiě)入數(shù)據(jù)序列,則轉(zhuǎn)移第二種交替讀寫(xiě)模式,否則,轉(zhuǎn)至清空只讀模式;第二種交替讀寫(xiě)模式讀取第一和第二單端口存儲(chǔ)器的數(shù)據(jù),第一和第二單端口存儲(chǔ)器的讀地址raddrl = raddr2 = inV_M(cntl [Μ: 1]),將待寫(xiě)入數(shù)據(jù)序列分兩路并行寫(xiě)入第一和第二單端口存儲(chǔ)器,第一和第二單端口存儲(chǔ)器的寫(xiě)地址waddrl = waddr2 = raddrl_pre = raddr2_pre ;寫(xiě)至當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下存儲(chǔ)器地址最高限值時(shí),若還有待寫(xiě)入數(shù)據(jù)序列,則轉(zhuǎn)移第一種交替讀寫(xiě)模式,否則,轉(zhuǎn)至清空只讀模式;清空只讀模式若是從初始只寫(xiě)模式轉(zhuǎn)移到清空只讀模式,則按照第一種交替讀寫(xiě)模式產(chǎn)生讀地址進(jìn)行只讀操作;若是從第一種交替讀寫(xiě)模式轉(zhuǎn)移到清空只讀模式,則按照第二種交替讀寫(xiě)模式產(chǎn)生讀地址進(jìn)行只讀操作;若是從第二種交替讀寫(xiě)模式轉(zhuǎn)移到清空只讀模式,則按照第一種交替讀寫(xiě)模式產(chǎn)生讀地址進(jìn)行只讀操作。一種FFT倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度電路,包括中心控制器1,接收外部的數(shù)據(jù)有效指示信號(hào)、點(diǎn)數(shù)配置模式和序列組數(shù)信號(hào),將序列組數(shù)信號(hào)作為剩余序列組數(shù)指示寄存器的初值,接收來(lái)自讀寫(xiě)地址產(chǎn)生器2的讀和寫(xiě)地址,其中包括單端口存儲(chǔ)器a4的讀地址、單端口存儲(chǔ)器a4的寫(xiě)地址、單端口存儲(chǔ)器b5的讀地址、單端口存儲(chǔ)器沾的寫(xiě)地址,接收來(lái)自可配置讀寫(xiě)狀態(tài)控制器3的讀使能信號(hào);在連續(xù)接收到數(shù)據(jù)有效指示信號(hào)兩次后向輸入接口單元6發(fā)送串并轉(zhuǎn)換控制信號(hào)以及向讀寫(xiě)地址產(chǎn)生器2發(fā)送啟動(dòng)信號(hào);若單端口存儲(chǔ)器a4的寫(xiě)地址與地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2和輸入接口單元6發(fā)送寫(xiě)滿最高地址指示信號(hào),并將剩余序列組數(shù)指示寄存器減1 ;若單端口存儲(chǔ)器a4的寫(xiě)地址與單端口存儲(chǔ)器沾的寫(xiě)地址相同且均與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半相等,或單端口存儲(chǔ)器a5的寫(xiě)地址大于單端口存儲(chǔ)器a4的寫(xiě)地址且單端口存儲(chǔ)器a5的寫(xiě)地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2和輸入接口單元6發(fā)送寫(xiě)滿最高地址一半指示信號(hào),所述當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值為當(dāng)前點(diǎn)數(shù)配置模式對(duì)應(yīng)的點(diǎn)數(shù)長(zhǎng)度減1,所述當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半為當(dāng)前點(diǎn)數(shù)配置模式對(duì)應(yīng)的點(diǎn)數(shù)長(zhǎng)度的一半減1 ;若單端口存儲(chǔ)器a4的讀地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2和輸出緩沖單元7發(fā)送讀空最高地址指示信號(hào);若單端口存儲(chǔ)器a4的讀地址與單端口存儲(chǔ)器沾的讀地址相同且均與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半相等,或單端口存儲(chǔ)器a5的讀地址大于單端口存儲(chǔ)器a4的讀地址且單端口存儲(chǔ)器a5的讀地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2和輸出緩沖單元7發(fā)送讀空最高地址一半指示信號(hào);在數(shù)據(jù)有效指示信號(hào)的觸發(fā)下產(chǎn)生數(shù)據(jù)準(zhǔn)備好信號(hào)并傳送至可配置讀寫(xiě)狀態(tài)控制器3 ;若接收到讀使能信號(hào),則向輸出緩沖單元7發(fā)送并串轉(zhuǎn)換控制信號(hào);還將當(dāng)前剩余序列組數(shù)指示寄存器值發(fā)送給讀寫(xiě)地址產(chǎn)生器2 ;讀寫(xiě)地址產(chǎn)生器2,接收來(lái)自中心控制器1的啟動(dòng)信號(hào)、剩余序列組數(shù)指示寄存器值、寫(xiě)滿最高地址指示信號(hào)、寫(xiě)滿最高地址一半指示信號(hào)、讀空最高地址指示信號(hào)、讀空最高地址一半指示信號(hào),來(lái)自可配置讀寫(xiě)狀態(tài)控制器3的讀使能或?qū)懯鼓苄盘?hào),接收外部的點(diǎn)數(shù)配置模式,以及外部的數(shù)據(jù)有效指示信號(hào);讀寫(xiě)地址產(chǎn)生器2將讀寫(xiě)地址產(chǎn)生模式信息發(fā)送至可配置讀寫(xiě)狀態(tài)控制器3 ;在讀使能或?qū)懯鼓苄盘?hào)觸發(fā)下選擇生成的讀或?qū)懙刂?,并分別傳送給單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾;讀寫(xiě)地址產(chǎn)生器2根據(jù)剩余序列組數(shù)指示寄存器值,寫(xiě)滿最高地址指示信號(hào)或?qū)憹M最高地址一半指示信號(hào),讀空最高地址指示信號(hào)或讀空最高地址一半指示信號(hào)來(lái)控制不同的讀寫(xiě)地址產(chǎn)生模式切換生成兩存儲(chǔ)器的讀、寫(xiě)地址,讀寫(xiě)地址產(chǎn)生器2將生成的單端口存儲(chǔ)器a4的讀地址、單端口存儲(chǔ)器a4的寫(xiě)地址、單端口存儲(chǔ)器b5的讀地址、單端口存儲(chǔ)器b5的寫(xiě)地址信息發(fā)送至中心控制器1 ; 讀寫(xiě)地址產(chǎn)生器2在工作中根據(jù)外部的數(shù)據(jù)有效指示信號(hào),在數(shù)據(jù)暫停時(shí)保持讀寫(xiě)地址產(chǎn)生模式信息不變;可配置讀寫(xiě)狀態(tài)控制器3,接受來(lái)自中心控制器1的數(shù)據(jù)準(zhǔn)備好信號(hào)和讀寫(xiě)地址產(chǎn)生器2的讀寫(xiě)地址產(chǎn)生模式;根據(jù)數(shù)據(jù)準(zhǔn)備好信號(hào)和讀寫(xiě)地址產(chǎn)生模式產(chǎn)生對(duì)于單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾的當(dāng)前讀使能或?qū)懯鼓苄盘?hào);可配置讀寫(xiě)狀態(tài)控制器3將讀使能信號(hào)發(fā)送至中心控制器1,將讀使能或?qū)懯鼓苄盘?hào)發(fā)送至讀寫(xiě)地址產(chǎn)生器2 ;單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾,作為數(shù)據(jù)的暫存單元,接受來(lái)自讀寫(xiě)地址產(chǎn)生器2的讀或?qū)懙刂沸畔?,接受?lái)自可配置讀寫(xiě)狀態(tài)控制器3的讀使能或?qū)懯鼓苄盘?hào),在寫(xiě)使能的控制下接受來(lái)自于輸入接口單元6的數(shù)據(jù),在讀使能的驅(qū)動(dòng)下讀出數(shù)據(jù)發(fā)送至輸出緩沖單元7 ;輸入接口單元6,接受來(lái)自外部的輸入數(shù)據(jù)和來(lái)自中心控制器1的串并轉(zhuǎn)換控制信號(hào)、寫(xiě)滿最高地址指示信號(hào)和寫(xiě)滿最高地址一半指示信號(hào),收到串并轉(zhuǎn)換控制信號(hào)后將先后連續(xù)的兩個(gè)有效輸入數(shù)據(jù)轉(zhuǎn)換為上下兩路并行數(shù)據(jù),首先接收到的數(shù)據(jù)作為上路數(shù)據(jù),其次接收到的數(shù)據(jù)作為下路數(shù)據(jù);若收到寫(xiě)滿最高地址指示信號(hào),則將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾;若收到寫(xiě)滿最高地址一半指示信號(hào),則將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器沾和單端口存儲(chǔ)器a4;在輸入接口單元 6首次向存儲(chǔ)器寫(xiě)入數(shù)據(jù)時(shí),默認(rèn)將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾;輸出緩沖單元7接受來(lái)自單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾的兩路并行數(shù)據(jù), 來(lái)自中心控制器1的并串轉(zhuǎn)換控制信號(hào)、讀空最高地址指示信號(hào)、讀空最高地址一半指示信號(hào);若收到讀空最高地址指示信號(hào),則分別從單端口存儲(chǔ)器a4和單端口存儲(chǔ)器1^5同時(shí)讀出上下兩路并行數(shù)據(jù);若收到讀空最高地址一半指示信號(hào),則分別從單端口存儲(chǔ)器沾和單端口存儲(chǔ)器a4同時(shí)讀出上下兩路并行數(shù)據(jù);對(duì)上下兩路并行數(shù)據(jù)作并串轉(zhuǎn)換,實(shí)現(xiàn)先輸出上路數(shù)據(jù)再輸出下路數(shù)據(jù);首次接收到并串轉(zhuǎn)換控制信號(hào)后,默認(rèn)分別從單端口存儲(chǔ)器a4 和單端口存儲(chǔ)器沾同時(shí)讀出上下兩路并行數(shù)據(jù)。輸入接口單元6和輸出緩沖單元7包括相接的兩級(jí)緩沖寄存器和數(shù)據(jù)切換開(kāi)關(guān)。讀寫(xiě)地址產(chǎn)生器2包括計(jì)數(shù)器a21、計(jì)數(shù)器1^22、位倒置和移位單元23、延遲單元24、地址交換選擇邏輯25、讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)26、多路選址器a27和多路選址器 b28 ;計(jì)數(shù)器a21和計(jì)數(shù)器1^22為具有最大的m bits位寬,能夠處理最大可配置2m長(zhǎng)度的數(shù)據(jù)序列;計(jì)數(shù)器a21和計(jì)數(shù)器b22若接收到來(lái)自中心控制器1的啟動(dòng)信號(hào),并且接受到來(lái)自可配置讀寫(xiě)狀態(tài)控制器3的讀使能或?qū)懯鼓苄盘?hào),則計(jì)數(shù)器a21和計(jì)數(shù)器b22開(kāi)始計(jì)數(shù)產(chǎn)生地址,否則按照數(shù)據(jù)暫停情況處理,保持原有值不變;計(jì)數(shù)器a21將產(chǎn)生的m bits 位寬的地址信號(hào)發(fā)送至位倒置和移位單元23 ;計(jì)數(shù)器b22將產(chǎn)生的m bits位寬的地址信號(hào)發(fā)送至延遲單元24,并作為地址A21發(fā)送至交換判決邏輯25 ;位倒置和移位單元23接受來(lái)自外部的可配置點(diǎn)數(shù)模式信息和來(lái)自計(jì)數(shù)器a21的 m bits的地址;位倒置和移位單元23首先將m bits的地址按比特顛倒位置,得到新的m bits地址;位倒置和移位單元23根據(jù)可配置點(diǎn)數(shù)模式信息確定新的m bits地址的移位次數(shù)從而得到輸出地址Al,將其發(fā)送至地址交換選擇邏輯25 ;延遲單元M接受來(lái)自計(jì)數(shù)器1^22的m bits地址,并將該地址用寄存器延遲一個(gè)時(shí)鐘發(fā)送得到地址A22,并將地址A22發(fā)送至交換判決邏輯25 ;地址交換選擇邏輯25接受來(lái)自位倒置和移位單元23的地址Al,來(lái)自計(jì)數(shù)器b22 的地址A21,來(lái)自延遲單元M的地址A22,來(lái)自讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)沈的讀寫(xiě)模式狀態(tài)信息,以及來(lái)自中心控制器1的寫(xiě)滿最高地址一半指示信號(hào)、讀空最高地址一半指示信號(hào);若讀寫(xiě)模式狀態(tài)信息表示正處于初始只寫(xiě)模式,則選擇地址Al作為單端口存儲(chǔ)器a4的寫(xiě)地址waddrl和單端口存儲(chǔ)器b5的寫(xiě)地址waddrf ;若讀寫(xiě)模式狀態(tài)信息表示正處于第一種交替讀寫(xiě)模式,則首先選擇地址A21和A22分別作為單端口存儲(chǔ)器a4的讀地址raddrl 和單端口存儲(chǔ)器b5的讀地址raddr2,并且地址A21和A22延遲一個(gè)時(shí)鐘分別作為單端口存儲(chǔ)器a4的寫(xiě)地址waddrl和單端口存儲(chǔ)器沾的讀地址waddrf ;若接受到寫(xiě)滿最高地址一半指示信號(hào),則選擇地址A22和A21分別作為單端口存儲(chǔ)器a4的讀地址raddrl和單端口存儲(chǔ)器b5的讀地址raddr2,并且地址A22和A21延遲一個(gè)時(shí)鐘分別作為單端口存儲(chǔ)器a4 的寫(xiě)地址waddrl和單端口存儲(chǔ)器沾的讀地址waddrf,直至讀寫(xiě)模式狀態(tài)信息變?yōu)榈诙N交替讀寫(xiě)模式或清空只讀模式;若讀寫(xiě)模式狀態(tài)信息表示正處于第二種交替讀寫(xiě)模式,則選擇地址Al作為單端口存儲(chǔ)器a4的讀地址raddrl和單端口存儲(chǔ)器b5的讀地址raddr2,并將地址Al延遲一個(gè)時(shí)鐘作為單端口存儲(chǔ)器a4的寫(xiě)地址waddrl和單端口存儲(chǔ)器b5的寫(xiě)地址waddrf ;若讀寫(xiě)模式狀態(tài)信息表示正處于清空只讀模式,若該清空只讀模式是由初始只讀模式轉(zhuǎn)來(lái),則按照第一種讀寫(xiě)交替模式產(chǎn)生讀地址,即將地址Al作為單端口存儲(chǔ)器a4 讀地址信號(hào)raddrl和單端口存儲(chǔ)器沾的讀地址信號(hào)raddr2,若該清空只讀模式是由第一種讀寫(xiě)交替模式轉(zhuǎn)來(lái),則按照第二種讀寫(xiě)交替模式產(chǎn)生讀地址,即首先將地址A21和A22分別作為單端口存儲(chǔ)器a4的讀地址raddrl和單端口存儲(chǔ)器沾的讀地址raddr2,當(dāng)接收到讀空最高地址一半指示信號(hào),則轉(zhuǎn)為將地址A22和A21分別作為單端口存儲(chǔ)器a4的讀地址 raddrl和單端口存儲(chǔ)器沾的讀地址raddr2,若該清空只讀模式是由第二種讀寫(xiě)交替模式轉(zhuǎn)來(lái),則按照第一種讀寫(xiě)交替模式產(chǎn)生讀地址,即將地址Al作為單端口存儲(chǔ)器a4讀地址信號(hào)raddrl和單端口存儲(chǔ)器b5的讀地址信號(hào)raddr2 ;地址交換選擇邏輯25將產(chǎn)生的單端口存儲(chǔ)器a4的讀地址raddrl和寫(xiě)地址waddrl發(fā)送至多路選擇器a27,將產(chǎn)生的單端口存儲(chǔ)器b5的讀地址raddr2和寫(xiě)地址waddr2發(fā)送至多路選擇器1^28 ;讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)沈接受來(lái)自中心控制器1的啟動(dòng)信號(hào)、剩余組數(shù)指示信號(hào)、寫(xiě)滿最高地址指示信號(hào)、讀空最高地址指示信號(hào)和外部的數(shù)據(jù)有效指示信號(hào),以及外部數(shù)據(jù)有效指示信號(hào);讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)26完成不同的讀寫(xiě)地址產(chǎn)生模式的切換,并將當(dāng)前讀寫(xiě)地址產(chǎn)生模式信息發(fā)送至地址交換選擇邏輯25和可配置讀寫(xiě)狀態(tài)控制器3 ;多路選擇器a27接受來(lái)自地址交換選擇邏輯25發(fā)送的單端口存儲(chǔ)器a4的讀地址 raddrl和寫(xiě)地址waddrl,多路選擇器1^8接受來(lái)自地址交換選擇邏輯25發(fā)送的單端口存儲(chǔ)器沾的讀地址raddr2和寫(xiě)地址waddr2,多路選擇器a27和多路選擇器1^8均接受來(lái)自可配置讀寫(xiě)狀態(tài)器3的讀使能或?qū)懯鼓苄盘?hào);在讀使能信號(hào)下,同時(shí)選擇raddrl和raddrf 分別作為addrl和addr2發(fā)送至單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾的地址線端口,在寫(xiě)使能信號(hào)下,同時(shí)選擇waddrl和waddr2分別作為addrl和addr2發(fā)送至單端口存儲(chǔ)器a4 和單端口存儲(chǔ)器b5的地址線端口。與現(xiàn)有的調(diào)度方法和結(jié)構(gòu)相比,本發(fā)明有效降低了片上存儲(chǔ)器容量,減少了硬件資源的開(kāi)銷,保證了較高的處理速度,最大程度避免了不同點(diǎn)數(shù)對(duì)于存儲(chǔ)器容量和控制邏輯的依賴,對(duì)于不同點(diǎn)數(shù)具有很高的可配置靈活性,使得本發(fā)明倒序數(shù)據(jù)調(diào)度方法和電路在存儲(chǔ)器容量和尋址控制可配置邏輯方面有較大的優(yōu)勢(shì)。具體而言,本發(fā)明具有以下技術(shù)效果(1)通過(guò)采用兩塊N/2深度單口存儲(chǔ)器減少了片上存儲(chǔ)器面積隨著需要的存儲(chǔ)器深度和位寬的不斷增加,一塊N深度雙口存儲(chǔ)器或兩塊N深度單口存儲(chǔ)器的面積都具有相當(dāng)大的VLSI設(shè)計(jì)成本,而兩塊N/2深度單口存儲(chǔ)器具有更低的存儲(chǔ)器面積,且單口存儲(chǔ)器在面積和功耗開(kāi)銷方面較雙口存儲(chǔ)器具有顯著優(yōu)勢(shì)。根據(jù)式(3),(4), (5)所示,數(shù)據(jù)序號(hào)的排列規(guī)律連續(xù)性地整理為自然序的序號(hào)較為復(fù)雜,引入兩塊存儲(chǔ)器具有較好的數(shù)據(jù)切換和分別產(chǎn)生存儲(chǔ)器讀出和寫(xiě)入地址的能力,便于實(shí)現(xiàn)倒位序連續(xù)數(shù)據(jù)的自然序輸出。(2)采用固定規(guī)則N個(gè)時(shí)鐘數(shù)據(jù)延遲,有效避免效果不明顯但具有較大FIFO存儲(chǔ)器開(kāi)銷的最短時(shí)間輸出檢測(cè)邏輯Tuhin Subhra Chakraborty采用基于FIFO存儲(chǔ)器的檢測(cè)邏輯,實(shí)現(xiàn)最短無(wú)沖突連續(xù)讀出的時(shí)間,雖然稍微減短了數(shù)據(jù)流輸出時(shí)間,但對(duì)于不同點(diǎn)數(shù)模式的處理缺乏配置靈活性,在輸出數(shù)據(jù)延遲時(shí)間上不規(guī)則且FIFO控制檢測(cè)電路的可配置性差。對(duì)于8192點(diǎn)的
11浮點(diǎn)處理器設(shè)計(jì)而言,將增加約mc*i:3bitS大小的額外FIFO存儲(chǔ)器開(kāi)銷,大大增加了設(shè)計(jì)復(fù)雜度和成本。本發(fā)明對(duì)于不同可配置點(diǎn)采用統(tǒng)一的N個(gè)時(shí)鐘數(shù)據(jù)延遲,無(wú)需增加額外的控制檢測(cè)邏輯和FIFO存儲(chǔ)器,為可配置點(diǎn)數(shù)的FFT處理器設(shè)計(jì)減少了設(shè)計(jì)成本。(3)采用統(tǒng)一的流水線暫停策略,讀后便寫(xiě)的方式有效避免了數(shù)據(jù)丟失和沖突當(dāng)外部數(shù)據(jù)由于帶寬需求或中斷等情況出現(xiàn)暫時(shí)無(wú)效時(shí),應(yīng)當(dāng)將流水線暫停,停止數(shù)據(jù)的計(jì)算和讀寫(xiě),并將有效的中間數(shù)據(jù)保存,本發(fā)明采用與FFT處理器統(tǒng)一的流水線暫停信號(hào),確保中間數(shù)據(jù)不丟失。另外,在兩塊存儲(chǔ)器的同時(shí)讀寫(xiě)條件下,采用讀一次,緊跟其后寫(xiě)一次的方式,避免地址信號(hào)的時(shí)序錯(cuò)位和數(shù)據(jù)的丟失,保證流水線暫停后的讀寫(xiě)時(shí)序不沖突。本發(fā)明采用兩塊N/2深度的單口存儲(chǔ)器同時(shí)讀或?qū)懙姆绞?,完成帶暫停的連續(xù)數(shù)據(jù)流的倒位序順序調(diào)整;以池點(diǎn)的浮點(diǎn)格式FFT設(shè)計(jì)為例,本發(fā)明與一塊N深度雙口存儲(chǔ)器和兩塊N深度單口存儲(chǔ)器的方案比較,存儲(chǔ)器面積分別減少了 67.8%和46. 1%,顯著降低的存儲(chǔ)器的面積開(kāi)銷,降低了器件功耗和設(shè)計(jì)成本;該設(shè)計(jì)方案采用固定規(guī)則的時(shí)鐘數(shù)據(jù)延遲,降低了可配置倒序操作的設(shè)計(jì)復(fù)雜度,避免了大量FIFO存儲(chǔ)器的使用,8192點(diǎn)的浮點(diǎn)設(shè)計(jì)大約節(jié)省約mc*i:3bitS的FIFO存儲(chǔ)器;本發(fā)明還采用統(tǒng)一的流水線暫停策略,保存中間數(shù)據(jù),滿足外部帶寬和控制環(huán)境的可變性,并且以讀后便寫(xiě)的方式有效避免的暫停后的數(shù)據(jù)丟失和讀寫(xiě)時(shí)序沖突。


圖1為基于N/2深度單口存儲(chǔ)器的倒序操作總體結(jié)構(gòu)示意圖。圖2為16點(diǎn)數(shù)據(jù)倒序操作初始化寫(xiě)操作示意圖。圖3為16點(diǎn)數(shù)據(jù)倒序操作第一種同時(shí)讀寫(xiě)操作示意圖。圖4為16點(diǎn)數(shù)據(jù)倒序操作第二種同時(shí)讀寫(xiě)操作示意圖。圖5為存儲(chǔ)器讀寫(xiě)地址和使能信號(hào)的產(chǎn)生電路示意圖。圖6為讀寫(xiě)地址產(chǎn)生器的讀寫(xiě)狀態(tài)轉(zhuǎn)移示意圖。圖7為輸入和輸出數(shù)據(jù)的串-并轉(zhuǎn)換示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。本發(fā)明提出的基于N/2深度單口存儲(chǔ)器的倒序操作的VLSI結(jié)構(gòu)是基于存儲(chǔ)器數(shù)據(jù)調(diào)度和有限狀態(tài)機(jī)的控制方式。如圖1所示,本發(fā)明的VLSI結(jié)構(gòu)包括中心控制器1,讀寫(xiě)地址產(chǎn)生器2,可配置讀寫(xiě)狀態(tài)控制器3,單端口存儲(chǔ)器a4,單端口存儲(chǔ)器沾,輸入接口單元 6,輸出緩沖單元7。中心控制器1負(fù)責(zé)系統(tǒng)中各個(gè)模塊的狀態(tài)控制和數(shù)據(jù)調(diào)度。中心控制器1接收外部的數(shù)據(jù)有效指示信號(hào)、點(diǎn)數(shù)配置模式和序列組數(shù)信號(hào),將序列組數(shù)信號(hào)作為剩余序列組數(shù)指示寄存器的初值,接收來(lái)自讀寫(xiě)地址產(chǎn)生器2的讀和寫(xiě)地址,其中包括單端口存儲(chǔ)器 a4的讀地址、單端口存儲(chǔ)器a4的寫(xiě)地址、單端口存儲(chǔ)器b5的讀地址、單端口存儲(chǔ)器b5的寫(xiě)地址,接收來(lái)自可配置讀寫(xiě)狀態(tài)控制器3的讀使能信號(hào);在連續(xù)接收到數(shù)據(jù)有效指示信號(hào)兩次后向輸入接口單元6發(fā)送串并轉(zhuǎn)換控制信號(hào)以及向讀寫(xiě)地址產(chǎn)生器2發(fā)送啟動(dòng)信號(hào);若單端口存儲(chǔ)器a4的寫(xiě)地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2和輸入接口單元6發(fā)送寫(xiě)滿最高地址指示信號(hào),并將剩余序列組數(shù)指示寄存器減1 ; 若單端口存儲(chǔ)器a4的寫(xiě)地址與單端口存儲(chǔ)器沾的寫(xiě)地址相同且均與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半相等,或單端口存儲(chǔ)器a5的寫(xiě)地址大于單端口存儲(chǔ)器a4的寫(xiě)地址且單端口存儲(chǔ)器a5的寫(xiě)地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2 和輸入接口單元6發(fā)送寫(xiě)滿最高地址一半指示信號(hào),所述當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值為當(dāng)前點(diǎn)數(shù)配置模式對(duì)應(yīng)的點(diǎn)數(shù)長(zhǎng)度減1,所述當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半為當(dāng)前點(diǎn)數(shù)配置模式對(duì)應(yīng)的點(diǎn)數(shù)長(zhǎng)度的一半減1 ;若單端口存儲(chǔ)器a4的讀地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2和輸出緩沖單元7發(fā)送讀空最高地址指示信號(hào);若單端口存儲(chǔ)器a4的讀地址與單端口存儲(chǔ)器沾的讀地址相同且均與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半相等,或單端口存儲(chǔ)器a5的讀地址大于單端口存儲(chǔ)器a4 的讀地址且單端口存儲(chǔ)器a5的讀地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器2和輸出緩沖單元7發(fā)送讀空最高地址一半指示信號(hào);在數(shù)據(jù)有效指示信號(hào)的觸發(fā)下產(chǎn)生數(shù)據(jù)準(zhǔn)備好信號(hào)并傳送至可配置讀寫(xiě)狀態(tài)控制器3 ;若接收到讀使能信號(hào), 則向輸出緩沖單元7發(fā)送并串轉(zhuǎn)換控制信號(hào);將當(dāng)前剩余序列組數(shù)指示寄存器值發(fā)送給讀寫(xiě)地址產(chǎn)生器2。讀寫(xiě)地址產(chǎn)生器2接收來(lái)自中心控制器1的啟動(dòng)信號(hào)、剩余序列組數(shù)指示寄存器值、寫(xiě)滿最高地址指示信號(hào)或?qū)憹M最高地址一半指示信號(hào)、讀空最高地址指示信號(hào)或讀空最高地址一半指示信號(hào),來(lái)自可配置讀寫(xiě)狀態(tài)控制器3的讀使能或?qū)懯鼓苄盘?hào),接收外部的點(diǎn)數(shù)配置模式,以及外部的數(shù)據(jù)有效指示信號(hào);讀寫(xiě)地址產(chǎn)生器2將讀寫(xiě)地址產(chǎn)生模式發(fā)送至可配置讀寫(xiě)狀態(tài)控制器3 ;在讀使能或?qū)懯鼓苄盘?hào)觸發(fā)下選擇生成的讀或?qū)懙刂罚?并分別傳送給單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾;讀寫(xiě)地址產(chǎn)生器2將生成的單端口存儲(chǔ)器a4的讀地址、單端口存儲(chǔ)器a4的寫(xiě)地址、單端口存儲(chǔ)器b5的讀地址、單端口存儲(chǔ)器b5 的寫(xiě)地址信息發(fā)送至中心控制器1 ;讀寫(xiě)地址產(chǎn)生器2在工作中根據(jù)外部的數(shù)據(jù)有效指示信號(hào),在數(shù)據(jù)暫停時(shí)保持讀寫(xiě)地址產(chǎn)生模式信息不變;讀寫(xiě)地址產(chǎn)生器2根據(jù)剩余序列組數(shù)指示寄存器值,寫(xiě)滿最高地址指示信號(hào)或?qū)憹M最高地址一半指示信號(hào),讀空最高地址指示信號(hào)或讀空最高地址一半指示信號(hào)來(lái)控制不同的讀寫(xiě)地址產(chǎn)生模式的切換??膳渲米x寫(xiě)狀態(tài)控制器3接受來(lái)自中心控制器1的數(shù)據(jù)準(zhǔn)備好信號(hào)和讀寫(xiě)地址產(chǎn)生器2的讀寫(xiě)地址產(chǎn)生模式信息;可配置讀寫(xiě)狀態(tài)控制器3根據(jù)數(shù)據(jù)準(zhǔn)備好信號(hào)和讀寫(xiě)地址產(chǎn)生模式信息產(chǎn)生對(duì)于單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾的讀使能或?qū)懯鼓苄盘?hào);可配置讀寫(xiě)狀態(tài)控制器3將讀使能信號(hào)發(fā)送至中心控制器1,將讀使能或?qū)懯鼓苄盘?hào)發(fā)送至讀寫(xiě)地址產(chǎn)生器2 ;單端口存儲(chǔ)器a4和單端口存儲(chǔ)器1^5作為數(shù)據(jù)的暫存單元,接受來(lái)自讀寫(xiě)地址產(chǎn)生器2的讀或?qū)懙刂沸畔?,接受?lái)自可配置讀寫(xiě)狀態(tài)控制器3的讀使能或?qū)懯鼓苄盘?hào),在地址和讀寫(xiě)使能的控制下,接受來(lái)自于輸入接口單元6的雙路并行數(shù)據(jù),并讀出雙路數(shù)據(jù)發(fā)送至輸出緩沖單元7;輸入接口單元6接受來(lái)自外部的輸入數(shù)據(jù)和來(lái)自中心控制器1的串并轉(zhuǎn)換控制信號(hào)和寫(xiě)滿最高地址指示信號(hào)、寫(xiě)滿最高地址一半指示信號(hào),根據(jù)串并轉(zhuǎn)換控制信號(hào)將連續(xù)的兩個(gè)有效輸入數(shù)據(jù)轉(zhuǎn)換為上下兩路并行數(shù)據(jù),首先接收到的數(shù)據(jù)作為上路數(shù)據(jù),其次接收到的數(shù)據(jù)作為下路數(shù)據(jù);若收到寫(xiě)滿最高地址指示信號(hào),則將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器 a4和單端口存儲(chǔ)器沾;若收到寫(xiě)滿最高地址一半指示信號(hào),則將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器a5和單端口存儲(chǔ)器b4 ;在輸入接口單元6首次向存儲(chǔ)器寫(xiě)入數(shù)據(jù)時(shí),默認(rèn)將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾;輸出緩沖單元7接受來(lái)自單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾的兩路并行數(shù)據(jù), 來(lái)自中心控制器1的并串轉(zhuǎn)換控制信號(hào)、讀空最高地址指示信號(hào)、讀空最高地址一半指示信號(hào);若收到讀空最高地址指示信號(hào),則分別從單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾同時(shí)讀出上下兩路并行數(shù)據(jù);若收到讀空最高地址一半指示信號(hào),則分別從單端口存儲(chǔ)器a5和單端口存儲(chǔ)器b4同時(shí)讀出上下兩路并行數(shù)據(jù);對(duì)上下兩路并行數(shù)據(jù)作并串轉(zhuǎn)換,實(shí)現(xiàn)先輸出上路數(shù)據(jù)再輸出下路數(shù)據(jù);在輸出緩沖單元7首次接收到并串轉(zhuǎn)換控制信號(hào)后,默認(rèn)分別從單端口存儲(chǔ)器a4 和單端口存儲(chǔ)器沾同時(shí)讀出上下兩路并行數(shù)據(jù)。本發(fā)明基于兩塊N/2深度的單端口存儲(chǔ)器實(shí)現(xiàn)FFT倒序操作,存儲(chǔ)器數(shù)據(jù)調(diào)度方法是本發(fā)明的重點(diǎn),讀寫(xiě)地址產(chǎn)生器2用以實(shí)現(xiàn)數(shù)據(jù)讀寫(xiě)調(diào)度,以不同的讀寫(xiě)模式產(chǎn)生讀寫(xiě)地址,具體的地址產(chǎn)生模式和控制流程如下定義一組序列的長(zhǎng)度為N = 2m,N為點(diǎn)數(shù)配置模式對(duì)應(yīng)的點(diǎn)數(shù)長(zhǎng)度;初始化只寫(xiě)模式將第一組序列全部?jī)陕凡⑿袑?xiě)入單端口存儲(chǔ)器a4和單端口存儲(chǔ)器沾中,在輸入接口單元6每接收到兩個(gè)有效數(shù)據(jù)后,讀寫(xiě)地址產(chǎn)生器2對(duì)初始值為0 的m-1位二進(jìn)制數(shù)不斷增1再做倒位序操作,即按照下述規(guī)律產(chǎn)生寫(xiě)地址
權(quán)利要求
1. 一種FFT倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度方法,涉及第一和第二單端口存儲(chǔ)器,具體為 定義待寫(xiě)入數(shù)據(jù)序列的數(shù)據(jù)個(gè)數(shù)為N = 2m,第一單端口存儲(chǔ)器的讀地址和寫(xiě)地址分別為raddrl和waddrl,第二單端口存儲(chǔ)器的讀地址和寫(xiě)地址分別為raddr2和waddr2,inv_ MO為m-1位比特地址信號(hào)倒置操作,cntlO和cnt2 ()為兩個(gè)m bits的計(jì)數(shù)器,記當(dāng)前讀的數(shù)據(jù)序號(hào)為c_num,第一組待寫(xiě)入數(shù)據(jù)序列直接進(jìn)入初始只寫(xiě)模式,初始只寫(xiě)模式將第一組待寫(xiě)入數(shù)據(jù)序列分兩路并行寫(xiě)入第一和第二單端口存儲(chǔ)器, 兩單端口存儲(chǔ)器的寫(xiě)地址waddrl = waddr2 = inV_M(cntl [m_l 1]),寫(xiě)至當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下存儲(chǔ)器地址最高限值時(shí),若還有待寫(xiě)入的數(shù)據(jù)序列,則轉(zhuǎn)至第一種交替讀寫(xiě)模式,否則,轉(zhuǎn)至清空只讀模式;第一種交替讀寫(xiě)模式讀取第一和第二單端口存儲(chǔ)器的數(shù)據(jù),第一和第二單端口存儲(chǔ)器的讀地址分別為k = 0,1,2,· · ·,m-1,c_num為當(dāng)前讀的數(shù)據(jù)序號(hào),將待寫(xiě)入數(shù)據(jù)序列分兩路并行寫(xiě)入第一和第二單端口存儲(chǔ)器,第一和第二單端口存儲(chǔ)器的寫(xiě)地址分另 1J為 waddrl = raddrl_pre, waddr2 = raddr2_pre, raddrl_pre 為第一單端口存儲(chǔ)器前一時(shí)鐘的讀地址,raddr2_pre為第二單端口存儲(chǔ)器前一時(shí)鐘的讀地址;寫(xiě)至當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下存儲(chǔ)器地址最高限值時(shí),若還有待寫(xiě)入數(shù)據(jù)序列,則轉(zhuǎn)移至第二種交替讀寫(xiě)模式,否則,轉(zhuǎn)至清空只讀模式;第二種交替讀寫(xiě)模式讀取第一和第二單端口存儲(chǔ)器的數(shù)據(jù),第一和第二單端口存儲(chǔ)器的讀地址raddrl = raddr2 = inV_M(cntl [Μ: 1]),將待寫(xiě)入數(shù)據(jù)序列分兩路并行寫(xiě)入第一和第二單端口存儲(chǔ)器,第一和第二單端口存儲(chǔ)器的寫(xiě)地址waddrl = waddr2 = raddrl_ pre = raddr2_pre ;寫(xiě)至當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下存儲(chǔ)器地址最高限值時(shí),若還有待寫(xiě)入數(shù)據(jù)序列,則轉(zhuǎn)移至第一種交替讀寫(xiě)模式,否則,轉(zhuǎn)至清空只讀模式;清空只讀模式若是從初始只寫(xiě)模式轉(zhuǎn)移到清空只讀模式,則按照第一種交替讀寫(xiě)模式產(chǎn)生讀地址進(jìn)行只讀操作;若是從第一種交替讀寫(xiě)模式轉(zhuǎn)移到清空只讀模式,則按照第二種交替讀寫(xiě)模式產(chǎn)生讀地址進(jìn)行只讀操作;若是從第二種交替讀寫(xiě)模式轉(zhuǎn)移到清空只讀模式,則按照第一種交替讀寫(xiě)模式產(chǎn)生讀地址進(jìn)行只讀操作。
2. —種FFT倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度電路,包括中心控制器(1),接收外部的數(shù)據(jù)有效指示信號(hào)、點(diǎn)數(shù)配置模式和序列組數(shù)信號(hào),將序列組數(shù)信號(hào)作為剩余序列組數(shù)指示寄存器的初值,接收來(lái)自讀寫(xiě)地址產(chǎn)生器O)的讀和寫(xiě)地址,其中包括單端口存儲(chǔ)器a(4)的讀地址、單端口存儲(chǔ)器a(4)的寫(xiě)地址、單端口存儲(chǔ)器 b(5)的讀地址、單端口存儲(chǔ)器b (5)的寫(xiě)地址,接收來(lái)自可配置讀寫(xiě)狀態(tài)控制器(3)的讀使能信號(hào);在連續(xù)接收到數(shù)據(jù)有效指示信號(hào)兩次后向輸入接口單元(6)發(fā)送串并轉(zhuǎn)換控制信號(hào)以及向讀寫(xiě)地址產(chǎn)生器( 發(fā)送啟動(dòng)信號(hào);若單端口存儲(chǔ)器a(4)的寫(xiě)地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器( 和輸入接口單元(6)發(fā)送寫(xiě)滿最高\(yùn)cnt2\M -1:0],如果c — num&[\ + kN ,N 12 + kN] "{c^2[M-l:0] + l 其它,cnt2[M-1:0] +1,如果c —++cnt2[M-l-.O] 其它地址指示信號(hào),并將剩余序列組數(shù)指示寄存器減1 ;若單端口存儲(chǔ)器a(4)的寫(xiě)地址與單端口存儲(chǔ)器b 的寫(xiě)地址相同且均與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半相等,或單端口存儲(chǔ)器a 的寫(xiě)地址大于單端口存儲(chǔ)器a(4)的寫(xiě)地址且單端口存儲(chǔ)器a 的寫(xiě)地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器( 和輸入接口單元(6) 發(fā)送寫(xiě)滿最高地址一半指示信號(hào),所述當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值為當(dāng)前點(diǎn)數(shù)配置模式對(duì)應(yīng)的點(diǎn)數(shù)長(zhǎng)度減1,所述地址最高限值一半為當(dāng)前點(diǎn)數(shù)配置模式對(duì)應(yīng)的點(diǎn)數(shù)長(zhǎng)度的一半減1 ;若單端口存儲(chǔ)器a(4)的讀地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器( 和輸出緩沖單元(7)發(fā)送讀空最高地址指示信號(hào);若單端口存儲(chǔ)器 a(4)的讀地址與單端口存儲(chǔ)器b 的讀地址相同且均與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值一半相等,或單端口存儲(chǔ)器的讀地址大于單端口存儲(chǔ)器a(4)的讀地址且單端口存儲(chǔ)器a 的讀地址與當(dāng)前點(diǎn)數(shù)長(zhǎng)度模式下地址最高限值相等,則向讀寫(xiě)地址產(chǎn)生器(2)和輸出緩沖單元(7)發(fā)送讀空最高地址一半指示信號(hào);在數(shù)據(jù)有效指示信號(hào)的觸發(fā)下產(chǎn)生數(shù)據(jù)準(zhǔn)備好信號(hào)并傳送至可配置讀寫(xiě)狀態(tài)控制器(3);若接收到讀使能信號(hào),則向輸出緩沖單元(7)發(fā)送并串轉(zhuǎn)換控制信號(hào);還將當(dāng)前剩余序列組數(shù)指示寄存器值發(fā)送給讀寫(xiě)地址產(chǎn)生器⑵;讀寫(xiě)地址產(chǎn)生器O),接收來(lái)自中心控制器(1)的啟動(dòng)信號(hào)、剩余序列組數(shù)指示寄存器值、寫(xiě)滿最高地址指示信號(hào)、寫(xiě)滿最高地址一半指示信號(hào)、讀空最高地址指示信號(hào)、讀空最高地址一半指示信號(hào),來(lái)自可配置讀寫(xiě)狀態(tài)控制器(3)的讀使能或?qū)懯鼓苄盘?hào),接收外部的點(diǎn)數(shù)配置模式,以及外部的數(shù)據(jù)有效指示信號(hào);讀寫(xiě)地址產(chǎn)生器( 將讀寫(xiě)地址產(chǎn)生模式信息發(fā)送至可配置讀寫(xiě)狀態(tài)控制器(3);在讀使能或?qū)懯鼓苄盘?hào)觸發(fā)下選擇生成的讀或?qū)懙刂?,并分別傳送給單端口存儲(chǔ)器a(4)和單端口存儲(chǔ)器b ;讀寫(xiě)地址產(chǎn)生器2根據(jù)剩余序列組數(shù)指示寄存器值,寫(xiě)滿最高地址指示信號(hào)或?qū)憹M最高地址一半指示信號(hào),讀空最高地址指示信號(hào)或讀空最高地址一半指示信號(hào)來(lái)控制不同的讀寫(xiě)地址產(chǎn)生模式切換生成兩存儲(chǔ)器的讀、寫(xiě)地址,讀寫(xiě)地址產(chǎn)生器( 將生成的單端口存儲(chǔ)器a(4)的讀地址、單端口存儲(chǔ)器a(4)的寫(xiě)地址、單端口存儲(chǔ)器b 的讀地址、單端口存儲(chǔ)器b 的寫(xiě)地址信息發(fā)送至中心控制器(1);讀寫(xiě)地址產(chǎn)生器( 在工作中根據(jù)外部的數(shù)據(jù)有效指示信號(hào),在數(shù)據(jù)暫停時(shí)保持讀寫(xiě)地址產(chǎn)生模式信息不變;可配置讀寫(xiě)狀態(tài)控制器(3),接受來(lái)自中心控制器(1)的數(shù)據(jù)準(zhǔn)備好信號(hào)和讀寫(xiě)地址產(chǎn)生器O)的讀寫(xiě)地址產(chǎn)生模式;根據(jù)數(shù)據(jù)準(zhǔn)備好信號(hào)和讀寫(xiě)地址產(chǎn)生模式產(chǎn)生對(duì)于單端口存儲(chǔ)器a(4)和單端口存儲(chǔ)器b 的當(dāng)前讀使能或?qū)懯鼓苄盘?hào);可配置讀寫(xiě)狀態(tài)控制器(3)將讀使能信號(hào)發(fā)送至中心控制器(1),將讀使能或?qū)懯鼓苄盘?hào)發(fā)送至讀寫(xiě)地址產(chǎn)生器 ⑵;單端口存儲(chǔ)器a (4)和單端口存儲(chǔ)器b (5),作為數(shù)據(jù)的暫存單元,接受來(lái)自讀寫(xiě)地址產(chǎn)生器( 的讀或?qū)懙刂沸畔?,接受?lái)自可配置讀寫(xiě)狀態(tài)控制器C3)的讀使能或?qū)懯鼓苄盘?hào), 在寫(xiě)使能的控制下接受來(lái)自于輸入接口單元(6)的數(shù)據(jù),在讀使能的驅(qū)動(dòng)下讀出數(shù)據(jù)發(fā)送至輸出緩沖單元⑵;輸入接口單元(6),接受來(lái)自外部的輸入數(shù)據(jù)和來(lái)自中心控制器(1)的串并轉(zhuǎn)換控制信號(hào)、寫(xiě)滿最高地址指示信號(hào)和寫(xiě)滿最高地址一半指示信號(hào),收到串并轉(zhuǎn)換控制信號(hào)后將先后連續(xù)的兩個(gè)有效輸入數(shù)據(jù)轉(zhuǎn)換為上下兩路并行數(shù)據(jù),首先接收到的數(shù)據(jù)作為上路數(shù)據(jù),其次接收到的數(shù)據(jù)作為下路數(shù)據(jù);若收到寫(xiě)滿最高地址指示信號(hào),則將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器a(4)和單端口存儲(chǔ)器b ;若收到寫(xiě)滿最高地址一半指示信號(hào),則將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器a 和單端口存儲(chǔ)器b(4);在輸入接口單元(6)首次向存儲(chǔ)器寫(xiě)入數(shù)據(jù)時(shí),默認(rèn)將上下兩路并行數(shù)據(jù)分別寫(xiě)入至單端口存儲(chǔ)器 a (4)和單端口存儲(chǔ)器b (5);輸出緩沖單元(7),接受來(lái)自單端口存儲(chǔ)器a4和單端口存儲(chǔ)器b 的兩路并行數(shù)據(jù), 來(lái)自中心控制器(1)的并串轉(zhuǎn)換控制信號(hào)、讀空最高地址指示信號(hào)、讀空最高地址一半指示信號(hào);若收到讀空最高地址指示信號(hào),則分別從單端口存儲(chǔ)器a(4)和單端口存儲(chǔ)器b(5) 同時(shí)讀出上下兩路并行數(shù)據(jù);若收到讀空最高地址一半指示信號(hào),則分別從單端口存儲(chǔ)器 a (5)和單端口存儲(chǔ)器b(4)同時(shí)讀出上下兩路并行數(shù)據(jù);對(duì)上下兩路并行數(shù)據(jù)作并串轉(zhuǎn)換, 實(shí)現(xiàn)先輸出上路數(shù)據(jù)再輸出下路數(shù)據(jù);首次接收到并串轉(zhuǎn)換控制信號(hào)后,默認(rèn)分別從單端口存儲(chǔ)器a(4)和單端口存儲(chǔ)器b(5)同時(shí)讀出上下兩路并行數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的FFT倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度電路,其特征在于輸入接口單元(6)和輸出緩沖單元(7)包括相接的兩級(jí)緩沖寄存器和數(shù)據(jù)切換開(kāi)關(guān)。
4.根據(jù)權(quán)利要求2所述的FFT倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度電路,其特征在于讀寫(xiě)地址產(chǎn)生器( 包括計(jì)數(shù)器a(21)、計(jì)數(shù)器b(22)、位倒置和移位單元(23)、延遲單元(M)、地址交換選擇邏輯(25)、讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)(沈)、多路選址器乂27)和多路選址器 b(28);計(jì)數(shù)器乂21)和計(jì)數(shù)器M2》為具有最大的m bits位寬,能夠處理最大可配置2m長(zhǎng)度的數(shù)據(jù)序列;計(jì)數(shù)器乂21)和計(jì)數(shù)器M2》若接收到來(lái)自中心控制器(1)的啟動(dòng)信號(hào),并且接受到來(lái)自可配置讀寫(xiě)狀態(tài)控制器(3)的讀使能或?qū)懯鼓苄盘?hào),則計(jì)數(shù)器乂21)和計(jì)數(shù)器 b(22)開(kāi)始計(jì)數(shù)產(chǎn)生地址,否則,保持原有值不變;計(jì)數(shù)器乂21)將產(chǎn)生的m bits位寬的地址信號(hào)發(fā)送至位倒置和移位單元;計(jì)數(shù)器M2》將產(chǎn)生的m bits位寬的地址信號(hào)發(fā)送至延遲單元(M),并作為地址A21發(fā)送至交換判決邏輯05);位倒置和移位單元接受來(lái)自外部的可配置點(diǎn)數(shù)模式信息和來(lái)自計(jì)數(shù)器乂21)的 m bits的地址;位倒置和移位單元首先將m bits的地址按比特顛倒位置,得到新的m bits地址;位倒置和移位單元根據(jù)可配置點(diǎn)數(shù)模式信息確定新的m bits地址的移位次數(shù)從而得到輸出地址Al,將其發(fā)送至地址交換選擇邏輯05);延遲單元04)接受來(lái)自計(jì)數(shù)器M2》的m bits地址,并將該地址用寄存器延遲一個(gè)時(shí)鐘發(fā)送得到地址A22,并將地址A22發(fā)送至交換判決邏輯05);地址交換選擇邏輯0 接受來(lái)自位倒置和移位單元的地址Al,來(lái)自計(jì)數(shù)器 b(22)的地址A21,來(lái)自延遲單元04)的地址A22,來(lái)自讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)Q6)的讀寫(xiě)模式狀態(tài)信息,以及來(lái)自中心控制器(1)的寫(xiě)滿最高地址一半指示信號(hào)、讀空最高地址一半指示信號(hào);若讀寫(xiě)模式狀態(tài)信息表示正處于初始只寫(xiě)模式,則選擇地址Al作為單端口存儲(chǔ)器a(4)的寫(xiě)地址waddrl和單端口存儲(chǔ)器b(5)的寫(xiě)地址waddrf ;若讀寫(xiě)模式狀態(tài)信息表示正處于第一種交替讀寫(xiě)模式,則首先選擇地址A21和A22分別作為單端口存儲(chǔ)器a (4) 的讀地址raddrl和單端口存儲(chǔ)器b (5)的讀地址raddr2,并且地址A21和A22延遲一個(gè)時(shí)鐘分別作為單端口存儲(chǔ)器a(4)的寫(xiě)地址waddrl和單端口存儲(chǔ)器b(5)的讀地址waddrf ; 若接受到寫(xiě)滿最高地址一半指示信號(hào),則選擇地址A22和A21分別作為單端口存儲(chǔ)器a(4)的讀地址raddrl和單端口存儲(chǔ)器b (5)的讀地址raddr2,并且地址A22和A21延遲一個(gè)時(shí)鐘分別作為單端口存儲(chǔ)器a(4)的寫(xiě)地址waddrl和單端口存儲(chǔ)器b(5)的讀地址waddrf,直至讀寫(xiě)模式狀態(tài)信息變?yōu)榈诙N交替讀寫(xiě)模式或清空只讀模式;若讀寫(xiě)模式狀態(tài)信息表示正處于第二種交替讀寫(xiě)模式,則選擇地址Al作為單端口存儲(chǔ)器a(4)的讀地址raddrl和單端口存儲(chǔ)器b(5)的讀地址raddr2,并將地址Al延遲一個(gè)時(shí)鐘作為單端口存儲(chǔ)器a(4)的寫(xiě)地址waddrl和單端口存儲(chǔ)器b(5)的寫(xiě)地址waddrf ;若讀寫(xiě)模式狀態(tài)信息表示正處于清空只讀模式,若該清空只讀模式是由初始只讀模式轉(zhuǎn)來(lái),則按照第一種讀寫(xiě)交替模式產(chǎn)生讀地址,即將地址Al作為單端口存儲(chǔ)器a(4)讀地址信號(hào)raddrl和單端口存儲(chǔ)器b 的讀地址信號(hào)raddr2,若該清空只讀模式是由第一種讀寫(xiě)交替模式轉(zhuǎn)來(lái),則按照第二種讀寫(xiě)交替模式產(chǎn)生讀地址,即首先將地址A21和A22分別作為單端口存儲(chǔ)器a (4)的讀地址raddrl 和單端口存儲(chǔ)器b (5)的讀地址raddr2,當(dāng)接收到讀空最高地址一半指示信號(hào),則轉(zhuǎn)為將地址A22和A21分別作為單端口存儲(chǔ)器a(4)的讀地址raddrl和單端口存儲(chǔ)器b ( 的讀地址 raddrf,若該清空只讀模式是由第二種讀寫(xiě)交替模式轉(zhuǎn)來(lái),則按照第一種讀寫(xiě)交替模式產(chǎn)生讀地址,即將地址Al作為單端口存儲(chǔ)器a(4)讀地址信號(hào)raddrl和單端口存儲(chǔ)器b(5)的讀地址信號(hào)raddr2 ;地址交換選擇邏輯0 將產(chǎn)生的單端口存儲(chǔ)器a (4)的讀地址raddrl 和寫(xiě)地址waddrl發(fā)送至多路選擇器a(27),將產(chǎn)生的單端口存儲(chǔ)器b(5)的讀地址raddrf 和寫(xiě)地址waddr2發(fā)送至多路選擇器b (28);讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)06)接受來(lái)自中心控制器(1)的啟動(dòng)信號(hào)、剩余組數(shù)指示信號(hào)、寫(xiě)滿最高地址指示信號(hào)、讀空最高地址指示信號(hào)和外部的數(shù)據(jù)有效指示信號(hào),以及外部數(shù)據(jù)有效指示信號(hào);讀寫(xiě)地址產(chǎn)生模式狀態(tài)機(jī)06)完成不同的讀寫(xiě)地址產(chǎn)生模式的切換,并將當(dāng)前讀寫(xiě)地址產(chǎn)生模式信息發(fā)送至地址交換選擇邏輯0 和可配置讀寫(xiě)狀態(tài)控制器 ⑶;多路選擇器乂27)接受來(lái)自地址交換選擇邏輯0 發(fā)送的單端口存儲(chǔ)器a4的讀地址raddrl和寫(xiě)地址waddrl,多路選擇器M28)接受來(lái)自地址交換選擇邏輯05)發(fā)送的單端口存儲(chǔ)器b (5)的讀地址raddr2和寫(xiě)地址waddr2,多路選擇器乂27)和多路選擇器 b(28)均接受來(lái)自可配置讀寫(xiě)狀態(tài)器C3)的讀使能或?qū)懯鼓苄盘?hào);在讀使能信號(hào)下,同時(shí)選擇raddrl和raddr2分別作為addrl和addr2發(fā)送至單端口存儲(chǔ)器a (4)和單端口存儲(chǔ)器 b (5)的地址線端口,在寫(xiě)使能信號(hào)下,同時(shí)選擇waddrl和waddr2分別作為addrl和addr2 發(fā)送至單端口存儲(chǔ)器a (4)和單端口存儲(chǔ)器b 的地址線端口。
全文摘要
本發(fā)明公開(kāi)了一種FFT倒序操作存儲(chǔ)器數(shù)據(jù)調(diào)度方法及電路,使用兩塊N/2深度單端口存儲(chǔ)器進(jìn)行數(shù)據(jù)調(diào)度,充分發(fā)揮單端口存儲(chǔ)器的面積和功耗優(yōu)勢(shì),有效減少了片上存儲(chǔ)器面積;采用統(tǒng)一的數(shù)據(jù)暫停信號(hào)和讀后便寫(xiě)的讀寫(xiě)策略,使得該設(shè)計(jì)能夠等待外部數(shù)據(jù)的暫停,而不丟失數(shù)據(jù)和影響讀寫(xiě)時(shí)序;采用固定規(guī)則的N個(gè)時(shí)鐘數(shù)據(jù)延遲,有效避免了使用較大FIFO存儲(chǔ)器實(shí)現(xiàn)最短延遲時(shí)間的檢測(cè)邏輯。本發(fā)明具有靈活的可配置性和可擴(kuò)展性,最大程度地避免了不同點(diǎn)數(shù)對(duì)于存儲(chǔ)器容量和控制邏輯的依賴;與現(xiàn)有的倒序操作方法相比,本發(fā)明占用的資源少,可配置靈活性好,能夠處理帶中斷暫停的連續(xù)數(shù)據(jù)流。
文檔編號(hào)G06F12/06GK102306142SQ201110231430
公開(kāi)日2012年1月4日 申請(qǐng)日期2011年8月11日 優(yōu)先權(quán)日2011年8月11日
發(fā)明者廖定彬, 張靜, 桑紅石, 梁巢兵, 胡孔陽(yáng), 袁雅婧, 趙華龍, 陳鵬, 高偉 申請(qǐng)人:華中科技大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1