-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

8051軟核處理器設計實戰

( 簡體 字)
作者:李新兵 著類別:1. -> 電腦組織與體系結構 -> 單晶片 -> 8051
譯者:
出版社:機械工業出版社8051軟核處理器設計實戰 3dWoo書號: 41092
詢問書籍請說出此書號!

缺書
NT售價: 245

出版日:3/1/2015
頁數:184
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111489740
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

FPGA設計的發展如火如荼,但仍被嵌入式設計壓過一頭。具體原因有很多,究其主要原因,在于MCU的價格低廉、容易普及,而設計者又不用擔心設計的某些程序bug,反正MCU可以反復擦寫、存儲空間又充足,即使有了bug也決不會成為毀滅性的。實際上,FPGA也有這種反復擦寫的優勢,但它的單品價格不菲,因此,與MCU主打的嵌入式設計比起來,實在缺乏競爭力。

價格影響產品的普及。細察嵌入式開發者和FPGA開發者,就會發現嵌入式開發者膽氣沖天,一個人就能拿捏住整個系統,什么音樂、網絡,搞得風生水起,有聲有色。但此種現象在FPGA開發者身上極其罕見。大多數FPGA開發者都只是“方面大員”,在各自的領域內固然是見微知著,但一旦超出他的領域,那就四顧茫然了。

作者一直存在一個想法,那就是引嵌入式開發的“靈氣”入FPGA設計的“一團死水”中,激活FPGA開發者的豪氣,也讓FPGA設計能夠變得與嵌入式設計一樣有聲有色。存在這種想法的不僅是作者,而且還包括FPGA領域的“大鱷”——Xilinx。Xilinx公司聯合ARM公司推出帶有Cortex-A9硬核的FPGA,也就是想讓嵌入式設計與FPGA設計做到融合,互幫互助,從而實現設計的一體化。于是這種特殊類型的FPGA——ZYNQ系列成了Xilinx公司的主打宣傳產品。在相關技術論壇上,由于Xilinx不遺余力地大推特推,ZYNQ已經變得耳熟能詳了。但是,對于設計者而言,ZYNQ只是“看起來很美”。

至少對于個人開發者來說,能真正玩轉ZYNQ不僅需要開發者有高超的FPGA設計經驗,而且還要有能讓Cortex-A9正常運轉的嵌入式開發經驗。這對于普通開發者來說是一個了不起的挑戰。如果是一個團隊,甲負責FPGA設計,乙負責Cortex-A9開發,兩人通過溝通、合作、同心協力,或許能夠讓嵌入式和FPGA兩者互相補充,并發揮最大效能。但對于普通開發者來說,則絕無這種左、右手同時擔當兩方面工作的能力。因此,對于普通開發人員來說,在CPU方面,沒有必要采用那么高端的配置。

采用最普通的Verilog語言寫一個CPU軟核是不錯的主意。在這本書之前,作者曾編寫了《兼容ARM9的軟核處理器設計:基于FPGA》,讓眾位FPGA開發者能夠用到與ARM9功能相當的32位CPU處理器。但通過和幾位讀者溝通了解到:從FPGA設計上來理解軟核處理器的運作沒有問題,但32位處理器的嵌入式設計、使用開發工具生成程序并讓軟核處理器充分運作起來,這對于他們而言則太難了,因為這是個跨領域的課題。為了解決這個問題,作者產生了編寫本書的想法。

8051架構流傳久遠,對于嵌入式開發者來說,他們非常熟悉相關的工具和流程,但由于它的指令眾多、實現復雜,對于FPGA設計者來說,這是一個很好的挑戰課題。作者繼ARM9軟核處理器設計之后又推出8051架構的軟核處理器設計,這套系統相對于ARM9來說更加簡單,可以吸引更多FPGA的入門開發者,并使其通過學習軟核處理器設計(不僅學習設計技巧,而且最終能將所學知識用在今后的開發上)打通嵌入式開發和FPGA設計上的“任督二脈”。

本書首先對8051架構做了詳細介紹,并對它的各種器件做了取舍。8051畢竟是一種獨立運行的單片機,因此它包含了必要的定時器、串口等。但作為一個可以在不同環境下調用的8051軟核處理器,可讓使用者根據自己的需要對它添加元件。因此,簡單的定時器和串口并不需要包括在軟核處理器之中,使用者完全可以根據自己的需要來添加它們。

對于8051的111條指令,單個看起來每一條都很簡單,然而數目眾多,作者分類介紹它們用了不少篇幅,但運用Verilog設計技巧卻能在700行左右的代碼文件中詳盡表達它們。采用精簡的Verilog描述來描述復雜的系統是作者帶給讀者的設計藝術。通過了解這種設計藝術,讀者能夠加深對Verilog設計的領悟。因此,在講述完8051的架構后,作者對Verilog的基本知識也做了介紹,讓讀者在學習設計技巧之前,能夠先了解這些基本知識。

