TOP
0
0
三民出版.新書搶先報|最速、最優惠的新鮮貨報給你知!
EDA技術實用教程VerilogHDL版(第5版)(簡體書)
滿額折

EDA技術實用教程VerilogHDL版(第5版)(簡體書)

商品資訊

人民幣定價:42 元
定價
:NT$ 252 元
優惠價
87219
絕版無法訂購
商品簡介
名人/編輯推薦
目次
書摘/試閱
相關商品

商品簡介

本書根據課堂教學和實驗操作的要求,以提高實際工程設計能力為目的,深入淺出地對EDA技術、Verilog HDL硬件描述語言、FPGA開發應用及相關知識做了系統和完整的介紹,使讀者通過本書的學習并完成推薦的實驗,能初步了解和掌握EDA的基本內容及實用技術。
本書包括EDA的基本知識、常用EDA工具的使用方法和目標器件的結構原理、以向導形式和實例為主的方法介紹的多種不同的設計輸入方法、對Verilog的設計優化以及基于EDA技術的典型設計項目。各章都安排了習題或針對性較強的實驗與設計。書中列舉的大部分Verilog設計實例和實驗示例實現的EDA工具平臺是Quartus II,硬件平臺是Cyclone III系列FPGA,并在EDA實驗系統上通過了硬件測試。
本書可作為高等院校電子工程、通信、工業自動化、計算機應用技術、電子對抗、儀器儀表、數字信號或圖像處理等學科的本科生或研究生的電子設計、EDA技術課程和Verilog HDL硬件描述語言的教材及實驗指導書,同時也可作為相關專業技術人員的自學參考書。

名人/編輯推薦

《"十二五"普通高等教育本科國家級規劃教材:EDA技術實用教程(Verilog HDL版)(第5版)》可作為高等院校電子工程、通信、工業自動化、計算機應用技術、電子對抗、儀器儀表、數字信號或圖像處理等學科的本科生或研究生的電子設計、EDA技術課程和VerilogHDL硬件描述語言的教材及實驗指導書,同時也可作為相關專業技術人員的自學參考書。

