FPGA/CPLD技術最近年來計算機與電子技術領域的又一場革命。本書以Xilinx與Altera公司的FPGA/CPLD為主,詳細介紹了FPGA/CPLD從芯版式到MAX+plus II、Quartus與ISE開發(fā)環(huán)境和Verilog/VHDL語言,并以交通燈邏輯控制、電子鐘與點陣LED顯示、LCD液晶顯示及計算機ISA接口和PCI接口的設計等為例,由淺入深地詳述了如何應用FPGA/CPLD進行電子設計。書中的大多數電路圖和源程序已經過實例驗證,讀者可以直接應用于自己的設計。本書的特點是強調實用性和無進性,力求通俗通懂。本書適用于計算機、電子、控制及信息等相關專業(yè)的校大學生,對廣大工程技術人員也具有實用價值。當今世界,科技飛速發(fā)展,人類面臨著一次又一次的機遇和挑戰(zhàn)。2003年舉世聞名的FORBES雜志(www.forbes.com)曾經揭示了一個新的概念,在未來的計算機中,CPU將被FPGA(現場可編程邏輯門陣列)芯片所取代,同時美國的一家公司也已成功推出了以FPGA取代CPU的計算機,FPGA/CPLD被國外的媒體認為是一次新的革命性技術進步。本書的作者都是長期從事嵌入式與FPGA/CPLD研究、發(fā)展與普及的科技人員,本書系統(tǒng);全面地介紹了FPGAJCPLD從原理、開發(fā)環(huán)境、編程語言到應用實例,并全面反映該領域的最新發(fā)展成果。本書的特點是通俗易懂,深入淺出,可被高等院校及其他讀者選用為相關教材,也是初學者的敲門磚,中高級人員的有益助手和資料。本書包括11章及7個附錄。全書介紹了目前世界最大和主流的兩個FPGA/CPLD生產廠家的產品和開發(fā)工具,第1章-第3章介紹了Xilinx公司的FPGA/CPLD基本知識與結構:第4章-第5章以矩陣LED顯示等實例介紹了XiHnx公司的集成開發(fā)環(huán)境ISE的基本和高級知識;第6章-第7章分別以實例介紹了Altera公司的集成開發(fā)環(huán)境MAX+plusⅡ與Quartus;第8章-第9章分別以實例介紹了Altera公司的FLEXl0K與FLEX6000系列FPGA在點陣、字符液晶顯示以及交通燈等其他領域的應用;第10章介紹了ISA與PCI總線的原理及FPGA用于接口芯片設計的實例。為利于讀者速查,附錄A介紹了Altera公司的主要產品和芯片;附錄B和附錄C介紹了FPGA/CPLD主要的兩種開發(fā)語言VHDL與Vefilog;附錄D和附錄E介紹了MAX+plusⅡ在Windows 2000/WindowsXP下的驅動配置;附錄F介紹了ISE 6.1i的新增功能;附錄G介紹了由本書作者開發(fā),針對FPGA/CPLD應用學習者的,支持Altera/Xilinx開發(fā)環(huán)境的學習開發(fā)工具箱(www.edtyang.com);附錄H介紹了FPGA/CPLD萬能型快速學習開發(fā)器CHICAG08.0。本書是集體智慧的結晶,由西雅圖數碼科技有限公司楊恒博士、西安科技大學李愛國博士、深圳英特數碼科技有限公司王輝先生與北京大學深圳研究生院王新安博士合作編著。參加本書編輯審校工作的有以下人員:第1章-第3章:西北工業(yè)大學的李偉和白冰洋,西安電子科技大學的李智奇;第4章-第5章:西安電子科技大學的李劍紅,西安科技大學的趙彩,西雅圖數碼科技有限公司的吳言水: 第6章:西安科技大學的雍煌,深圳大學的申向軍;第7章:西北農林科技大學的何東健、李書琴、耿楠、田國華;第8章-第9章:深圳英特數碼科技有限公司的王輝;第10章:廣州南沙資訊科技園的唐會華;‘附錄:西北工業(yè)大學的李偉,西雅圖數碼科技有限公司的吳言水。本書可以獨立作為大專院?;蚬こ碳夹g人員學習參考之用,讀者也可以根據自身情況與本書作者專門研發(fā)的不同版本的配套學習實驗開發(fā)箱(含開發(fā)學習板、下載線纜、手冊和光盤)結合使用(詳見www.edtyang.com)。作者向以下關心過本書或在學術上給予過幫助的朋友表示感謝,他們是:新加坡南洋理工大學(NanyangTechnologicalUniversity,Singapore)Prof.SerWee,Prof.C.ZHU,Prof.GB.HUANG;亞洲咨詢公司、美國密西根大學博士ChrisKoh;新加坡國家咨訊技術研究院林曉博士、姜力軍博士、陳建峰博士;西安市科技局副局長陳長春博士;國家集成電路西安產業(yè)化基地藺建文主任、何曉寧部長和王坤元主任;美國德州儀器上海辦事處張浩先生:西北工業(yè)大學陳明教授、博士生導師;西安建筑科技大學李昌華教授、趙光華博士、李振國教授;西安理工大學李言教授、邱宗明教授;深圳熙和技術公司毛周明總裁、申凌博士和陶明博士;廣州華意電子科技公司劉林先生;西安郵電學院朱自祥教授;北京大學崔小樂博士后;西雅圖數碼科技有限公司(西安)羅宵先生、張玉紅小姐。由于作者水平有限,錯誤和不當之處在所難免,敬請各位讀者不吝賜教。楊恒2004年8月8日于新加坡hyang999@sina.cOm 第O章緒論0.1 FPGA/CPLD概述0.2 FPGA/CPLD的開發(fā)軟件0.3 FPGA/CPLD的分類和使用0.4因特網上的FPGA及其他資源0.5本章小結第1章Xilinx CPLD系列產品1.1 簡介1.1.1 XC9500系列CPLD器件1.1.2 CoolRunner系列CPLD器件1.2 XC9500系列器件的結構1.3 CoolRunner系列CPLD器件的結構1.4 Xilinx CPLD器件的命名1.5本章小結第2章Xilinx FPGA系列產品2.1 Spartan-II E系列產品2.1.1 概述2.1.2器件結構2.2 Spartan-3系列產品2.2.1概述2.2.2器件結構2.3 Virtex.II系列產品2.3.1概述2.3.2器件結構2.4 Virtex.II Pro系列產品2.4.1概述2.4.2器件結構2.5 Virtex-4系列產品2.5.1概述2.5.2 Virtex-4系列的總體結構2.5.3 Virtex-4的三個平臺FPGA簡介2.5.4~trtex-4 FPGA綜述2.6本章小結第3章CPLD/FPGA的邊界掃描測試3.1 引言3.2 IEEE 1149.1邊界掃描測試的結構3.3 JTAG BST操作控制3.3.1抽樣/預加載(SAMPLE/PRELOAD)指令模式3.3.2外測試(EXTEST)指令模式3.3.3旁路(BYPASS)指令模式3.3.4用戶碼(USRCODE)指令模式3.3.5 ID碼(IDCODE)指令模式3.4 Xilinx器件的邊界掃描3.4.1數據存儲器(Data Register)3.4.2指令集(Instruction Set)3.4.3位順序(Bit Sequence)3.4.4在設計中插入邊界掃描3.5邊界掃描描述語言(BSDL)3.6 Xilinx器件下載3.6.1 MultiLINX下載電纜3.6.2 Xchecker下載電纜3.6.3 Parallel下載電纜3.7 Altera與Lattice公司CPLD下載電路3.8本章小結第4章Xilinx ISE應用基礎.4.1 Xilinx ISE簡介4.2安裝Xilinx ISE4.2.1 系統(tǒng)需求4.2.2 ISE的安裝4.3 Xilinx ISE應用入門4.4 Xilinx ISE設計流程4.4.1 設計輸入4.4.2功能仿真4.4.3綜合.4.4.4實現4.4.5時序仿真4.4.6下載配置4.5設計實例4.6本章小結第5章Xilinx ISE高級應用5.1設計輸入5.1.1硬件描述語言(HDL)輸入方式5.1.2原理圖(Schematic)輸入方式5.2功能仿真和時序仿真5.2.1功能仿真5.2.2時序仿真(對頂層文件進行仿真)5.3設計實現5.3.1運行實現設計5.3.2在布局規(guī)劃器(Floorplanner)中查看設計布局5.4引腳鎖定與器件下載編程5.4.1引腳鎖定5.4.2 CPLD器件的編程下載5.5應用ISE 6.2i的矩陣LED設計實例5.5.1功能要求及硬件設計5.5.2控制邏輯設計5.5.3在ISE 6.2i中建立矩陣LED的工程文件并下載到CPLD運行5.6本章小結第6章MAX+plus II 1 0.1的使用指南6.1 MAX+plus II 10.1的特點6.2 MAX+plusⅡ的組成6.3 MAX+plus II的使用6.3.1圖形文件的建立6.3.2文本文件的建立6.3.3建立頂層設計文件6.3.4 q-程文件的編譯6.3.5模擬仿真6.3.6定時分析6.3.7器件編程6.4本章小結第7章Ouartus II使用指南7.1 QuartusⅡ設計入門7.1.1簡介7.1.2設計流程7.1.3設計入門7.1.4綜合7.1.5仿真7.1.6布線與制板7.1.7塊結構設計7.1.8對EDA I具使用LogicLock7.2延時分析與延時終止7.2.1在Quartus II軟件中執(zhí)行延時分析7.2.2使用EDA工具執(zhí)行延時分析7.2.3延時終止7.3.1程設計、調試與修改管理7.3.1使用SignalTap邏輯分析器7.3.2使用信號探針(SignalProbe)7.3.3使用芯片編輯器7.3.4 工程管理簡介7.4系統(tǒng)設計7.4.1用SOPC Builder創(chuàng)建SOPC設計7.4.2用DSP Builder創(chuàng)建DSP設計7.5軟件開發(fā)7.6下載與配置7.7本章小結第8章FLEX 6000系列器件簡介及應用實例8.1 FLEX 6000系列器件簡介8.1.1特點8.1.2概述8.1.3功能描述8.1.4輸出配置8.1.5 JTAG邊界掃描8.2交通信號燈控制邏輯設計8.2.1系統(tǒng)要求分析8.2.2控制邏輯描述8.3 電子鐘的設計實例8.3.1功能要求和結構8.3.2控制芯片的設計8.4字符型LCD(KS0066)接口的設計8.4.1原理介紹8.4.2字符型LCD(KS0066)接口的VHDL描述8.5本章小結第9章 FLEX 1 0K嵌入式可編程邏輯系列器件簡介及應用實例9.1 FLEX 10K嵌入式可編程邏輯系列器件簡介9.1.1特點9.1.2總體描述9.1.3功能描述9.1.4相同結構的輸出引腳9.1.5時鐘鎖和時鐘推進特性9.1.6輸出設置9.1.7 JTAG邊界掃描9.1.8配置和操作9.2應用FLEX IOK設計圖像點陣型LCD9.2.1 圖像點陣型LCD原理介紹9.2.2基于FLEX 10K的圖像點陣型LCD控制設計9.3本章小結第10章應用FPGA設計PC機的ISA和PCI總線接口10.1應用FPGA設計PC機的ISA總線接口10.1.1 ISA總線概述10.1.2基于Altera FLEX6000的ISA接口設計10.2應用FPGA設計PC機的PCI總線接口10.2.1 PCI總線概述10.2.2 PCI總線命令10.2.3 PCI總線訪問地址解碼10.2.4 PCI配置空間操作10.2.5基于Altera公司的FLEXl0K系列FPGA實現的PCI接口設計10.3本章小結附錄A Altera公司FPGNCPLD系列器件縱覽附錄B VHDL編程基礎附錄C Verilog HDL編程基礎附錄D MAX+plus II Windows 2000驅動配置指南附錄E MAX+plus II Windows XP驅動配置指南附錄F ISE 6.1 i的新增功能附錄G FPGNCPLD快速學習開發(fā)工具CHICAGO 6.0附錄H FPGA/CPLD萬能型快速學習開發(fā)器CHICAGO 8.0參考文獻