FPGA開發(fā)及應(yīng)用(微課版)課件全套 U0-前言 -U8-自動(dòng)飲料售賣機(jī)_第1頁
FPGA開發(fā)及應(yīng)用(微課版)課件全套 U0-前言 -U8-自動(dòng)飲料售賣機(jī)_第2頁
FPGA開發(fā)及應(yīng)用(微課版)課件全套 U0-前言 -U8-自動(dòng)飲料售賣機(jī)_第3頁
FPGA開發(fā)及應(yīng)用(微課版)課件全套 U0-前言 -U8-自動(dòng)飲料售賣機(jī)_第4頁
FPGA開發(fā)及應(yīng)用(微課版)課件全套 U0-前言 -U8-自動(dòng)飲料售賣機(jī)_第5頁
已閱讀5頁,還剩695頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

前言前言1、FPGA的當(dāng)前發(fā)展?fàn)顩r近幾年FPGA技術(shù)發(fā)展迅猛,其高度的靈活性使其在信號(hào)處理、通信、數(shù)據(jù)處理、網(wǎng)絡(luò)、儀器、工業(yè)控制、軍事和航空航天等領(lǐng)域得到越來越廣泛的應(yīng)用。FPGA下游應(yīng)用市場(chǎng)廣泛,隨著5G技術(shù)的提升、AI的推進(jìn)以及汽車自動(dòng)化趨勢(shì)的演進(jìn),全球FPGA市場(chǎng)規(guī)模將穩(wěn)步增長(zhǎng)。在數(shù)字芯片設(shè)計(jì)領(lǐng)域,前端驗(yàn)證工作一般都是由FPGA完成。

因此,F(xiàn)PGA工程師也是集成電路(IntegratedCircuit,IC)設(shè)計(jì)公司迫切需要的人才,F(xiàn)PGA邏輯設(shè)計(jì)開發(fā)已經(jīng)成為當(dāng)前最有發(fā)展前途的行業(yè)之一。注:現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA)前言2、FPGA和ARMFPGAARM對(duì)比項(xiàng)ARM(以STM32F103為例)FPGA(以EP4CE10F17C8為例)價(jià)格便宜昂貴語言C語言等原理圖輸入法VerilogHDL、VHDL等硬件描述語言設(shè)計(jì)理念①指令1-指令2-指令3-指令xxx②函數(shù)調(diào)用,形成順序指令①以計(jì)數(shù)器為核心,各電路依據(jù)計(jì)數(shù)值執(zhí)行②IP核調(diào)用,形成不同電路的連接精度①10us量級(jí)為單位的指令②精度在10us以下①10ns為單位的時(shí)序②精度在1ns量級(jí)入門與提升入門易,提升難入門難,提升易開發(fā)周期短長(zhǎng)開發(fā)人員薪金中等高前言2、FPGA和ARM對(duì)比項(xiàng)ARM(以STM32F103為例)FPGA(以EP4CE10F17C8為例)按鍵、LED、蜂鳴器易上手中等DS18B20、DHT11等傳感器易中等ADC、DAC易、適合串行采集簡(jiǎn)單、配置難。適合并行SPI、IIC、UART以EEPROM和FLASH為例易或中等難TFTLCD、OLED中等極難HDMI難中以太網(wǎng)間接方式直接方式分頻器精度極差精度極高倍頻器×√實(shí)時(shí)信號(hào)解調(diào)、濾波等×√FPGAARM前言3、FPGA和電子設(shè)計(jì)競(jìng)賽FPGA是當(dāng)前電子產(chǎn)品設(shè)計(jì)與實(shí)現(xiàn)的一種新技術(shù),筆者近些年指導(dǎo)學(xué)生參加全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽,通過對(duì)歷年賽題的研究和分析發(fā)現(xiàn),信號(hào)類題目的設(shè)計(jì)中單獨(dú)以嵌入式系統(tǒng)為載體很難取得較好成績(jī),而“嵌入式+FPGA”這種系統(tǒng)級(jí)芯片理念是一種最優(yōu)的解決方案,其適合團(tuán)隊(duì)協(xié)作、可以提高設(shè)計(jì)時(shí)效性與穩(wěn)定性。賽題的方向和產(chǎn)業(yè)的發(fā)展趨勢(shì)從某種角度來看是相統(tǒng)一的,筆者總結(jié)自己的競(jìng)賽指導(dǎo)經(jīng)驗(yàn)以及相關(guān)課題,將競(jìng)賽和企業(yè)案例中的相關(guān)要求、知識(shí)點(diǎn)進(jìn)行凝練與重組,最終以項(xiàng)目的方式融合到教材8個(gè)項(xiàng)目中。本書可以作為授課參考教材,也可直接作為學(xué)生的競(jìng)賽培訓(xùn)參考資料。前言4、內(nèi)容組織——基礎(chǔ)部分

本書項(xiàng)目1以原理圖法為切入點(diǎn)介紹計(jì)數(shù)器的設(shè)計(jì),原理圖法易于學(xué)生入門,計(jì)數(shù)器這一載體是FPGA設(shè)計(jì)過程中最核心思想和設(shè)計(jì)切入點(diǎn),且難度適宜。同時(shí)熟悉QuartusPrime軟件的使用,以及FPGA的設(shè)計(jì)流程。

項(xiàng)目2仍以計(jì)數(shù)器為載體介紹VerilogHDL語言,以電路和工程實(shí)現(xiàn)為指引逐步介紹常用語法,堅(jiān)持“語法夠用”原則,突出“電路為主,語法為輔”這一特點(diǎn)。