在現代電子設計領域,Verilog HDL作為IEEE標準的兩大主流HDL之一,相比于VHDL,具有易學易用和享有ASIC設計領域的主導地位等諸多優勢,在全球范圍內其用戶覆蓋率一直處于上升趨勢;統計資料表明Verilog HDL現已超過80%的行業覆蓋率,例如美國使用Verilog HDL的工程師占HDL設計行業工程師的90%以上,并仍有上升趨勢。由此勢必導致我國Verilog HDL工程師和相關就業領域人才需求的不斷增加。本書以Verilog HDL作為基本硬件描述語言來介紹EDA技術。作為教科書,與科學出版社出版的《EDA技術實用教程——VHDL版》構成了姐妹篇。
為了適應EDA技術在高新技術行業就業中的需求和高校教學的要求,突出EDA技術的實用性,以及面向工程實際的特點和自主創新能力的培養,作者力圖將EDA技術最新的發展成果、現代電子設計最前沿的理論和技術、國際業界普遍接受和認可的EDA軟硬件開發平臺的實用方法,通過本書合理的綜合和萃取,奉獻給廣大讀者。
隨著EDA技術的發展和應用領域的擴大,EDA技術在電子信息、通信、自動控制及計算機應用等領域的重要性日益突出。同時隨著技術市場與人才市場對EDA技術需求的不斷提高,產品的市場效率和技術要求也必然會反映到教學和科研領域中來。以最近幾屆全國大學生電子設計競賽為例,涉及EDA技術的賽題從未缺席過。對諸如斯坦福大學、麻省理工學院等美國一些著名院校的電子與計算機實驗室建設情況的調研也表明,其EDA技術的教學與實踐的內容也十分密集,在其本科和研究生教學中有兩個明顯的特點:其一,各專業中EDA教學實驗課程的普及率和滲透率極高;其二,幾乎所有實驗項目都部分或全部地融入了EDA技術,其中包括數字電路、計算機組成與設計、計算機接口技術、數字通信技術、嵌入式系統、DSP等實驗內容,并且更多地注重創新性實驗。這顯然是科技發展和市場需求雙重影響下自然產生的結果。
基于工程領域中的EDA技術應用的巨大實用價值,以及重視EDA教學中實踐能力和創新意識培養的極端重要性,我們對本書各章節做了相應的安排,其特點有以下三個。
1. 注重實踐和創新能力的培養
除在各章中安排了許多習題外,絕大部分章節還安排了針對性較強的實驗與設計項目,使學生對每一章的課堂教學內容和教學效果能及時通過實驗得以消化和強化,并盡可能地從學習一開始就有機會將理論知識與實踐、自主設計緊密聯系起來。
全書包含數十個實驗及其相關的設計項目,這些項目涉及的技術領域寬,知識涉獵密集、針對性強,而且自主創新意識的啟示性好。與本書的示例一樣,所有的實驗項目都通過了EDA工具的仿真測試并通過FPGA平臺的硬件驗證。每一個實驗項目除給出詳細的實驗目的、實驗原理和實驗報告要求外,都含2~5個子項目或子任務。它們通常分為:第一(層次)實驗任務是與該章某個闡述內容相關的驗證性實驗,通常提供詳細的并被驗證的設計源程序和實驗方法,學生只需將提供的設計程序輸入計算機,并按要求進行編譯仿真,在實驗系統上實現即可,使學生有一個初步的感性認識,這也提高了實驗的效率;第二(層次)實驗任務是要求在上一實驗基礎上做一些改進和發揮;第三個層次的實驗通常是提出自主設計的要求和任務;第四、第五個實驗層次則在僅給出一些提示的情況下提出自主創新性設計的要求。因此,教師可以根據學時數、教學實驗的要求以及不同的學生對象,布置不同層次、含不同任務的實驗項目。
此外,在第五版增加的諸多內容中,第11章的內容進一步強化了本教材注重實踐和創新能力培養的特色。目前北美許多著名高校,如斯坦福大學、麻省理工學院、多倫多大學等高校的電子信息與工程專業中,都將CPU的組成及設計作為EDA技術課程、硬件描述語言課程或數字系統設計課程中必不可少的教學內容和自主實踐項目。而第11章的內容很好地體現了EDA技術教學的課程要求和發展趨勢。
2. 高效的教學模式成就速成
一般認為EDA技術的難點和學習費時的根源在于硬件描述語言。對此,全書做了有針對性的安排:根據專業特點,摒棄傳統的計算機語言的教學模式,打破目前HDL教材通行的編排形式,而以電子線路設計為基點,從實例的介紹中引出Verilog語句語法內容。同時為了盡快進入EDA技術的實踐階段,熟悉EDA開發工具及其相關軟硬件的使用方法,及時安排了大量有針對性的實驗項目,以便讀者能盡早進入數字系統工程設計經驗的積累和能力提高階段,并能通過這些面向實際的實踐和實驗活動,快速深化對硬件描述語言的理解和掌握對應的設計技巧。
本書通過一些簡單而典型的Verilog HDL設計示例和電路模型,從具體電路和實用背景下引出相關的Verilog HDL語言現象和語句規則,并加以深入淺出的說明,使得讀者僅通過前期一些內容的學習便能迅速了解并掌握Verilog HDL描述與邏輯電路間的基本關系,從而極大地降低了HDL的學習難度,大幅提高了學習效率,快速實現了學以致用的目的。我們過去多年的實踐已證明這是一種高效學習硬件描述語言和EDA技術的好方法。這種學習流程也是目前國外流行的基于情景和工作過程的教學和學習模式,是一種自頂向下的新的學習模式。
3. 注重教學選材的靈活性和完整性相結合
本書的結構特點決定了授課課時數可十分靈活,即可長可短,視具體的專業特點、課程定位及學習者的前期教育力度等因素而定,在20~50學時之間選擇。由于本書的特色和定位,加之EDA技術課程的特質,具體教學可以是粗放型的,其中多數內容,包括實踐項目可直接放手于學生,更多地讓他們自己去查閱資料、提出問題、解決問題,乃至創新與創造;而授課教師,甚至實驗教師只需做一個啟蒙者、引導者、鼓勵者和學生成果的檢驗者和評判者。授課的過程多數只需點到為止,大可不必拘泥細節,面面俱到。但有一個原則,即實驗學時數應多多益善。事實上,現在任何一門課程的學時數總是有限的,為了有效倍增學生的實踐和自主設計的時間,可以借鑒清華大學的一項教改措施,即其電子系本科生從一入學就人手獲得一塊FPGA實驗開發板,可從本科一年級一直用到研究生畢業。這是因為EDA技術本身就是一個可把全部實驗和設計帶回家的課程。我校對于這門課也基本采用了這一措施:每個上EDA課的學生都可借出一套EDA實驗板,使他們能利用自己的計算機在課余時間完成自主設計項目,強化學習效果。實踐表明,這種安排使得實驗課時得到有效延長,教學成效非常明顯。
本書的定位目標是,基于全書給出的完整的知識結構,注重實踐第一的觀念,強化創新意識的培養,通過課堂合理的教學安排,結合學生明晰的求知覺悟和踏實的實踐精神,為了即將離開學校面向招聘者、面向研究生導師、面向社會、面向未來的學生能多一份自信、多一點信心和多一線希望。因此我們建議應該積極鼓勵學生利用課余時間盡可能學完本書的全部內容,掌握本書介紹的所有EDA工具軟件和相關開發手段,并盡可能多地完成本書配置的實驗和設計任務。
還有一個問題有必要在此探討,就是在前面曾提到的,本書的定位之說。事實上,自主創新能力的提高絕非一朝一夕之事。多年的教學實踐告訴我們,針對這一命題的教改必須從兩方面入手,一是教學內容,二是設課時間;兩者互為聯系,不可偏廢。
前者主要指建立一個內在相關性好、設課時間靈活,且易于將創新能力培養寓于知識傳播之中的課程體系。
后者主要指在課程安排的時段上,將這一體系的課程盡可能地提前。這一舉措是成功的關鍵,因為我們不可能想象到了本科三、四年級才去關注能力培養會有奇跡發生,更不可能指望一兩門課程就能解決問題。尤其是以卓越工程師為培養目標的工科高等教育,自主創新能力的培養本身就是一項教學雙方必須投入密集實踐和探索的創新活動。
我校的EDA技術國家級精品課程正是針對這一教改目標建立的課程體系,而“數字電子技術基礎”是這一體系的組成部分和先導課程。它的提前設課是整個課程體系提前的必要條件。通過數年的試點性教學實踐和經驗總結,現已成功在部分本科學生中將此課程的設課時間從原來的第4或第5學期提前到了第1或第2學期。而這一體系的其他相關課程,如EDA技術、單片機、SOC片上系統、計算機接口、嵌入式系統和DSP等也相應提前,從而使學生到二年級時就具備了培養工程實踐和自主開發能力的條件。
不可否認,數字電路課程的大幅提前必須要以改革其教學內容為前提,否則將傳統的教學內容強行提前必將歸于失敗。為此,在總結了數字電路多年教改成果的基礎上,我們推出了適應新需求的教材,即科學出版社出版的《數字電子技術基礎》一書,很好地滿足了當前的教改要求。此書創新性地解決了傳統教材中的手工數字技術與現代自動化數字技術間的關系,使兩者能平穩過渡,且有機融合,在有效促進理論與實踐緊密結合的同時,強化實踐訓練,突顯了創新意識啟蒙的良好效果,同時實現了與后續課程的良好銜接。盡管這一切尚處于我校的局部教學實踐中,但已清晰地展示了諸多頗具說服力的證明。例如相比于其他同類情況(如同年級,同專業,同授業課程等),那些曾經參加這一課程體系的學生在大學生電子設計競賽、飛思卡爾車模大賽,以及一些國外企業主導的自主設計賽事中,都獲得了更多的獎項和更好的成績。而且這些學生的獲獎比例逐年提高,例如我校在2011年全國大學生電子設計競賽獲一、二等獎項(分別是3個和6個)的學生中,本科二年級學生的比例高達80%(這年我校多數三年級學生選擇考研復習,未參賽)。若按傳統的工科本科教學流程,二年級就有能力獲全國一等獎是不可想象的事!
其實,類似的教改活動和教改成績,我校遠非唯一。國內早有不少院校將數字電路放在第1或第2學期,其實踐訓練的內容包括超過數萬至數十萬邏輯門規模的數字系統自主設計訓練,不少受益的學生在各類電子設計競賽中也都獲得了好成績。前面提到的清華大學的教改活動也說明,他們至少有部分學生于本科一年級就有數字系統設計方面的訓練;后來的調研也證明了這一點,如該校計算機專業本科二年級學生就能自主設計出各種極具創新特色的數字系統,如語音處理及數字立體聲播放、硬件超級瑪麗游戲顯示與控制系統等;又如東南大學在一次省級數字電路課程(尚未學EDA)電子設計競賽中,有一組同學完成了指紋識別數字鎖的設計而獲一等獎;再如美國密歇根大學本科一年級學生就能設計數字電子琴這樣的復雜系統,其中包括用FPGA控制VGA顯示五線譜,PS2鍵盤作為琴鍵及數字立體聲音樂播放等。
有兩個問題必須在此說明,第一個問題是關于本書對于Quartus II版本選擇的問題。盡管目前Altera公司早已頒布了Quartus II 12.0,但本書中的示例說明仍然選擇Quartus II 9.x。這是因為Altera公司已將Quartus II 10.0及此后版本的軟件中曾經一貫內置的門級波形仿真器移除了,并推薦使用接口于Quartus II的ModelSim-Altera仿真器。然而這一舉措對于初學者并不是好消息。因為必須承認,Quartus II 9.x及之前版本軟件中一直內置的波形仿真器的易學、高效和便捷的巨大優勢,對于EDA教學和初學者的學習是十分重要的。況且Quartus II 9.x與Quartus II 12.0相比,總體上變化不大,而且本書在第14章中針對Test Bench仿真,重點介紹了ModelSim-Altera的使用方法。
第二個問題是針對本書中的實驗和實踐項目所能提供的演示示例源設計文件的問題。本書中多數實驗能夠提供經硬件驗證調試好的演示示例源設計文件,目的是為讀者能順利完成實驗驗證和設計;有的示例的目的是希望能啟發或引導讀者完成更有創意的設計,其中一些示例盡管看上去頗有創意,但都不能說是最佳或最終結果,這給讀者留有許多改進和發揮的余地。此外還有少數示例無法提供源代碼(只能提供演示文件),這是考慮到本書作者以外的設計者的著作權,但這些示例仍能給讀者在設計的可行性、創意和創新方面以寶貴的啟示。
為了本書的順利出版,杭州康芯電子有限公司的高級工程師姜兆剛先生在IP核的應用、實驗設計項目的驗證和各種EDA軟件工具的安裝調試等方面完成了大量的和無可替代的工作,在此表示誠摯的謝意!
為了盡可能降低成本和售價,本書未配置光盤。與本書相關的資料,包括配套課件、實驗示例源程序資料、相關設計項目的參考資料和附錄中提到的mif文件編輯生成軟件等文件資料都可免費索取,此外,對于一些與本書相關的工具軟件,包括Quartus II、Synplify Pro、ModelSim-Altera和DSP-Builder/MATLAB等EDA軟件的安裝使用問題的咨詢都可瀏覽網址www.kx-soc.com,或與作者探討(pmr123@sina.cn)。所有這些(主要是教學課件)也可直接與科學出版社聯系(www.abook.cn)。
本書第一、二作者是杭州電子科技大學教師,第三作者是桂林電子科技大學教師。
現代電子設計技術是發展的,相應的教學內容和教學方法也應不斷地改進,還有許多問題值得深入探討,我們真誠地歡迎讀者對書中的錯誤與有失偏頗之處給予批評指正。

