




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、計算機組成原理課程設計報告書題目: 設計邏輯電路控制器CPU(含至少3條指令) 院 系: 計算機科學與工程學院 專業班級: 物聯網工程13-1班 學 號: 學生姓名: 指導教師: 詹 林 2015年 12 月 15 日安徽理工大學課程設計(論文)任務書計算機科學與技術工程 學院 物聯網 系學 號學生姓名專業 (班級)物聯網13-1設計題目 設計邏輯電路控制器CPU(含至少3條指令)設計技術參數1 通過試驗箱系統連接設計取數據、存數據、加指令。2 畫出電路圖實現相關的功能。設計要求設計要求:在maxplus設計取數據、存數據、加指令的CPU程序。工作量1. 課程設計說明書2500字;2. 畫出流
2、程圖,編寫微指令代碼和程序;3. 編寫出試驗過程、試驗結果。工作計劃3 第一天 學習微程序控制器,了界實驗箱中的各結構。4 第二天 分析題目,查閱資料,畫出流程圖,設計出微指令。5 第三天 第四天 按實驗要求連線,編寫程序在實驗箱上運行6 第五天 寫課程設計報告參考資料1 白中英 著 ,計算機組成原理。2 張功萱 著 ,計算機組成原理 ,清華大學出版社,2005年09月3王誠 著,計算機組成原理實驗指導書,清華大學出版社,20024 楊小龍.計算機組成原理與系統結構實驗教程. 西安:西安電子科技大學出版社,2004指導教師簽字 系主任簽字 2015年 12月 11 日指導教
3、師評語:成績: 指導教師: 年 月 日安徽理工大學課程設計(論文)成績評定表 摘 要本次計算機組成原理課程設計課題是邏輯電路控制器CPU的設計。利用maxplus來實現計算機組成原理課程及實驗中所學到的實驗原理和編程思想,硬件設備自擬,設計控制器CPU的邏輯電路圖,用邏輯電路圖實現了一系列的指令功能,最終達到將理論與實踐相聯系。本次設計在maxplus中完成存數據、取數據、加指令的CPU程序,用電路圖實現了相關功能,設計maxplus的指令系統(包括存數據、取數據、加指令的CPU程序),形成具有一定功能的完整的電路圖。關鍵詞:maxplus、全加器、寄存器、邏輯電路圖目 錄1. 實驗軟件max
4、plus61.1Maxplus簡介61.2 maxplus的使用說明62.設計目標93.系統設計93.1 四位二進制加法器93.2 寄存器103.3計數器103.4 微指令集電路圖設計113.5微指令集設計123.6 CPU程序設計流程圖134.程序實現134.1 仿真電路圖134.2 仿真結果14總結與體會16參考文獻171. 實驗軟件maxplus1.1Maxplus簡介Altera公司的MAX+PLUS的全稱是Multiply Array matrix and Programmable Logic User System。MAX+PLUS支持所有的CPLD和25萬門以內的FLEX和ACE
5、X系列FPGA。它集設計輸入、編譯、仿真、綜合、編程(配置)于一體,帶有豐富的設計庫,并有詳細的聯機幫助功能,且許多操作與Windows下的操作方法完全一樣,是一個集成化的、易學易用的PLD開發平臺。用MAX+PLUS進行設計的一般過程,設計輸入、編譯、功能仿真、設計實現、時序仿真、下載、硬件檢查,在對上述過程中有錯誤的進行設計修改。1.2 maxplus的使用說明邏輯設計的輸入:指定項目名稱,在“File”菜單中選擇ProjectName打開“Project Name”對話框;選擇適當的驅動器和目錄,然后鍵入項目名;點擊“OK”。建立原理圖設計文件,第一步打開原理圖編輯器,在管理器窗口的“F
6、ile”菜單中選擇“New”;選擇“Graphic Editor File”和“.gdf”項;點擊“OK”。第二步輸入元件和模塊,原理圖編輯窗口空白處雙擊鼠標左鍵或者在“Symbol”菜單中選擇“Enter Symbol”,便打開了“Enter Symbol”對話框;選擇適當的庫及所需的器件(模塊);點擊“確定”。第三步放置輸入、輸出引腳,在“Symbol Name”框中鍵入input或output。第四步連線,將電路圖中的兩個端口相連,將鼠標指向一個端口,鼠標箭頭會自動變成“+”;一直按住鼠標左鍵拖至另一個端口;放開左鍵,則會在兩個端口間產生一根連線。輸入/輸出引腳和內部連線命名,輸入/輸出
7、引腳命名的方法是在引腳的“PIN-NAME”位置雙擊鼠標左鍵,然后鍵入信號名。內部連線的命名方法是:選中連線,然后鍵入信號名。第六步保存文件,在“File”菜單中選擇“Save As”(若該文件已有,則選“Save”)或在工具欄點擊按鈕,如是第一次保存,需輸入文件名。建立一個默認的符號文件,在層次化設計中,如果當前編輯的文件不是頂層文件,則往往需要為其產生一個符號,將其打包成一個模塊,以便在上層電路設計時加以引用。建立一個符號文件的方法是,在“File”菜單中選擇“Create Default Symbol”項即可。編譯網表提取:MAX+PLUS的編譯器包括兩大功能:編譯和設計實現。編譯的作用
8、是檢查設計輸入中有無描述性錯誤,若無描述性錯誤,則提取出電路網表(Netlist);若有描述性錯誤,則給出出錯信息(包括出錯位置、錯誤性質),并有聯機幫助功能幫助用戶改正錯誤。運行編譯器的方法是,在“MAX+PLUS”菜單中選“Compiler”選項或直接在工具欄中點擊按鈕。啟動編譯器后首先進行“編譯與電路網表提取”工作。做完這一工作后編譯器便停下來等待用戶的指示。如果編譯中未發現錯誤,則可以接著做“設計實現”的工作。設計實現包括數據庫生成器(Database Builder)、邏輯綜合器(Logic Synthesizer)、邏輯劃分器(Partitioner)、設配器(Fitter)、時序
9、仿真網表文件提取器(Timing SNF Extractor)和編程數據匯編器(Assembler)等步驟。選項設置,編譯器有很多選項設置,但并不是每一項都需要用戶去設置,有些設置編譯器可自動選擇(如器件選擇、引腳分配等),而其他的設置往往有默認值。在“Assign”菜單中選“Device”項,然后選擇器件的系列和型號,型號可設為“Auto”,編譯器自動選擇;器件引腳分配,在原理圖編輯窗口中,選中某個輸入或輸出信號,按鼠標右鍵,在彈出菜單中選“Pin/Location/Chip”,然后選引腳號。運行“設計實現”,按上述方法做好必要的設置后,在編譯器窗口中按“Start”就可以連續執行后續的設計
10、步驟,產生的數據文件的擴展名會出現在各個執行框的下方。仿真驗證:仿真分功能仿真和時序仿真兩種,兩種仿真的做法是一樣的,由編譯時生成的仿真網表文件類型決定仿真的類型。仿真過程分三步,首先要建立波形文件,確定需要觀察的信號,設計輸入波形,設定一些時間和顯示參數。其次才是運行仿真程序。最后是根據仿真結果(波形)分析電路功能正確與否。建立波形文件,第一步打開原理圖編輯器,在管理器窗口的“File”菜單中選擇“New”或直接在工具欄上點擊按鈕,打開“New”列表框;選擇“Waveform Editor File”和“.scf”項,按“OK”。第二步設定時間參數,從“File”菜單中選擇“End Time
11、”項,鍵入仿真結束時間,按“OK”;在“Options”菜單中選擇“Grid Time”項,鍵入時間顯示網格間距,按“OK”。第三步確定需觀察的信號,在“Node”菜單中或在波形圖編輯窗口空白處單擊鼠標右鍵選擇“Enter Nodes From SNF”(SNF指仿真網表文件)項,打開“Enter Nodes From SNF”對話框;在“Type”框中選擇信號類別,最常用的是“Input”和“Output”(輸入、輸出);點“List”按鈕,將所選類別的所有信號均列于“Available Nodes & Groups”框;從“Available Nodes & Groups”
12、框中選擇信號,然后按“=>”箭頭,使所選信號名進入“Selected Nodes & Groups”框;選擇“OK”,所選信號將出現在波形圖編輯窗口中;根據需要編輯輸入波形,編輯窗口左側一列按鈕非常有用;在“File”菜單中選擇“Save As”或在工具欄點擊按鈕,如是第一次保存,需輸入文件名。運行仿真程序,在“MAX+PLUS”菜單中選“Simulator”選項或直接在工具欄中點擊按鈕,出現仿真對話框;按“Start”開始仿真;仿真結果后,按“Open SCF”,在波形編輯窗口中將顯示出仿真結果(波形)。仿真結果分析。底層圖編輯:通過底層圖編輯器可以觀察和控制底層(物理)設計的
13、細節,細節包括兩個內容:引腳分配和邏輯單元分配,打開底層圖編輯器的方法是,在“MAX+PLUS”菜單中選“Floorplan Editor”選項或直接在工具欄中點擊按鈕。器件外觀視圖,在底層圖編輯界面下,從“Layout”菜單中選擇“Device View”就可以顯示出器件的所有引腳及其功能。如果在“Lauout”菜單中選擇“Last Compilation Floorplan”或點擊底層圖編輯窗口左側的相應按鈕,則顯示最新一次經過編譯的引腳分配情況。已分配過的引腳呈彩色,未分配過的引腳呈白色。如果在“Layout”菜單中選擇“Current Assignment Floorplan”或點擊底
14、層圖編輯窗口左側的相應按鈕,就可以重新進行引腳分配。但是,重新分配的結果必須經過編譯才能生效。器件內部視圖,在底層圖編輯界面下,從“Layout”菜單中選擇“LAB View”就可以顯示出器件的所有邏輯單元和引腳。如果在“Layout”菜單中選擇“Last Compilation Floorplan”或點擊底層圖編輯窗口左側的相應按鈕,則顯示最新一次經過編譯的邏輯單元和引腳分配情況。已分配過的單元及引腳呈彩色,未分配過的單元及引腳呈白色。如果在“Layout”菜單中選擇“Current Assignments Floorplan”或點擊底層圖編輯窗口左側的相應按鈕,就可以對邏輯單元和引腳進行重
15、新分配。但是,重新分配的結果必須經過編譯才能生效。下載:經過編譯和設計實現后生成3個不同用途的編程文件:*.POF、*.SOF、*.JED。*.POF文件用于Classic與MAX系列CPLD的編程。*.SOF文件用于對FLEX系列FPGA進行直接配置。打開編程窗口,在“MAX+PLUS”菜單中選“Programmer”選項或直接在工具欄中點擊按鈕。硬件連接,在編程界面下,從“Options”菜單中選擇“Hardware Setup”;在“Hardware Setup”對話框中選擇“ByteBlaster”或“BitBlaster”;用下載電纜將PC機并口(若選“ByteBlaster”)或串
16、口(若選“BitBlaster”)與電路板上的PLD連接起來(通過接插件)。請注意:這一步工作最好在關斷PC機和電路板電源的情況下進行,可以在開機前預先接好。選擇編程文件,缺省情況下,編程文件已根據當前項目名選好,并顯示在編程窗口的右上角。如果發現文件名不對,可在“File”菜單中點“Select Programming File”項進行選擇。下載,在編程窗口中按“Program”(對CPLD或配置用EPROM,此時文件為*.POF)或“Configure”(對FPGA,此時文件為*.SOF)。2.設計目標 本課程設計要求實現機器指令要求實現指令:LD(取數),ST(存數),ADD(算術加法)
17、;利用maxplus對于設計的微指令集用電路圖進行實現,并分析結果是否正確,3.系統設計3.1 四位二進制加法器全加器是用門電路實現兩個二進制數相加并求出和的組成和電路的數字電路。除本位兩個數相加外,還要加上從低位來的進位數。被加數Ai加數Bi從低位向本位進位Ci-1作為電路的輸入,全加和Si與向高位的進位Ci作為電路的輸出。能實現全加運算功能的電路稱為全加電路。全加器的邏輯功能表如表1所列。本次課程設計中的四位二進制加法器是由四個全加器組成,一位加法器邏輯電路圖如圖1所示。信號輸入端信號輸出端AiBiCiSiC00000000110010101001001101101011100111111
18、表1 全加器的邏輯功能表 圖1 74183一位全加器 3.2 寄存器寄存器是CPU的組成部分,寄存器是有限存儲容量的高速存儲部件,它們可用來暫存指令、數據和地址。在CPU的控制部件中,包含的寄存器有指令寄存器(IR)和程序計數器(PC)。在CPU的算術及邏輯部件中,包含的寄存器有累加器(ACC)。本次設計采用的74373M寄存器邏輯電路圖如圖2所示。圖2 74373M寄存器3.3計數器計數是一種最簡單基本的運算,計數器就是實現這種運算的邏輯電路,計數器在數字系統中主要是對脈沖個數進行計數,以實現測量、計數、和控制的功能,同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則由
19、一系列具有存儲信息功能的各類觸發器構成,這些觸發器有RS觸發器、T觸發器、D觸發器及JK觸發器等。計數器在數字系統中應用廣泛,如在電子計算機的控制器中對指令地址進行計數,以便順序取出下一條指令,在運算器中作乘法、除法運算時記下加法、減法次數,又如在數字儀器中對脈沖的計數等等。本次設計將兩個計數器組合成一個控制器,采用兩個D觸發器構成一個二位二進制計數器,寄存器邏輯電路圖連接如下圖3 所示,k為時鐘輸入端,Q1、Q2為兩位的二進制輸出。圖3 7474計數器3.4 微指令集電路圖設計微指令電路圖由一個74183四位全加器,12個74373M寄存器,一個7474計數器,4個控制加減法的異或門組成。b
20、0、b1、b2、b3為四位被減數由低到高的四個輸入端,a0、a1、a2、a3為減數的四個輸入端,s0、s1、s2、s3為四個輸出端。m為加減法控制端,分別與減數的四個輸入端進行異或操作并分別輸入到四個全加器的輸入端A,k為計數器的時鐘輸入端。 四位被減數輸入端的四個寄存器的存數據控制端G端連接到計數器的Q1輸出端,四位減數輸入端的四個寄存器的存數據控制端G和四位差的輸出端的四個寄存器的村數據控制端G串聯連接到計數器的Q2端口。寄存器的OEN端均接地。實現控制器CPU邏輯電路圖如圖4 所示。圖4 指令集電路圖3.5微指令集設計 本次實驗能實現簡單的四位二進制剪發算術運算 S=B + A,本次試驗
21、采用了一個三位微指令,如下表 2所示M Q0 Q1指令功能0 0 0取指周期0 0 1取數據Bx端到加法器0 1 0取數據Ax端到加法器并進行運算0 1 1輸出運算結果S 表2 三位微指令表3.6 CPU程序設計流程圖開始設計程序指令集設計取數,存數,算數加法畫出電路圖Maxplus進行仿真結束編譯建立工程圖5 CPU程序設計流程圖 4.程序實現4.1 仿真電路圖 按照系統分析中得到的指令集,在maxplus實驗軟件中新建指令系統,生成.gdf文件。在maxplus實驗軟件中新建.gdf文件,畫出電路圖,進行“Compiler”編譯,進行仿真操作如圖6所示。 圖6 對電路圖進行仿真4.2 仿真結果編譯過后進行仿真Simulator,設置m為持續高電平0,k端為時鐘信號clock。B、A端設置了三組四位二進制數據。(1) S=B+A=0001 + 0010=0011圖7 仿真結果(1)運算仿真結果如上圖7所示。(2)S=B+A=0001+0011 =0100運算仿真結果如下圖8所示。圖8 仿真結果(2)(3)S=B+A =0111+0110
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 營業收入核算試題及答案
- 考試題及答案2020樂理
- 育嬰師個體關懷考題及答案
- 物業管理綠化試題及答案
- 水利灌溉考試題及答案
- 做賬實操-碳關稅產品的申報流程
- 藥劑學綜合素養考查試題及答案
- 育嬰師如何開展親子活動的有效策略試題及答案
- 機體結構測試題及答案
- 系統規劃師考題及答案的專業學習途徑
- (四調)武漢市2025屆高中畢業生四月調研考試 物理試卷(含答案)
- 嬰幼兒舒適睡眠環境打造試題及答案
- 2025年育嬰師考試精神與試題及答案
- 2025年南陽科技職業學院單招綜合素質考試題庫及答案1套
- CACA小細胞肺癌診治指南(2025版)解讀
- 耳鼻喉安全教育
- 2025-2030中國鍺行業發展現狀及發展趨勢與投資風險研究報告
- 2025年福建省能源石化集團有限責任公司招聘筆試參考題庫含答案解析
- 浙江首考2025年1月普通高等學校招生全國統一考試 歷史 含解析
- 2025中國煤炭地質總局招聘784人筆試參考題庫附帶答案詳解
- 2024年勞務員考試題庫完美版
評論
0/150
提交評論