項(xiàng)目3先以計(jì)數(shù)器為載體介紹ModelSim這一業(yè)內(nèi)最通用仿真軟件的使用,電路方面主要介紹了“分頻器”這一最簡(jiǎn)同步電路。分頻器和計(jì)數(shù)器是FPGA設(shè)計(jì)中最常用的兩個(gè)核心電路。前言4、內(nèi)容組織——進(jìn)階部分(外圍器件)前言4、內(nèi)容組織——進(jìn)階部分(IP核)前言4、內(nèi)容組織——進(jìn)階部分(調(diào)試工具)前言4、內(nèi)容組織——進(jìn)階部分(狀態(tài)機(jī))前言5、亮點(diǎn)引入企業(yè)真實(shí)案例,校企雙元合作開發(fā)項(xiàng)目任務(wù)形式貫穿,注重提高實(shí)踐能力配套詳細(xì)微課視頻,結(jié)合內(nèi)容同步講解編寫團(tuán)隊(duì)擁有豐富的教育教學(xué)理念,針對(duì)高職學(xué)生的認(rèn)知特點(diǎn),全書以以下形式展開:任務(wù)→初步方案→設(shè)計(jì)框圖→問題分析→框圖改進(jìn)→時(shí)序規(guī)劃→程序設(shè)計(jì)。前言6、開發(fā)板選擇本書以Altera(現(xiàn)已被Intel收購)CycloneIV系列FPGA為例進(jìn)行介紹。讀者可以選擇“正點(diǎn)原子”“小梅哥”“野火”等淘寶店的CycloneIV系列最簡(jiǎn)單系列開發(fā)板。前言7、意見反饋由于作者水平有限,書中難免有不足之處,歡迎廣大讀者批評(píng)指正。同時(shí)歡迎讀者反饋寶貴建議和意見,以便我們不斷修正錯(cuò)誤,汲取經(jīng)驗(yàn),使本教材進(jìn)一步完善和提高。讀者可通過電子郵箱1084020959@與我直接聯(lián)系。謝謝大家!項(xiàng)目1——原理圖法實(shí)現(xiàn)典型邏輯電路的設(shè)計(jì)引入引入數(shù)字電路的應(yīng)用隨著現(xiàn)代科技的發(fā)展,我們的生活已經(jīng)離不開數(shù)字邏輯電路。例如按鍵檢測(cè)、電機(jī)調(diào)速等屬于較為簡(jiǎn)單的邏輯控制,復(fù)雜的應(yīng)用如圖像處理與識(shí)別、北斗導(dǎo)航、相控陣?yán)走_(dá)等。通過《數(shù)字電子技術(shù)基礎(chǔ)》課程的學(xué)習(xí),我們已經(jīng)基本掌握邏輯電路的工作原理及設(shè)計(jì)方法,以典型邏輯芯片的互聯(lián)完成邏輯功能設(shè)計(jì)。FPGA的應(yīng)用當(dāng)功能要求發(fā)生改變,需要調(diào)整線路或重新設(shè)計(jì)電路,這時(shí)可以借助FPGA芯片的現(xiàn)場(chǎng)可編程方式有效解決。當(dāng)數(shù)字電路規(guī)模較大時(shí),用FPGA代替分立器件實(shí)現(xiàn)的方式,從性能和可靠性來講,更為優(yōu)越。FPGA是如何工作的?它是如何實(shí)現(xiàn)邏輯功能設(shè)計(jì)的?程序怎么實(shí)現(xiàn)電路設(shè)計(jì)?接下來讓我們以原理圖設(shè)計(jì)方式為基礎(chǔ),一起走進(jìn)FPGA技術(shù)的新世界!引入《數(shù)字電子技術(shù)基礎(chǔ)》回顧不足:難以設(shè)計(jì)較大規(guī)模的數(shù)字電路(1)數(shù)制與編碼,如二進(jìn)制、十進(jìn)制,反碼、補(bǔ)碼等。(2)邏輯代數(shù),如邏輯函數(shù)等;(3)基本門電路,如非門、與門等;(4)組合邏輯電路,如加法器、比較器、編碼器等;(5)半導(dǎo)體存儲(chǔ)器,如各類觸發(fā)器、鎖存器等;(6)時(shí)序邏輯電路,如計(jì)數(shù)器、移位寄存器等;(7)綜合應(yīng)用電路,如施密特觸發(fā)器、DAC、ADC等。電路設(shè)計(jì)電路板元器件焊接調(diào)試數(shù)字電子電路的實(shí)現(xiàn)方式電子產(chǎn)品朝著輕量化、集成化、高速化的方向發(fā)展。引入板級(jí)電路AISC可編程邏輯器件可編程邏輯器件相關(guān)公司逐步發(fā)展出可變功能系列的芯片,此類芯片經(jīng)用戶配置后可以實(shí)現(xiàn)不同邏輯功能,其具有通用結(jié)構(gòu)并包含可編程開關(guān)集合,設(shè)計(jì)者根據(jù)需要選擇合適的開關(guān)結(jié)構(gòu)組合實(shí)現(xiàn)一個(gè)特定應(yīng)用所需的功能。這些開關(guān)由最終用戶進(jìn)行編程,而不是在制造芯片時(shí)編程,此類芯片被稱為可編程邏輯器件(ProgrammableLogicDevice,PLD)。FPGA屬于PLD的一種,也是當(dāng)前最為通用的一種。板級(jí)電路:通過如74LS系列標(biāo)準(zhǔn)芯片組合的方式搭建的板級(jí)綜合電路不僅成本較高、不易處理高速信號(hào),而且電路面積大。提示:標(biāo)準(zhǔn)芯片(如74LS08)的邏輯功能固定不變.ASIC:設(shè)計(jì)并制造一款專用集成電路(ApplicationSpecificIntegratedCircuit,ASIC)是另外一種實(shí)現(xiàn)方式,ASIC芯片不僅性能穩(wěn)定、抗干擾能力強(qiáng)、占據(jù)電路板空間小,而且因?yàn)檫壿嬮T之間的互連線在片內(nèi)實(shí)現(xiàn),所以速度上限更高;但ASIC芯片更適合大批量的產(chǎn)品需求,如果是小批量生產(chǎn),那么設(shè)計(jì)費(fèi)、制造費(fèi)等會(huì)平攤到每一件產(chǎn)品中,導(dǎo)致產(chǎn)品價(jià)格飆升。項(xiàng)目一、組織邏輯項(xiàng)目1、2區(qū)別與聯(lián)系相同點(diǎn)項(xiàng)目1、2的設(shè)計(jì)的案例幾乎一致。FPGA的完整設(shè)計(jì)流程;計(jì)數(shù)器的結(jié)構(gòu)。本章重點(diǎn)不同點(diǎn)項(xiàng)目1使用原理圖輸入法(簡(jiǎn)稱畫圖法)。項(xiàng)目2使用VerilogHDL(簡(jiǎn)稱程序法)。聯(lián)系項(xiàng)目1介紹的原理圖法這種直觀、形象的方式容易使讀者建立起對(duì)FPGA的認(rèn)識(shí)、熟悉FPGA的設(shè)計(jì)流程,加深對(duì)“計(jì)數(shù)器”這一FPGA設(shè)計(jì)最重要的切入點(diǎn)和核心點(diǎn)的認(rèn)識(shí),為項(xiàng)目2奠定基礎(chǔ)。項(xiàng)目2借助項(xiàng)目1的電路,介紹全書主要語法知識(shí)。項(xiàng)目3~8均是主要以項(xiàng)目1的電路為元素、以項(xiàng)目2的語法為方式實(shí)現(xiàn)。項(xiàng)目一、任務(wù)要求項(xiàng)目一原理圖法實(shí)現(xiàn)典型邏輯電路的設(shè)計(jì)項(xiàng)目一

任務(wù)要求軟件:QuartusPrime17.1軟件;硬件:FPGA芯片型號(hào)為EP4CE10F17C8的電路板(包含按鍵或撥碼開關(guān)、LED)。任務(wù)1.1設(shè)計(jì)、仿真、測(cè)試一位全加器電路。任務(wù)1.2設(shè)計(jì)、仿真、測(cè)試十六進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~15。任務(wù)1.3設(shè)計(jì)、仿真、測(cè)試十進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~9,同時(shí)將計(jì)數(shù)的結(jié)果用數(shù)碼管顯示。任務(wù)1.1設(shè)計(jì)、仿真、測(cè)試一位全加器電路以一位半加器為載體先介紹使用QuartusPrime軟件設(shè)計(jì)邏輯電路的基本流程;再借助一位半加器設(shè)計(jì)一位全加器過程融入封裝與調(diào)用的設(shè)計(jì)理念。任務(wù)1.2設(shè)計(jì)、仿真、測(cè)試十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)十六進(jìn)制計(jì)數(shù)器,介紹了計(jì)數(shù)器的基本框架,并以總線式設(shè)計(jì)方法實(shí)現(xiàn),該方法在大型工程的實(shí)施過程中利于團(tuán)隊(duì)協(xié)作、提升效率。任務(wù)1.3設(shè)計(jì)、仿真、測(cè)試十進(jìn)制計(jì)數(shù)器,數(shù)碼管顯示任務(wù)1.3以十進(jìn)制計(jì)數(shù)器為載體介紹任意進(jìn)制計(jì)數(shù)器的框架,有機(jī)融入比較器、選擇器等典型邏輯電路,深入理解各種邏輯電路的功能的同時(shí)為項(xiàng)目2奠定基礎(chǔ)。項(xiàng)目一、任務(wù)要求謝謝大家!項(xiàng)目一原理圖法實(shí)現(xiàn)典型邏輯電路的設(shè)計(jì)任務(wù)要求軟件:QuartusPrime17.1軟件;硬件:FPGA芯片型號(hào)為EP4CE10F17C8的電路板(包含按鍵或撥碼開關(guān)、LED)。任務(wù)1.1設(shè)計(jì)、仿真、測(cè)試一位全加器電路。任務(wù)1.2設(shè)計(jì)、仿真、測(cè)試十六進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~15。任務(wù)1.3設(shè)計(jì)、仿真、測(cè)試十進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~9,同時(shí)將計(jì)數(shù)的結(jié)果用數(shù)碼管顯示。

內(nèi)容安排1.1.1【知識(shí)準(zhǔn)備】1、FPGA概述;

2、QuartusPrime設(shè)計(jì)流程概述。3、QuartusPrime設(shè)計(jì)流程(以一位半加器為例)。1.1.2【任務(wù)實(shí)施】1、一位全加器設(shè)計(jì)原理2、(一位半加器)器件的封裝與調(diào)用;3、一位全加器設(shè)計(jì)。任務(wù)1.1原理圖法實(shí)現(xiàn)一位全加器如何測(cè)試數(shù)字電路?以74LS08為例提問(為后續(xù)仿真、測(cè)試做鋪墊)供電:給第14引腳接5V,給第7引腳接地;輸入:給輸入引腳(如1、2引腳)連接撥碼開關(guān);輸出:給輸出引腳(如第3引腳)連接LED燈。判斷:參照真值表從上至下,通過按鍵給芯片輸入引腳(如1、2引腳)依次送入邏輯值00、01、10、11,同時(shí)觀察LED燈的亮滅狀態(tài),以此來判斷芯片輸出邏輯值(如第3引腳),通過對(duì)比輸入和輸出的關(guān)系,是否符合真值表,以此判定芯片是否正常。真值表是判斷組合邏輯芯片功能的一種最常用依據(jù)1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器1、FPGA概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(1)PLD原理簡(jiǎn)介核心器件LUT實(shí)現(xiàn)與門示意PLD簡(jiǎn)單邏輯陣列示意早期PLD原理示意FPGA原理示意1、FPGA概述FPGA內(nèi)部組成單元可編程輸入/輸出單元可編程邏輯單元底層嵌入功能單元嵌入式塊隨機(jī)存儲(chǔ)器布線資源內(nèi)嵌專用硬核1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(2)FPGA結(jié)構(gòu)簡(jiǎn)介可編程邏輯單元的核心——查找表1、FPGA概述國(guó)別廠商產(chǎn)品系列美國(guó)AMD/XilinxSpartan、Artix、Kintex、Virtex、SoC和MPSoC-Zynq7000Intel/AlteraMAX