作 者
2013年5月
于杭州電子科技大學

目次

第1章EDA技術概述1
1.1EDA技術及其發展1
1.2EDA技術實現目標3
1.3 硬件描述語言VerilogHDL4
1.4 其他常用HDL5
1.5HDL綜合6
1.6自頂向下的設計技術8
1.7EDA技術的優勢11
1.8EDA設計流程12
1.8.1設計輸入(原理圖/HDL文本編輯)13
1.8.2綜合14
1.8.3適配15
1.8.4時序仿真與功能仿真15
1.8.5編程下載15
1.8.6硬件測試16
1.9 ASIC及其設計流程16
1.9.1ASIC設計簡介16
1.9.2ASIC設計一般流程簡述18
1.10常用EDA工具19
1.10.1設計輸入編輯器19
1.10.2HDL綜合器20
1.10.3仿真器21
1.10.4適配器22
1.10.5下載器22
1.11QuartusII概述23
1.12IP核24
1.13EDA技術發展趨勢管窺26
習題27
第2章FPGA與CPLD的結構原理28
2.1PLD概述28
2.1.1PLD的發展歷程28
2.1.2PLD分類29
2.2簡單PLD結構原理30
2.2.1邏輯元件符號表示30
2.2.2PROM結構原理31
2.2.3PLA結構原理33
2.2.4PAL結構原理34
2.2.5GAL結構原理35
2.3CPLD的結構原理37
2.4FPGA的結構原理40
2.4.1查找表邏輯結構40
2.4.2CycloneIII系列器件的結構原理41
2.5硬件測試45
2.5.1內部邏輯測試46
2.5.2JTAG邊界掃描46
2.6PLD產品概述48
2.6.1Altera公司的PLD器件48
2.6.2Lattice公司的PLD器件50
2.6.3Xilinx公司的PLD器件51
2.6.4Actel公司的PLD器件52
2.6.5Altera的FPGA配置方式52
2.7CPLD/FPGA的編程與配置52
2.7.1CPLD在系統編程53
2.7.2FPGA配置方式53
2.7.3FPGA專用配置器件54
2.7.4使用單片機配置FPGA55
2.7.5使用CPLD配置FPGA57
習題57
第3章組合電路的Verilog設計58
3.1半加器電路的Verilog描述59
3.2多路選擇器的Verilog描述63
3.2.14選1多路選擇器及case語句表述方式63
3.2.24選1多路選擇器及assign語句表述方式69
3.2.34選1多路選擇器及條件賦值語句表述方式71
3.2.44選1多路選擇器及條件語句表述方式72
3.3Verilog加法器設計74
3.3.1全加器設計及例化語句應用74
3.3.2半加器的UDP結構建模描述方式77
3.3.3利用UDP元件設計多路選擇器78
3.3.48位加法器設計及算術操作符應用79
3.3.5算術運算操作符80
3.3.6BCD碼加法器設計81
3.4組合邏輯乘法器設計82
3.4.1參數定義關鍵詞parameter和localparam82
3.4.2整數型寄存器類型定義83
3.4.3for語句用法83
3.4.4移位操作符及其用法84
3.4.5兩則乘法器設計示例85
3.4.6repeat語句用法85
3.4.7while語句用法86
3.4.8parameter的參數傳遞功能87
3.5RTL概念88
習題89
第4章時序仿真與硬件實現91
4.1Verilog程序輸入與仿真測試91
4.1.1編輯和輸入設計文件91
4.1.2創建工程92
4.1.3全程編譯前約束項目設置93
4.1.4全程綜合與編譯94
4.1.5時序仿真96
4.1.6RTL圖觀察器應用98
4.2引腳鎖定與硬件測試98
4.2.1引腳鎖定98
4.2.2編譯文件下載99
4.2.3AS直接編程模式101
4.2.4JTAG間接編程模式101
4.2.5USB—Blaster驅動程序安裝方法102
4.3電路原理圖設計流程102
4.4利用屬性表述實現引腳鎖定106
4.5keep屬性應用107
4.6SignalProbe使用方法108
4.7宏模塊邏輯功能查詢109
習題110
實驗與設計111
4—1多路選擇器設計實驗111
4—28位加法器設計實驗111
4—38位硬件乘法器設計實驗112
4—4十六進制7段數碼顯示譯碼器設計112
第5章時序電路的Verilog設計114
5.1基本時序元件的Verilog表述114
5.1.1基本D觸發器及其Verilog表述114
5.1.2用UDP表述D觸發器115
5.1.3含異步復位和時鐘使能的D觸發器及其Verilog表述116
5.1.4含同步復位控制的D觸發器及其Verilog表述117
5.1.5基本鎖存器及其Verilog表述118
5.1.6含清0控制的鎖存器及其Verilog表述119
5.1.7異步時序電路的Verilog表述特點120
5.1.8時鐘過程表述的特點和規律121
5.2二進制計數器及其Verilog表述122
5.2.1簡單加法計數器及其Verilog表述122
5.2.2實用加法計數器設計124
5.3移位寄存器的Verilog表述與設計125
5.3.1含同步預置功能的移位寄存器設計125
5.3.2使用移位操作符設計移位寄存器126
5.4可預置型計數器設計127
5.4.1同步加載計數器127
5.4.2異步加載計數器128
5.4.3異步清0加載計數器129
5.4.4同步清0加載計數器130
5.5時序電路硬件設計與仿真示例131
5.5.1編輯電路、創建工程和仿真測試131
5.5.2FPGA硬件測試132
習題132
實驗與設計134
5—1應用宏模塊設計數字頻率計134
5—2計數器設計實驗138
5—3數碼掃描顯示電路設計139
5—4模可控計數器設計139
5—5串行靜態顯示控制電路設計140
5—6高速硬件除法器設計140
5—7不同類型的移位寄存器設計141
第6章QuartusII應用深入142
6.1SignalTapII的使用方法142
6.2編輯SignalTapII的觸發信號146
6.3FitterSettings項設置147
6.4功能塊ChipPlanner應用147
6.4.1ChipPlanner應用流程說明148
6.4.2ChipPlanner說明149
6.5Synplify的應用及接口方法150
6.5.1Synplify使用流程150
6.5.2SynplifyPro與QuartusII接口153
習題154
實驗與設計155
6—1VGA彩條信號顯示控制電路設計155
6—2移位相加型8位硬件乘法器設計158
6—3半整數與奇數分頻器設計159
6—4基于Verilog代碼的頻率計設計161
第7章LPM宏模塊的應用163
7.1計數器LPM宏模塊調用163
7.1.1計數器LPM模塊文本代碼的調用163
7.1.2LPM計數器代碼與參數傳遞語句165
7.1.3創建工程與仿真測試166
7.2利用屬性控制乘法器的構建167
7.3LPM_RAM宏模塊的設置與使用168
7.3.1初始化文件及其生成168
7.3.2以原理圖方式對LPM_RAM進行設置和調用170
7.3.3測試LPM_RAM172
7.3.4存儲器的Verilog代碼描述173
7.3.5存儲器設計的結構控制176
7.4LPM_ROM的定制和使用示例177
7.4.1LPM_ROM的調用177
7.4.2簡易正弦信號發生器設計178
7.4.3正弦信號發生器硬件實現和測試179
7.5在系統存儲器數據讀寫編輯器應用180
7.6LPM嵌入式鎖相環調用181
7.7In—SystemSourcesandProbesEditor使用方法184
7.8數控振蕩器核使用方法186
7.9FIR核使用方法188
7.10DDS實現原理與應用190
7.10.1DDS原理190
7.10.2DDS信號發生器設計示例192
習題193
實驗與設計194
7—1查表式硬件運算器設計194
7—2正弦信號發生器設計194
7—3簡易邏輯分析儀設計195
7—4DDS正弦信號發生器設計196
7—5移相信號發生器設計197
7—616位×16位高速硬件乘法器設計197
第8章Verilog設計深入199
8.1過程中的兩類賦值語句199
8.1.1未指定延時的阻塞式賦值語句199
8.1.2指定了延時的阻塞式賦值200
8.1.3未指定延時的非阻塞式賦值201
8.1.4指定了延時的非阻塞式賦值202
8.1.5深入認識阻塞與非阻塞式賦值的特點204
8.1.6不同的賦初值方式導致不同綜合結果的示例205
8.2過程語句歸納207
8.2.1過程語句應用總結207
8.2.2深入認識不完整條件語句與時序電路的關系209
8.3if語句歸納210
8.3.1if語句的一般表述形式211
8.3.2關注if語句中的條件指示213
8.4三態與雙向端口設計214
8.4.1三態控制電路設計214
8.4.2雙向端口設計215
8.4.3三態總線控制電路設計216
習題218
實驗與設計219
8—1硬件消抖動電路設計219
8—24×4陣列鍵盤鍵信號檢測電路設計220
8—3直流電機綜合測控系統設計222
8—4VGA簡單圖像顯示控制模塊設計223
8—5樂曲硬件演奏電路設計225
第9章Verilog系統設計優化229
9.1資源優化229
9.1.1資源共享229
9.1.2邏輯優化231
9.1.3串行化231
9.2速度優化232
9.2.1流水線設計232
9.2.2寄存器配平234
9.2.3關鍵路徑法235
9.2.4乒乓操作法236
9.2.5加法樹法236
習題237
實驗與設計238
9—1采用流水線技術設計高速數字相關器238
9—2線性反饋移位寄存器設計238
9—3基于UART串口控制的模型電子琴設計239
9—4PS2鍵盤控制模型電子琴電路設計241
9—5AM幅度調制信號發生器設計244
第10章Verilog狀態機設計技術246
10.1Verilog狀態機的一般形式246
10.1.1狀態機的特點與優勢247
10.1.2狀態機的一般結構248
10.1.3初始控制與表述252
10.2Moore型狀態機及其設計253
10.2.1多過程結構狀態機253
10.2.2序列檢測器及其狀態機設計257
10.3Mealy型狀態機設計258
10.4狀態機圖形編輯設計262
10.5不同編碼類型狀態機263
10.5.1直接輸出型編碼263
10.5.2用宏定義語句定義狀態編碼265
10.5.3宏定義命令語句266
10.5.4順序編碼267
10.5.5一位熱碼編碼267
10.5.6狀態編碼設置268
10.6異步有限狀態機設計269
10.7安全狀態機設計272
10.7.1狀態導引法273
10.7.2狀態編碼監測法274
10.7.3借助EDA工具自動生成安全狀態機274
10.8硬件數字技術排除毛刺275
10.8.1延時方式去毛刺275
10.8.2邏輯方式去毛刺276
習題278
實驗與設計278
10—1序列檢測器設計278
10—2ADC采樣控制電路設計278
10—3數據采集模塊設計280
10—4五功能智能邏輯筆設計282
第11章16位實用CPU創新設計285
11.1KX9016的結構與特色285
11.2KX9016基本硬件系統設計288
11.2.1單步節拍發生模塊288
11.2.2ALU模塊289
11.2.3比較器模塊289
11.2.4基本寄存器與寄存器陣列組290
11.2.5移位器模塊293
11.2.6程序與數據存儲器模塊293
11.3KX9016v1指令系統設計294
11.3.1指令格式294
11.3.2指令操作碼295
11.3.3軟件程序設計實例296
11.3.4KX9016v1控制器設計298
11.3.5指令設計實例詳解302
11.4KX9016的時序仿真與硬件測試303
11.4.1時序仿真與指令執行波形分析303
11.4.2CPU工作情況的硬件測試305
11.5KX9016應用程序設計實例和系統優化308
11.5.1乘法算法及其硬件實現308
11.5.2KX9016v1的硬件系統優化309
習題311
實驗與設計311
11—116位CPU驗證性設計綜合實驗311
11—2新指令設計及程序測試實驗312
11—316位CPU的優化設計與創新313
11—4CPU創新設計競賽314
第12章MCU與FPGA片上系統開發315
12.1FPGA擴展MCU開發技術315
12.1.1FPGA擴展方案及其系統設計技術316
12.1.2基于單片機IP軟核的SOC設計方案319
12.2FPGA擴展方案設計實例322
12.2.1串進并出/并進串出雙向端口擴展模塊設計322
12.2.28位四通道數據交換擴展模塊設計323
12.2.3存儲器讀寫的FPGA擴展模塊設計325
12.2.4四通道PWM信號發生器接口模塊設計326
12.2.5李薩如圖波形發生器擴展模塊設計327
12.3基于單片機核的FPGA片上系統設計328
12.3.1單片機擴展串進并出/并進串出模塊的SOC設計329
12.3.2擴展SRAM模塊的片上系統設計333
12.3.3擴展移相信號發生器模塊的片上系統設計333
實驗與設計334
12—1單片機串口擴展FPGA片上系統設計334
12—2單片機數據交換FPGA擴展電路設計335
12—3擴展外部數據存儲器的FPGA單片系統設計335
12—4四通道PWM信號發生器及其MCU控制系統設計335
12—5移相信號發生器和掃頻信號發生器的片上系統設計335
12—6李薩如圖波形發生器的FPGA片上系統設計336
12—7脈寬/占空比/等精度頻率多功能測試儀設計336
第13章Verilog語句語法補充說明342
13.1Verilog文字規則342
13.2數據類型344
13.2.1net網線類型344
13.2.2register寄存器類型345
13.2.3存儲器類型345
13.3操作符345
13.4常用語句補充346
13.4.1initial過程語句使用示例347
13.4.2forever循環語句347
13.4.3編譯指示語句348
13.4.4任務和函數語句350
13.5用庫元件實現結構描述352
習題354
實驗與設計354
13—1SPWM脈寬調制控制系統設計354
13—2點陣型與字符型液晶顯示器驅動控制電路設計356
13—3數字彩色液晶顯示控制電路設計357
13—4串行ADC/DAC控制電路設計357
第14章VerilogTestBench仿真358
14.1Verilog行為仿真流程359
14.2Verilog測試基準實例361
14.3VerilogTestBench測試流程363
14.4Verilog系統任務和系統函數366
14.4.1系統任務和系統函數366
14.4.2預編譯語句372
14.5延時模型373
14.5.1#延時和門延時373
14.5.2延時說明塊374
14.6其他仿真語句374
14.6.1fork_join塊語句374
14.6.2wait語句375
14.6.3force語句和release語句376
14.6.4deassign語句376
14.7仿真激勵信號的產生377
14.8Verilog數字系統仿真378
習題379
實驗與設計380
14—1在ModelSim上對計數器的TestBench進行仿真380
14—2在ModelSim上進行16位累加器設計仿真380
附錄EDA開發系統及相關軟硬件381
參考文獻387

