嘟嘟資源網-自制CUP入門(PDF版)

目錄 :

第1章 CPU的設計與實現 1
1.1 序 ………………………………………………………………………………………………..2
1.2 計算機系統……………………………………………………………………………………4
1.2.1 什麽是計算機………………………………………………………………………………………….4
1.2.2 什麽是CPU……………………………………………………………………………………………..5
專欄 CPU的位寬……………………………………………………………………………………………..8
1.2.3 什麽是内存……………………………………………………………………………………………..8
1.2.4 什麽是I/O……………………………………………………………………………………………….9
專欄 字節序………………………………………………………………………………………………….10
1.2.5 什麽是總線……………………………………………………………………………………………12
專欄 總線的優缺點………………………………………………………………………………………..14
1.2.6 小結 …………………………………………………………………………………………………….14
專欄 計算機相關書籍 …………………………………………………………………………………….14
1.3 數字電路基礎 ………………………………………………………………………………15
1.3.1 什麽是數字電路 …………………………………………………………………………………….15
1.3.2 數值表達 ………………………………………………………………………………………………15
1.3.3 有符号二進制數 …………………………………………………………………………………….16
專欄 比特和字節……………………………………………………………………………………………17
專欄 1K字節有多大 ……………………………………………………………………………………….17
1.3.4 MOSFET的結構 …………………………………………………………………………………….17
1.3.5 邏輯運算 ………………………………………………………………………………………………19
1.3.6 CMOS基本邏輯門電路……………………………………………………………………………20
1.3.7 存儲元件 ………………………………………………………………………………………………21
專欄 建立時間與保持時間 ………………………………………………………………………………24
1.3.8 組合電路和時序電路 ………………………………………………………………………………25
1.3.9 時鍾同步設計………………………………………………………………………………………..25
1.3.10 小結 …………………………………………………………………………………………………….25
專欄 數字電路相關書籍………………………………………………………………………………….25
1.4 Verilog HDL語言 ………………………………………………………………………….26
1.4.1 什麽是Verilog HDL…………………………………………………………………………………26
1.4.2 電路描述 ………………………………………………………………………………………………27
專欄 默認網絡類型………………………………………………………………………………………..32
專欄 組合電路描述中鎖存器的推定與Don’t care……………………………………………….37
專欄 正邏輯與負邏輯 …………………………………………………………………………………….42
1.4.3 電路仿真 ………………………………………………………………………………………………43
專欄 同步電路中信号變化的時序 …………………………………………………………………….45
1.4.4 Verilog HDL的仿真環境…………………………………………………………………………..50
1.4.5 小結 …………………………………………………………………………………………………….56
專欄 Verilog HDL相關書籍……………………………………………………………………………..56
1.5 系統藍圖……………………………………………………………………………………..57
1.5.1 目标系統整體介紹………………………………………………………………………………….57
1.5.2 關于本章中的代碼………………………………………………………………………………….58
專欄 字編址與字節位移………………………………………………………………………………….62
1.6 總線的設計與實現………………………………………………………………………..63
1.6.1 總線的設計……………………………………………………………………………………………63
1.6.2 總線的實現……………………………………………………………………………………………66
1.6.3 小結 …………………………………………………………………………………………………….78
1.7 存儲器的設計與實現 …………………………………………………………………….79
1.7.1 FPGA的RAM區域…………………………………………………………………………………..79
1.7.2 ROM的設計與實現 ………………………………………………………………………………..81
1.7.3 小結 …………………………………………………………………………………………………….83
專欄 存儲器相關書籍 …………………………………………………………………………………….83

1.8 AZ Processor的設計與實現……………………………………………………………84
1.8.1 關于CPU ………………………………………………………………………………………………84
專欄 CPI和MIPS值………………………………………………………………………………………..93
1.8.2 AZ Processor的設計 ………………………………………………………………………………93
專欄 指令集架構與微架構 …………………………………………………………………………….105
1.8.3 AZ Processor的實現 …………………………………………………………………………….106
1.8.4 小結 …………………………………………………………………………………………………..159
專欄 計算機架構相關書籍 …………………………………………………………………………….159
1.9 I/O的設計與實現 ………………………………………………………………………..162
1.9.1 定時器………………………………………………………………………………………………..162
1.9.2 UART …………………………………………………………………………………………………167
專欄 UART實例…………………………………………………………………………………………..168
1.9.3 GPIO ………………………………………………………………………………………………….181
1.9.4 小結 …………………………………………………………………………………………………..188
專欄 I/O相關書籍 ………………………………………………………………………………………..188
1.10 AZPR SoC整體連接………………………………………………………………….189
1.10.1 各模塊的連接………………………………………………………………………………………189
1.10.2 時鍾模塊的實現 …………………………………………………………………………………..191
1.10.3 頂層模塊的實現 …………………………………………………………………………………..193
1.10.4 小結 …………………………………………………………………………………………………..193
1.11 AZPR SoC的仿真……………………………………………………………………..194
1.11.1 仿真模型的編寫 …………………………………………………………………………………..194
1.11.2 Testbench的編寫…………………………………………………………………………………197
1.11.3 執行仿真 …………………………………………………………………………………………….200
1.11.4 小結 …………………………………………………………………………………………………..201
1.12 本章總結………………………………………………………………………………….202

