-- 會員 / 註冊 --
 帳號:
 密碼:
  | 註冊 | 忘記密碼
站長推薦
NT售價: 340
NT售價: 345
NT售價: 825
NT售價: 395
NT售價: 295

2/26(日)門市公休一天
2/27(一)~2/28(二) 連假門市營業時間從下午2點到晚上8點
2/22 新書到! 2/2 新書到! 1/17 新書到! 1/12 新書到!
C.G.Next購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUGRevit
PhotoShopCorelDrawIllustratorAutoCadMasterCamSolidWorksCreo
CC++Java遊戲程式Linux嵌入式PLCFPGAMatlabNuke
駭客資料庫Oracle搜索引擎影像處理FluentSPSSANSYSUnity
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
C#HadoopPythonstm32手機程式CortexLabviewAndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

勇敢的芯伴你玩轉Nios II

( 簡體 字)
作者:吳厚航類別:1. -> 電子工程 -> FPGA
譯者:
出版社:清華大學出版社勇敢的芯伴你玩轉Nios II 3dWoo書號: 44871
詢問書籍請說出此書號!

有庫存
NT售價: 225

出版日:8/1/2016
頁數:190
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302437840
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
作者序:

譯者序:

前言:




Foreword


前言


2015年底的智能硬件展上,和FPGA原廠的兩位大學計劃經理閑聊的當兒,被問及對于諸如Xilinx Microblaze與Altera Nios Ⅱ這樣的FPGA內嵌軟核處理器的看法時,筆者的第一反應便是“它的實用價值可能并不大,但是非常具有教學價值”。此話一出,大家也一定很好奇,且聽筆者娓娓道來。
筆者以為,軟核處理器哪怕是在今天的Zynq或SoC FPGA(內嵌多個硬核ARM CortexQA9處理器的FPGA器件)還未面世之時,它的實用性其實就一直頗具爭議。硬核處理器經過優化設計,已經流片成型,用戶拿到手以后,一般也無法再更改處理器本身的性能參數,其使用量通常也非常大,可靠性、穩定性都會做得很好; 而反觀FPGA中內嵌的軟核處理器,其本身就不是針對任何一個特定器件型號的FPGA定制的,而是FPGA器件的一個“通用”軟核,因此,它在FPGA器件上跑起來勢必在性能上也會大打折扣,與此對應的,其可靠性、穩定性恐怕也欠佳。當然,并不是說在FPGA器件上跑起來的軟核處理器就一定差強人意,筆者并沒有一棍子打死的意思,并不排除某些發燒級FPGA設計者能夠從時序設計和底層布局布線上將軟核處理器的性能發揮到極致的情況,只是一般比較來看,硬核處理器確實在性能、成本、可靠性等方面相對于軟核處理器都有更明顯的優勢。因此,放眼望去,很難找到有多少電子產品中用上了軟核處理器,但與此相反的是硬核處理器則無處不在。
話說回來,FPGA器件中內嵌的軟核處理器也并非一無是處,否則它就沒有存在的意義了,話說“存在即是合理”。一點不假,FPGA器件中的軟核處理器是可定制的,它的性能水平通常有多個可選項供設計者“編程”設定,并且其周邊的外設也可以完全“定制化”,從這點來看它比硬核處理器要靈活很多。某些特別需要這種“靈活定制”的場合通過軟核處理器還真是“門當戶對”了,只是要玩轉這樣一個靈活的嵌入式處理器系統也并非易事,它涉及純粹的軟、硬件設計以及FPGA等多方面的知識,一個能真正玩轉軟核處理器“靈活性”的FPGA設計者,一定對處理器及其外設架構了然于心。換句話說,如果大家都還記得當年大學里面那門純理論的“微機原理”課程,那么玩轉軟核處理器的過程就是“活生生”的實踐版“微機原理”課程的再現。
說到這,或許讀者有些明白了,沒有錯,之所以說FPGA器件的軟核處理器具有很高的教學價值,就是基于它的實踐過程中能夠幫助讀者對整個處理器的架構有更清楚的了解和認知。比如筆者在學習Nios Ⅱ處理器的過程中,需要將處理器的數據總線、指令總線和外設進行連接; 需要分配地址; 需要連接中斷; 需要自己編寫外設連接到總線上; 需要揣摩外設的尋址方式、讀和寫時序,甚至一些常見通信接口的時序……的確,掌握了這些東西,很大程度上就能幫助學習者對嵌入式系統的整個架構有了一個更全面的認知,這些體驗是傳統理論書本給不了的。除此以外,它也是很多正式產品開發調試過程中的好幫手,例如在很多產品的原型開發或測試驗證階段,恰巧需要一個簡單的CPU干點活,這時軟核處理器也就派上用場了。