II-CPLD、Cyclone、Stratix系列、Arria系列、IntelArria10系列Microsemi/Actel軍工與航空領(lǐng)域LatticeECP系列、ICE系列、Mach系列中國(guó)高云半導(dǎo)體晨曦家族、小蜜蜂家族、GoBridge家族紫光同創(chuàng)TiTan、Logos系列、Compa系列智多晶seagull1000系列、sealion2000系列、seal5000系列其他:成都華微、京微齊力、京微雅格、同創(chuàng)國(guó)芯AMD/Xilinx系列Intel/Altera系列Lattice系列高云半導(dǎo)體系列紫光同創(chuàng)系列智多晶系列(3)FPGA國(guó)內(nèi)外主要廠商1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器1、FPGA概述通信領(lǐng)域需要高速的通信協(xié)議處理方式,另一方面通信協(xié)議隨時(shí)都在修改,不適合做成專門的芯片,所以能夠靈活改變的功能的FPGA就成了首選。利用并行架構(gòu)實(shí)現(xiàn)數(shù)字信號(hào)處理的功能。這一并行機(jī)制使得FPGA特別適合于完成數(shù)字濾波等重復(fù)性的數(shù)字信號(hào)處理任務(wù)。使用FPGA構(gòu)建和測(cè)試原型,可以糾正設(shè)計(jì)錯(cuò)誤。一旦原型按預(yù)期執(zhí)行,就會(huì)開發(fā)一個(gè)ASIC項(xiàng)目。這能夠節(jié)省時(shí)間,因?yàn)閯?chuàng)建集成電路可能是一項(xiàng)勞動(dòng)密集型和復(fù)雜的操作。視覺系統(tǒng)通常需要基于FPGA的系統(tǒng),以便它們能夠根據(jù)人的位置,周圍環(huán)境和面部識(shí)別功能,以有意義的方式與人進(jìn)行行動(dòng)和交互。通信領(lǐng)域IC設(shè)計(jì)領(lǐng)域數(shù)字信號(hào)領(lǐng)域AI視覺領(lǐng)域(4)FPGA的主要應(yīng)用場(chǎng)景1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器2、QuartusPrime設(shè)計(jì)流程概述MAX+plusII作為Altera的第三代的PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。原型版本MAX+plusII目前Altera已經(jīng)停止了對(duì)MAX+plusII的更新支持,隨之誕生的QuartusII設(shè)計(jì)軟件與之相比支持器件類型更為豐富,圖形界面也更友好。從QuartusII10.0版本開始,Altera推薦采用第三方如ModelSim軟件工具進(jìn)行仿真。Quartus13.1版本是最為經(jīng)典的版本。經(jīng)典版本QuartusII從QuartusII15.1開始,QuartusII開發(fā)工具改名為QuartusPrime,其和QuartusII13.1界面、功能幾乎一致。目前最新版本為QuartusPrime24以上。英特爾的QuartusPrime設(shè)計(jì)套件軟件有三種版本:專業(yè)版(Pro)、標(biāo)準(zhǔn)版(Standard)、

精簡(jiǎn)版(Lite)。最新版本QuartusPrime(1)QuartusPrime軟件的獲取與安裝-版本選擇1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器2、QuartusPrime設(shè)計(jì)流程概述FPGA開發(fā)工具—QuartusPrimeQuartus是一種由英特爾(Intel)公司開發(fā)的FPGA設(shè)計(jì)軟件,旨在為數(shù)字電路設(shè)計(jì)師提供一個(gè)高效、便捷的開發(fā)環(huán)境。它可以幫助用戶完成數(shù)字邏輯電路的設(shè)計(jì)、仿真、綜合和布局,以及與外圍設(shè)備進(jìn)行通信和控制。Quartus支持原理圖輸入法,以及多種編程語言,包括VHDL、VerilogHDL等,并具有豐富的功能和工具庫,可滿足不同級(jí)別、不同規(guī)模的數(shù)字電路設(shè)計(jì)需求??梢詮挠⑻貭柕闹袊?guó)官方網(wǎng)站下載最新版本的QuartusPrime以及對(duì)應(yīng)的器件庫,同時(shí)建議下載對(duì)應(yīng)版本的ModelSim軟件。1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(2)QuartusPrime軟件簡(jiǎn)介2、QuartusPrime設(shè)計(jì)流程概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(3)QuartusPrime軟件的獲取與安裝操作演示2、QuartusPrime設(shè)計(jì)流程概述(1)設(shè)計(jì)輸入。①Q(mào)uartusPrime的設(shè)計(jì)輸入主要有以下幾種方式;②VerilogHDL/VHDL硬件描述語言設(shè)計(jì)輸入方式;③AHDL輸入方式;④模塊/原理圖輸入方式(BlockDiagram/SchematicFiles);⑤使用MegaWizardPlug-InManeger產(chǎn)生IP核/宏功能塊。(2)編譯與優(yōu)化。(3)布局布線。(4)時(shí)序分析。(5)編程與調(diào)試。(4)FPGA設(shè)計(jì)流程概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器2、QuartusPrime設(shè)計(jì)流程概述(1)設(shè)計(jì)輸入。(2)編譯與優(yōu)化。根據(jù)設(shè)計(jì)要求設(shè)定編譯方式和編譯策略,如器件的選擇、邏輯綜合方式的選擇等,然后根據(jù)設(shè)定的參數(shù)和策略對(duì)設(shè)計(jì)項(xiàng)目進(jìn)行網(wǎng)表提取、邏輯綜合。在綜合階段,應(yīng)利用設(shè)計(jì)指定的約束文件,將寄存器傳輸級(jí)(RegisterTransferLevel,RTL)設(shè)計(jì)功能實(shí)現(xiàn)并優(yōu)化到具有相等功能且具有單元延時(shí)(但不含時(shí)序信息)的基本器件中,如觸發(fā)器、邏輯門等,得到的結(jié)果是功能獨(dú)立于FPGA的網(wǎng)表。編譯、優(yōu)化完成后就可以進(jìn)行RTL行為級(jí)仿真,也被絕大多數(shù)設(shè)計(jì)者也稱為功能仿真,這種仿真不考慮器件的延時(shí)特性。(3)布局布線。(4)時(shí)序分析。(5)編程與調(diào)試。(4)FPGA設(shè)計(jì)流程概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器2、QuartusPrime設(shè)計(jì)流程概述(1)設(shè)計(jì)輸入。(2)編譯與優(yōu)化。(3)布局布線。布局布線將綜合后的網(wǎng)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射、器件適配,并產(chǎn)生報(bào)告文件(.rpt)、延時(shí)信息文件、編程文件(.pof、.sof等)以及面向其他EDA工具的輸出的電子設(shè)計(jì)交換格式文件(ElectronicDesignInterchangeFormat,EDIF)等,供時(shí)序分析、仿真和編程使用。此外,在布局布線后,EDA工具一般還可對(duì)設(shè)計(jì)做功耗分析,這在初學(xué)者的簡(jiǎn)單設(shè)計(jì)中一般不涉及。(4)時(shí)序分析。(5)編程與調(diào)試。(4)FPGA設(shè)計(jì)流程概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器2、QuartusPrime設(shè)計(jì)流程概述(1)設(shè)計(jì)輸入。(2)編譯與優(yōu)化。(3)布局布線。(4)時(shí)序分析。時(shí)序分析主要指門級(jí)仿真和時(shí)序逼近。QuartusPrime取消了自帶的波形仿真工具(內(nèi)核或算法),推薦采用專業(yè)第三方仿真工具M(jìn)odelSim進(jìn)行仿真。功能仿真針對(duì)設(shè)計(jì)的語法和基本功能進(jìn)行驗(yàn)證,主要是為了在設(shè)計(jì)的初始階段發(fā)現(xiàn)問題;而門級(jí)仿真是針對(duì)門級(jí)時(shí)序進(jìn)行的仿真,是通過布局布線得到標(biāo)準(zhǔn)時(shí)延格式的時(shí)序信息后進(jìn)行的仿真,門級(jí)仿真需要VHDL或VerilogHDL門級(jí)網(wǎng)表、FPGA廠家提供的器件庫,還需要標(biāo)準(zhǔn)延時(shí)文件(.sdf),門級(jí)仿真綜合考慮電路的路徑延時(shí)與門延時(shí)的影響,驗(yàn)證電路能否在一定時(shí)序條件下滿足時(shí)序要求。一般情況下也可將門級(jí)仿真稱為時(shí)序仿真。(5)編程與調(diào)試。(4)FPGA設(shè)計(jì)流程概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器2、QuartusPrime設(shè)計(jì)流程概述(1)設(shè)計(jì)輸入。(2)編譯與優(yōu)化。(3)布局布線。(4)時(shí)序分析。(5)編程(也稱配置/下載)與調(diào)試。此處的編程是指用生成的編程文件通過下載電纜配置FPGA,一般也稱下載或者配置。編程后加入板級(jí)實(shí)際激勵(lì),進(jìn)行調(diào)試。在以上設(shè)計(jì)過程中,如果出現(xiàn)錯(cuò)誤,那么需重新回到設(shè)計(jì)輸入階段,改正錯(cuò)誤或調(diào)整電路后重復(fù)上述過程。(4)FPGA設(shè)計(jì)流程概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器2、QuartusPrime設(shè)計(jì)流程概述(1)設(shè)計(jì)輸入。(2)編譯與優(yōu)化。(3)布局布線。(4)時(shí)序分析。(5)編程也稱配置/下載與調(diào)試。(4)FPGA設(shè)計(jì)流程概述1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器FPGA設(shè)計(jì)流程1.創(chuàng)建工程;2.創(chuàng)建并完成設(shè)計(jì)文件;3.編譯工程;4.引腳鎖定(分配);5.重新全編譯;6.仿真;7.配置(下載)與調(diào)試。3、QuartusPrime設(shè)計(jì)流程(以一位半加器為例)一位半加器真值表輸入輸出ABCoSo00000101100111101位半加器原理圖注:(1)C是Carry的英文首字母,含義是進(jìn)位。(2)S是Sum的英文首字母,含義是(加法)和。(3)o是output的英文首字母,含義是輸出。

