《FPGA應(yīng)用開發(fā)技術(shù)》教案_第1頁
《FPGA應(yīng)用開發(fā)技術(shù)》教案_第2頁
《FPGA應(yīng)用開發(fā)技術(shù)》教案_第3頁
《FPGA應(yīng)用開發(fā)技術(shù)》教案_第4頁
《FPGA應(yīng)用開發(fā)技術(shù)》教案_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1401、1402、1403編寫時(shí)間:課題:第1章EDA技術(shù)概述1.1EDA技術(shù)及其發(fā)展1.2EDA技術(shù)的主要內(nèi)容教學(xué)目的及要求:1、了解EDA的涵義教學(xué)重點(diǎn):1、EDA的涵義教學(xué)難點(diǎn):1、EDA的涵義第1章EDA技術(shù)概述1.1EDA技術(shù)及其發(fā)展現(xiàn)代電子設(shè)計(jì)技術(shù)的核心是EDA(ElectronicDesignAutomation)技術(shù)。EDA技術(shù)就是依靠功能強(qiáng)大的電子計(jì)算機(jī),在EDA工具軟件平臺上,對以硬件描述語言HDL(HardwareDescriptionLanguage)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、仿真,直至下載到可編程邏輯器件CPLD/FPGA或?qū)S眉呻娐稟SIC(ApplicationSpecificIntegratedCircuit)芯片中,實(shí)現(xiàn)既定的電子電路設(shè)計(jì)功能。EDA是在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來的。一般把EDA技術(shù)的發(fā)展分為CAD、CAE和ESDA三個(gè)階段。EDA具有如下的基本特征:1)硬件電路的軟件設(shè)計(jì)方式2)自動(dòng)化程度更高且直面產(chǎn)品設(shè)計(jì)3)集成化程度更高,可構(gòu)建片上系統(tǒng)4)目標(biāo)系統(tǒng)可現(xiàn)場編程,在線升級。5)開發(fā)周期短設(shè)計(jì)成本低,設(shè)計(jì)靈活性高。旁批欄:1.2EDA技術(shù)的主要內(nèi)容EDA技術(shù)采用一種“自頂向下”的全新設(shè)計(jì)方法,這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖級進(jìn)行仿真、糾錯(cuò),并用硬件描述語言(HDL)對高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)級進(jìn)行驗(yàn)證,然后用綜合優(yōu)化工具生成具體門電路的網(wǎng)表,其對應(yīng)的物理實(shí)現(xiàn)級可以是印刷電路板或?qū)S眉呻娐贰3S玫挠布枋稣Z言有以下四種:ABEL-HDL、AHDL、VHDL、VerilogHDL。在20世紀(jì)80年代后期,VHDL和VerilogHDL語言適應(yīng)了趨勢的要求,先后成為IEEE標(biāo)準(zhǔn)。主要PLD廠商概述1)Xilinx該公司是FPGA的發(fā)明者。產(chǎn)品種類較全,主要有:XC9500/4000、Coolrunner(XPLA3)、Spartan、Vertex等系列,其最大的Vertex--IIPro器件已達(dá)到800萬門。開發(fā)軟件為Foundation和ISE。2)AlteraAltera公司在20世紀(jì)90年代以后發(fā)展得很快,其主要產(chǎn)品有:MAX3000/7000、FELX6K/10K、APEX20K、ACEX1K、Stratix等。其開發(fā)工具——MAX+PLUSII3)Lattice--VantisLattice是ISP(In--SystemProgrammability)技術(shù)的發(fā)明者,ISP技術(shù)極大地促進(jìn)了PLD產(chǎn)品的發(fā)展,與Altera和Xilinx相比,其開發(fā)工具比Altera和Xilinx略遜一籌。4)Actel5)Quicklogic6)Lucent8)AtmelAtmel公司致力于生產(chǎn)中小規(guī)模PLD,此外,也生產(chǎn)一些與Altera和Xilinx兼容的片子,但在品質(zhì)上與原廠家還是有一些差距,在高可靠性產(chǎn)品中使用較少,多用在低端產(chǎn)品上。9)ClearLogic生產(chǎn)與一些著名PLD/FPGA大公司兼容的芯片,這種芯片可將用戶的設(shè)計(jì)一次性固化,不可編程,批量生產(chǎn)時(shí)的成本較低。10)Wsi生產(chǎn)PSD(單片機(jī)可編程外圍芯片)產(chǎn)品。這是一種特殊的PLD,如最新的PSD8xx、PSD9xx集成了PLD、EPROM、Flash,并支持ISP(在線編程),集成度高,主要用于配合單片機(jī)工作。旁批欄:

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:1.3常用的EDA工具1.4EDA設(shè)計(jì)流程教學(xué)目的及要求:1、掌握常用的EDA工具及EDA設(shè)計(jì)流程教學(xué)重點(diǎn):1、常用的EDA工具及EDA設(shè)計(jì)流程教學(xué)難點(diǎn):1、常用的EDA工具及EDA設(shè)計(jì)流程1.3常用的EDA工具EDA工具大致分為如下5個(gè)模塊:設(shè)計(jì)輸入編輯器仿真器HDL綜合器適配器(或布局布線器)下載器1.設(shè)計(jì)輸入編輯器一般的設(shè)計(jì)輸入編輯器都支持圖形輸入和HDL文本輸入。圖形輸入包括原理圖輸入、狀態(tài)圖輸入和波形圖輸入三種常用方法。2.HDL綜合器HDL綜合器是一種用EDA技術(shù)實(shí)施電路設(shè)計(jì)中完成電路化簡、算法優(yōu)化、硬件結(jié)構(gòu)細(xì)化的計(jì)算機(jī)軟件,是將硬件描述語言轉(zhuǎn)化為硬件電路的重要工具。HDL綜合器在把可綜合的HDL(Verilog或VHDL)轉(zhuǎn)化為硬件電路,一般要經(jīng)過兩個(gè)步驟:第1步是HDL綜合器對Verilog或VHDL進(jìn)行處理分析,并將其轉(zhuǎn)換成電路結(jié)構(gòu)或模塊,這時(shí)是不考慮實(shí)際器件實(shí)現(xiàn)的,即完全與硬件無關(guān),這個(gè)過程是一個(gè)通用電路原理圖形成的過程;第2步是對應(yīng)實(shí)際實(shí)現(xiàn)目標(biāo)器件的結(jié)構(gòu)進(jìn)行優(yōu)化,并使之滿足各種約束條件,優(yōu)化關(guān)鍵路徑等。3.仿真器按仿真電路描述級別的不同,HDL仿真器能單獨(dú)或綜合完成以下各仿真步驟:系統(tǒng)級仿真行為級仿真RTL級仿真門級時(shí)序仿真4.適配器適配,即結(jié)構(gòu)綜合,通常都由可編程邏輯器件的廠商提供的專門針對器件開發(fā)的軟件來完成。適配器的功能是將綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,產(chǎn)生最終的下載文件,如JEDEC格式的文件。這些軟件可以單獨(dú)或嵌入在廠商的針對自己產(chǎn)品的集成EDA開發(fā)環(huán)境中存在。對于一般的可編程模擬器件所對應(yīng)的EDA軟件來說,一般僅需包含一個(gè)適配器,如Lattice公司的PAC—DESIGNER。旁批欄:5.下載器下載也叫芯片配置。FPGA設(shè)計(jì)有兩種配置形式:直接由計(jì)算機(jī)經(jīng)過專用下載電纜進(jìn)行配置;由外圍配置芯片進(jìn)行上電時(shí)自動(dòng)配置。使用電纜下載時(shí)有多種下載方式,如對XilInx公司的FPGA下載可使用JTAGProgrammer、HardwareProgrammer、PROMProgrammer三種方式,而對Altera公司的FPGA可選擇JTAG或PassiveSerial方式。FPGA大多支持IEEE的JTAG標(biāo)準(zhǔn),所以使用芯片上的JTAG口是常用下載方式。1.4EDA設(shè)計(jì)流程在設(shè)計(jì)方法上,EDA技術(shù)為電子電路設(shè)計(jì)領(lǐng)域帶來了根本性的變革,將傳統(tǒng)的“電路設(shè)計(jì)——硬件搭試——調(diào)試焊接”模式轉(zhuǎn)變?yōu)椤肮δ茉O(shè)計(jì)——軟件模擬——編程下載”方式。設(shè)計(jì)人員只需一臺微機(jī)和相應(yīng)的開發(fā)工具即可研制出各種功能電路。如前所述,EDA技術(shù)將電子產(chǎn)品設(shè)計(jì)從軟件編譯——邏輯化簡——邏輯綜合——仿真優(yōu)化——布局布線——邏輯適配——邏輯影射——編程下載——生成目標(biāo)系統(tǒng)的全過程在計(jì)算機(jī)及其開發(fā)平臺上自動(dòng)處理完成。1.設(shè)計(jì)輸入,2.綜合,3.適配,4.時(shí)序仿真與功能仿真,5.編程下載,6.硬件測試旁批欄:

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:1.5EDA技術(shù)的發(fā)展趨勢1.6EDA技術(shù)的應(yīng)用教學(xué)目的及要求:1、了解EDA技術(shù)的發(fā)展趨勢及應(yīng)用教學(xué)重點(diǎn):1、EDA技術(shù)的發(fā)展趨勢及應(yīng)用教學(xué)難點(diǎn):1、EDA技術(shù)的發(fā)展趨勢及應(yīng)用1.5EDA技術(shù)的發(fā)展趨勢EDA技術(shù)在進(jìn)入21世紀(jì)后,由于更大規(guī)模的FPGA和CPLD器件的不斷推出,在仿真和設(shè)計(jì)兩方面支持標(biāo)準(zhǔn)硬件描述語言的EDA軟件不斷更新、增加,使電子EDA技術(shù)得到了更大的發(fā)展。電子技術(shù)全方位納入EDA領(lǐng)域,EDA使得電子領(lǐng)域各學(xué)科的界限更加模糊,更加互為包容,突出表現(xiàn)在以下幾個(gè)方面:1.使電子設(shè)計(jì)成果以自主知識產(chǎn)權(quán)的方式得以明確表達(dá)和確認(rèn)成為可能;2.基于EDA工具的ASIC設(shè)計(jì)標(biāo)準(zhǔn)單元已涵蓋大規(guī)模電子系統(tǒng)及IP核模塊;3.軟硬件IP核在電子行業(yè)的產(chǎn)業(yè)領(lǐng)域、技術(shù)領(lǐng)域和設(shè)計(jì)應(yīng)用領(lǐng)域得到進(jìn)一步確認(rèn);4.SoC高效低成本設(shè)計(jì)技術(shù)的成熟;5.超大規(guī)模集成電路的集成度和工藝水平不斷提高,深亞微米(Deep-Submicron)工藝,如0.18μm、0.13μm已經(jīng)走向成熟,在一個(gè)芯片上完成的系統(tǒng)級的集成已成為可能;6.市場對電子產(chǎn)品提出了更高的要求,如必須降低電子系統(tǒng)的成本,減小系統(tǒng)的體積等,從而對系統(tǒng)的集成度不斷提出更高的要求;7.高性能的EDA工具得到長足的發(fā)展,其自動(dòng)化和智能化程度不斷提高,為嵌入式系統(tǒng)設(shè)計(jì)提供了功能強(qiáng)大的開發(fā)環(huán)境。旁批欄:1.6EDA技術(shù)的應(yīng)用現(xiàn)在對EDA的概念或范疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機(jī)制造過程中,從設(shè)計(jì)、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術(shù)。本文所指的EDA技術(shù),主要針對電子電路設(shè)計(jì)、PCB設(shè)計(jì)和IC設(shè)計(jì)。EDA設(shè)計(jì)可分為系統(tǒng)級、電路級和物理實(shí)現(xiàn)級。1.EDA技術(shù)的應(yīng)用形式電子EDA技術(shù)發(fā)展迅猛,逐漸在教學(xué)、科研、產(chǎn)品設(shè)計(jì)與制造等各方面都發(fā)揮著巨大的作用。2.EDA技術(shù)的應(yīng)用場合10年來,以EDA技術(shù)為核心的電子設(shè)計(jì)技術(shù)發(fā)展日新月異,尤其是EDA工具,它以計(jì)算機(jī)為平臺,融合了電子、計(jì)算機(jī)、自動(dòng)化等最新的智能技術(shù),研制出通用電子設(shè)計(jì)工具軟件,解決了PCB板設(shè)計(jì)、ASIC設(shè)計(jì)、SOC設(shè)計(jì)等問題。本章總結(jié)本章對EDA技術(shù)進(jìn)行了簡要概述,包括EDA技術(shù)的概念及其發(fā)展歷程。介紹了EDA技術(shù)的相關(guān)主要內(nèi)容:EDA采用自頂向下的設(shè)計(jì)方法對系統(tǒng)進(jìn)行規(guī)劃;ASIC設(shè)計(jì)的基本內(nèi)容;常用的硬件描述語言;現(xiàn)在主要的PLD廠商概述。在進(jìn)行EDA設(shè)計(jì)時(shí),必須使用常用的EDA工具,按照標(biāo)準(zhǔn)的EDA設(shè)計(jì)流程逐步設(shè)計(jì)。本章還分析了當(dāng)前EDA技術(shù)的發(fā)展趨勢和相關(guān)的主要應(yīng)用場合。旁批欄:

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:第2章可編程邏輯器件及FPGA開發(fā)簡介2.1可編程邏輯器件基礎(chǔ)教學(xué)目的及要求:1、了解可編程邏輯器件的涵義、發(fā)展歷程及其基本結(jié)構(gòu)教學(xué)重點(diǎn):1、可編程邏輯器件的涵義、發(fā)展歷程及其基本結(jié)構(gòu)教學(xué)難點(diǎn):1、可編程邏輯器件的涵義、發(fā)展歷程及其基本結(jié)構(gòu)第2章可編程邏輯器件及FPGA開發(fā)簡介2.1可編程邏輯器件基礎(chǔ)可編程邏輯器件簡介可編程器件PLD(ProgramableLogicDevice)是80年代發(fā)展起來的新型器件,PLD是一種由用戶根據(jù)自己的需要來設(shè)計(jì)邏輯功能并對此器件進(jìn)行編程后實(shí)現(xiàn)的。可編程邏輯器件的優(yōu)點(diǎn)如下:1)提高了功能的集成度2)加快了電子系統(tǒng)的設(shè)計(jì)速度3)高的性能4)高可靠性5)成本低可編程邏輯器件的發(fā)展歷史第1階段的可編程器件只有簡單的可編程只讀存儲(chǔ)器(PROM)、紫外線可擦除只讀存儲(chǔ)器(EPROM)和電可擦只讀存儲(chǔ)器(EEPROM)3種。第2階段出現(xiàn)了結(jié)構(gòu)上稍微復(fù)雜的可編程陣列邏輯(PAL)和通用陣列邏輯(GAL)器件,正式被稱為PLD,能夠完成各種邏輯運(yùn)算功能。典型的PLD由“與”、“非”陣列組成,用“與或”表達(dá)式來實(shí)現(xiàn)任意組合邏輯,所以PLD能以乘積和形式完成大量的邏輯組合。第3階段Xilinx和Altera分別推出了與標(biāo)準(zhǔn)門陣列類似的FPGA和類似于PAL結(jié)構(gòu)的擴(kuò)展性CPLD,提高了邏輯運(yùn)算的速度。第4階段出現(xiàn)了SOPC和SOC技術(shù),是PLD和ASIC技術(shù)融合的結(jié)果,涵蓋了實(shí)時(shí)化數(shù)字信號處理技術(shù)、高速數(shù)據(jù)收發(fā)器、復(fù)雜計(jì)算以及嵌入式系統(tǒng)設(shè)計(jì)技術(shù)的全部內(nèi)容。旁批欄:可編程邏輯器件的基本結(jié)構(gòu)可編程邏輯器件按基本結(jié)構(gòu)分為主要兩類,一類是“與-或”陣列結(jié)構(gòu),一類是查找表結(jié)構(gòu)。“與-或”陣列結(jié)構(gòu)如圖所示,它主要由輸入電路、可編程與陣列、可編程或陣列和輸出電路構(gòu)成。可編程邏輯器件的分類1.按集成度分類集成度是可編程邏輯器件的一項(xiàng)很重要的指標(biāo),如果從集成密度上分類,可分為簡單可編程邏輯器件(SPLD)和高密度可編程邏輯器件(HDPLD)。2.按結(jié)構(gòu)分類從結(jié)構(gòu)上將其分為兩大類:PLD器件——基本結(jié)構(gòu)為與或陣列的器件;FPGA器件——早期的基本結(jié)構(gòu)為門陣列,目前已發(fā)展到邏輯單元(包含了門、觸發(fā)器等)陣列。3.按編程工藝分類1)熔絲(Fuse)或反熔絲(Antifuse)編程器件。2)U/EPROM編程器件,即紫外線擦除/電可編程器件。3)E2PROM編程器件,即電擦寫編程器件。GAL器件、ispLSI器件用這種方法編程。4)SRAM編程器件。Xilinx公司的FPGA是這一類器件的代表。旁批欄:

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:2.2CPLD的基本結(jié)構(gòu)及特點(diǎn)2.3FPGA的基本結(jié)構(gòu)及特點(diǎn)教學(xué)目的及要求:1、掌握CPLD和FPGA的基本結(jié)構(gòu)及特點(diǎn)教學(xué)重點(diǎn):1、CPLD和FPGA的基本結(jié)構(gòu)及特點(diǎn)教學(xué)難點(diǎn):1、CPLD和FPGA的基本結(jié)構(gòu)及特點(diǎn)教學(xué)步驟及內(nèi)容:2.2CPLD的基本結(jié)構(gòu)及特點(diǎn)以Xilinx公司的XC9500系列器件為例來介紹CPLD的基本原理和結(jié)構(gòu)。XC9500系列器件(XC9500、XC9500XL、XC9500XV)在結(jié)構(gòu)上基本相同,如圖每個(gè)XC9500器件是由一個(gè)多功能塊FB(FunctionBlock)和輸入/輸出塊IOB組成,并有一個(gè)開關(guān)矩陣FastCONNECT完全互連的子系統(tǒng)。每個(gè)FB提供具有36個(gè)輸入和18個(gè)輸出的可編程邏輯;IOB則提供器件輸入和輸出的緩沖;FastCONNECT開關(guān)矩陣將所有輸入信號及FB的輸出連到FB的輸入端。對于每個(gè)FB,有12~18個(gè)輸出(取決于封裝的引腳數(shù))及相關(guān)的輸出使能信號直接驅(qū)動(dòng)IOB。在圖2-3中,功能塊輸出線中的粗線直接驅(qū)動(dòng)IOB。旁批欄:1.功能塊如圖2-4所示,每個(gè)功能塊FB由18個(gè)獨(dú)立的宏單元組成,每個(gè)宏單元可實(shí)現(xiàn)一個(gè)組合電路或寄存器的功能。FB除接收來自FastCONNECT的輸入外,還接收全局時(shí)鐘、輸出使能和復(fù)位/置位信號。FB產(chǎn)生驅(qū)動(dòng)FastCONNECT開關(guān)矩陣的18個(gè)輸出,這18個(gè)信號和相應(yīng)的輸出使能信號也驅(qū)動(dòng)IOB。2.宏單元XC9500器件的每個(gè)宏單元(Macrocell)可以單獨(dú)配置成組合或寄存的功能,宏單元和相應(yīng)的FB邏輯如圖2-5所示。與陣列中的5個(gè)直接乘積項(xiàng)用作原始的數(shù)據(jù)輸入。用OR或XOR門來實(shí)現(xiàn)組合功能,它們也可用作時(shí)鐘、復(fù)位/置位和輸出使能的控制輸入。乘積項(xiàng)分配器的功能與每個(gè)宏單元如何選擇利用這5個(gè)直接乘積項(xiàng)有關(guān)。宏單元的寄存器可以配置成D觸發(fā)器或T觸發(fā)器,也可以被旁路(即該寄存器被忽略),從而使宏單元只作為組合邏輯使用。每個(gè)寄存器均支持非同步的復(fù)位與置位,在加電期間,所有的用戶寄存器都被初始化為用戶定義的預(yù)加載狀態(tài)(默認(rèn)值為0)。3.乘積項(xiàng)分配器乘積項(xiàng)分配器PT(ProductTerm)控制5個(gè)直接的乘積項(xiàng)如何分配到每個(gè)指定單元。4.FastCONNECT開關(guān)矩陣FastCONNECT開關(guān)矩陣連接信號到FB的輸入端,如圖2-11所示。所有IOB(對應(yīng)于用戶輸入引腳)和所有FB的輸出驅(qū)動(dòng)FastCONNECT開關(guān)矩陣。開關(guān)矩陣的所有輸出都可以通過編程選擇以驅(qū)動(dòng)FB,每個(gè)FB則最多可接收36個(gè)來自開關(guān)矩陣的輸入信號。所有從開關(guān)矩陣到FB的信號延時(shí)是相同的。5.輸入/輸出塊輸入/輸出塊(IOB)提供內(nèi)部邏輯電路到用戶I/O引腳之間的接口。每個(gè)IOB包括一個(gè)輸入緩沖器、輸出驅(qū)動(dòng)器,輸出使能數(shù)據(jù)選擇器和用戶可編程接地控制。6.持續(xù)性所有XC9500CPLD提供在系統(tǒng)內(nèi)編程,最小編程/擦除次數(shù)達(dá)10000次。每個(gè)器件在這個(gè)極限內(nèi)能滿足所有的功能、性能和數(shù)據(jù)存儲(chǔ)的技術(shù)規(guī)定。7.低功耗模式所有XC9500器件提供對單個(gè)宏單元或橫跨所有宏單元的低功率模式,這個(gè)特性可使器件功率顯著減少。8.加電特性XC9500器件在所有的運(yùn)行條件下具有良好的性能。在加電期間,每個(gè)XC9500器件采用內(nèi)部電路保持器件在靜止?fàn)顟B(tài),直到電源電壓VCCINT保持在安全電平(近似3.8V)。在此時(shí)間內(nèi),所有器件引腳和JTAG引腳被禁用,所有器件輸出用IOB上拉電阻使能禁止。旁批欄:2.3FPGA的基本結(jié)構(gòu)及特點(diǎn)以Xilinx公司生產(chǎn)的XC4000系列器件為例,介紹FPGA的基本結(jié)構(gòu)及各模塊的功能。典型的FPGA由三種可編程單元:可編程邏輯塊CLB(ConfigurableLogicBlock)、可編程輸入/輸出塊IOB(Input/OutputBlock)、可編程連線資源PI(ProgrammableInterconnect)和一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲(chǔ)器組成。1.可編程邏輯塊CLB可編程邏輯塊CLB是FPGA中的基本邏輯單元,它可實(shí)現(xiàn)絕大多數(shù)的邏輯功能。XC4000系列可編程邏輯塊CLB簡化的原理框圖如圖2-15所示。由圖可知,CLB中包含有三個(gè)邏輯函數(shù)發(fā)生器、兩個(gè)觸發(fā)器、進(jìn)位邏輯(圖中未畫出)、編程數(shù)據(jù)存儲(chǔ)單元、數(shù)據(jù)選擇器及其他控制電路。2.輸入/輸出塊IOBIOB是FPGA外部封裝引腳和內(nèi)部邏輯間的接口。每個(gè)IOB對應(yīng)一個(gè)封裝引腳,通過在IOB有關(guān)的編程數(shù)據(jù)存儲(chǔ)單元中寫入不同的數(shù)據(jù),可將引腳定義為輸入、輸出和雙向功能。3.可編程連線資源PI可編程連線資源分布在CLB陣列的行、列間隙上,由水平和垂直的兩層金屬線段組成格柵狀結(jié)構(gòu)。XC4000系列中有五種類型的可編程連線:單長線、雙長線、長線、全局時(shí)鐘線和進(jìn)位鏈。單長線的長度相當(dāng)于兩個(gè)CLB之間的距離,它們通過開關(guān)矩陣PSM與其他單長線相連。雙長線的長度相當(dāng)于2倍的單長線的長度。雙長線每經(jīng)過兩個(gè)CLB間距才進(jìn)入開關(guān)矩陣,它們兩根一組,交叉穿過CLB。除時(shí)鐘端(K)輸入外,所有CLB的輸入均可由相鄰的雙長線驅(qū)動(dòng),且每個(gè)CLB的輸出也可驅(qū)動(dòng)水平和垂直方向的相鄰雙長線。長線是貫穿于整個(gè)陣列的水平或垂直線段,它們不經(jīng)過開關(guān)矩陣,每條長線的中點(diǎn)處有一可編程的分離開關(guān),可將長線分成兩條獨(dú)立的布線通道。全局時(shí)鐘線只分布在垂直方向上。單長線與CLB輸入、輸出間有許多直接連接點(diǎn),因此有很高的布線成功率。單長線提供了最好的互連靈活性和相鄰模塊的快速布線。由于信號每經(jīng)過一個(gè)開關(guān)矩陣都要產(chǎn)生一定的延時(shí),所以單長線不適合長距離傳輸?shù)男盘枴Ec單長線相比,雙長線減少了經(jīng)過矩陣開關(guān)的數(shù)量,更有效地提供了中等距離的信號通道,提高了系統(tǒng)的工作速度。長線通常用于高扇出和時(shí)間要求苛刻的信號。全局時(shí)鐘線主要用來提供全局的時(shí)鐘信號和高扇出的控制信號。旁批欄:

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:2.4FPGA和CPLD的開發(fā)應(yīng)用選擇教學(xué)目的及要求:1、掌握FPGA和CPLD開發(fā)應(yīng)用的不同教學(xué)重點(diǎn):1、FPGA和CPLD開發(fā)應(yīng)用的不同教學(xué)難點(diǎn):1、FPGA和CPLD開發(fā)應(yīng)用的不同2.4FPGA和CPLD的開發(fā)應(yīng)用選擇1.FPGA和CPLD的性能比較FPGA與CPLD在結(jié)構(gòu)上的主要區(qū)別是:1)邏輯塊的粒度不同邏輯塊指PLD芯片中按結(jié)構(gòu)劃分的功能模塊,它有相對獨(dú)立的組合邏輯陣列,塊間靠互連系統(tǒng)聯(lián)系。2)邏輯之間的互連結(jié)構(gòu)不同邏輯系統(tǒng)通常可分兩大類型:一類是控制密集型,一類是數(shù)據(jù)密集型。控制密集型也稱邏輯密集型,如高速緩存控制、DRAM控制和DMA控制等,它們僅需要很少的數(shù)據(jù)處理能力,但邏輯關(guān)系一般都復(fù)雜。數(shù)據(jù)密集型需要大量數(shù)據(jù)處理能力,其應(yīng)用多見于通訊領(lǐng)域。為了選擇合適的PLD芯片,應(yīng)從速度與性能、邏輯利用率、使用方便性、編程技術(shù)等方面進(jìn)行考查。2FPGA和CPLD的開發(fā)應(yīng)用選擇盡管FPGA和CPLD都是可編程ASIC器件,有很多共同特點(diǎn),但由于CPLD和FPGA結(jié)構(gòu)上的差異,具有各自的特點(diǎn):1)CPLD更適合完成各種算法和組合邏輯,F(xiàn)PGA更適合于完成時(shí)序邏輯。換句話說,F(xiàn)PGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu)。2)CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測的,而FPGA的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測性。3)在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內(nèi)連電路的邏輯功能來編程,F(xiàn)PGA主要通過改變內(nèi)部連線的布線來編程;FPGA可在邏輯門下編程,而CPLD是在邏輯塊下編程。旁批欄:4)FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。5)CPLD比FPGA使用起來更方便。CPLD的編程采用E2PROM或FASTFLASH技術(shù),無需外部存儲(chǔ)器芯片,使用簡單。而FPGA的編程信息需存放在外部存儲(chǔ)器上,使用方法復(fù)雜。6)CPLD的速度比FPGA快,并且具有較大的時(shí)間可預(yù)測性。這是由于FPGA是門級編程,并且CLB之間采用分布式互聯(lián),而CPLD是邏輯塊級編程,并且其邏輯塊之間的互聯(lián)是集總式的。7)在編程方式上,CPLD主要是基于E2PROM或FLASH存儲(chǔ)器編程,編程次數(shù)可達(dá)1萬次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。CPLD又可分為在編程器上編程和在系統(tǒng)編程兩類。FPGA大部分是基于SRAM編程,編程信息在系統(tǒng)斷電時(shí)丟失,每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫入SRAM中。其優(yōu)點(diǎn)是可以編程任意次,可在工作中快速編程,從而實(shí)現(xiàn)板級和系統(tǒng)級的動(dòng)態(tài)配置。8)CPLD保密性好,F(xiàn)PGA保密性差。9)一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。旁批欄:

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:2.5Xilinx新型系列器件簡介教學(xué)目的及要求:1、了解Xilinx新型系列器件教學(xué)重點(diǎn):1、Xilinx新型系列器件的使用教學(xué)難點(diǎn):1、Xilinx新型系列器件的使用2.5Xilinx新型系列器件簡介目前,Xilinx公司有兩大類FPGA產(chǎn)品:Spartan類和Virtex類,前者主要面向低成本的中低端應(yīng)用,是當(dāng)前業(yè)界成本最低的一類FPGA;后者主要面向高端應(yīng)用,屬于業(yè)界的頂級產(chǎn)品。1Spartan系列Spartan系列適用于普通的工業(yè)、商業(yè)等領(lǐng)域,目前主流的芯片包括:Spartan-2、Spartan-2E、Spartan-3、Spartan-3A以及Spartan-3E等種類。其中Spartan-2最高可達(dá)20萬系統(tǒng)門,Spartan-2E最高可達(dá)60萬系統(tǒng)門,Spartan-3最高可達(dá)500萬門,Spartan-3A和Spartan-3E不僅系統(tǒng)門數(shù)更大,還增強(qiáng)了大量的內(nèi)嵌專用乘法器和專用塊RAM資源,具備實(shí)現(xiàn)復(fù)雜數(shù)字信號處理和片上可編程系統(tǒng)的能力。2Virtex系列Virtex系列是Xilinx的高端產(chǎn)品,也是業(yè)界的頂級產(chǎn)品,Xilinx公司正是憑借Vitex系列產(chǎn)品贏得市場,從而獲得FPGA供應(yīng)商領(lǐng)頭羊的地位。可以說Xilinx以其Virtex-5、Virtex-4、Virtex-IIPro和Virtex-II系列FPGA產(chǎn)品引領(lǐng)現(xiàn)場可編程門陣列行業(yè)。主要面向電信基礎(chǔ)設(shè)施、汽車工業(yè)、高端消費(fèi)電子等應(yīng)用。目前的主流芯片包括:Vitrex-2、Virtex-2Pro、Vitex-4和Virtex-5等種類。本章小結(jié)本章首先介紹了可編程邏輯器件的基本概念和發(fā)展歷史,分析了其基本結(jié)構(gòu);然后詳細(xì)介紹了CPLD、FPGA器件的工作原理、芯片結(jié)構(gòu),并在此基礎(chǔ)上討論了相關(guān)器件的組成部件、特點(diǎn);最后列舉了Xilinx公司的主流新型產(chǎn)品,這些系列被廣泛地應(yīng)用在數(shù)字系統(tǒng)設(shè)計(jì)中,熟悉了解其性能指標(biāo)和參數(shù)是Xilinx芯片開發(fā)人員所必須的。旁批欄:

授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:第3章基于ISE的開發(fā)環(huán)境使用指南3.1ISE介紹與安裝3.2ISE的工程建立與設(shè)計(jì)輸入教學(xué)目的及要求:1、了解ISE的安裝2、掌握ISE的工程建立與設(shè)計(jì)輸入教學(xué)重點(diǎn):1、ISE的工程建立與設(shè)計(jì)輸入教學(xué)難點(diǎn):1、ISE的工程建立與設(shè)計(jì)輸入第3章基于ISE的開發(fā)環(huán)境使用指南3.1ISE介紹與安裝ISE功能簡介完整的FPGA/CPLD設(shè)計(jì)流程包括設(shè)計(jì)輸入、仿真、綜合、實(shí)現(xiàn)及下載等主要步驟。下面分別介紹FPGA開發(fā)流程中ISE提供的設(shè)計(jì)工具。(1)設(shè)計(jì)輸入:ISE提供的設(shè)計(jì)輸入工具包括用于HDL代碼輸入和查看報(bào)告的ISE文編輯器(TheISETextEditor),用于生成IPCore的CoreGenerator,用于約束文件編輯的ConstraintEditor以及用于原理圖編輯的工具ECS(TheEngineeringCaptureSystem)等。(2)仿真:ISE提供基于HDL測試代碼的仿真。同時(shí)提供使用MentorGraphic公司的Modesim進(jìn)行仿真接口。(3)綜合:ISE的綜合工具不但包含了Xilinx自身提供的綜合工具XST,還可以內(nèi)嵌MentorGraphic公司的LeonardoSpectrum和Synplicity公司的Synplify的綜合工具,實(shí)現(xiàn)無縫鏈接。(4)實(shí)現(xiàn):Xilinx的實(shí)現(xiàn)過程包括翻譯(Translate)、映射(Map)、布局布線(Place&Route)三步。在實(shí)現(xiàn)過程中需要添加約束。(5)下載:下載功能包括BitGen和iMPACT。BitGen用于將布局布線后的設(shè)計(jì)文件轉(zhuǎn)換為位流文件;iMPACT是進(jìn)行設(shè)備配置和通信,控制將程序燒寫到FPGA芯片中去。ISE軟件的安裝ISE軟件支持MicrosoftwindowsXP、MicrosoftVista、RedHatEnterpriseLinux以及SUSEEnterprise10等十多種操作系統(tǒng)。IES軟件安裝的基本硬件要求如下:CPU在PⅢ以上,內(nèi)存大于256MB,硬盤大于10GB的硬件安裝環(huán)境。旁批欄:3.2ISE的工程建立與設(shè)計(jì)輸入ISE的工程建立打開ISE軟件。雙擊桌面XilinxISE11快捷方式或者依次選擇【開始】→【程序】→【XilinxISEDesignSuite11】→【ISE】→【ProjectNavigator】,即可進(jìn)入ISE主界面基于ISE的HDL代碼輸入工程建立之后,就要進(jìn)行源代碼的輸入了。對于邏輯設(shè)計(jì),最常用的輸入方式就是HDL代碼輸入法(VerilogModule、VHDLModule)新建代碼的類型,各項(xiàng)的意義如下。(1)BMMFile:塊存儲(chǔ)器映射(BlockMemoryMap)文件,用于將單個(gè)的塊RAM連成一個(gè)更大容量的存儲(chǔ)邏輯單元。(2)ChipScopeDefinitionandConnectionFile:在線邏輯分析儀ChipScope文件類型,具有獨(dú)特的優(yōu)勢和強(qiáng)大的功能。(3)ImplementationConstraintsFile:約束文件類型,可添加時(shí)序和位置約束。(4)IP(COREGenerator&ArchitectureWizard):由ISE的IPCore生成工具快速生成可靠的源代碼,這是目前最流行、最快速的一種設(shè)計(jì)方法。本節(jié)小結(jié)本節(jié)主要介紹了如何新建一個(gè)ISE工程及常用的設(shè)計(jì)輸入方法,這是基于XilinxISE開發(fā)FPGA的第一步,也是非常重要的一步,讀者應(yīng)該熟練掌握各種輸入方法。特別是HDL輸入法,這也是在以后的FPGA設(shè)計(jì)過程中使用最多的一種輸入方法。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:3.3基于ISE的仿真教學(xué)目的及要求:1、掌握3.3基于ISE的仿真教學(xué)重點(diǎn):1、基于ISE的仿真教學(xué)難點(diǎn):1、基于ISE的仿真3.3基于ISE的仿真基于ISE的FPGA開發(fā)流程包含代碼輸入、仿真、綜合、實(shí)現(xiàn)以及下載。仿真的作用是在代碼輸入之后驗(yàn)證代碼是否符合設(shè)計(jì)的要求下面以一個(gè)8位計(jì)數(shù)器為例,介紹如何使用ISE集成仿真工具。設(shè)計(jì)一個(gè)計(jì)數(shù)器,其功能是將輸入的數(shù)據(jù)加1寄存并輸出。在代碼編寫完畢后,需要借助于測試平臺來驗(yàn)證所設(shè)計(jì)的模塊是否滿足要求。下面介紹如何利用HDL測試代碼進(jìn)行仿真驗(yàn)證。基于HDL測試代碼的仿真1.首先在工程管理區(qū)將Sourcesfor選項(xiàng)設(shè)置為BehavioralSimulation,如圖3-40所示。在工程管理區(qū)單擊鼠標(biāo)右鍵,并在彈出的菜單中選擇NewSource命令,然后選中VerilogTestFixture類型,輸入文件名為test_counter旁批欄:2.單擊Next按鈕進(jìn)入下一頁。如果工程中有多個(gè)VerilogModule文件,所有的的名稱都會(huì)顯示出來,設(shè)計(jì)人員需要選擇要進(jìn)行測試的模塊。本工程中只有一個(gè)源文件,用鼠標(biāo)選中counter3.單擊Next按鈕進(jìn)入下一頁,直接單擊Finish按鈕,ISE會(huì)在源代碼編輯區(qū)自動(dòng)顯示測試模塊的代碼:由此可見,ISE自動(dòng)生成了測試平臺的完整架構(gòu),包括所需信號、端口聲明以及模塊調(diào)用的完成。所需的工作就是在initial….end模塊中的“//Addstimulushere”后面添加測試向量生成代碼。添加的測試代碼如下:#15reset=1;always#5clk=~clk;完成測試平臺后,在工程管理區(qū)將Sourcesfor選項(xiàng)設(shè)置為BehavioralSimulation,這時(shí)在過程管理區(qū)會(huì)顯示與仿真有關(guān)的進(jìn)程,右鍵單擊“SimulateBehavioralModel”,在彈出的窗口中點(diǎn)擊“Run”,如圖3-55所示。或者雙擊“SimulateBehavioralModel”就自動(dòng)重啟ISESimulator軟件。在界面的中心區(qū)可以查看代碼仿真的結(jié)果,確定其功能是否符合設(shè)計(jì)意圖。這里設(shè)計(jì)的計(jì)數(shù)器仿真結(jié)果完全符合設(shè)計(jì)意圖。本節(jié)小結(jié)仿真驗(yàn)證包含綜合后仿真和功能仿真(Simulation)等。功能仿真就是對設(shè)計(jì)電路的邏輯功能進(jìn)行模擬測試,看其是否滿足設(shè)計(jì)要求。綜合后仿真在針對目標(biāo)器件進(jìn)行適配之后進(jìn)行,綜合后仿真接近真實(shí)器件的特性進(jìn)行,能精確給出輸入與輸出之間的信號延時(shí)數(shù)據(jù)。本節(jié)主要介紹了如何使用ISE軟件提供的Isim進(jìn)行功能仿真的具體操作方法。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:3.4基于ISE的綜合與實(shí)現(xiàn)教學(xué)目的及要求:1、掌握基于ISE的綜合與實(shí)現(xiàn)教學(xué)重點(diǎn):1、基于ISE的綜合與實(shí)現(xiàn)教學(xué)難點(diǎn):1、基于ISE的綜合與實(shí)現(xiàn)3.4基于ISE的綜合與實(shí)現(xiàn).1基于XilinxXST的綜合所謂綜合,就是將HDL語言、原理圖等設(shè)計(jì)輸入翻譯成由與、或、非門和RAM、觸發(fā)器等基本邏輯單元的邏輯連接(網(wǎng)表),并根據(jù)目標(biāo)和要求(約束條件)優(yōu)化所生成的邏輯連接,生成EDF文件。綜合可能出現(xiàn)3種結(jié)果:如果綜合后完全正確,則在Synthesize-XST前面有一個(gè)打鉤的綠色小圈圈;如果有警告,則出現(xiàn)一個(gè)帶感嘆號的黃色小圓圈;如果有錯(cuò)誤,則出現(xiàn)一個(gè)帶叉的紅色小圈圈。(1)查看綜合報(bào)告(2)查看綜合后的RTL視圖2基于ISE的實(shí)現(xiàn)ISE實(shí)現(xiàn)過程簡介實(shí)現(xiàn)(Implement)是將綜合輸出的邏輯網(wǎng)表翻譯成所選器件的底層模塊與硬件原語,將設(shè)計(jì)映射到器件結(jié)構(gòu)上,進(jìn)行布局布線,達(dá)到在選定器件上實(shí)現(xiàn)設(shè)計(jì)的目的。實(shí)現(xiàn)主要分為3個(gè)步驟:翻譯(Translate)邏輯網(wǎng)表,映射(Map)到器件單元與布局布線(Place&Route)。(1)翻譯的主要作用是將綜合輸出的邏輯網(wǎng)表翻譯為Xilinx特定器件的底層結(jié)構(gòu)和硬件原語。(2)映射的主要作用是將設(shè)計(jì)映射到具體型號的器件上。(3)布局布線調(diào)用Xilinx布局布線器,根據(jù)用戶約束和物理約束,對設(shè)計(jì)模塊進(jìn)行實(shí)際的布局,并根據(jù)設(shè)計(jì)連接,對布局后的模塊進(jìn)行布線,產(chǎn)生FPGA/CPLD配置文件。(1)翻譯過程在翻譯過程中,設(shè)計(jì)文件和約束文件將被合并生成NGD(原始類型數(shù)據(jù)庫)輸出文件和BLD文件,其中NGD文件包含了當(dāng)前設(shè)計(jì)的全部邏輯描述,BLD文件是轉(zhuǎn)換的運(yùn)行和結(jié)果報(bào)告。旁批欄:(2)映射過程在映射過程中,由翻譯過程生成的NGD文件將被映射為目標(biāo)器件的特定物理邏輯單元,并保存在NCD(展開的物理設(shè)計(jì)數(shù)據(jù)庫)文件中。(3)布局和布線過程布局布線將映射后生成的物理邏輯單元在目標(biāo)系統(tǒng)中放置和連線,并提取相應(yīng)的時(shí)間參數(shù)。布局布線的輸入文件包括NCD和PCF模板文件,輸出文件包括NCD、DLY(延時(shí)文件)、PAD和PAR文件。ISE實(shí)現(xiàn)操作及屬性設(shè)置(1)ISE實(shí)現(xiàn)操作(2)實(shí)現(xiàn)屬性設(shè)置(3)布局布線參數(shù)設(shè)置小結(jié):綜合是將行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)化為低層次模塊的組合。一般來說,綜合是針對HDL來說的,即將HDL描述的模型、算法、行為和功能描述轉(zhuǎn)換為FPGA/CPLD基本結(jié)構(gòu)相對應(yīng)的網(wǎng)表文件,即構(gòu)成對應(yīng)的映射關(guān)系。本節(jié)主要介紹了基于ISE的綜合與實(shí)現(xiàn)的操作方法及屬性設(shè)置,讀者應(yīng)該重點(diǎn)掌握綜合和實(shí)現(xiàn)的操作方法。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:3.5FPGA配置與編程教學(xué)目的及要求:1、了解ISE的配置電路2、掌握ISE的配置方式及軟件操作教學(xué)重點(diǎn):1、ISE的配置方式及軟件操作教學(xué)難點(diǎn):1、ISE的配置方式及軟件操作3.5FPGA配置與編程.XilinxFPGA配置電路綜述1.概述硬件配置是FPGA開發(fā)關(guān)鍵的一步,只有將HDL代碼下載到FPGA芯片中,才能最終實(shí)現(xiàn)相應(yīng)的功能。完成FPGA配置,必須要有類似于單片機(jī)仿真器的下載電纜才能完成。將配置數(shù)據(jù)從PC機(jī)加載到XilinxFPGA芯片中的整個(gè)配置過程,可分為以下幾個(gè)步驟:(1)初始化初始化過程完成后,DONE信號將會(huì)變低。(2)清空配置存儲(chǔ)器在完成初始化過程后,器件會(huì)將INIT信號置低電平,同時(shí)開始清空配置存儲(chǔ)器。在清空完配置存儲(chǔ)器后,INIT信號將會(huì)重新被置為高電平。用戶可以通過將PROG或INIT信號(1NIT為雙向信號)置為低電平,從而達(dá)到延長清空配置存儲(chǔ)器的時(shí)間,以確保存儲(chǔ)器被清空的目的。(3)加載配置數(shù)據(jù)配置存儲(chǔ)器的清空完成后,器件對配置模式引腳M2、N1、M0進(jìn)行采樣,以確定用何種方式來加載配置數(shù)據(jù)。(4)CRC錯(cuò)誤檢查器件在加載配置數(shù)據(jù)的同時(shí),會(huì)根據(jù)一定的算法產(chǎn)生一個(gè)CRC值,這個(gè)值將會(huì)和配置文件中內(nèi)置的CRC值進(jìn)行比較,如果兩者不一致,則說明加載發(fā)生錯(cuò)誤,INIT引腳將會(huì)被置低電平,加載過程被中斷。此時(shí)若要進(jìn)行重新配置,只需將PROG置為低電平即可。(5)START-UPSTART-UP階段是FPGA由配置狀態(tài)過渡到用戶狀態(tài)的過程。在START-UP完成后,F(xiàn)PGA便可實(shí)現(xiàn)用戶編程的功能。旁批欄:2.XilinxFPGA常用的配置管腳與配置有關(guān)的管腳可以分為專用管腳和復(fù)用管腳兩類,前者只能用于FPGA配置,后者在配置過程結(jié)束后,還可當(dāng)作普通I/O使用。專用的配置引腳有:配置模式腳M2、M1、M0;配置時(shí)鐘CCLK;配置邏輯異步復(fù)位PROG,啟動(dòng)控制DONE及邊界掃描TDI,TDO,TMS,TCK。非專用配置引腳有Din,D0:D7,CS,WRITE,BUSY,INIT。當(dāng)然,某些專業(yè)配置管腳在配置結(jié)束后也可作為普通管腳使用。3.XilinxFPGA配置電路的分類FPGA配置方式靈活多樣,根據(jù)芯片是否能夠自己主動(dòng)加載配置數(shù)據(jù)分為主模式和從模式。(1)主模式在主模式下,F(xiàn)PGA上電后,自動(dòng)將配置數(shù)據(jù)從相應(yīng)的外存儲(chǔ)器讀入到SRAM中,實(shí)現(xiàn)內(nèi)部結(jié)構(gòu)映射。(2)從模式在從模式下,F(xiàn)PGA作為從屬器件,由相應(yīng)的控制電路或微處理器提供配置所需的時(shí)序,實(shí)現(xiàn)配置數(shù)據(jù)的下載。(3)JTAG模式在JTAG模式中,PC和FPGA通信的時(shí)鐘為JTAG接口的TCLK,數(shù)據(jù)直接從TDI進(jìn)入FPGA,完成相應(yīng)功能的配置。iMPACT的基本操作1.iMPACT功能簡介iMPACT支持4種下載模式:邊界掃描模式(JTAG)、SelectMap模式、從串模式以及Desktop配置模式。2.IMPACT用戶界面有兩種方法可以啟動(dòng)iMPACT軟件,一種是在ISE過程管理區(qū)中,右鍵單擊“ConfigureTargetDevice”,在彈出的窗口中單擊“Run”選項(xiàng),如圖3.4所示。或者直接雙擊“ConfigureTargetDevice”選項(xiàng)。即可進(jìn)入ISEiMPACT用戶界面。使用iMPACT創(chuàng)建配置文件工程經(jīng)過綜合、實(shí)現(xiàn)之后,需要為器件生成相應(yīng)的編程文件。ISE中內(nèi)嵌了比特流生成器,可生成FPGA以及PROM格式文件,從而實(shí)現(xiàn)動(dòng)態(tài)配置,并驗(yàn)證數(shù)據(jù)是否正確。1.FPGA配置操作2..配置PROM器件只有生成PROM文件并下載PROM芯片后,才能保證FPGA上電后自動(dòng)加載邏輯并正常工作,與生成FPGA配置文件相比,生成PROM配置文件操作較復(fù)雜。本節(jié)小結(jié)本節(jié)介紹了FPGA配置電路的軟件操作,給出了使用iMPACT的使用方法。配置電路時(shí)FPGA設(shè)計(jì)中的重中之中,讀者需要多多練習(xí),在一定的實(shí)踐中才能更好的掌握。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:3.6約束文件的編寫3.7集成化邏輯分析儀教學(xué)目的及要求:1、掌握ISE的在線邏輯分析儀的使用教學(xué)重點(diǎn):1、ISE的在線邏輯分析儀的使用教學(xué)難點(diǎn):1、ISE的在線邏輯分析儀的使用3.6約束文件的編寫FPGA設(shè)計(jì)中的約束文件有3類:用戶設(shè)計(jì)文件(.UCF)、網(wǎng)表約束文件(.NCF)以及物理約束文件(.PCF),可以完成時(shí)序約束、管腳約束和區(qū)域約束。UCF文件的語法說明1.語法UCF文件的語法為:{NET|INST|PIN}"name"Attribute;其中,“name”是指所約束對象的名字,包含了對象所在層次的描述;“Attribute”為約束的具體描述;語句必須以分號“;”結(jié)束。可以用“#”或“/**/”添加注釋。ISE中UCF的編寫用戶創(chuàng)建的約束文件后綴是.ucf,所以一般也被稱為UCF文件。下面介紹如何新建一個(gè)UCF文件。在ISE主界面的工程管理區(qū),單擊右鍵,在彈出的窗口中選擇“NewSource”旁批欄:3.7集成化邏輯分析儀邏輯分析儀是FPGA調(diào)試階段不可或缺的工具,但隨著可編程邏輯器件向大容量、高速度和小封裝發(fā)展,其輸入輸出的管腳數(shù)越來越多且越來越密集。這給使用外置的邏輯分析儀和示波器等傳統(tǒng)的調(diào)試方法帶來了很大的困難。同時(shí)跟蹤和測試高速信號所采用邏輯分析儀非常昂貴。Xilinx公司為了解決這兩個(gè)問題,推出了在線邏輯分析儀(ChipScopePro)。傳統(tǒng)的邏輯分析儀只能對FPGA的輸入輸出管腳進(jìn)行測試。無法觀察FPGA的內(nèi)部節(jié)點(diǎn)信號。ChipScopePro(集成化邏輯分析工具)將邏輯分析器、總線分析器和虛擬I/O小型軟件插入到用戶的設(shè)計(jì)當(dāng)中,采集到的數(shù)據(jù)從編程口引出,再將采集到的信號通過ChipScopePro邏輯分析器進(jìn)行分析,從而解放了更多的管腳。ChipScopePro的開發(fā)流程如圖1.首先,生成系統(tǒng)控制模塊的ICON核,然后生成各類邏輯分析儀核,包括ILA核、VIO核以及ATC2核等,設(shè)定觸發(fā)條件、數(shù)據(jù)線寬度、采集長度,并將其和ICON核關(guān)聯(lián)起來;2.完成設(shè)計(jì)及其相關(guān)核的綜合,將設(shè)計(jì)中期望觀測的信號和分析核的觸發(fā)以及數(shù)據(jù)信號連接起來;3.完成整體系統(tǒng)的實(shí)現(xiàn)并下載到芯片當(dāng)中;4.打開ChipScopeAnalyzer設(shè)定觸發(fā)條件,觀察波形。本節(jié)小結(jié)邏輯分析儀是FPGA調(diào)試階段不可或缺的工具,Xilinx公司提供的在線邏輯分析儀克服了傳統(tǒng)邏輯分析儀的缺點(diǎn),并且操作簡單、成本低廉。本節(jié)詳細(xì)的介紹ISE在線邏輯分析儀的使用方法。讀者應(yīng)在不斷的練習(xí)中熟練掌握操作方法。本章小結(jié)本章詳細(xì)的介紹了基于ISE11.1的FPGA設(shè)計(jì)流程的使用方法。首先介紹了ISE11.1軟件主要特性、安裝流程和基本的操作方法,然后介紹了如何通過ISE完成FPGA的設(shè)計(jì),詳細(xì)介紹了設(shè)計(jì)輸入、綜合、仿真以及實(shí)現(xiàn)的軟件操作;接著介紹了XilinxFPGA的配置電路以及UCF文件的語法規(guī)則。最后闡述了在線邏輯分析儀的使用方法。讀者應(yīng)在實(shí)際操作過程中熟練掌握這些操作。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:第4章第三方工具介紹4.1ModelsimSE6.2軟件的使用1教學(xué)目的及要求:1、了解了解Modelsim的安裝過程;2、掌握利用Modelsim進(jìn)行功能和時(shí)序仿真的流程教學(xué)重點(diǎn):1、Modelsim進(jìn)行功能和時(shí)序仿真的流程教學(xué)難點(diǎn):1、Modelsim進(jìn)行功能和時(shí)序仿真的流程第4章第三方工具介紹4.1ModelsimSE6.2軟件的使用1Modelsim仿真工具是ModelTech公司開發(fā)的,它支持VHDL語言和Verilog以及它們的混合仿真,它可以將整個(gè)程序分步執(zhí)行,使設(shè)計(jì)者直接看到他的程序下一步要執(zhí)行的語句,從而做到對程序的單步調(diào)試,極大的方便了程序員開發(fā)。因?yàn)樗鼜?qiáng)大的仿真功能,使其成為業(yè)界最通用的仿真器之一。ModelsimSE6.2軟件的安裝雙擊Modelsim的安裝文件壓縮包,雙擊解壓出來的setup.exe安裝文件開始安裝。ModelsimSE6.2安裝好后,可以啟動(dòng)Modelsim程序驗(yàn)證安裝的效果。4.1.2利用ModelsimSE6.2進(jìn)行功能仿真利用Modelsim可以對設(shè)計(jì)模塊進(jìn)行功能仿真和時(shí)序仿真,其中功能仿真僅僅驗(yàn)證設(shè)計(jì)模塊的基本邏輯功能,屬于最基本的驗(yàn)證,其不需要布局布線后產(chǎn)生的時(shí)序信息;時(shí)序仿真又稱后仿真,是對設(shè)計(jì)模塊進(jìn)行綜合、布局布線后進(jìn)行的仿真,其除了功能仿真時(shí)需要的文件以外,還需要網(wǎng)表文件和包含延時(shí)信息的文件。旁批欄:利用Modelsim進(jìn)行仿真通常包含以下幾個(gè)步驟:(1)新建工程,設(shè)置工程的存放路徑;(2)建立庫文件,同時(shí)設(shè)置庫文件的存放路徑和工程的存放路徑保持一致;(3)編譯調(diào)試源代碼,直至能編譯通過;(4)啟動(dòng)仿真器,設(shè)置仿真參數(shù);運(yùn)行仿真;利用Modelsim進(jìn)行功能仿真,具體操作步驟如下:首先是編寫仿真源文件,在文件中利用Verilog的仿真語句輸入信號的波形,并將輸入和輸出端口列在頂層文件中。本書提供兩個(gè)示例源程序,文件名分別為count_top.v和count4.v。(2)將兩個(gè)源文件放在D:/example目錄下,備Modelsim調(diào)用。(3)打開Modelsim軟件,選擇“FileChangeDirectory”然后再彈出的對話框中選擇D:/example。(4)選擇“FileNewproject”在彈出的對話框中輸入工程名,如“exam”。(5)在接下來彈出的框中選擇“AddExistingFile”選項(xiàng),將counter_top.v和count4.v添加到工程中來。(6)編譯文件,選擇“CompileCompileAll”選項(xiàng)對兩個(gè)文件進(jìn)行編譯。(7)編譯成功后,對兩文件進(jìn)行仿真,選擇“SimulateStartSimulation”并在如圖4-4所示的彈出窗口中點(diǎn)開work庫。選擇兩個(gè)源程序后點(diǎn)擊OK。然后選擇“SimulateRunRun-All”(8)選擇“viewWave”彈出wave窗口。然后再工作空間的右鍵點(diǎn)擊count_top文件并選擇“AddAddtoWave”,將仿真出來的信號導(dǎo)入波形文件中。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:4.1ModelsimSE6.2軟件的使用2教學(xué)目的及要求:1、了解了解Modelsim的安裝過程;2、掌握利用Modelsim進(jìn)行功能和時(shí)序仿真的流程教學(xué)重點(diǎn):1、Modelsim進(jìn)行功能和時(shí)序仿真的流程教學(xué)難點(diǎn):1、Modelsim進(jìn)行功能和時(shí)序仿真的流程4.1ModelsimSE6.2軟件的使用24.1.3利用ModelsimSE6.2進(jìn)行時(shí)序仿真ModelsimSE6.2進(jìn)行時(shí)序仿真時(shí),需要綜合、布局布線后產(chǎn)生的網(wǎng)表文件,測試激勵(lì)文件,元件庫以及時(shí)延信息的反標(biāo)文件(通常為sdf文件)。這些文件通常可以對XilinxISE做相應(yīng)設(shè)置后,在對設(shè)計(jì)模塊編譯過程中自動(dòng)生成。將這些文件導(dǎo)入Modelsim中后即可對設(shè)計(jì)模塊進(jìn)行時(shí)序仿真。下面是在Modelsim中進(jìn)行時(shí)序仿真的主要步驟:(1)打開ModelsimSE6.2,新建仿真工程,同時(shí)將count4.v和count_top.v放到工程目錄下,并添加到工程中來。將庫文件也放在工程目錄中來,同時(shí)添加到工程中。(2)新建庫文件,將count4.v和count_top.v放在work庫中,將庫文件放在以元器件命名的庫中,比如庫名為spartan3。(3)編譯庫文件,并對程序進(jìn)行調(diào)試,直至編譯通過。(4)選擇“SimulateStartSimulation”設(shè)置仿真選項(xiàng)。在圖4-6所示的Design標(biāo)簽中選擇work庫中的測試文件即count_top.v,同樣需要注意去掉“Enableoptimization”選項(xiàng)。旁批欄:(5)然后再Libraries標(biāo)簽頁中添加仿真所需要的庫文件,如果不知道添加什么庫文件的話可以點(diǎn)擊0K,進(jìn)行編譯,根據(jù)Modelsim信息窗口的報(bào)錯(cuò)信息,重新點(diǎn)擊“SimulateStartSimulation”,重新在Libraries標(biāo)簽頁中添加庫文件。若工程中沒有包含報(bào)錯(cuò)信息中提示的庫文件,那么需要將庫文件添加到工程中進(jìn)行編譯,然后執(zhí)行上述操作。(6)在上述對話框中點(diǎn)擊“SDF”標(biāo)簽,在彈出的對話框中點(diǎn)擊“ADD”按鈕,在下面彈出的“ADDSDFEntry”對話框中加入延時(shí)信息文件,注意雖然標(biāo)簽上面寫明為“SDFFile”,但是實(shí)際中往往都是“.sdo”文件。在下面的“ApplytoRegion”中在“/”前面填入仿真測試文件的名稱(本例中為count_top,注意后面沒有.v),在“/”后面填入在仿真測試文件中例化可綜合程序的例化名,通過閱讀程序可知,count_top.v中對實(shí)體count4的例化名為mycount。(7)上述設(shè)置完成后回到(4)中的主界面下,點(diǎn)擊“OK”按鈕。這樣就完成了時(shí)序仿真的設(shè)置。(8)在Modelsim主界面下點(diǎn)擊“ViewWave”,將波形文件在主界面下顯示出來。(9)在工程管理窗口下可以看到出現(xiàn)了一個(gè)“sim”標(biāo)簽頁。在該標(biāo)簽頁下右擊頂層實(shí)體count_top,在彈出的選項(xiàng)中點(diǎn)擊“AddAddtoWave”,可以看到波形文件中出現(xiàn)了sim標(biāo)簽頁的信號(10)在工具欄的時(shí)間設(shè)置窗口中設(shè)置合理的仿真時(shí)間,通過閱讀測試程序count_top.v可知,本例中規(guī)定的仿真時(shí)間到2200ns結(jié)束,然后Modelsim將執(zhí)行程序中的finish命令,關(guān)閉Modelsim程序,從而無法觀察到仿真后的波形,所以本次仿真時(shí)間設(shè)置為2000ns,在程序未運(yùn)行到finish命令時(shí)充分觀察仿真波形,具體設(shè)置如圖4-10所示:(11)點(diǎn)擊“SimulateRunRun-all”命令,開始運(yùn)行仿真,也可以點(diǎn)擊工具欄中的按鈕來實(shí)現(xiàn)這一功能。仿真過后可以通過波形窗口觀察仿真結(jié)果。(12)為了方便對Modelsim仿真產(chǎn)生的波形進(jìn)行觀察,可以在波形窗口中對咬觀察的信號“/count_top/out”點(diǎn)擊右鍵“RadixUnsigned”,此時(shí)將out信號以無符號整數(shù)的形式顯示,更加直觀的看出了本實(shí)例程序的功能。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:4.1SynplifyPro軟件的使用1教學(xué)目的及要求:1、了解了解SynplifyPro的安裝過程;2、掌握SynplifyPro的操作流程教學(xué)重點(diǎn):1、SynplifyPro的操作流程教學(xué)難點(diǎn):1、SynplifyPro的操作流程4.2SynplifyPro軟件的使用1SynplifyPro是Synplicity公司提供的專門針對FPGA和CPLD實(shí)現(xiàn)的邏輯綜合工具,它可以對VHDL和Verilog語言中的可綜合子集進(jìn)行綜合。該軟件提供的SymbolicFSMCompiler是專門支持有效狀態(tài)機(jī)優(yōu)化的內(nèi)嵌工具;SCOPE是管理(包括輸入和查看)設(shè)計(jì)約束與屬性,提供活頁式分類,非常友好的表格界面;用于文本輸入的HDL語法敏感編輯窗口不僅提供了對綜合錯(cuò)誤的高亮顯示,結(jié)合圖形化的分析和cross_probe工具,HDLAnalyst可以把源代碼與綜合的結(jié)果有機(jī)地鏈接起來,幫助設(shè)計(jì)者迅速定位關(guān)鍵路徑,解決問題;其提供的命令行界面可以通過使用Tcl腳本極大的提高工作效率。4.2.1SynplifyPro9.0.1軟件的安裝(1)雙擊安裝程序開始安裝,在安裝程序的提示下,選擇接受授權(quán)許可,即勾選中“Iacceptthetermsofthelicenseagreement”,然后點(diǎn)擊“下一步”(Next)。(2)在彈出的對話框中勾選中“Synplify,SynolifyProandSynolifyPremier(DP)”選項(xiàng),注意不要勾選“FLEXnetlicenseserver…”選項(xiàng),同時(shí)在界面中選擇Synolify的適當(dāng)安裝路徑,本次選擇D:/Synplify,然后點(diǎn)擊“下一步”(Next)。(3)接下來點(diǎn)擊安裝選項(xiàng),Synplify就開始在你的電腦上安裝了。(4)SynplifyPro安裝到你的電腦上,你可以啟動(dòng)SynplifyPro來驗(yàn)證你的安裝效果。注意初次使用時(shí)可能會(huì)彈出一個(gè)license設(shè)置的框,選中SynplifyPro后點(diǎn)擊“SELECT”按鈕即可。4.2.2SynplifyPro9.0.1軟件的使用在開始菜單中單擊SynplifyPro,或者雙擊桌面上的SynplifyPro快捷方式,啟動(dòng)SynplifyPro軟件。旁批欄:(1)在開始菜單中單擊SynplifyPro,或者雙擊桌面上的SynplifyPro快捷方式,啟動(dòng)SynplifyPro軟件。(2)選擇“FileNewproject”或者點(diǎn)擊工具欄中的“P”圖標(biāo),新建一個(gè)工程。(3)點(diǎn)擊“ProjectImplementationOption”在“Device”選項(xiàng)卡中按圖4-16進(jìn)行設(shè)置(4)返回SynplifyPro軟件的主界面,在工程管理框中對所建的工程右鍵并選擇“AddSourceFile”。(5)此時(shí)可以看到工程管理框中的工程目錄下面會(huì)有源文件選項(xiàng),由于本例中源文件為Verilog文件,SynplifyPro自動(dòng)識別后將其放入Verilog子選項(xiàng)下。(6)如(4)中對工程管理選項(xiàng)頭文件右鍵并單擊“Save”,注意選擇合適的路徑,本例中仍然選擇D:\example。(7)在工程管理框中雙擊源文件名count4.v打開源文件,在SynplifyPro中可以查看和修改源文件,查看或修改后點(diǎn)擊“RunSyntaxCheck”進(jìn)行語法錯(cuò)誤檢查。(8)在SynplifyPro主界面下點(diǎn)擊Run按鈕,SynplifyPro就開始對工程進(jìn)行綜合(9)回想(3)中對工程輸出文件的設(shè)置為:count4.edf文件,edf文件可以用來交給XilinxsISE經(jīng)過適配、布局布線等操作產(chǎn)生配置FPGA的文件。(10)用SynplifyPro可以查看綜合出來的RTL電路圖,具體操作為點(diǎn)擊“HDL-AnalystRTLHierarchicalView”則可在彈出界面下觀察綜合后的電路圖模型(11)除此之外,我們也可以在SynplifyPro中查看具體到FPGA的底層連接電路,具體操作為“HDL-AnalystTechnologyHierarchicalView”旁批欄:(12)在綜合過后產(chǎn)生的綜合報(bào)告中(以htm形式顯示在SynplifyPro主界面下),我們可以查看綜合后的各種信息,在信息顯示區(qū)的左側(cè)還有一個(gè)報(bào)告分類區(qū)點(diǎn)擊CompilerReport就可以查看編譯的報(bào)告。點(diǎn)擊MapperReport可以查看映射器映射完成后的報(bào)告等等。我們可以發(fā)現(xiàn),SynplifyPro將多個(gè)報(bào)告整合在一個(gè)htm文件中,通過在報(bào)告分類管理界面點(diǎn)擊不同的報(bào)告,可以在SynplifyPro主界面下顯示不同的報(bào)告部分,從而得到分類顯示的目的。綜合工具所能提供的綜合報(bào)告越豐富,我們就能對綜合的電路了解的越詳細(xì),從而根據(jù)要求來對綜合器的綜合規(guī)則設(shè)置限制,從而方便我們對設(shè)計(jì)進(jìn)行調(diào)試。點(diǎn)擊ResourceUtilization可以觀察到程序經(jīng)過綜合后的資源占用情況。一般來說,綜合過程中所占資源和速度是兩個(gè)相互矛盾的指標(biāo),系統(tǒng)在占用資源較少的情況下,一般電路的工作速度比較慢;若需要電路工作的頻率較高,綜合結(jié)果一般會(huì)占用較多的器件資源。總體設(shè)計(jì)常常是權(quán)衡兩個(gè)資料對綜合約束規(guī)則進(jìn)行相關(guān)設(shè)置。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:4.1SynplifyPro軟件的使用2教學(xué)目的及要求:1、了解了解SynplifyPro的安裝過程;2、掌握SynplifyPro的操作流程教學(xué)重點(diǎn):1、SynplifyPro的操作流程教學(xué)難點(diǎn):1、SynplifyPro的操作流程SynplifyPro軟件的使用2練習(xí):設(shè)計(jì)一個(gè)16進(jìn)制計(jì)數(shù)器,使用Modelsim仿真驗(yàn)證其邏輯功能,并且使用Synplify查看RTL電路圖和底層電路圖。本章小結(jié)Modelsim是業(yè)界功能強(qiáng)大的仿真工具,學(xué)會(huì)使用Modelsim軟件可在FPGA設(shè)計(jì)過程中方便的對設(shè)計(jì)實(shí)體進(jìn)行功能和時(shí)序仿真,加快設(shè)計(jì)的進(jìn)程,初步驗(yàn)證程序的功能。本章介紹了仿真軟件Modelsim的幾種版本?并用詳細(xì)的步驟(可去掉)介紹了Modelsim的安裝過程和利用Modelsim進(jìn)行功能仿真以及時(shí)序仿真的過程。Synplify是FPGA設(shè)計(jì)中廣泛使用的綜合工具,學(xué)會(huì)使用Synplify可以更靈活的對所編的程序進(jìn)行綜合以得到滿足要求的電路。本章詳細(xì)介紹了綜合軟件Synplify的安裝過程,如何使用Synplify對程序進(jìn)行綜合,以及全面的查看綜合產(chǎn)生的電路和報(bào)告,從而更好的對程序進(jìn)行分析。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:第5章簡單數(shù)字邏輯電路的設(shè)計(jì)5.1基XilinxFPG的組合邏輯電路設(shè)計(jì)教學(xué)目的及要求:1、掌握基于XilinxFPGA的簡單數(shù)字邏輯電路設(shè)計(jì)教學(xué)重點(diǎn):1、基于XilinxFPGA的簡單數(shù)字邏輯電路設(shè)計(jì)教學(xué)難點(diǎn):1、基于XilinxFPGA的簡單數(shù)字邏輯電路設(shè)計(jì)5.1基于XilinxFPGA的組合邏輯電路設(shè)計(jì)組合邏輯電路主要包括簡單門電路、編碼器、譯碼器、數(shù)據(jù)選擇器、數(shù)字比較器、運(yùn)算單元和三態(tài)門。下面詳細(xì)介紹如何使用XilinxFPGA開發(fā)工具設(shè)計(jì)各種組合邏輯電路。5.1.1基本邏輯門電路設(shè)計(jì)對基本邏輯門的操作主要有與、或、非、與非、或非、異或和異或非等操作。通過使用VerilogHDL語言中描述基本邏輯門電路操作的關(guān)鍵字:and(與)、or(或)、not(非)、nand(與非)、nor(或非)、xor(異或)、xnor(異或非)來實(shí)現(xiàn)對基本邏輯門的操作。5.1.2編碼器設(shè)計(jì)在數(shù)字系統(tǒng)中,常將某一信息用特定的代碼進(jìn)行描述,這個(gè)過程稱為編碼。編碼過程可以通過編碼器電路實(shí)現(xiàn)。本節(jié)給出使用VerilogHDL描述語言的case語句實(shí)現(xiàn)一個(gè)8-3編碼器。旁批欄:1.代碼的輸入在工程管理區(qū)鍵入如下代碼:moduleencoder(data_data_in,data_data_out);data_input[7:0]data_in;data_output[2:0]data_out;reg[2:0]data_out;always@(data_in)case(data_in)8’b00000001:data_out=3’b000;8’b00000010:data_out=3’b001;8’b00000100:data_out=3’b010;8’b00001000:data_out=3’b011;8’b00010000:data_out=3’b100;8’b00100000:data_out=3’b101;8’b01000000:data_out=3’b110;8’b10000000:data_out=3’b111;endcaseEndmodule2.編碼器的仿真驗(yàn)證為了驗(yàn)證上述編碼器的邏輯功能,編寫測試代碼對其進(jìn)行功能仿真5.1.3譯碼器設(shè)計(jì)1.譯碼器的VerilogHDL代碼2.譯碼器的仿真驗(yàn)證通過ISE的仿真工具Isim驗(yàn)證譯碼電路。數(shù)值比較器設(shè)計(jì)1.用Verilog代碼實(shí)現(xiàn)一位數(shù)字比較器電路。2.譯碼器的仿真驗(yàn)證5.1.5數(shù)據(jù)選擇器設(shè)計(jì)1.用case語句描述的4選1MUX。2.數(shù)據(jù)選擇器的ISE仿真驗(yàn)證小結(jié)本節(jié)著重介紹了使用VerilogHDL描述組合邏輯的實(shí)例,并簡要介紹了XilinxISE的設(shè)計(jì)流程。在數(shù)字電路系統(tǒng)的設(shè)計(jì)中,組合邏輯往往充當(dāng)著最為重要的角色,它負(fù)責(zé)實(shí)現(xiàn)數(shù)字電路系統(tǒng)的邏輯功能。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:5.2時(shí)序邏輯電路設(shè)計(jì)教學(xué)目的及要求:1、掌握基于XilinxFPGA的時(shí)序邏輯電路設(shè)計(jì)教學(xué)重點(diǎn):1、基于XilinxFPGA的時(shí)序邏輯電路設(shè)計(jì)教學(xué)難點(diǎn):1、基于XilinxFPGA的時(shí)序邏輯電路設(shè)計(jì)5.2時(shí)序邏輯電路設(shè)計(jì)時(shí)序邏輯電路的輸出狀態(tài)不僅與輸入變量有關(guān),而且還與系統(tǒng)原先的狀態(tài)有關(guān),時(shí)序電路最重要的特點(diǎn)在記憶單元部分。5.2.1時(shí)鐘信號和復(fù)位信號1、時(shí)鐘信號的描述在時(shí)序電路中,不論采用什么方法描述時(shí)鐘信號,必須指明時(shí)鐘的邊沿條件(clockcondition)。2、復(fù)位信號描述前面已經(jīng)提到,根據(jù)復(fù)位和時(shí)鐘信號的關(guān)系不同,時(shí)序電路可以分為同步復(fù)位電路和異步復(fù)位電路兩大類。(1)同步復(fù)位電路同步復(fù)位電路指當(dāng)復(fù)位信號有效,并且在給定的時(shí)鐘邊沿有效時(shí),時(shí)序電路才被復(fù)位。(2)異步復(fù)位電路異步復(fù)位指當(dāng)復(fù)位信號有效時(shí),時(shí)序電路就被復(fù)位。5.2.2觸發(fā)器設(shè)計(jì)觸發(fā)器(Flip_Flop)是邊沿敏感的存儲(chǔ)單元,數(shù)據(jù)動(dòng)作是由某一信號的上升沿或者下降沿進(jìn)行同步的,該信號通常被稱為時(shí)鐘信號。所存儲(chǔ)的數(shù)據(jù)的值取決于時(shí)鐘在其有效沿(上升沿或下降沿)發(fā)生跳變時(shí)的數(shù)據(jù),在其它時(shí)間上數(shù)據(jù)值及根據(jù)沿觸發(fā)、復(fù)位和位置方式的不同,觸發(fā)器可以有多種實(shí)現(xiàn)方式。帶異步清零、異步置1的D觸發(fā)器的描述。2、D觸發(fā)器的仿真驗(yàn)證旁批欄:5.2.3移位寄存器利用時(shí)鐘信號同步進(jìn)行賦值的變量稱為寄存器類型變量。寄存器類型的信號在始終有效沿上可被更新,而在其它時(shí)間則穩(wěn)定。1.設(shè)計(jì)了一個(gè)4位移位寄存器,它可以通過給寄存器最低位連續(xù)賦值來創(chuàng)建Date_out,并且由標(biāo)量Data_in和寄存器最左邊三位的串聯(lián)同步地形成寄存器的內(nèi)容。moduleShift_reg4(Data_out,Data_in,clock,reset);inputData_in,clock,reset;outputData_out;reg[3:0]Data_reg;assignData_out=Data_reg[0];always@(negedgeresetorposedgeclock)beginif(reset==1'b0)Data_reg<=4'b0;elseData_reg<={Data_in,Data_reg[3:1]};endendmodule2、移位寄存器的仿真驗(yàn)證5.2.4計(jì)數(shù)器設(shè)計(jì)根據(jù)計(jì)數(shù)器的觸發(fā)方式不同,計(jì)時(shí)器可以分為:同步計(jì)數(shù)器和異步計(jì)數(shù)器兩類。當(dāng)賦予計(jì)數(shù)器更多功能時(shí),計(jì)時(shí)器就變得非常的復(fù)雜了。計(jì)數(shù)器也是常用的定時(shí)器的核心部分,當(dāng)計(jì)數(shù)器能輸出控制的時(shí)候,計(jì)時(shí)器也就變成了定時(shí)器。只要掌握了計(jì)數(shù)器的設(shè)計(jì)方法,就可以很容易的設(shè)計(jì)定時(shí)器。下面設(shè)計(jì)一個(gè)4位具有向上計(jì)數(shù)、向下計(jì)數(shù)或保持功能的計(jì)數(shù)器。2、仿真驗(yàn)證計(jì)數(shù)器小結(jié)本節(jié)介紹了一些基本時(shí)序邏輯電路及其VerilogHDL描述,讀者可以參考本節(jié)中的程序來編寫自己的程序。讀者還要注意體會(huì)時(shí)序邏輯電路與組合邏輯電路的區(qū)別,才能更好的利用時(shí)序電路。旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:教學(xué)目的及要求:教學(xué)重點(diǎn):教學(xué)難點(diǎn):五一節(jié)放假旁批欄:授課方案(教案)課名:FPGA應(yīng)用技術(shù)及實(shí)踐教師:冀云班級:微電子技術(shù)1001、1002編寫時(shí)間:課題:5.3存儲(chǔ)器設(shè)計(jì)教學(xué)目的及要求:1、掌握基于XilinxFPGA的存儲(chǔ)器設(shè)計(jì)教學(xué)重點(diǎn):1、基于XilinxFPGA的存儲(chǔ)器設(shè)計(jì)教學(xué)難點(diǎn):1、基于XilinxFPGA的存儲(chǔ)器設(shè)計(jì)5.3存儲(chǔ)器設(shè)計(jì)存儲(chǔ)器按其類型主要分為只讀存儲(chǔ)器和隨機(jī)訪問存儲(chǔ)器,雖然存儲(chǔ)器從其工藝和原理上各有不同,但有一點(diǎn)是相同的,即存儲(chǔ)器是單個(gè)存儲(chǔ)單元的集合體,并且按照順序排列。其中的每一個(gè)存儲(chǔ)單元有N位二進(jìn)制位構(gòu)成,表示存放的數(shù)據(jù)的值。5.3.1只讀存儲(chǔ)器ROM設(shè)計(jì)一個(gè)ROM,該ROM塊的尺寸為168,即數(shù)據(jù)總線寬度為8,地址總線寬度為4。1、168ROM模塊的Verilog描述modulerom(clk,en,addr,data_out);inputclk,en;input[3:0]addr;output[7:0]data_out;rom_ipM1( .clka(clk

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論