衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用FPGA對微型計算機的原理及結構進行研究分析

電子設計 ? 作者:電子設計 ? 2018-11-19 09:03 ? 次閱讀

引 言

通常,人們對微型計算機的工作原理及硬件結構的了解于書本知識,深入理解掌握其功能特點比較困難,要自己親手去做一個類似功能的微型計算機更是不可能。隨著可編程邏輯器件的廣泛應用,為數字系統的設計帶來了極大的靈活性,用戶可以利用FPGA(現場可編程門陣列)來開發出一個精簡指令的CPU,同時對微型計算機的原理及結構進行充分研究,便于將來進行相關ASIC(專用集成電路)設計,也可用于計算機原理教學之中。

1 微型計算機結構及原理

以一個簡化的微型計算機為例,微型計算機的簡化結構。

1.1 微型計算機結構

微型計算機由PC(程序計數器)、IR(指令寄存器)、CON(控制部件)、MAR(存儲地址寄存器)、ROM(只讀存儲器)、A(累加器)、ALU(算術邏輯部件)、B(寄存器)、OUTREG(輸出寄存器)、DLEDDIS(數碼管動態掃描模塊)及DECL7S(顯示模塊)等組成。這里僅介紹有所改變或不同的模塊,其余可見文獻[1].

L為數據載入控制信號,E為三態輸出選通信號,clk為時鐘信號,clr為清零信號,Cp為控制PC加1信號,S0-S3為控制ALU進行加減或邏輯運算的選擇信號。所有的控制、時鐘及清零信號由CON模塊給出,而CON模塊由外部時鐘clkin及清零信號rst控制。PC可以置數,即可執行跳轉指令。OUTREG可清零,便于多次調試。DLEDDIS及DECL7S用來把地址及結果在數碼管上顯示出來。

1.2 微型計算機原理

雖然這臺微型機可以實現16條指令,但本文對指令不做擴展,僅以5條指令為例。LDA為將數據裝入累加器A(操作碼0000);ADD為進行加法運算(操作碼0001);SUB為進行減法運算(操作碼0010);OUT為輸出結果(操作碼1110);HLT為停機(操作碼1111)。

在程序和數據裝入后,當外部給出時鐘信號及清零信號無效時,由CON模塊發出信號及控制字,開始取出和執行每條指令。如控制字順序為ErLrS3S2S1SOEuLm LbEaLaEi LiCpEpLp,這里Lr可用于存儲器為RAM時做寫使能信號。由于采用的是數據總線與地址總線合一的總線結構,一條指令的執行需要6個機器節拍,即前3節拍取指周期與后3節拍執行周期。如執行ADD 0AH,機器碼為1AH(0001 1001)。第1節拍將PC內容送入MAR,控制字為“0000 0001 00000010”,即Ep與Lm為1;第2節拍將ROM中對應地址單元中的內容送到IR,IR高4位送至CON,控制字為“1000 0000 0000 1000”,即Er與Li為1;第3節拍使PC加1,控制字中Cp為1,其余為0;第4節拍將IR的低4位送至MAR,Ei與Lm為1;第5節拍將ROM中的內容送入累加器A中,Er與La為1;第6節拍為加法運算,Eu與La為1,同時S0-s3選擇為加法運算。

2 FPGA實現

2.1 總線方式

總線方式是指嚴格按圖1用FPGA實現相應結構的微型機。本實驗采用上海航虹公司的AEDK實驗箱,FPGA芯片Altera公司的EPF10K20TC144-4,軟件采用QuartusII4.0、Max+plusII10.0及synplifypr07.5,程序設計采用VHDL語言。

利用FPGA對微型計算機的原理及結構進行研究分析

共有11個子模塊,最后用元件例化語句構成總模塊。以設計程序計數器模塊C-PC及控制模塊C_CON為例簡單做一介紹。

當三態輸出信號es選通時,即es=“1”,PC可輸出,否則輸出為高阻態。數據或地址與總線相關的子模塊都需采用三態門。由于采用了三態門,最好用QuartusⅡ軟件來進行編譯,Max+plusⅡ有時不一定可以通過。

用synplify pro7.5對C_PC模塊進行RTL(寄存器傳輸級)原理圖觀察,如圖2所示。其綜合電路與一個4位二進制計數器類似,只是多了一個三態門。用synplify pro7.5不僅可以觀察RTL電路,還可以觀察門級電路結,深入了解其內部結構。

C_CON模塊是最關鍵的模塊,因為所有的控制信號都由它發出。由于指令執行需6個機器節拍,每個節拍對應相應功能,采用狀態機是實現此高效率、高可靠邏輯控制的重要途徑。如以下程序所示,每個狀態對應著不同的控制字,共有6個狀態。