以筆者自身的經歷來說,也正是通過軟核處理器的“磨練”,才對軟硬件的認知有了很大的提升,雖然這些年多從事偏于硬件設計方面的工作(包括一些FPGA設計工作),但是在很多的調試過程中,尤其是需要軟硬件協同調試的過程中,往往能夠快速地區分和定位問題是出于軟件還是硬件,甚至還能夠協助軟件工程師解決一些具體的問題。筆者以為,軟核處理器的教學意義在于,它能夠幫助學習者深入了解處理器系統設計的架構。而在如今的電子產品設計中,軟硬件分工越來越細,很難在實際的開發過程中跨越“鴻溝”,但是具備這樣系統性設計思維的工程師,必定是“人見人愛”的。
基于以上這些考量,筆者在第一本Nios Ⅱ圖書《愛上FPGA開發——特權和你一起學Nios Ⅱ》出版五年后(由于書中的平臺較舊,考慮到市場因素,第一次印刷售罄后就沒有復印),決定重新梳理這方面的知識,在Quartus Ⅱ的Qsys平臺上大干一場,同時借助Altera Cyclone Ⅳ FPGA入門平臺“勇敢的芯”,和大家一起重拾玩轉Nios Ⅱ嵌入式處理器的激情。

作者
2016年1月于上海

內容簡介:

本書使用Altera公司的Cyclone Ⅳ FPGA器件,由淺入深地引領讀者從嵌入式系統設計的大處著手,玩轉軟核處理器Nios Ⅱ。基于特定的FPGA實驗平臺,既有足夠的理論知識深度作支撐,也有豐富的例程進行實踐學習,并且穿插著筆者多年FPGA學習和開發過程中的各種經驗和技巧。
對于希望快速入手嵌入式系統軟硬件開發的初學者,以及希望從系統層面提升嵌入式開發能力的學習者,本書都是很好的選擇。
目錄:

Contents

目錄

第1章基于NiosⅡ處理器的嵌入式系統

1.1片上系統概述

1.2NiosⅡ的優勢在哪里

1.3基于NiosⅡ處理器的FPGA開發流程

第2章實驗平臺“勇敢的芯”板級電路詳解

2.1板級電路整體架構

2.2電源電路

2.3復位與時鐘電路

2.3.1關于FPGA器件的時鐘

2.3.2關于FPGA器件的復位

2.3.3實驗平臺電路解析

2.4FPGA下載配置電路

2.5SRAM接口電路

2.6ADC/DAC芯片電路

2.7UART接口電路

2.8RTC接口電路

2.94×4矩陣按鍵電路

2.10VGA顯示接口電路

2.11蜂鳴器、數碼管、流水燈、撥碼開關電路

2.12超聲波接口、外擴LCD接口電路

第3章Qsys系統創建

3.1Qsys系統概述

3.2Qsys總線互連

3.3QuartusⅡ工程創建

3.4進入Qsys系統

3.5Qsys界面簡介

3.6新建Qsys系統

3.7保存Qsys系統

3.8加載Qsys系統

勇敢的芯伴你玩轉NiosⅡ

第4章Qsys通用組件添加與互連

4.1時鐘組件添加與設置

4.2NiosⅡ處理器添加與設置

4.3RAM組件添加與配置

4.4NiosⅡ處理器復位向量與異常向量地址設置

4.5SystemID組件添加與配置

4.6JTAGUART組件添加與配置

4.7Timer組件添加與配置

4.8UART組件添加與配置

4.9蜂鳴器PIO組件添加與配置

4.10撥碼開關PIO組件添加與配置

第5章Qsys互連總線概述

5.1嵌入式系統的總線

5.2AvalonQMM總線

5.2.1AvalonQMM總線寫數據操作實例解析

5.2.2AvalonQMM總線讀數據操作實例解析

5.3AvalonQST總線