1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(1)半加器設(shè)計(jì)原理數(shù)學(xué)公式描述電路功能數(shù)學(xué)功能→真值表真值表→邏輯表達(dá)式邏輯表達(dá)式→電路圖Co等于A與BSo等于A異或B真值表①描述了電路輸入和輸出的關(guān)系,即描述了電路的功能。②真值表常作為組合邏輯電路功能仿真和測(cè)試最常用的依據(jù)。3、QuartusPrime設(shè)計(jì)流程(以一位半加器為例)操作演示1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(2)半加器設(shè)計(jì)操作演示一位半加器真值表輸入輸出ABCoSo00000101100111101位半加器原理圖FPGA設(shè)計(jì)流程1.創(chuàng)建工程;2.創(chuàng)建并完成設(shè)計(jì)文件;3.編譯工程;4.引腳鎖定(分配);5.重新全編譯;6.仿真;7.配置(下載)與調(diào)試。3、QuartusPrime設(shè)計(jì)流程(以一位半加器為例)1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(3)半加器設(shè)計(jì)總結(jié)1位半加器真值表輸入輸出ABCoSo00000101100111101位半加器原理圖根據(jù)功能設(shè)計(jì)電路實(shí)現(xiàn)電路依據(jù)真值表仿真(或測(cè)試)電路3、QuartusPrime設(shè)計(jì)流程(以一位半加器為例)1.1.1【知識(shí)準(zhǔn)備】原理圖法實(shí)現(xiàn)一位半加器(3)半加器設(shè)計(jì)總結(jié)-功能仿真和時(shí)序仿真1位半加器原理圖謝謝大家!

內(nèi)容安排1.1.1【知識(shí)準(zhǔn)備】1、FPGA概述;2、QuartusPrime設(shè)計(jì)流程概述。3、QuartusPrime設(shè)計(jì)流程(以一位半加器為例)。1.1.2【任務(wù)實(shí)施】1、一位全加器設(shè)計(jì)原理2、(一位半加器)器件的封裝與調(diào)用;3、一位全加器設(shè)計(jì)。任務(wù)1.1原理圖法實(shí)現(xiàn)一位全加器1、一位全加器設(shè)計(jì)原理操作演示輸入輸出CinABSoCo00000001100101001101100101010111001111111位全加器真值表1位全加器原理圖1.1.2【任務(wù)實(shí)施】層次化設(shè)計(jì)實(shí)現(xiàn)一位全加器(1)設(shè)計(jì)思路數(shù)學(xué)功能→真值表真值表→電路圖一位全加器數(shù)學(xué)公式描述電路功能一位半加器數(shù)學(xué)公式描述電路功能2、(一位半加器)器件的封裝與調(diào)用1.1.2【任務(wù)實(shí)施】層次化設(shè)計(jì)實(shí)現(xiàn)一位全加器(2)一位半加器的封裝與調(diào)用FPGA設(shè)計(jì)流程1.創(chuàng)建工程;2.創(chuàng)建并完成設(shè)計(jì)文件;1)一位半加器的封裝2)一位全加器的調(diào)用3.編譯工程;4.引腳鎖定(分配);5.重新全編譯;6.仿真;7.配置(下載)與調(diào)試。3、一位全加器設(shè)計(jì)操作演示1.1.2【任務(wù)實(shí)施】層次化設(shè)計(jì)實(shí)現(xiàn)一位全加器(1)一位全加器設(shè)計(jì)操作演示FPGA設(shè)計(jì)流程1.創(chuàng)建工程;2.創(chuàng)建并完成設(shè)計(jì)文件;1)一位半加器的封裝2)一位全加器的調(diào)用3.編譯工程;4.引腳鎖定(分配);5.重新全編譯;6.仿真;7.配置(下載)與調(diào)試。3、一位全加器設(shè)計(jì)輸入輸出CinABSoCo00000001100101001101100101010111001111111.1.2【任務(wù)實(shí)施】層次化設(shè)計(jì)實(shí)現(xiàn)一位全加器(2)一位全加器設(shè)計(jì)總結(jié)FPGA設(shè)計(jì)流程1.創(chuàng)建工程;2.創(chuàng)建并完成設(shè)計(jì)文件;1)一位半加器的封裝2)一位全加器的調(diào)用3.編譯工程;4.引腳鎖定(分配);5.重新全編譯;6.仿真;7.配置(下載)與調(diào)試。小結(jié):FPGA設(shè)計(jì)基本流程;QuartusPrime設(shè)計(jì)輸入方式;電路的封裝和調(diào)用任務(wù)1.1原理圖法實(shí)現(xiàn)一位全加器謝謝大家!任務(wù)1.2原理圖法實(shí)現(xiàn)十六進(jìn)制計(jì)數(shù)器任務(wù)要求軟件:QuartusPrime17.1軟件;硬件:FPGA芯片型號(hào)為EP4CE10F17C8的電路板(包含按鍵或撥碼開關(guān)、LED)。任務(wù)1.1設(shè)計(jì)、仿真、測(cè)試一位全加器電路。任務(wù)1.2設(shè)計(jì)、仿真、測(cè)試十六進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~15。任務(wù)1.3設(shè)計(jì)、仿真、測(cè)試十進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~9,同時(shí)將計(jì)數(shù)的結(jié)果用數(shù)碼管顯示。內(nèi)容安排1.2.1【知識(shí)準(zhǔn)備】1、十六進(jìn)制計(jì)數(shù)器原理;

2、總線式端口的四位加法器設(shè)計(jì);3、FPGA中觸發(fā)器的特性與驗(yàn)證。1.2.2【任務(wù)實(shí)施】1、總線式端口的四位D觸發(fā)器設(shè)計(jì);2、總線式端口的十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)。任務(wù)1.2原理圖法實(shí)現(xiàn)十六進(jìn)制計(jì)數(shù)器FPGA中的繪圖和Multisim的異同總結(jié)回顧相同點(diǎn):都可繪圖、都可仿真、真值表是仿真的主要依據(jù)不同點(diǎn):QuartusPrime里的電路設(shè)計(jì)可以直接下載到FPGA,形成真實(shí)物理電路任務(wù)1.2原理圖法實(shí)現(xiàn)十六進(jìn)制計(jì)數(shù)器1、十六進(jìn)制計(jì)數(shù)器原理1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(1)十六進(jìn)制計(jì)數(shù)器計(jì)數(shù)規(guī)律及剖析提問:需要什么器件?計(jì)數(shù)順序:0~1~2......~14~15~0~1......總結(jié):在上一個(gè)值的基礎(chǔ)上直接加1,周而復(fù)始加法器存儲(chǔ)器00000100012001030011401005010160110151111141110701111311011211001110111010109100181000+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+11、十六進(jìn)制計(jì)數(shù)器原理1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(2)十六進(jìn)制計(jì)數(shù)器電路框架加法器存儲(chǔ)器00014位全加器+CLK0000存儲(chǔ)器0001所需主要器件2、總線式端口的四位加法器設(shè)計(jì)1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(1)四位加法器設(shè)計(jì)討論數(shù)學(xué)公式描述電路功能電路主要端口電路的具體端口提問:如何實(shí)現(xiàn)四位加法器?2、總線式端口的四位加法器設(shè)計(jì)1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(2)四位加法器設(shè)計(jì)操作演示(直觀方式,不推薦)優(yōu)點(diǎn):直觀易懂缺點(diǎn):端口過多,被調(diào)用時(shí)電路間連接較為繁瑣數(shù)學(xué)公式描述電路功能操作演示2、總線式端口的四位加法器設(shè)計(jì)1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(3)總線式端口的四位加法器設(shè)計(jì)2、總線式端口的四位加法器設(shè)計(jì)1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(3)總線式端口的四位加法器設(shè)計(jì)(推薦)要訣:名稱一樣的連線,默認(rèn)連接操作演示3、FPGA中觸發(fā)器的特性與驗(yàn)證1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備3、FPGA中觸發(fā)器的特性與驗(yàn)證1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(1)FPGA中觸發(fā)器類型《數(shù)字電子技術(shù)基礎(chǔ)》課程中介紹的觸發(fā)器類型較多,有RS觸發(fā)器、JK觸發(fā)器、D觸發(fā)器、T觸發(fā)器等。然而大多數(shù)FPGA內(nèi)部直接提供的觸發(fā)器多為D觸發(fā)器,受限于這種固定的內(nèi)部結(jié)構(gòu),使用FPGA實(shí)現(xiàn)數(shù)字電路一般只使用D觸發(fā)器或者D觸發(fā)器的衍生電路,但這足以完成幾乎所有的電路設(shè)計(jì),另外只用D觸發(fā)器也能保證大型電路設(shè)計(jì)時(shí)序的一致性。直接調(diào)用QuartusPrime庫提供的D觸發(fā)器器件,在“Symbol”對(duì)話框下點(diǎn)開“d:intelfpga/17.1/quartus/libraries/”→“primitives”→“storage”下找到dffe器件或者在搜索欄輸入“dffe”找到D觸發(fā)器器件.3、FPGA中觸發(fā)器的特性與驗(yàn)證1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(2)FPGA中觸發(fā)器的操作演示操作演示3、FPGA中觸發(fā)器的特性與驗(yàn)證1.2.1【知識(shí)準(zhǔn)備】十六進(jìn)制計(jì)數(shù)器原理與器件準(zhǔn)備(3)FPGA中觸發(fā)器的總結(jié)1.功能:存儲(chǔ)。2.端口:有復(fù)位/置位端子——CLRN和PRN。有使能端子——ENA。時(shí)鐘端子——CLK。