重點是如何采用Verilog語言來實現這111條指令,本書也對此做了介紹。軟核處理器作為吞吐指令的“裝置”,它對源源不斷的指令進行精確而迅速的解析。由于指令繁多,這對資源整合提出了挑戰,很多同行都在這個問題上束手無策。但其實處理這類問題的策略古人早就教給我們了。最通俗的比喻就是折筷子,若給你111根筷子,讓你一把折斷,這當然是比較費力的,但如果一根一根地折斷,那就容易多了。這個策略很多人都懂,但真要做起來,卻會走樣變形。問題是首先得把這111條指令變成如同每根筷子一樣的不同的“小麻煩”,而不是集合在一起,成為“大麻煩”。因此,在進行Verilog設計前,需奠定好軟核處理器主程序架構的基礎,如千手觀音,首先塑起無手的觀音,然后,一只一只地逐步添加上所有的手。本書在奠定基礎上有獨到之處,值得讀者借鑒。

在FPGA設計上有一個好的思維模式并不太難,難在堅持這個思維模式并使之完備成熟。為此,作者準備了與Keil這個流行的8051開發工具適配的測試代碼。這些代碼會針對每條指令進行測試,并在最后給出測試結果。讀者可以在作者的基礎上對程序大膽地添加自己的想法,并用這種軟件的測試程序進行檢驗。

目前,FPGA設計遠沒有達到藍海的沙灘,它的提升空間巨大,愿與讀者共勉,共同提升之。



編者

2014年10月
內容簡介:

深入淺出地介紹了基于8051的軟核處理器設計。它包括8051的架構模型、111條指令的功能作用及其對應的Verilog描述,以及如何用Verilog語言構建8051軟核處理器的主體程序并向其中添加8051的111條指令。本書全面詳細地介紹了8051軟核處理器的實現過程及其驗證方法,并借助大量形象的比喻幫助讀者理解。

全書共分為7章:第1章是8051架構的描述;第2章介紹8051的指令集;第3章介紹8051中斷與Keil開發工具;第4章介紹Verilog硬件描述語言基礎;第5章介紹如何使用Verilog語言進行設計;第6章介紹8051軟核處理器設計流程;第7章介紹8051軟核處理器的驗證與應用。

本書編寫目的是讓FPGA的設計者也能夠享受嵌入式開發的樂趣,讓嵌入式和FPGA設計巧妙地結合起來以實現開發者更加復雜的技術設計。同時,本書可作為FPGA、8051單片機、嵌入式等開發者的工程參考書,也可以作為8051軟核處理器開發者的指導用書。
目錄:

前言

第1章 8051架構描述 1

1.1 引言 1

1.2 8051處理器基本模型 3

1.3 8051的接口 4

1.4 8051架構的重要硬件和性能 7

1.5 8051的存儲器架構 8

1.6 8051的重要寄存器 11

1.7 結束語 13

第2章 8051的指令集 14

2.1 引言 14

2.2 8051指令集綜述 14

2.3 指令的尋址方式 16

2.4 指令的分類詳解 19

2.4.1 算術操作指令 21

2.4.2 邏輯操作指令 30

2.4.3 數據轉移指令 39

2.4.4 布爾變量操作指令 49

2.4.5 程序跳轉指令 56

2.5 指令執行對PSW的影響 63

2.6 結束語 65

第3章 8051中斷與Keil開發工具 66

3.1 引言 66

3.2 Keil軟件概覽 66

3.3 設計工程初探 68

3.4 Keil工程的配置與輸出 70

3.5 新建工程與調試 75

3.6 8051中斷與中斷程序編寫 81

3.7 結束語 85

第4章 Verilog硬件描述語言基礎 86

4.1 引言 86

4.2 簡單RTL設計 86

4.3 基本語法要素 88

4.4 數據類型 93

4.4.1 基本數值 93

4.4.2 數據類型:net 93

4.4.3 數據類型:variable 95

4.4.4 參數:parameter和localparam 95

4.5 表達式 96

4.5.1 操作數 96

4.5.2 操作符 97

4.6 賦值語句 100

4.6.1 連續賦值語句 101

4.6.2 過程賦值語句 102

4.6.3 過程連續賦值語句 108

4.7 塊語句 110

4.7.1 begin…end與fork…join語句 111

4.7.2 條件控制語句 111

4.7.3 case語句 112

4.7.4 循環語句 114

4.8 task和function語句 115

4.9 時間控制 117

4.10 層次化架構 119

4.11 結束語 121

第5章 如何使用Verilog語言進行設計 122

5.1 引言 122

5.2 Verilog RTL的基本格式 122

5.2.1 組合邏輯電路描述 123

5.2.2 時序邏輯電路描述 124

5.3?Verilog RTL 的描述方法 126

5.4 結束語 127

第6章 8051軟核處理器設計流程 128

6.1 引言 128

6.2 8051軟核處理器的接口信號 128

6.3 8051軟核處理器的基本架構 132

6.4 軟核處理器基本函數定義 134

6.5 軟核處理器主體程序解讀 138

6.6 算術操作指令的添加 156

6.7 邏輯操作指令的添加 162

6.8 數據轉移指令的添加 165

6.9 布爾變量操作指令的添加 170

6.10 程序跳轉指令的添加 173

6.11 結束語 177

第7章 8051軟核處理器的驗證與應用 178

7.1 引言 178

7.2 8051軟核處理器的驗證 178

7.3 8051軟核處理器的應用 183

7.4 結束語 185
序: