新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的可變長度移位寄存器優化設計

        基于FPGA的可變長度移位寄存器優化設計

        作者: 時間:2011-07-24 來源:網絡 收藏

        本文以最大為N、寬度為1bit的為模型,討論如何從結構上和有效的實現。至于寬度不為1bit的情況,可以此類推。

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

          1 的常用結構

          通常可變長度移位寄存器的結構可分為兩種:一種是輸入分支型(結構A),如圖1所示;另一種是輸出分支型(結構B),如圖2所示。

          

        可變長度移位寄存器的結構

          結構A與結構B有兩個共同點:第一,都是由觸發器鏈路加數據流向控制邏輯組成;第二,每級觸發器的輸入輸出都是信號節點,因而各級都需要對本級節點的信號流向進行控制。結構A用n-to-2n譯碼器來控制信號流向,結構B則用2n:1多路復用器控制信號流向。對于基本邏輯單元為查找表(LUT)+觸發器(FF)+多路復用器(MUX)結構的來說,直接采用結構A與結構B構造較長的移位寄存器時,觸發器鏈和復雜的組合邏輯會消耗很多資源,即這兩種結構不宜用于較長的可變長度移位寄存器。

          2 解決方案

          為解決上述問題,可以采用如下兩個方法:

          (1)功能結構與硬件結構的搭配。根據移位寄存器結構類型,選擇適宜的芯片以提高資源利用率,降低資源消耗。

          (2)移位寄存器結構。采用FPGA片內RAM來實現移位寄存器,利用片內RAM速度快、數量大的優點,直接減少基本邏輯單元的消耗,提高資源利用率。

          2.1 優化功能結構與硬件結構的搭配

          通過調整FPGA芯片類型與移位寄存器結構類型的搭配,可以提高資源利用率,降低資源消耗。下面以結構B為例,闡述如何應用Xilinx公司的Spartan-3系列芯片高效地實現N=128的可變長度移位寄存器。

          2.1.1 實現原理

          Spartan-3系列芯片的每個可配置邏輯塊CLB[1]如圖3所示,包含8個LUT、8個DFF和8個2:1多路復用器(4個F5MUX,2個F6MUX,1個F7MUX,1個F8MUX),而每個LUT都能配置成移位寄存器模式(SRL),相當于一個16級的可逐級尋址的移位寄存器。如圖4所示,一個LUT就包含了構成結構B所需的全部要素,從而有效地實現N=16的可變長度移位寄存器[2].Q15是用于多級級聯實現N>16的移位寄存器的進位輸出。

          

        Spartan-3系列芯片的每個可配置邏輯塊CLB

          

        LUT配置成可尋址的移位寄存器


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 襄城县| 同心县| 旺苍县| 涞源县| 长春市| 汉中市| 鄂托克旗| 新干县| 图木舒克市| 贵阳市| 柳林县| 吉林省| 增城市| 翁源县| 大竹县| 连州市| 商水县| 宁化县| 沭阳县| 资溪县| 涟水县| 炎陵县| 德安县| 邯郸县| 西藏| 遂溪县| 东至县| 道真| 甘肃省| 万年县| 左权县| 石河子市| 拉萨市| 阿拉善左旗| 华阴市| 锦州市| 胶南市| 平顶山市| 宝鸡市| 奎屯市| 永登县|