書摘/試閱



(1)20世紀70年代,熔絲編程的PROM和PLA器件是最早的可編程邏輯器件。
(2)20世紀70年代末,對PLA進行了改進,AMD公司推出PAL器件。
(3)20世紀80年代初,Lattice發明電可擦寫的,比PAL使用更靈活的GAL器件。
(4)20世紀80年代中期,Xilinx公司提出現場可編程概念,同時生產出了世界上第一片FPGA器件。同一時期,Altera公司推出EPLD器件,較GAL器件有更高的集成度,可以用紫外線或電擦除。
(5)20世紀80年代末,Lattice公司又提出在系統可編程(In—System Programmability)羧術,并且推出了一系列具備在系統可編程能力的CPLD器件,將可編程邏輯器件的性能和應用技術推向了一個全新的高度。
(6)20世紀90年代后,可編程邏輯集成電路技術進入飛速發展時期。器件的可用邏輯門數超過了百萬門,并出現了內嵌復雜功能模塊(如加法器、乘法器、RAM、CPU核、DSP核、PLL等)的SOPC。特別是進入21世紀以來,FPGA在邏輯規模、適用領域、工作速度、成本與功能等方面的進步變得更加矚目。
可編程邏輯器件的種類很多,幾乎每個大的可編程邏輯器件供應商都能提供具有自身結構特點的PLD器件。由于歷史的原因,可編程邏輯器件的命名各異,在詳細介紹可編程邏輯器件之前,有必要介紹幾種PLD的分類方法。
如圖2.2所示,較常見的分類是按集成度來區分不同的PLD器件,一般可以分為以下兩大類器件:一類是芯片集成度較低的,早期出現的PROM、PLA、PAL、GAL等都屬于這類。可用的邏輯門數大約在500門以下,稱為簡單PLD;另一類是芯片集成度較高的,如現在大量使用的CPLD、FPGA器件,稱為復雜PLD。PLD規模的劃分并無同一標準,但隨著PLD規模的不斷擴大,500門已遠非劃界的標準了。
上面曾提到常用的PLD器件都是從“與—或”陣列和門陣列兩類基本結構發展起來的,PLD器件從結構上可分為兩大類:一類屬乘積項結構器件,其基本結構為“與—或”陣列,大部分簡單PLD和CPLD屬于這個范疇;另一類是基于查找表結構的器件,由簡單的查找表組成可編程門,再構成陣列形式,多數FPGA屬于此類器件。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 219
絕版無法訂購