輸入數(shù)據(jù)端子——D。輸出數(shù)據(jù)端子——Q3.特點(diǎn)與優(yōu)先級(jí):CLRN和PRN優(yōu)先級(jí)最高,一般只用CLRN,

當(dāng)CLRN有效時(shí)(為0),無論D、CLK、EN是何值,輸出均為0.當(dāng)CLRN無效時(shí)(為1),ENA有效時(shí)(為1),只有在CLK上升沿,D傳輸至Q并保存,CLK其時(shí)間Q保持不變;ENA有效時(shí)(為0),Q保持不變;謝謝大家!內(nèi)容安排1.2.1【知識(shí)準(zhǔn)備】1、十六進(jìn)制計(jì)數(shù)器原理;2、總線式端口的四位加法器設(shè)計(jì);3、FPGA中觸發(fā)器的特性與驗(yàn)證。1.2.2【任務(wù)實(shí)施】1、總線式端口的四位D觸發(fā)器設(shè)計(jì);2、總線式端口的十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)。任務(wù)1.2原理圖法實(shí)現(xiàn)十六進(jìn)制計(jì)數(shù)器2、總線式端口的十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)1.2.2【任務(wù)實(shí)施】十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)與驗(yàn)證(1)設(shè)計(jì)流程十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)流程第1步:創(chuàng)建工程——FPGA_U1_cnt0_15。第2步:復(fù)制文件。四位加法器(總線式)

.bdf.bsf;包含一位全加器

.bdf.bsf

包含一位半加器

.bdf.bsf四位D觸發(fā)器(總線式).bdf.bsf。第3步:電路設(shè)計(jì)。其

他:后續(xù)仿真和測(cè)試00014位全加器+CLK0000存儲(chǔ)器0001操作演示2、總線式端口的十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)1.2.2【任務(wù)實(shí)施】十六進(jìn)制計(jì)數(shù)器設(shè)計(jì)與驗(yàn)證(2)設(shè)計(jì)總結(jié)十六進(jìn)制計(jì)數(shù)器總結(jié)觸發(fā)器的輸出Q的變化邊沿相較CLK上升沿有ns級(jí)延時(shí)。在組合邏輯電路中,通常用開關(guān)或按鍵實(shí)現(xiàn)輸入信號(hào)接入,輸出通常外接LED等顯示器件,通過按鍵控制組合邏輯輸入觀察LED陣列的變化,即可判斷電路功能是否符合設(shè)計(jì)。對(duì)于輸入時(shí)鐘信號(hào)CLK,若用開關(guān)或按鍵來實(shí)現(xiàn),則會(huì)因?yàn)榘存I的按、松操作產(chǎn)生的電平變化信號(hào)有較多毛刺,所以不推薦使用按鍵來代替時(shí)鐘;使用外接函數(shù)信號(hào)發(fā)生器產(chǎn)生的時(shí)鐘并通過FPGA引腳輸入到本節(jié)計(jì)數(shù)器的時(shí)鐘輸入引腳是一種較好的方式。