第2章 電路闆的設計與制作 203
2.1 序 …………………………………………………………………………………………….204
2.2 電路闆規格………………………………………………………………………………..206
2.2.1 電路闆名稱………………………………………………………………………………………….206
2.2.2 電路闆的構成………………………………………………………………………………………206
2.2.3 電路闆尺寸………………………………………………………………………………………….206
2.2.4 電路闆層數………………………………………………………………………………………….207
2.2.5 FPGA選型 …………………………………………………………………………………………..207
2.2.6 外圍電路的選定 …………………………………………………………………………………..208
專欄 關于FPGA …………………………………………………………………………………………..209
專欄 關于JTAG……………………………………………………………………………………………211
2.3 元件選型……………………………………………………………………………………212
2.3.1 元件選型标準………………………………………………………………………………………212
2.3.2 元件選型 …………………………………………………………………………………………….212
2.3.3 元件的選購………………………………………………………………………………………….218
2.4 電路設計……………………………………………………………………………………221
2.4.1 下載規格書………………………………………………………………………………………….222
2.4.2 配置電路 …………………………………………………………………………………………….223
2.4.3 外圍電路 …………………………………………………………………………………………….228
2.4.4 電源電路 …………………………………………………………………………………………….232
2.4.5 電路闆設計環境 …………………………………………………………………………………..234
2.4.6 使用Eagle設計電路圖……………………………………………………………………………236
專欄 關于ULP……………………………………………………………………………………………..241
專欄 Eagle使用方法相關的書籍/說明書…………………………………………………………..241
2.4.7 完成的電路圖………………………………………………………………………………………241
2.5 布局設計……………………………………………………………………………………247
2.5.1 電路闆設計約束條件及布線策略 …………………………………………………………….247
2.5.2 FPGA闆的布局設計………………………………………………………………………………248

2.5.3 電源闆的布局設計………………………………………………………………………………..252
2.5.4 使用Eagle布局 …………………………………………………………………………………….254
2.5.5 完成的布局………………………………………………………………………………………….259
2.6 制作元件庫………………………………………………………………………………..261
2.6.1 制作Symbol ………………………………………………………………………………………..261
2.6.2 制作Package ……………………………………………………………………………………….263
2.6.3 制作Device …………………………………………………………………………………………264
2.7 電路闆3D模型 ……………………………………………………………………………269
2.7.1 軟件使用說明………………………………………………………………………………………269
2.7.2 準備3D模型庫……………………………………………………………………………………..271
專欄 關于3D模型庫的管理 ……………………………………………………………………………278
2.7.3 制作電路闆模型 …………………………………………………………………………………..279
2.8 制作感光闆電路闆………………………………………………………………………280
2.8.1 整體流程 …………………………………………………………………………………………….280
2.8.2 制作光罩 …………………………………………………………………………………………….282
2.8.3 粘合光罩 …………………………………………………………………………………………….284
2.8.4 曝光 …………………………………………………………………………………………………..285
2.8.5 顯像 …………………………………………………………………………………………………..288
2.8.6 蝕刻 …………………………………………………………………………………………………..289
2.8.7 阻焊劑………………………………………………………………………………………………..291
2.8.8 開孔 …………………………………………………………………………………………………..296
2.8.9 在背面安裝VPort接頭時的處理 ………………………………………………………………298
2.8.10 制作通孔 …………………………………………………………………………………………….299
2.8.11 飛線 …………………………………………………………………………………………………..300
2.9 使用電路闆制造服務 …………………………………………………………………..302
2.9.1 電路闆制造服務 …………………………………………………………………………………..302
2.9.2 DRC …………………………………………………………………………………………………..302
2.9.3 輸出Gerber數據 …………………………………………………………………………………..305
2.9.4 檢查Gerber數據 …………………………………………………………………………………..306
專欄 執行DFM檢查的方法 ……………………………………………………………………………309