利用FPGA對微型計算機的原理及結構進行研究分析

只讀存儲器模塊可使用LPM_ROM的LPM_FILE文件,便于調試不同的程序。

2.2 多路選擇器方式

多路選擇器方式是對總線方式的一種改進,可以實現地址總線與數據總線分離,一條指令的執行只需4個機器節拍,極大地提高了運行速度。對圖1進行略微改變,如圖3所示。其中程序計數器模塊duolu_PC及指令寄存器模塊duolu_IR不再有三態門,對其控制也相應簡化。增加了2個二選一多路選擇器。下面介紹其工作原理。

狀態s0(第1節拍)時,首先判斷有沒有加減法指令,若有則發出控制信號,PC值同時送入MAR.如控制字順序為ErLrS3S2 S1S0EuLm LbEaLaEi LiCpEpLp,有加法時,其控制字為“0000 1011 0010 0010”,當S3S2S1S0為“0001”時做加法運算;沒有加減法時則控制字為“0000 0001 0000 0010”.狀態s1時,PC值加1,將存儲器單元中的內容讀人到IR,其控制字為“1000 0000 0000 1100”,注意當給程序計數器置數時,Lp才為l,多路選擇器選通由IR米置數。狀態s2和s3與總線方式的第4和第5節拍類似。整個周期可簡化為判斷與置地址、讀數、判斷與置地址、讀數4個步驟。

這里的多路選擇器方式僅僅是略微改變,不是指全部,只是提出一種方法。

2.3 功能描述方式

功能描述方式是指充分利用VHDL語言的行為描述能力,從功能描述的角度來實現簡易微型計算機。除了調用ROM模塊及OUTREG、DLEDDIS、DECL7S外,其余子模塊被包含在一個整體C_SIM_CPU模塊內,每一個狀態實現一定的功能。同樣,C_SIM_CPU模塊只需4個狀態即可實現相應功能。部分程序如以下所示,不再采用控制字的方式。

利用FPGA對微型計算機的原理及結構進行研究分析

利用FPGA對微型計算機的原理及結構進行研究分析

C_SIM_CPU模塊由于強調實現功能,其語句不同用戶有著不同寫法,不同的綜合軟件也會生成不同的結構,因而這里不再展開討論。

2.4 3種方式比較

用QuartusⅡ4.0對總線方式、多路選擇器方式及功能描述方式分別進行編程下載,都可以實現一些簡單的計算程序,在數碼管上顯示出地址及相應結果。如果采用1 Hz的clkin頻率,動態掃描頻率單獨用1 kHz時,可以清楚地看到每一過程。

QuartusⅡ4.0對總線方式、多路選擇器方式及功能描述方式編譯,其LE(邏輯單元)分別為:232、206、143.功能描述方式資源利用最優,但結構復雜。多路選擇器方式優于總線方式,不僅是在資源利用上,還是在執行速度上。當然,總線方式對于模塊的擴展方面要強于多路選擇器方式。

如果想更深入了解其內部結構,可以使用Synplifypro軟件觀察這3種方式的RTL電路及門級電路。用Synplify pro軟件進行綜合,顯示所需的LE比QuartusⅡ4.0更少。

3 結束語

微型計算機的原理及結構一般不易理解掌握,利用FPGA來學習并構建一個簡易微型計算機無疑是一個好方法,對EDA的軟硬件學習也是一個不錯的選擇,可為將來進行相關ASIC沒計打下良好的基礎。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21798

    瀏覽量

    606038
  • 存儲器
    +關注

    關注

    38

    文章

    7528

    瀏覽量

    164348
  • 計算機
    +關注

    關注

    19

    文章

    7540

    瀏覽量

    88644