小結(jié):十六進(jìn)制計(jì)數(shù)器框架及原理;總線式端口;FPGA中存儲(chǔ)器——D觸發(fā)器的特點(diǎn)任務(wù)1.2原理圖法實(shí)現(xiàn)十六進(jìn)制計(jì)數(shù)器問題與思考:在本節(jié)電路設(shè)計(jì)基礎(chǔ)上,設(shè)計(jì)0-15-14-......-1-0倒計(jì)時(shí)循環(huán)計(jì)數(shù)器。設(shè)計(jì)出0~255循環(huán)計(jì)數(shù)器。謝謝大家!任務(wù)1.3原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器顯示電路任務(wù)要求軟件:QuartusPrime17.1軟件;硬件:FPGA芯片型號(hào)為EP4CE10F17C8的電路板(包含按鍵或撥碼開關(guān)、LED)。任務(wù)1.1設(shè)計(jì)、仿真、測(cè)試一位全加器電路。任務(wù)1.2設(shè)計(jì)、仿真、測(cè)試十六進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~15。任務(wù)1.3設(shè)計(jì)、仿真、測(cè)試十進(jìn)制計(jì)數(shù)器,即計(jì)數(shù)范圍為0~9,同時(shí)將計(jì)數(shù)的結(jié)果用數(shù)碼管顯示。內(nèi)容安排1.3.1【知識(shí)準(zhǔn)備】1、十進(jìn)制計(jì)數(shù)器原理;2、庫器件之?dāng)?shù)據(jù)比較器;3、庫器件之?dāng)?shù)據(jù)選擇器;4、庫器件之?dāng)?shù)碼管譯碼器。1.3.2【任務(wù)實(shí)施】1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路;2、RTL視圖的打開與分析;【知識(shí)拓展】1、FPGA結(jié)構(gòu)組成之LUT和LE。任務(wù)1.3原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器顯示電路總結(jié)回顧任務(wù)1.3原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器顯示電路00014位全加器+CLK0000存儲(chǔ)器0001十六進(jìn)制計(jì)數(shù)器總線式端口及連線加之前如果是9,則加7否則+11、十進(jìn)制計(jì)數(shù)器原理1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備(1)十六進(jìn)制計(jì)數(shù)器對(duì)比十進(jìn)制計(jì)數(shù)器十六進(jìn)制計(jì)數(shù)器計(jì)數(shù)順序00000100012001030011401005010160110151111141110701111311011211001110111010109100181000+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+100000100012001030011401005010160110151111141110701111311011211001110111010109100181000+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1需一個(gè)判定條件引申出加值不同十進(jìn)制計(jì)數(shù)器計(jì)數(shù)順序加完之后如果是10,則賦0否則+11、十進(jìn)制計(jì)數(shù)器原理1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備(1)十六進(jìn)制計(jì)數(shù)器對(duì)比十進(jìn)制計(jì)數(shù)器十六進(jìn)制計(jì)數(shù)器計(jì)數(shù)順序00000100012001030011401005010160110151111141110701111311011211001110111010109100181000+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+100000100012001030011401005010160110151111141110701111311011211001110111010109100181000+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1需一個(gè)判定條件引申出加1或賦0十進(jìn)制計(jì)數(shù)器計(jì)數(shù)順序1、十進(jìn)制計(jì)數(shù)器原理(2)十進(jìn)制計(jì)數(shù)器方案方案1:先加、再比、最后選方案2:先比、再選、最后加判定——比較器加值——選擇器有一個(gè)判定條件1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備1、十進(jìn)制計(jì)數(shù)器原理(3)十進(jìn)制計(jì)數(shù)器所需器件加法器觸發(fā)器比較器選擇器所需器件加法器觸發(fā)器比較器選擇器所需器件數(shù)碼管譯碼器1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備2、庫器件之?dāng)?shù)據(jù)比較器(1)QuartusPrime中各種其他庫器件眾所周知,74系列數(shù)字芯片種類繁多,諸如數(shù)據(jù)比較器、數(shù)據(jù)選擇器、數(shù)碼管譯碼器、譯碼器、編碼器等各種功能的數(shù)字芯片,其中,74LS85或者74HC85均是4位數(shù)據(jù)比較器。QuartusPrime器件庫中還提供了一些其他一些更為直觀的邏輯電路。1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備2、庫器件之?dāng)?shù)據(jù)比較器(2)QuartusPrime中四位數(shù)據(jù)比較器“7485”邏輯功能1、7485是四位數(shù)據(jù)比較器,可以進(jìn)行“>””<””==”三種比較。2、7485支持級(jí)聯(lián)。如果不級(jí)聯(lián),默認(rèn)來自低位的比較結(jié)果相等,則需給AGBI、AEBI、ALBI分別連接邏輯值0、1、0。3、如果不級(jí)聯(lián),輸入總共為2^8=256種組合形式,顯然使用總線式端口。4、輸出總共有3種結(jié)果(A大于B、A等于B、A小于B)。數(shù)碼輸入級(jí)聯(lián)輸入輸出A3、B3A2、B2A1、B1A0、B0AGBI(A>B)ALBI(A<B)AEBI(A==B)AGBO(A>B)ALBO(A<B)AEBO(A==B)A3>B3XXXXXX100A3<B3XXXXXX010A3==B3A2>B2XXXXX100A3==B3A2<B2XXXXX010A3==B3A2==B2A1>B1XXXX100A3==B3A2==B2A1<B1XXXX010A3==B3A2==B2A1==B1A0>B0XXX100A3==B3A2==B2A1==B1A0<B0XXX010A3==B3A2==B2A1==B1A0==B0100100A3==B3A2==B2A1==B1A0==B0010010A3==B3A2==B2A1==B1A0==B0XX1001A3==B3A2==B2A1==B1A0==B0110000A3==B3A2==B2A1==B1A0==B0000110注:AGB代表A大于B;AEB代表A等于B;ALB代表A小于B。1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備2、庫器件之?dāng)?shù)據(jù)比較器(3)QuartusPrime中四位比較器“7485”邏輯功能設(shè)計(jì)1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備2、庫器件之?dāng)?shù)據(jù)比較器(3)QuartusPrime中四位比較器“7485”邏輯功能總結(jié)1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備3、庫器件之?dāng)?shù)據(jù)選擇器(1)QuartusPrime中二選一數(shù)據(jù)選擇器“21mux”邏輯功能1、圖中數(shù)據(jù)選擇器是幾選一?答:二選一。2、二選一數(shù)據(jù)選擇器數(shù)據(jù)端是幾位數(shù)據(jù)?答:四位。3、如何實(shí)現(xiàn)四位二選一數(shù)據(jù)選擇器?答:需要并聯(lián)四個(gè)“二選一數(shù)據(jù)選擇器”。輸入輸出SABY00000010010101111000101111001111二選一數(shù)據(jù)選擇器二選一數(shù)據(jù)選擇器真值表1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備3、庫器件之?dāng)?shù)據(jù)選擇器(2)四位二選一數(shù)據(jù)選擇器設(shè)計(jì)操作演示1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備3、庫器件之?dāng)?shù)據(jù)選擇器(3)四位二選一數(shù)據(jù)選擇器設(shè)計(jì)總結(jié)操作演示1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備4、庫器件之?dāng)?shù)碼管譯碼器(1)數(shù)碼管譯碼器邏輯功能注釋輸入輸出十進(jìn)制數(shù)據(jù)輸入控制端輸入數(shù)據(jù)端LTA3A2A1A0abcdefg01110000111111011X10001011000021X10010110110131X10011111100141X10100011001151X10101101101161X10110001111171X10111111000081X11000111111191X110011111011器件7448共陰極數(shù)碼管譯碼器真值表1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備7447是共陽極數(shù)碼管譯碼器7448是共陰極數(shù)碼管譯碼器4、庫器件之?dāng)?shù)碼管譯碼器(2)數(shù)碼管譯碼器設(shè)計(jì)注釋輸入輸出十進(jìn)制數(shù)據(jù)輸入控制端輸入數(shù)據(jù)端LTA3A2A1A0abcdefg01110000111111011X10001011000021X10010110110131X10011111100141X10100011001151X10101101101161X10110001111171X10111111000081X11000111111191X110011111011器件7448共陰極數(shù)碼管譯碼器真值表操作演示1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備小結(jié)1.3.1【知識(shí)準(zhǔn)備】十進(jìn)制計(jì)數(shù)顯示電路原理與器件準(zhǔn)備謝謝大家!內(nèi)容安排1.3.1【知識(shí)準(zhǔn)備】1、十進(jìn)制計(jì)數(shù)器原理;2、庫器件之?dāng)?shù)據(jù)比較器;3、庫器件之?dāng)?shù)據(jù)選擇器;4、庫器件之?dāng)?shù)碼管譯碼器。1.3.2【任務(wù)實(shí)施】1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路;2、RTL視圖的打開與分析;【知識(shí)拓展】1、FPGA結(jié)構(gòu)組成之LUT和LE。任務(wù)1.3原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)顯示電路1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路1.3.2【任務(wù)實(shí)施】原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)顯示電路(1)十進(jìn)制計(jì)數(shù)顯示電路設(shè)計(jì)分析加法器觸發(fā)器比較器選擇器所需器件數(shù)碼管譯碼器1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路1.3.2【任務(wù)實(shí)施】原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)顯示電路加法器觸發(fā)器比較器選擇器所需器件數(shù)碼管譯碼器(1)十進(jìn)制計(jì)數(shù)顯示電路設(shè)計(jì)分析1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路1.3.2【任務(wù)實(shí)施】原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)顯示電路加法器觸發(fā)器比較器選擇器所需器件數(shù)碼管譯碼器(1)十進(jìn)制計(jì)數(shù)顯示電路設(shè)計(jì)分析1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路1.3.2【任務(wù)實(shí)施】原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)顯示電路(2)十進(jìn)制計(jì)數(shù)顯示電路設(shè)計(jì)操作演示1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路1.3.2【任務(wù)實(shí)施】原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)顯示電路(3)十進(jìn)制計(jì)數(shù)顯示電路設(shè)計(jì)總結(jié)2、RTL視圖的打開與分析1.3.2【任務(wù)實(shí)施】原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)顯示電路RTL視圖打開方法在QuartusPrime主界面主菜單欄下選擇“Tools”→“NetlistWiewers”→“RTLViewer”,即可看到軟件綜合和分析后的RTL視圖。左側(cè)導(dǎo)航窗口包含Instances、Pin等列表。操作演示小結(jié):十進(jìn)制計(jì)數(shù)器框架及原理;常用組合電路功能夯實(shí);任務(wù)1.3原理圖法實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器顯示電路問題與思考:按照方案2進(jìn)行設(shè)計(jì)。謝謝大家!內(nèi)容安排1.3.1【知識(shí)準(zhǔn)備】1、十進(jìn)制計(jì)數(shù)器原理;2、庫器件之?dāng)?shù)據(jù)比較器;3、庫器件之?dāng)?shù)據(jù)選擇器;4、庫器件之?dāng)?shù)碼管譯碼器。1.3.2【任務(wù)實(shí)施】1、(總線式端口)十進(jìn)制計(jì)數(shù)顯示電路;2、RTL視圖的打開與分析;【知識(shí)拓展】1、FPGA結(jié)構(gòu)組成之LUT和LE。知識(shí)拓展回憶【知識(shí)拓展】1、LUT(兩輸入LUT)【知識(shí)拓展】(1)實(shí)現(xiàn)兩輸入與門輸入輸出ABY000010100111兩輸入與門真值表輸入00輸入01輸入10輸入11FPGA內(nèi)部的組合邏輯功能是基于查找表(LookUpTable,LUT)方式實(shí)現(xiàn)的,而非真正的邏輯門。查找表的本質(zhì)是一種存儲(chǔ)器,其物理結(jié)構(gòu)是靜態(tài)隨機(jī)存儲(chǔ)器(SRAM),邏輯電路的輸出狀態(tài)存儲(chǔ)在SRAM中,每個(gè)存儲(chǔ)單元都有唯一的地址編碼,邏輯電路的輸入信號(hào)作為SRAM的地址線,當(dāng)輸入信號(hào)變化時(shí)(即存儲(chǔ)器的輸入地址發(fā)生變化),存儲(chǔ)器根據(jù)輸入的地址編碼將對(duì)應(yīng)位置存儲(chǔ)的數(shù)據(jù)送給輸出。1、LUT(兩輸入LUT)【知識(shí)拓展】(2)實(shí)現(xiàn)一位半加器輸入00輸入01輸入10輸入11一位半加器真值表輸入輸出ABCoSo00000101100111101、LUT(四輸入LUT)【知識(shí)拓展】?jī)奢斎隠UT對(duì)比四輸入LUT2、LE【知識(shí)拓展】FPGA器件的規(guī)模可以做得非常大,Altera的FPGA內(nèi)部主要由大量縱橫排列的邏輯塊陣列(Logic

Array

Block,LAB)構(gòu)成;而LAB由若干個(gè)邏輯單元(LogicElement,LE)構(gòu)成.每一個(gè)LE中主要由LUT+D觸發(fā)器構(gòu)成。圖示為某FPGA的LE結(jié)構(gòu)示意圖。LUT的功能是實(shí)現(xiàn)組合邏輯;加入D觸發(fā)器的作用是將組合邏輯和D觸發(fā)器結(jié)合起來以實(shí)現(xiàn)時(shí)序邏輯電路。當(dāng)然也可以通過圖中的二選一數(shù)據(jù)選擇器直接將組合邏輯的輸出送至三態(tài)緩沖器以直接輸出,從而實(shí)現(xiàn)純組合邏輯功能。圖中,二選一數(shù)據(jù)選擇器后級(jí)還有一個(gè)三態(tài)緩沖器,使輸出更加靈活。謝謝大家!項(xiàng)目2——典型邏輯電路的VerilogHDL設(shè)計(jì)項(xiàng)目一回憶項(xiàng)目一

