基于FPGA的簡(jiǎn)易微型計算機結構分析與實(shí)現
2.2 多路選擇器方式
多路選擇器方式是對總線(xiàn)方式的一種改進(jìn),可以實(shí)現地址總線(xiàn)與數據總線(xiàn)分離,一條指令的執行只需4個(gè)機器節拍,極大地提高了運行速度。對圖1進(jìn)行略微改變,如圖3所示。其中程序計數器模塊duolu_PC及指令寄存器模塊duolu_IR不再有三態(tài)門(mén),對其控制也相應簡(jiǎn)化。增加了2個(gè)二選一多路選擇器。下面介紹其工作原理。
狀態(tài)s0(第1節拍)時(shí),首先判斷有沒(méi)有加減法指令,若有則發(fā)出控制信號,PC值同時(shí)送入MAR。如控制字順序為ErLrS3S2 S1S0EuLm LbEaLaEi LiCpEpLp,有加法時(shí),其控制字為“0000 1011 0010 0010”,當S3S2S1S0為0001”時(shí)做加法運算;沒(méi)有加減法時(shí)則控制字為0000 0001 0000 0010”。狀態(tài)s1時(shí),PC值加1,將存儲器單元中的內容讀人到IR,其控制字為“1000 0000 0000 1100”,注意當給程序計數器置數時(shí),Lp才為l,多路選擇器選通由IR米置數。狀態(tài)s2和s3與總線(xiàn)方式的第4和第5節拍類(lèi)似。整個(gè)周期可簡(jiǎn)化為判斷與置地址、讀數、判斷與置地址、讀數4個(gè)步驟。
這里的多路選擇器方式僅僅是略微改變,不是指全部,只是提出一種方法。
2.3 功能描述方式
功能描述方式是指充分利用VHDL語(yǔ)言的行為描述能力,從功能描述的角度來(lái)實(shí)現簡(jiǎn)易微型計算機。除了調用ROM模塊及OUTREG、DLEDDIS、DECL7S外,其余子模塊被包含在一個(gè)整體C_SIM_CPU模塊內,每一個(gè)狀態(tài)實(shí)現一定的功能。同樣,C_SIM_CPU模塊只需4個(gè)狀態(tài)即可實(shí)現相應功能。部分程序如以下所示,不再采用控制字的方式。


C_SIM_CPU模塊由于強調實(shí)現功能,其語(yǔ)句不同用戶(hù)有著(zhù)不同寫(xiě)法,不同的綜合軟件也會(huì )生成不同的結構,因而這里不再展開(kāi)討論。
2.4 3種方式比較
用QuartusⅡ4.0對總線(xiàn)方式、多路選擇器方式及功能描述方式分別進(jìn)行編程下載,都可以實(shí)現一些簡(jiǎn)單的計算程序,在數碼管上顯示出地址及相應結果。如果采用1 Hz的clkin頻率,動(dòng)態(tài)掃描頻率單獨用1 kHz時(shí),可以清楚地看到每一過(guò)程。
QuartusⅡ4.0對總線(xiàn)方式、多路選擇器方式及功能描述方式編譯,其LE(邏輯單元)分別為:232、206、143。功能描述方式資源利用最優(yōu),但結構復雜。多路選擇器方式優(yōu)于總線(xiàn)方式,不僅是在資源利用上,還是在執行速度上。當然,總線(xiàn)方式對于模塊的擴展方面要強于多路選擇器方式。
如果想更深入了解其內部結構,可以使用Synplifypro軟件觀(guān)察這3種方式的RTL電路及門(mén)級電路。用Synplify pro軟件進(jìn)行綜合,顯示所需的LE比QuartusⅡ4.0更少。
3 結束語(yǔ)
微型計算機的原理及結構一般不易理解掌握,利用FPGA來(lái)學(xué)習并構建一個(gè)簡(jiǎn)易微型計算機無(wú)疑是一個(gè)好方法,對EDA的軟硬件學(xué)習也是一個(gè)不錯的選擇,可為將來(lái)進(jìn)行相關(guān)ASIC沒(méi)計打下良好的基礎。
評論