第6章Qsys自定義組件設計

6.1數碼管組件

6.1.1功能概述

6.1.2配置寄存器說明

6.1.3組件創建與配置

6.1.4組件添加與配置

6.1.5組件互連與引出

6.2ADC組件

6.2.1功能概述

6.2.2配置寄存器說明

6.2.3組件創建與配置

6.2.4組件添加與配置

6.2.5組件互連與引出

6.3DAC組件

6.3.1功能概述

6.3.2配置寄存器說明

6.3.3組件創建與配置

6.3.4組件添加與配置

6.3.5組件互連與引出

6.4超聲波測距組件

6.4.1功能概述

6.4.2配置寄存器說明

6.4.3組件創建與配置

6.4.4組件添加與配置

6.4.5組件互連與引出

6.5RTC組件

6.5.1功能概述

6.5.2配置寄存器說明

6.5.3組件創建與配置

6.5.4組件添加與配置

6.5.5組件互連與引出

6.6矩陣按鍵組件

6.6.1功能概述

6.6.2配置寄存器說明

6.6.3組件創建與配置

6.6.4組件添加與配置

6.6.5組件互連與引出

第7章Qsys系統生成

7.1中斷連接

7.2地址分配

7.3系統生成

7.4Qsys系統例化模板

第8章QuartusⅡ工程設計實現

8.1Verilog頂層文件設計

8.2語法檢查

8.3引腳分配

8.4系統編譯

第9章軟件開發工具EDS

9.1EDS軟件開啟

9.2BSP工程創建

9.3開啟BSPEditor

9.4BSPEditor設置

9.5BSP工程編譯

9.6工程創建

9.7C代碼源文件創建

9.8軟件應用工程編譯

9.9移除當前工程

9.10加載工程

9.11移植工程

第10章軟件實驗例程

10.1NiosⅡ實例之HelloNIOSII

10.1.1軟件功能概述

10.1.2軟件代碼解析

10.1.3板級調試

10.2NiosⅡ實例之SystemID與Timestamp

10.2.1軟件功能概述

10.2.2軟件代碼解析

10.2.3板級調試

10.3NiosⅡ實例之蜂鳴器定時鳴叫

10.3.1軟件功能概述

10.3.2軟件代碼解析

10.3.3板級調試

10.4NiosⅡ實例之撥碼開關輸入GIO控制

10.4.1軟件功能概述

10.4.2軟件代碼解析

10.4.3板級調試

10.5NiosⅡ實例之秒定時數碼管顯示

10.5.1軟件功能概述

10.5.2軟件代碼解析

10.5.3板級調試

10.6NiosⅡ實例之DAC遞增輸出

10.6.1軟件功能概述

10.6.2軟件代碼解析

10.6.3板級調試

10.7NiosⅡ實例之ADC采集打印

10.7.1軟件功能概述

10.7.2軟件代碼解析

10.7.3板級調試

10.8NiosⅡ實例之UART收發

10.8.1軟件功能概述

10.8.2軟件代碼解析

10.8.3板級調試

10.9NiosⅡ實例之RTCQUART時間打印

10.9.1軟件功能概述

10.9.2軟件代碼解析

10.9.3板級調試

10.10NiosⅡ實例之RTCQUART時間重置

10.10.1軟件功能概述

10.10.2軟件代碼解析

10.10.3板級調試

10.11NiosⅡ實例之超聲波測距

10.11.1軟件功能概述

10.11.2軟件代碼解析

10.11.3板級調試

10.12NiosⅡ實例之倒車雷達

10.12.1軟件功能概述

10.12.2軟件代碼解析

10.12.3板級調試

10.13NiosⅡ實例之矩陣按鍵值采集

10.13.1軟件功能概述

10.13.2軟件代碼解析

10.13.3板級調試

10.14NiosⅡ實例之矩陣按鍵可調的ADC/DAC實例

10.14.1軟件功能概述

10.14.2軟件代碼解析

10.14.3板級調試

10.15NiosⅡ實例之計算器

10.15.1軟件功能概述

10.15.2軟件代碼解析

10.15.3板級調試

第11章FPGA器件的代碼固化

11.1嵌入式軟件HEX文件生成

11.2程序存儲器初始化文件加載

11.3JIC燒錄文件生成

11.4JTAG燒錄配置

序: