新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 分布式運算單元的原理及其實現方法

        分布式運算單元的原理及其實現方法

        作者: 時間:2009-08-31 來源:網絡 收藏

          若將式(4)每個方括號之間的加法并行執行,即將每個DA查找表的輸出采用并行的加法,就得到了全并行結構。現將式(4)中的某個方括號重寫如下,并縮寫為sum:

        本文引用地址:http://www.104case.com/article/191941.htm


          
          利用式(6),可以得到一種直觀的樹形陣列,如圖2所示。


          圖2中,首先要建立一個K×B位的寄存器陣列,將其輸出進行排列,用所有K個輸入數據的相同位,對 DA查找表尋址,從圖中可以看出,當B=16時,輸入到輸出所需的路徑最長,該路徑為關鍵路徑,影響著電路處理的速度,在進行設計時應該注意到這點,所以應該采用流水線設計方法[1],并進行適當的約束,其數據率可以達到50MHz。圖中的15個節點代表著15個并行的加法器,中間過程的數據寬度既可以保持雙精度(B+C)位數據(C是常數Ak的寬度),也可以采用截尾的辦法得到單精度B位數據,可根據系統所要求的精度確定。
        2.2 全串行
          當系統對速度的要求不是很高的時候,可以用全串行設計方法,即一個DA查找表,一個并行的加法器以及簡單少量的寄存器就可達到目的,這樣能夠節省大量的FPGA資源。同樣,設K=16,B=16,將式(4)改寫如下形式:


          
          為了實現式(7),先從最低位開始,用所有K個輸入變量的最底位對DA查找表進行尋址,得到了[sum15],將[sum15]右移一位即將 [sum15]乘2-1后,放到寄存器中,設為[tem15];同時,K個輸入變量的次低位已經開始對DA查找表尋址得到[sum14],右移一位后,與 [tem15]相加,重復這樣的過程,直至得到[sum0],并用前面得到的累加結果減去[sum0]。要實現上述過程,需要K個長度為B的串并行轉換移位寄存器、一個容量為2K×C的DA查找表和一個累加器。該全串行電路的數據率為輸入數據抽樣頻率的1/B,即完成一次需要B個時鐘周期。由此可以得到全串行DA模式,如圖3所示。

        2.3 串并行相結合
          以上介紹的全串行方式是每個時鐘周期對所有K個變量的一位進行串行處理,全并行方式是每個時鐘周期對所有K個變量的所有B位進行并行處理;這兩種方法是針對速度優化和資源優化設計的兩種極限情況。在有些情況下,我們可以對這兩種情況進行折中考慮,獲得最佳資源利用和系統速度。我們可以從每個時鐘周期對K個變量的兩位進行處理開始著手,回顧一下式(5),并將該式改寫如下:
          

          完成該式功能的功能框圖如圖4a所示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 虹口区| 城固县| 迁安市| 霍城县| 开化县| 开原市| 南汇区| 卢湾区| 修武县| 白城市| 华亭县| 阳新县| 邵武市| SHOW| 潮安县| 娄烦县| 三穗县| 霸州市| 吉隆县| 建宁县| 阳西县| 叶城县| 朝阳区| 高邑县| 长宁区| 金山区| 德清县| 宜阳县| 当阳市| 菏泽市| 丰都县| 五指山市| 商南县| 南丹县| 海晏县| 台前县| 宁海县| 泾源县| 绥宁县| 文化| 康定县|