收藏 人收藏

    評論

    相關推薦

    基于FPGA的簡易微型計算機結構及原理分析

    的設計帶來了極大的靈活性,用戶可以利用FPGA(現場可編程門陣列)來開發出一個精簡指令的CPU,同時對微型計算機的原理及結構進行充分
    發表于 06-27 07:40

    什么是微型計算機的組成原理

    通信接口、模擬接口等)的課程。 微機原理課程學習目的 通過該課程的學習,應能掌握微型計算機系統的硬件基本知識及應用實驗技能,具有一定的微機應用系統的系統分析能力。1.1 微型計算機系統組成結構
    發表于 07-16 06:20

    微型計算機原理及應用課后答案

    原理(非電類)“十二五”高等學校機械類專業規劃教材》對數字電子技術、微機原理和接口技術三方面的內容進行了整合,從數字電子技術過渡到微型計算機原理及應用,敘述了微型計算機電子技術和數字邏輯的基礎?!稊底蛛娮优c
    發表于 07-16 07:03

    什么是微型計算機?微型計算機有什么用處?

    匯編語言是什么?什么是微型計算機?微型計算機有什么用處?
    發表于 07-16 09:59

    微型計算機結構

    一,微型計算機結構微型計算機的模型:1. 中央處理器(CPU)的組成運算器 + 控制器1.1 運算器算術邏輯單元(ALU)累加寄存器(A)寄存器組標志寄存器(F)1.2 控制器程序控制器(PC
    發表于 07-21 06:16

    微型計算機的硬件組成

    第4章微型計算機的硬件組成(4.1微型機系統微型計算機包括多種系列,多種檔次、型號的計算機。1. 主板主板也叫系統板或母板,在個人電腦誕生的20多年來,主板一直是個人電腦的主要組成部分
    發表于 09-02 07:17

    微型計算機原理及應用

    前言微機原理主要內容包括微型計算機體系結構、8088微處理器和指令系統、匯編語言設計以及微型計算機各個組成部分介紹等內容。微機原理接口技術是一門實踐性強的學科,不但要求較高的理論水平,而且還要求有實際的動手能力。這次項目設計的主要目的是提高我們的實踐能力,包括提高...
    發表于 09-10 07:38

    微型計算機的硬件組成

    第4章微型計算機的硬件組成?4.1微型機系統微型計算機包括多種系列,多種檔次、型號的計算機。1. 主板主板也叫系統板或母板,在個人電腦誕生的20多年來,主板一直是個人電腦的主要組成部分
    發表于 09-10 06:34

    單片微型計算機原理及接口技術

    單片微型計算機原理及接口技術--實驗指導書(w)【最新】.doc微型計算機原理與接口技術(單片微型計算機原理及接口技術)實驗指導書適用于微電子專業、測控專業必修課程《微型計算機原理及接
    發表于 09-10 09:10

    如何去制作一臺微型計算機

    制作微型計算機需要哪些基礎元件?如何去制作一臺微型計算機?
    發表于 10-09 09:25

    微型計算機和單片機的基本結構

    1. 微型計算機和單片機的基本結構微型計算機的基本結構如下圖所示。1.1 控制器控制器(Controller)是計算機的控制核心,它的功能是
    發表于 11-22 06:03

    微型計算機接口技術原理及應用

    微型計算機接口技術原理及應用以目前流行的微型計算機為對象,將微型計算機的系統結構、典型微處理器、指令系統、匯編語言、總線技術、存儲器系統、輸入/輸出接口技術
    發表于 03-21 21:57 ?0次下載
    <b class='flag-5'>微型計算機</b>接口技術原理及應用

    微型計算機基礎與應用,下載

    微型計算機基礎與應用: 1.微處理器 2. 微型計算機       (1)單片微處理機       (2)通用微型計算機
    發表于 04-28 15:14 ?0次下載
    <b class='flag-5'>微型計算機</b>基礎與應用,下載

    微型計算機原理

    1.1  微型計算機的發展和應用1946年,世界上出現第一臺數字式電子計算機ENIAC(電子數據和計算器)發展到以大規模集成電路為主要部件的第四代,產生了微型計算機1971
    發表于 10-10 18:41 ?0次下載

    微型計算機基礎知識

    1.1 微型計算機的組成及工作原理1.1.1  微型計算機中的基本概念1. 微處理器2. 微型計算機      (1)單片微處理機   &
    發表于 02-23 12:02 ?64次下載
    在线百家乐官网纸牌| 电脑打百家乐官网怎么赢| 赌场百家乐规则| 敖汉旗| 贵族百家乐的玩法技巧和规则| 超级皇冠网分布图| 斗地主百家乐官网的玩法技巧和规则 | 百家乐娱乐网开户| 六合彩百家乐官网有什么平码| 百家乐策略与心得| 大余县| 大发888客户端de 软件| 澳门百家乐备用网址| 百家乐官网2号死机| 百家乐官网娱乐开户| 筒子二八杠分析仪| 百家乐2棋牌作弊软件| 汇丰百家乐官网的玩法技巧和规则 | 任你博百家乐的玩法技巧和规则 | 棋牌网| 百家乐看大路| 百家乐官网庄最高连开几把| 百家乐官网隔一数打投注法| 上思县| 大发888娱乐城备用网址| 乐天堂百家乐娱乐| 做生意门口禁忌| 免费玩百家乐官网的玩法技巧和规则 | 百家乐官网视频游戏掉线| 鼎龙国际娱乐城| 百家乐园首选| 百家乐singapore| 24山吉凶图| 澳门百家乐如何算牌| 百家乐官网群| 玩百家乐凤凰娱乐城| 百家乐怎样玩的| 大发888大发888娱乐城| 巴西百家乐的玩法技巧和规则| 大发888娱乐平台下| 新皇冠现金网怎么样|