新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種基于FPGA的棧空間管理器的研究和設(shè)計

        一種基于FPGA的棧空間管理器的研究和設(shè)計

        作者: 時間:2010-09-21 來源:網(wǎng)絡(luò) 收藏

          
          2器總體結(jié)構(gòu)
          
          為了節(jié)約RAM開銷,從總體結(jié)構(gòu)上構(gòu)建了一款具有LIFO及自檢功能的器。器結(jié)構(gòu)包括一個雙端口存儲單元、狀態(tài)控制邏輯模塊、地址產(chǎn)生邏輯模塊、中斷判斷邏輯。其中狀態(tài)控制邏輯模塊由空/滿標(biāo)志產(chǎn)生邏輯、二進(jìn)制運(yùn)算邏輯和標(biāo)志寄存器組3部分組成;地址產(chǎn)生邏輯模塊由讀/寫地址邏輯、中斷棧邏輯和地址寄存器組3部分組成。
          
          由圖2可知,狀態(tài)控制邏輯模塊的工作過程為:從標(biāo)志寄存器組中讀出當(dāng)前的使用量fcount信號值,fcount信號值傳送至二進(jìn)制運(yùn)算邏輯。在讀/寫控制信號有效的情況下,二進(jìn)制運(yùn)算邏輯有效,修改fcount信號值,修改后的值作為USED的輸出值,同時寫回到標(biāo)志寄存器的對應(yīng)fcount位中。修改后的信號值也作為空/滿標(biāo)志產(chǎn)生邏輯的輸入信號,空/滿標(biāo)志產(chǎn)生邏輯生成Full/Empty標(biāo)志,并把該標(biāo)志位寫回到標(biāo)志寄存器對應(yīng)位Full/Empty中。其中標(biāo)志寄存器freg的結(jié)構(gòu)如圖3所示,初始值為0000001000000000B。

        一種基于FPGA的棧空間管理器的研究和設(shè)計


          
          中斷判斷邏輯由輸入信號INT與標(biāo)志寄存器位IntNesting值決定是否有效。如果有中斷發(fā)生,則中斷棧邏輯有效,中斷棧邏輯生成讀/寫地址,否則讀/寫地址邏輯有效,生成相應(yīng)的讀/寫地址。
          
          在讀/寫控制信號有效的情況下,從堆棧地址寄存器組中讀出當(dāng)前任務(wù)的地址,經(jīng)過讀/寫地址邏輯或中斷棧邏輯產(chǎn)生堆棧地址指針,作為HOS堆棧空間的入棧/出棧地址。執(zhí)行入棧時,在同步時鐘和入棧控制信號有效的情況下,中斷判斷邏輯判斷是否存在中斷或中斷嵌套,如果沒有,則由寫地址邏輯生成入棧地址;否則由中斷棧邏輯生成寫地址。同理,執(zhí)行出棧時,在同步時鐘和出棧控制信號有效的情況下,中斷判斷邏輯判斷是否存在中斷或中斷嵌套,如果沒有,則讀地址邏輯生成出棧地址;否則中斷棧邏輯生成出棧地址。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 芜湖市| 榆树市| 博白县| 沙坪坝区| 岑溪市| 江华| 晴隆县| 龙门县| 台山市| 克什克腾旗| 芦山县| 化德县| 靖边县| 古蔺县| 静乐县| 庄浪县| 淮北市| 眉山市| 左云县| 烟台市| 攀枝花市| 池州市| 和平县| 广西| 金寨县| 色达县| 比如县| 铜川市| 玉田县| 烟台市| 兴山县| 崇义县| 平南县| 婺源县| 鞍山市| 和静县| 祁阳县| 兴安盟| 萨嘎县| 当涂县| 枣强县|