專欄 阻焊層遮罩的印刷設置………………………………………………………………………….312
2.9.5 向P闆.com公司下單制闆……………………………………………………………………….312
專欄 拼闆數據的準備 …………………………………………………………………………………..314
2.9.6 向OLIMEX公司下單制闆……………………………………………………………………….318
2.10 組裝電路闆………………………………………………………………………………321
2.10.1 電源闆………………………………………………………………………………………………..321
2.10.2 組裝FPGA闆………………………………………………………………………………………..321
2.11 功能測試………………………………………………………………………………….323
2.11.1 識别FPGA …………………………………………………………………………………………..323
2.11.2 診斷程序 …………………………………………………………………………………………….323
2.12 本章總結………………………………………………………………………………….326
第3章 編程 327
3.1 序 …………………………………………………………………………………………….328
3.2 開發環境……………………………………………………………………………………329
3.2.1 準備工作 …………………………………………………………………………………………….329
3.2.2 FPGA開發環境…………………………………………………………………………………….330
3.2.3 ISE WebPACK……………………………………………………………………………………..331
3.2.4 UrJTAG ………………………………………………………………………………………………359
專欄 cblsrv-0.1_ft2232…………………………………………………………………………………370
3.2.5 交叉彙編程序………………………………………………………………………………………370
3.2.6 第一個程序………………………………………………………………………………………….376
3.3 串口通信……………………………………………………………………………………381
3.3.1 安裝Tera Term …………………………………………………………………………………….381
3.3.2 編寫程序 …………………………………………………………………………………………….382
專欄 子程序………………………………………………………………………………………………..388
專欄 ASCII碼………………………………………………………………………………………………389

3.3.3 執行程序 …………………………………………………………………………………………….390
3.4 程序加載器………………………………………………………………………………..391
3.4.1 XMODEM協議…………………………………………………………………………………….391
3.4.2 編寫程序 …………………………………………………………………………………………….393
3.4.3 編寫加載測試程序………………………………………………………………………………..402
3.4.4 執行程序 …………………………………………………………………………………………….403
3.5 中斷與異常………………………………………………………………………………..406
3.5.1 什麽是中斷………………………………………………………………………………………….406
3.5.2 編寫程序 …………………………………………………………………………………………….410
3.5.3 執行程序 …………………………………………………………………………………………….414
3.5.4 什麽是異常………………………………………………………………………………………….415
3.5.5 編寫程序 …………………………………………………………………………………………….415
3.5.6 執行程序 …………………………………………………………………………………………….419
3.6 七段數碼管………………………………………………………………………………..420
3.6.1 什麽是七段數碼管………………………………………………………………………………..420
3.6.2 七段數碼管的控制………………………………………………………………………………..420
3.6.3 七段數碼管計數器概要………………………………………………………………………….422
3.6.4 編寫程序 …………………………………………………………………………………………….423
3.6.5 執行程序 …………………………………………………………………………………………….428
3.7 制作一個實用程序………………………………………………………………………429
3.7.1 功能概要 …………………………………………………………………………………………….429
3.7.2 制作程序 …………………………………………………………………………………………….433
3.7.3 執行程序 …………………………………………………………………………………………….446
3.8 結語………………………………………………………………………………………….447
謝辭 …………………………………………………………………………………………………448
後記 …………………………………………………………………………………………………449
版權聲明…………………………………………………………………………………………..450

本章将實現一台簡單的計算機系統的 SoC(System-on-a-Chip,片上系統)。它以
CPU 爲核心,同時實現了負責存儲程序和數據的内存、負責和外部進行輸入輸出的 I/O
以及它們之間的連接總線。SoC 是将一整套系統集成到單一芯片的集成電路設計方法。
開 發 之 前, 我 們 先 來 确 定 CPU 的 名 字。 我 們 爲 這 次 開 發 的 CPU 取 名 爲 AZ
Processor,因爲本書旨在從頭到尾親自動手設計和實現一台計算機,這幾個英文字母就
含有從 A 到 Z 全部親手制作的意思。然後,AZ Processor、内存、各種 I/O 通過總線連
接形成的 SoC,我們稱之爲 AZPR SoC(AZ Processor 片上系統)。圖 1-1 爲 AZPR SoC
的概要。

圖 1-2 列出了本章的結構。1.2 節 ~1.4 節分别簡單介紹計算機系統、數字電路基礎
和 Verilog HDL 語言。這 3 節的内容是制作 AZPR SoC 需要掌握的最基礎的知識。已經
掌握這些知識和設計經驗的讀者,可以跳過此部分。
1.5 節 ~1.10 節是本章主要的設計和實現部分。1.5 節将對 AZPR SoC 進行說明。1.6
節 ~1.9 節将分别對總線、内存、CPU 和 I/O 的設計和實現進行說明。1.10 節将各個模塊連接,完成 AZPR SoC 的制作。1.11 節介紹 AZPR SoC 的仿真。最後的 1.12 節對本章
進行總結。

資源下載
下載價格3 龍紋銀币
終身VIP免費
此資源購買後30天内可下載。

原文鏈接:https://duduziy.com/301.html,轉載請注明出處。 鄭重聲明: 本站所有内容僅供大家參考、學習,不存在任何商業目的與商業用途。 若您需要商業運營或用于其他商業活動,請您購買正版授權并合法使用。 我們不承擔任何技術及版權問題,且不對任何資源負法律責任。 如遇到資源無法下載,請點擊這裏失效報錯。失效報錯提交後記得查看你的留言信息,24小時之内反饋信息。 如有侵犯您的版權,請給我們私信,我們會盡快處理,并誠懇的向你道歉!

0

評論0

顯示驗證碼
沒有賬号?注冊  忘記密碼?