回顧1、一位全加器1)一位半加器——Quartus軟件操作2)一位全加器——封裝與調(diào)用2、十六進(jìn)制計(jì)數(shù)器1)十六進(jìn)制計(jì)數(shù)器原理2)四位加法器——總線式端口3)D觸發(fā)器——端口的功能3、十進(jìn)制計(jì)數(shù)器1)比較器等庫器件調(diào)用2)RTL視圖的打開與分析4、FPGA的結(jié)構(gòu)1)LUT(四輸入單輸出組合邏輯)2)LE(LUT+D觸發(fā)器等)一位半加器一位全加器項(xiàng)目一回憶項(xiàng)目一

回顧1、一位全加器1)一位半加器——Quartus軟件操作2)一位全加器——封裝與調(diào)用2、十六進(jìn)制計(jì)數(shù)器1)十六進(jìn)制計(jì)數(shù)器原理2)四位加法器——總線式端口3)D觸發(fā)器——端口的功能3、十進(jìn)制計(jì)數(shù)器1)比較器等庫器件調(diào)用2)RTL視圖的打開與分析4、FPGA的結(jié)構(gòu)1)LUT(四輸入單輸出組合邏輯)2)LE(LUT+D觸發(fā)器等)十六進(jìn)制計(jì)數(shù)器項(xiàng)目一回憶項(xiàng)目一

回顧1、一位全加器1)一位半加器——Quartus軟件操作2)一位全加器——封裝與調(diào)用2、十六進(jìn)制計(jì)數(shù)器1)十六進(jìn)制計(jì)數(shù)器原理2)四位加法器——總線式端口3)D觸發(fā)器——端口的功能3、十進(jìn)制計(jì)數(shù)器1)比較器等庫器件調(diào)用2)RTL視圖的打開與分析4、FPGA的結(jié)構(gòu)1)LUT(四輸入單輸出組合邏輯)2)LE(LUT+D觸發(fā)器等

)十進(jìn)制計(jì)數(shù)器項(xiàng)目一回憶項(xiàng)目一

回顧1、一位全加器1)一位半加器——Quartus軟件操作2)一位全加器——封裝與調(diào)用2、十六進(jìn)制計(jì)數(shù)器1)十六進(jìn)制計(jì)數(shù)器原理2)四位加法器——總線式端口3)D觸發(fā)器——端口的功能3、十進(jìn)制計(jì)數(shù)器1)比較器等庫器件調(diào)用2)RTL視圖的打開與分析4、FPGA的結(jié)構(gòu)1)LUT(四輸入單輸出組合邏輯)2)LE(LUT+D觸發(fā)器等

)LE結(jié)構(gòu)示意LUT結(jié)構(gòu)示意項(xiàng)目二、任務(wù)要求項(xiàng)目二典型邏輯電路的VerilogHDL設(shè)計(jì)項(xiàng)目二

任務(wù)要求軟件:QuartusPrime17.1軟件;硬件:FPGA芯片型號(hào)為EP4CE10F17C8的電路板(包含按鍵或撥碼開關(guān)、LED)。任務(wù)2.1VerilogHDL實(shí)現(xiàn)四位加法器。任務(wù)2.2VerilogHDL實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器。組織邏輯任務(wù)2組織邏輯1、項(xiàng)目2和項(xiàng)目1目標(biāo)一致(計(jì)數(shù)器),方法不同。2、計(jì)數(shù)器是綜合數(shù)字電路系統(tǒng)中最核心的器件;

也是FPGA設(shè)計(jì)的思維切入點(diǎn)和設(shè)計(jì)主引線。3、從語法上講,使用VerilogHDL設(shè)計(jì)電路(邏輯功能定義)的最經(jīng)典的分類方法分為

④結(jié)構(gòu)化描述數(shù)據(jù)流描述行為級(jí)描述混合描述加法器、比較器、選擇器、譯碼器觸發(fā)器、計(jì)數(shù)器任務(wù)角度

介紹4種語法過程中穿插介紹各種典型器件硬件描述語言(HardwareDescriptionLanguage,HDL)常用的有VerilogHDL和VHDL,當(dāng)前VerilogHDL應(yīng)用更為廣泛

語法角度(四種)任務(wù)2.1VerilogHDL實(shí)現(xiàn)四位加法器2.1.1理論:結(jié)構(gòu)化描述

介紹——實(shí)現(xiàn)一位加法器

數(shù)據(jù)流描述

介紹——實(shí)現(xiàn)一位加法器2.1.2實(shí)踐:結(jié)構(gòu)化描述

應(yīng)用——實(shí)現(xiàn)四位加法器

數(shù)據(jù)流描述

應(yīng)用——實(shí)現(xiàn)四位加法器組織邏輯任務(wù)2.2VerilogHDL實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器2.2.1理論:行為級(jí)描述介紹——實(shí)現(xiàn)常見組合邏輯電路

——

實(shí)現(xiàn)D觸發(fā)器2.2.2實(shí)踐:混合描述

——

實(shí)現(xiàn)計(jì)數(shù)器重點(diǎn)四種邏輯功能定義方式。本章重點(diǎn)結(jié)構(gòu)化描述方式數(shù)據(jù)流描述方式行為級(jí)描述方式混合

描述方式一位加法器四位加法器等簡(jiǎn)單組合邏輯if-比較器、數(shù)據(jù)選擇器、十進(jìn)制計(jì)數(shù)器組合邏輯部分if-D觸發(fā)器case-譯碼器等真值表類的組合邏輯電路十進(jìn)制計(jì)數(shù)器計(jì)數(shù)器加法器邏輯功能定義穿插案例終極任務(wù)謝謝大家!任務(wù)2.1VerilogHDL實(shí)現(xiàn)四位加法器任務(wù)要求軟件:QuartusPrime17.1軟件;硬件:FPGA芯片型號(hào)為EP4CE10F17C8的電路板(包含按鍵或撥碼開關(guān)、LED)。任務(wù)2.1VerilogHDL實(shí)現(xiàn)四位加法器。任務(wù)2.2VerilogHDL實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器。知識(shí)拓展

器件規(guī)劃圖和D觸發(fā)器電路的時(shí)間參數(shù)

④結(jié)構(gòu)化描述數(shù)據(jù)流描述行為級(jí)描述混合描述內(nèi)容安排2.1.1【知識(shí)準(zhǔn)備】——實(shí)現(xiàn)一位半/全加器1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)

2、結(jié)構(gòu)化描述方式1)直接調(diào)用VerilogHDL內(nèi)部預(yù)先定義的基本門級(jí)元件2)調(diào)用用戶其他已經(jīng)定義過的低層次模塊3、數(shù)據(jù)流描述方式位運(yùn)算符、邏輯運(yùn)算符、算數(shù)運(yùn)算符2.1.2【任務(wù)實(shí)施】——設(shè)計(jì)四位加法器1、結(jié)構(gòu)化描述方式應(yīng)用2、數(shù)據(jù)流描述方式應(yīng)用任務(wù)2.1VerilogHDL實(shí)現(xiàn)四位加法器提問:請(qǐng)用通俗語言描述“兩輸入與非門”從真值表角度或者從功能角度輸入是A、B;輸出是Y功能如表所示”全1為0“C語言是順序式指令,逐行執(zhí)行,順序不能互換VerilogHDL語言是一種硬件描述語言,可以從邏輯功能和結(jié)構(gòu)連接兩種角度描述,順序可互換任務(wù)2.1VerilogHDL實(shí)現(xiàn)四位加法器輸入輸出ABY001011101110與非門原理圖與非門真值表從原理圖角度輸入是A、B;輸出是Y輸入A和B連接到與門輸入、紅線連接與門輸出紅線送入非門、非門輸出送到Y(jié)引腳。1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(1)VerilogHDL發(fā)展歷程由GDA公司的Moorby于1983年末首創(chuàng),最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。1983年Moorby推出它的第三個(gè)商用仿真器Verilog-XL,獲得了巨大的成功并被廣泛使用,從而使得VerilogHDL迅速得到推廣和使用,VerilogHDL作為一種便于使用且實(shí)用的語言逐漸被眾多設(shè)計(jì)者所接受。1985年VerilogHDL語言于1990年被推向公眾領(lǐng)域,OVI是促進(jìn)VerilogHDL發(fā)展的國(guó)際性組織。1990年1992年OVI在1992年決定致力于推廣VerilogHDLOVI標(biāo)準(zhǔn)成為IEEE標(biāo)準(zhǔn),這一努力最后獲得成功。1995年IEEE正式制定了VerilogHDL語言的第一個(gè)國(guó)際標(biāo)準(zhǔn)IEEEStd1364-19951995年2001年,IEEE發(fā)布了第二個(gè)VerilogHDL語言標(biāo)準(zhǔn)IEEEStd1364-2001。2001年1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(2)VerilogHDL特點(diǎn)——資源豐富、語法靈活能在多個(gè)層次上對(duì)所設(shè)計(jì)的系統(tǒng)加以描述,從開關(guān)級(jí)、門級(jí)、寄存器傳輸級(jí)(RTL)到行為級(jí)都可以勝任,同時(shí)VerilogHDL語言不對(duì)設(shè)計(jì)規(guī)模施加任何限制。靈活多樣的電路描述風(fēng)格,可進(jìn)行結(jié)構(gòu)描述,也可進(jìn)行行為描述;內(nèi)置各種基本邏輯門,如and、or、not等,可方便地進(jìn)行門級(jí)結(jié)構(gòu)描述;內(nèi)置各種開關(guān)級(jí)元件,如pmos、nmos和mos等,可進(jìn)行開關(guān)級(jí)的建模。VerilogHDL的行為描述語句,如條件語句、賦值語句和循環(huán)語句等,類似于軟件高級(jí)語言,便于學(xué)習(xí)和使用。既適于綜合的電路設(shè)計(jì),也可用于電路與系統(tǒng)的仿真。用戶定義原語(UDP)創(chuàng)建的靈活性。用戶定義的原語既可以是組合邏輯,也可以是時(shí)序邏輯,可通過編程語言接口(PLI)機(jī)制進(jìn)一步擴(kuò)展VerilogHDL語言的描述能力。1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(3)VerilogHDL程序概覽對(duì)比C語言VerilogHDL語言語言組織形式以函數(shù)為指令集合module(模塊)輸入輸出可有可無一般均有過程量定義函數(shù)輸入輸出、內(nèi)部變量均需要定義類型端口和內(nèi)部信號(hào)(電路)均需要定義信號(hào)類型與位寬換行符分號(hào)(;)空白符編譯器忽略注釋//用于注釋當(dāng)前行;/**/用于注釋某一段1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(4)VerilogHDL模塊基本結(jié)構(gòu)每個(gè)VerilogHDL程序包括4個(gè)主要部分:模塊聲明

