基于FPGA實(shí)現(xiàn)VLIW微處理器的設(shè)計(jì)與實(shí)現(xiàn)
2.5 寫回單元的設(shè)計(jì)
寫回單元是VLIW微處理器的最后一個(gè)單元,它的功能是將執(zhí)行單元的操作結(jié)果寫回到寄存器堆中,并在讀有效的情況下,輸出相應(yīng)的操作處理數(shù)據(jù)。該模塊設(shè)計(jì)相對比較簡單,要實(shí)現(xiàn)寫回寄存器堆的數(shù)據(jù)和該數(shù)據(jù)的目標(biāo)寄存器地址,以及讀出處理單元的操作處理數(shù)據(jù)。
2.6 綜合仿真與測試
將上述所設(shè)計(jì)的模塊,運(yùn)用原理圖的設(shè)計(jì)方法,按圖2 VLIW微處理模塊劃分結(jié)構(gòu)進(jìn)行相應(yīng)的連接,并選擇相應(yīng)的器件進(jìn)行編譯測試,其仿真測試功能波形如圖6所示。圖中的波形圖添加了中間變量寄存器的波形圖,以便能夠更好地對比輸出波形,分析處理器功能。VLIW微處理器首先將要處理的數(shù)據(jù)裝入寄存器中,利用寄存器尋址的方式,對數(shù)據(jù)進(jìn)行相應(yīng)的16種功能操作運(yùn)算,然后利用讀的功能讀出操作處理的數(shù)據(jù)結(jié)果。
在圖6中,添加的中間變量是寄存器地址(memoryarray),基本的輸入有時(shí)鐘信號(clock)、復(fù)位信號(reset)、指令(word)、數(shù)據(jù)(data)。復(fù)位信號為低電平時(shí),電路處于有效的工作狀態(tài),輸出相關(guān)的操作數(shù)據(jù)。運(yùn)用裝載指令對寄存器依次裝入數(shù)據(jù),在下一個(gè)時(shí)鐘脈沖時(shí),對寄存器的數(shù)據(jù)進(jìn)行讀出操作,輸出數(shù)據(jù)有效信號輸出高電平。要看到操作處理結(jié)果就必須用讀的操作指令,操作執(zhí)行的結(jié)果是存儲(chǔ)到寄存器中。
基于FPGA實(shí)現(xiàn)微處理器的設(shè)計(jì)是一個(gè)熱點(diǎn),在主流設(shè)計(jì)中主要模塊的劃分一般大致相同,主要區(qū)別在于主要模塊下的小模塊劃分是完全不相同的,并且實(shí)現(xiàn)與設(shè)計(jì)方式也不相同。在VLIW處理器設(shè)計(jì)中,細(xì)分各個(gè)小模塊,運(yùn)用硬件描述語言實(shí)現(xiàn)各個(gè)基本模塊的功能,從而最終實(shí)現(xiàn)整個(gè)微處理器的邏輯功能,并在開發(fā)板進(jìn)行相應(yīng)的邏輯分析與功耗分析,為實(shí)際DSP并行處理器架構(gòu)提供一定的參考基礎(chǔ)。下階段的主要方向是進(jìn)行各個(gè)小部件的進(jìn)一步優(yōu)化設(shè)計(jì),增強(qiáng)操作功能與操作指令的實(shí)現(xiàn)設(shè)計(jì),進(jìn)而設(shè)計(jì)實(shí)現(xiàn)浮點(diǎn)VLIW微處理器。
參考文獻(xiàn)
[1] 石教英.計(jì)算機(jī)體系結(jié)構(gòu)[M].杭州:浙江大學(xué)出版社,2004.
[2] 尹朝慶.計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)教程[M].北京:清華大學(xué)出版社,2005.
[3] 李學(xué)干.計(jì)算機(jī)系統(tǒng)的體系結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2006.
[4] LEE W F. VLIW microprocessor hardware design for ASIC and FPGA [M]. The MCGraw Companies, 2008.
[5] FISHER J A, FARABOSCHI P, YOUNG C. Embedded computing: a VLIW approach to architecture[M]. Compilers and Tools, Denise E. M. Penrose, 2005.
評論