(給module或模塊起名,便于調(diào)用

)端口定義

(說明端口是幾根線,什么類型

)數(shù)據(jù)/信號(hào)類型聲明(說明內(nèi)部電路/連線是幾根線、什么類型)邏輯功能定義

(定義module內(nèi)各電路的功能

)1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(4)VerilogHDL模塊基本結(jié)構(gòu)——1模塊聲明VerilogHDL程序是由module構(gòu)成的,一般稱為模塊。FPGA_U2_Nand是該模塊(或電路)名稱,為狹義的模塊(或電路)。與門(and)和非門(not)是廣義的模塊(或電路)一個(gè).v文件一般1個(gè)module,且和.v文件名一致;

如果工程只有1個(gè).v文件,工程名一般也建議和module名稱一致。1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(4)VerilogHDL模塊基本結(jié)構(gòu)——2端口(Port)定義端口是模塊與外界連接和通信的信號(hào)線每個(gè)端口要聲明端口方向是input、output、inout中的哪一種。①input(輸入)②output(輸出)③inout(輸入/輸出)每個(gè)端口要聲明其位寬(缺省為一位寬)——幾根線或端口。每個(gè)端口的數(shù)據(jù)類型要聲明是net型/register型。

而net型中以wire型最為常見,register型以reg型最為常見。端口類型:暫且默認(rèn)定義為wire型,后續(xù)需要定義為reg等其他類型再解釋。1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(4)VerilogHDL模塊基本結(jié)構(gòu)——3數(shù)據(jù)/信號(hào)類型定義VerilogHDL中有3種常用數(shù)據(jù)/信號(hào)類型,分別是net(線網(wǎng)型)——wire型最常見register(寄存器型

)——reg型最多parameter(參數(shù)型

)——運(yùn)行時(shí)的常數(shù),也有l(wèi)ocalparameter數(shù)據(jù)/信號(hào)類型聲明

對(duì)比

端口定義少input和output等端口方向1、VerilogHDL簡(jiǎn)介&基本語法結(jié)構(gòu)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)(4)VerilogHDL模塊基本結(jié)構(gòu)——4邏輯功能定義邏輯功能定義結(jié)構(gòu)化描述方式——類似于畫電路圖,描述不同電路之間的連接關(guān)系數(shù)據(jù)流描述方式——類似于《數(shù)字電子技術(shù)》課程中寫邏輯表達(dá)式行為級(jí)描述方式——類似于C語言中的if等高級(jí)語句混合描述方式——①②③的融合和混合使用一個(gè)綜合電路一般由多個(gè)子模塊構(gòu)成子模塊一般以行為級(jí)描述為主,數(shù)據(jù)流描述方式為輔;綜合電路一般以結(jié)構(gòu)化描述為主,數(shù)據(jù)流和行為級(jí)描述為輔邏輯功能定義方式(備忘)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)①結(jié)構(gòu)化描述方式——類似于畫電路圖,描述不同電路之間的連接關(guān)系直接調(diào)用VerilogHDL內(nèi)部預(yù)先定義的基本門級(jí)元件描述電路的結(jié)構(gòu)——以一位半加器為例調(diào)用用戶其他已經(jīng)定義過的低層次模塊對(duì)整個(gè)電路的功能進(jìn)行描述——以一位全加器為例②數(shù)據(jù)流描述方式——類似于《數(shù)字電子技術(shù)》課程中寫邏輯表達(dá)式③行為級(jí)描述方式——類似于C語言中的if等高級(jí)語句④混合描述方式——①②③的融合和混合使用2、結(jié)構(gòu)化描述方式2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)結(jié)構(gòu)化描述方式概述概念:結(jié)構(gòu)化描述方式是指使用實(shí)例化低層次模塊的方法;分類:(1)直接調(diào)用VerilogHDL內(nèi)部預(yù)先定義的基本門級(jí)元件描述電路的結(jié)構(gòu);(2)即調(diào)用用戶其他已經(jīng)定義過的低層次模塊對(duì)整個(gè)電路的功能進(jìn)行描述。對(duì)比:第(1)種因?yàn)檎Z言/描述的電路層級(jí)較低,在當(dāng)前的FPGA設(shè)計(jì)中,應(yīng)用不廣泛。第(2)種在FPGA設(shè)計(jì)中,使用最為廣泛。第(1)種可以看作第(2)種的特殊情況,即調(diào)用官方庫的其他已經(jīng)定義過的低層次模塊。2、結(jié)構(gòu)化描述方式2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)①結(jié)構(gòu)化描述方式——類似于畫電路圖,描述不同電路之間的連接關(guān)系直接調(diào)用VerilogHDL內(nèi)部預(yù)先定義的基本門級(jí)元件描述電路的結(jié)構(gòu)——以一位半加器為例即調(diào)用用戶其他已經(jīng)定義過的低層次模塊對(duì)整個(gè)電路的功能進(jìn)行描述②數(shù)據(jù)流描述方式——類似于《數(shù)字電子技術(shù)》課程中寫邏輯表達(dá)式③行為級(jí)描述方式——類似于C語言中的if等高級(jí)語句④混合描述方式——①②③的融合和混合使用2、結(jié)構(gòu)化描述方式-直接調(diào)用VerilogHDL內(nèi)部預(yù)先定義的基本門級(jí)元件(一位半加器示例)2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)類型元件基本門多輸入門and、nand、or、nor、xor、xnor多輸出門buf、not三態(tài)門允許定義驅(qū)動(dòng)強(qiáng)度buif0、bufif1、notf0、notf1MOS開關(guān)無驅(qū)動(dòng)強(qiáng)度nmos、pmos、cmos、rnmos、rpmos、rcoms雙向開關(guān)無驅(qū)動(dòng)強(qiáng)度tran、tranif0、tranif1無驅(qū)動(dòng)強(qiáng)度rtran、rtranif0、rtranif1上拉、下拉電阻允許定義驅(qū)動(dòng)輕度pullup、pulldown原語描述使用and與門and(yout,xin1,xin2,xin3)nand與非nand(yout,xin1,xin2,xin3)or或門or(yout,xin1,xin2,xin3)nor或非nor(yout,xin1,xin2,xin3)xor異或xor(yout,xin1,xin2,xin3)xnor同或nxor(yout,xin1,xin2,xin3)表2-1

VerilogHDL內(nèi)置的26個(gè)基本元件及其類型表2-2

部分門級(jí)電路的原語如表2-1所示,VerilogHDL內(nèi)置有26個(gè)基本元件:1)其中14個(gè)是門級(jí)元件;2)12個(gè)是開關(guān)級(jí)元件。表2-2所示的是部分門級(jí)電路的原語。1位半加器原理圖結(jié)構(gòu)化描述方式-直接調(diào)用VerilogHDL內(nèi)部預(yù)先定義的基本門級(jí)元件(一位半加器示例)操作演示2.1.1【知識(shí)準(zhǔn)備】結(jié)構(gòu)化描述和數(shù)據(jù)流描述方式(實(shí)現(xiàn)一位半/全加器)操作演示操作重點(diǎn):1、創(chuàng)建一位半加器工程;2、新建VerilogHDL設(shè)計(jì)文本;3、RTL視圖對(duì)照一位半加器原理圖1位半加器原理圖原語描述使用and與門and(yout,xin1,xin2,xin3)nand與非nand(yout,xin1,xin2,xin3)or或門or(yout,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論