基于FPGA的自主可控SOC設(shè)計(jì) 課件 第1-3講 soc 設(shè)計(jì)概論、硬件描述語言VHDL設(shè)計(jì)、加法器設(shè)計(jì)_第1頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第1-3講 soc 設(shè)計(jì)概論、硬件描述語言VHDL設(shè)計(jì)、加法器設(shè)計(jì)_第2頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第1-3講 soc 設(shè)計(jì)概論、硬件描述語言VHDL設(shè)計(jì)、加法器設(shè)計(jì)_第3頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第1-3講 soc 設(shè)計(jì)概論、硬件描述語言VHDL設(shè)計(jì)、加法器設(shè)計(jì)_第4頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第1-3講 soc 設(shè)計(jì)概論、硬件描述語言VHDL設(shè)計(jì)、加法器設(shè)計(jì)_第5頁
已閱讀5頁,還剩509頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

SoC微體系結(jié)構(gòu)設(shè)計(jì)

教學(xué)目標(biāo)與任務(wù)培養(yǎng)學(xué)生理論聯(lián)系實(shí)際應(yīng)用的能力,了解微處理器技術(shù)發(fā)展的最新情況。本課程主要講述SoC系統(tǒng)的概念、設(shè)計(jì)方法和關(guān)鍵技術(shù)的實(shí)現(xiàn)。主要包括:VHDL硬件描述語言、系統(tǒng)存儲(chǔ)接口的實(shí)現(xiàn)方法、系統(tǒng)指令集實(shí)現(xiàn)方法、系統(tǒng)設(shè)計(jì)實(shí)例及工程問題及技術(shù)發(fā)展的現(xiàn)狀等相關(guān)內(nèi)容。課程內(nèi)容安排(1)SoC設(shè)計(jì)概論(2學(xué)時(shí))(2)FPGA結(jié)構(gòu)分析(1學(xué)時(shí))(3)VHDL硬件描述語言(12學(xué)時(shí)+4學(xué)時(shí))(4)加法器與乘除法器設(shè)計(jì)(2學(xué)時(shí)+12學(xué)時(shí))(5)SoC微體系結(jié)構(gòu)存儲(chǔ)器設(shè)計(jì)實(shí)現(xiàn)方法

(4學(xué)時(shí)+4學(xué)時(shí))(6)SoC微體系結(jié)構(gòu)系統(tǒng)設(shè)計(jì)實(shí)例

(12學(xué)時(shí)+20學(xué)時(shí))課程內(nèi)容安排(7)SoC微體系結(jié)構(gòu)驗(yàn)證與測試方法(1學(xué)時(shí))(8)SoC微體系結(jié)構(gòu)典型實(shí)例及技術(shù)發(fā)展(2學(xué)時(shí))理論:36學(xué)時(shí)(線下28學(xué)時(shí)+線上8學(xué)時(shí))實(shí)驗(yàn):40學(xué)時(shí)(10次實(shí)驗(yàn))考核方式:期末考試50%+實(shí)驗(yàn)*40%+平時(shí)*10%課程教材張劍賢、劉錦輝、楊鵬飛編著,基于FPGA的自主可控SoC設(shè)計(jì),西安電子科技大學(xué)出版社,2024.第一講SoC設(shè)計(jì)概論1.1SoC基本概念1.2SoC關(guān)鍵技術(shù)分析1.3SoC設(shè)計(jì)方法1.4SoC總線結(jié)構(gòu)

1.1什么是SoC?片上系統(tǒng)(SystemonChip,SoC),是指在單一芯片上集成了數(shù)字電路、模擬電路、信號(hào)采集和轉(zhuǎn)換電路、存儲(chǔ)器、MPU、MCU、DSP、MPEG等,實(shí)現(xiàn)了一個(gè)系統(tǒng)的功能。uPFPGAMPEGASICUSBROMRAMuPCoreSRAMROMUSBMPEGFLASHFPGAUARTA/DBlockPCBSoCuPFPGAMPEGASICUSBROMRAMuPCoreSRAMROMUSBMPEGFLASHFPGAUARTA/DBlockPCBSoC1.1.1SoCVSPCB相對(duì)于PCB整機(jī)微型化:體積小、重量輕工作速度↑:傳輸路徑短,寄生效應(yīng)弱,芯片內(nèi)部總線速度>>PCB板總線速度功耗↓:單個(gè)芯片功耗↑,但整個(gè)系統(tǒng)功耗↓,引線電容小,驅(qū)動(dòng)能力要求低可靠性↑:焊點(diǎn)數(shù)↓,屏蔽效果好,干擾小12SoC化實(shí)例:手機(jī)SoC化前SoC化后優(yōu)點(diǎn)體積小、功耗低、可靠性高、成本低以及更完善的功能和更高的性能指標(biāo)。缺點(diǎn)復(fù)雜性上升、設(shè)計(jì)成本高、開發(fā)時(shí)間長,完全改變了先前整機(jī)系統(tǒng)的總體設(shè)計(jì)方案。1.1.2SoC特點(diǎn)1.1.3SoC基本構(gòu)成嵌入式處理器核(如MPU、MCU或DSP)存儲(chǔ)器(如SRAM、SDRAM、FlashROM)專用功能模塊(如ADC、DAC、PLL、2D/3D圖形運(yùn)算單元)I/O接口模塊(如USB、UART、Ethernet等)等多種功能模塊片內(nèi)總線(AMBA、Wishbone、Avalon等)嵌入式處理器專用功能模塊(ADC、DAC、PLL)存儲(chǔ)器(RAM、ROM)I/O接口模塊(USB、UART、Ethernet)SoC基本結(jié)構(gòu)片內(nèi)總線1.1.4SoC與計(jì)算機(jī)SoC是屬于計(jì)算機(jī)與微電子學(xué)科交叉的新興方向。微電子方向注重電路級(jí)設(shè)計(jì),包括管級(jí)電路設(shè)計(jì)、芯片版圖設(shè)計(jì)、材料工藝實(shí)現(xiàn)等。計(jì)算機(jī)方向注重于系統(tǒng)級(jí)設(shè)計(jì),包括SoC結(jié)構(gòu)、IP核間邏輯關(guān)系、片內(nèi)總線結(jié)構(gòu)設(shè)計(jì)、行為級(jí)/RTL級(jí)功能設(shè)計(jì)實(shí)現(xiàn),F(xiàn)PGA驗(yàn)證、測試驗(yàn)證等。1.1.4SoC與計(jì)算機(jī)SoC是屬于計(jì)算機(jī)與微電子學(xué)科交叉的新興方向。微電子方向注重電路級(jí)設(shè)計(jì),包括管級(jí)電路設(shè)計(jì)、芯片版圖設(shè)計(jì)、材料工藝實(shí)現(xiàn)等。計(jì)算機(jī)方向注重于系統(tǒng)級(jí)設(shè)計(jì),包括SoC結(jié)構(gòu)、IP核間邏輯關(guān)系、片內(nèi)總線結(jié)構(gòu)設(shè)計(jì)、行為級(jí)/RTL級(jí)功能設(shè)計(jì)實(shí)現(xiàn),F(xiàn)PGA驗(yàn)證、測試驗(yàn)證等。SoC強(qiáng)化了計(jì)算機(jī)基礎(chǔ)理論知識(shí)之間的聯(lián)系,為理論與實(shí)踐的有機(jī)結(jié)合提供了有效的途徑。1.SOC集成的IO模塊包括以下哪幾個(gè)ADCUARTSPIUSBABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕SoC與計(jì)算機(jī)相關(guān)基礎(chǔ)課程SoC類型計(jì)算控制型通信網(wǎng)絡(luò)型信號(hào)處理型201.1.5SoC類型--計(jì)算控制型211.1.5SoC類型--計(jì)算控制型微處理器CPUCISC:硬件復(fù)雜,軟件簡化,指令執(zhí)行效率低,功耗大,如IntelX86系列,微機(jī)操作系統(tǒng)(Windows系列),用于微機(jī)與工業(yè)機(jī)。RISC:硬件簡單,軟件優(yōu)化,指令執(zhí)行效率高,功耗低,如ARM系列,嵌入式操作系統(tǒng)(如PalmOS、WindowsCE),用于信息家電、個(gè)人電器、移動(dòng)通信。數(shù)字信號(hào)處理器DSP通用DSP:強(qiáng)調(diào)高性能、高速,~1GHz嵌入式DSP:強(qiáng)調(diào)多功能、低功耗,~100MHz2220.7SoC設(shè)計(jì)流程計(jì)算控制型SoC示例23前放/功放:800MHz~5GHz,RFCMOS基帶:100MHz,帶CPU、SRAM、ROM等,標(biāo)準(zhǔn)CMOS調(diào)制:GSM,CDMA,WLAN,TCP/IP,Bluetooth移動(dòng)電話手機(jī)的SoC1.1.5SoC類型—通信網(wǎng)絡(luò)型24編解碼:語音PCM,音樂MP3,圖片JPEG,視頻MPEG信號(hào)采集:聲音(話筒),圖像(CCD,CMOS)信號(hào)輸出:聲音(揚(yáng)聲器),圖像(LCD、CRT)用于HDTV的飛利浦SoC芯片Nexperia1.1.5SoC類型—信號(hào)處理型SoC的應(yīng)用領(lǐng)域非常廣泛消費(fèi)電子(包含白色家電和黑色家電,如數(shù)字電視、DVD、STB、家庭網(wǎng)關(guān)、MP3播放器)通信設(shè)備(包含各種終端設(shè)備、接入設(shè)備和交換設(shè)備,如手機(jī)和路由器)控制類設(shè)備(包含汽車電子、儀器儀表、軍事電子、工業(yè)控制、醫(yī)療電子等,如智能化家用儀器儀表)1.1.6SoC應(yīng)用領(lǐng)域2.手機(jī)屬于哪一種SOC類型計(jì)算控制型信號(hào)處理型通信網(wǎng)絡(luò)型無線網(wǎng)絡(luò)型ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕1.1.7SoC系統(tǒng)級(jí)研究內(nèi)容軟硬件協(xié)同設(shè)計(jì)技術(shù)設(shè)計(jì)重用技術(shù)與底層相結(jié)合設(shè)計(jì)技術(shù)1.1.7SoC系統(tǒng)級(jí)研究內(nèi)容1.2SoC設(shè)計(jì)關(guān)鍵技術(shù)設(shè)計(jì)重用技術(shù)低功耗設(shè)計(jì)技術(shù)軟硬件協(xié)同設(shè)計(jì)總線架構(gòu)可測試性設(shè)計(jì)設(shè)計(jì)驗(yàn)證物理綜合1.2.1設(shè)計(jì)重用技術(shù)基于IP的模塊級(jí)重用

建立在IP芯核基礎(chǔ)上的,它是將已經(jīng)驗(yàn)證的各種超級(jí)宏單元電路模塊制成芯核,方便設(shè)計(jì)時(shí)使用。基于平臺(tái)的系統(tǒng)級(jí)重用1.2.1設(shè)計(jì)重用技術(shù)基于IP的模塊級(jí)重用

建立在IP芯核基礎(chǔ)上的,它是將已經(jīng)驗(yàn)證的各種超級(jí)宏單元電路模塊制成芯核,方便設(shè)計(jì)時(shí)使用。基于平臺(tái)的系統(tǒng)級(jí)重用平臺(tái)是一組關(guān)于虛擬組件與體系結(jié)構(gòu)框架的庫,在平臺(tái)中包含一些可集成的并且預(yù)先驗(yàn)證的軟硬件IP、設(shè)計(jì)模型、EDA工具與軟件配套工具、庫單元等,同時(shí)定義了一套通過體系結(jié)構(gòu)探索/集成/驗(yàn)證支持快速產(chǎn)品開發(fā)的設(shè)計(jì)方法學(xué)?;贗P設(shè)計(jì)重用技術(shù)的擴(kuò)展,延伸了設(shè)計(jì)重用的理念,強(qiáng)調(diào)系統(tǒng)級(jí)重用?;谄脚_(tái)的設(shè)計(jì)方法要求提供面向特定應(yīng)用領(lǐng)域的設(shè)計(jì)模板。1.2.1設(shè)計(jì)重用技術(shù)IP核是指經(jīng)過反復(fù)驗(yàn)證過的、具有特定功能的,可重復(fù)利用的邏輯塊或數(shù)據(jù)塊,用于專用集成電路(ASIC)或者可編輯邏輯器件(FPGA)。3.IP核有哪幾種類型?軟核固核眾核硬核ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕IP芯核的分類軟核固核硬核1.2.2低功耗設(shè)計(jì)技術(shù)芯片功耗主要由開關(guān)功耗、短路功耗和漏電流功耗等組成。

1.2.2低功耗設(shè)計(jì)技術(shù)芯片功耗主要由開關(guān)功耗、短路功耗和漏電流功耗等組成。降低功耗要從SoC的多層次立體角度出發(fā),研究電路實(shí)現(xiàn)工藝、輸入向量控制、多電壓技術(shù)、功耗管理技術(shù)以及軟件低功耗技術(shù)等多方面綜合解決。

1.2.2低功耗設(shè)計(jì)技術(shù)芯片功耗主要由開關(guān)功耗、短路功耗和漏電流功耗等組成。降低功耗要從SoC的多層次立體角度出發(fā),研究電路實(shí)現(xiàn)工藝、輸入向量控制、多電壓技術(shù)、功耗管理技術(shù)以及軟件低功耗技術(shù)等多方面綜合解決。功耗的降低是有限度的。首先是要限定在性能的約束范圍內(nèi),否則功耗的降低可能會(huì)導(dǎo)致性能的大幅度降低。1.2.2低功耗設(shè)計(jì)技術(shù)工藝級(jí)低功耗技術(shù)電路級(jí)低功耗技術(shù)邏輯(門)級(jí)低功耗技術(shù)RTL級(jí)(寄存器傳輸級(jí))低功耗技術(shù)體系結(jié)構(gòu)級(jí)低功耗技術(shù)算法級(jí)低功耗技術(shù)系統(tǒng)級(jí)低功耗技術(shù)(1)工藝級(jí)低功耗技術(shù)降低電源供電電壓,減少跳變功耗通過開發(fā)系統(tǒng)的并行性和流水線;根據(jù)用戶對(duì)電路性能的不同要求,通過操作系統(tǒng)動(dòng)態(tài)控制時(shí)鐘頻率和電源電壓;根據(jù)性能的要求,實(shí)時(shí)改變供電電壓。多閾值工藝MTCMOS(Multi-ThresholdVTCMOS)變閾值工藝VTCMOS(VariableThresholdVTCMOS)

(2)電路級(jí)低功耗技術(shù)減擺幅電荷再循環(huán)總線結(jié)構(gòu)(ChargeRecyclingBus)它把整個(gè)電勢差分幾等份,利用總線各數(shù)據(jù)位電容上存儲(chǔ)的電荷電勢的變化來傳輸數(shù)據(jù)。(3)門級(jí)低功耗技術(shù)主要通過低電壓實(shí)現(xiàn)低功耗技術(shù),主要采用互補(bǔ)CMOS實(shí)現(xiàn)來實(shí)現(xiàn)。(4)寄存器傳輸級(jí)(RTL)低功耗技術(shù)RTL低功耗技術(shù)主要從降低不希望的跳變?nèi)胧?。降低的方法主要是消除其產(chǎn)生的條件,如延遲路徑平衡、用時(shí)鐘信號(hào)同步減少故障、結(jié)構(gòu)重構(gòu)。(5)體系結(jié)構(gòu)級(jí)低功耗技術(shù)并行技術(shù)流水線技術(shù)預(yù)計(jì)算技術(shù)(6)算法級(jí)低功耗技術(shù)總線翻轉(zhuǎn)譯碼技術(shù)編碼技術(shù)(7)系統(tǒng)級(jí)低功耗技術(shù)門控時(shí)鐘技術(shù)異步電路技術(shù)4.體系結(jié)構(gòu)級(jí)低功耗技術(shù)包括哪些編碼技術(shù)流水線技術(shù)并行技術(shù)預(yù)計(jì)算技術(shù)ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕1.2.3軟硬件協(xié)同設(shè)計(jì)技術(shù)在傳統(tǒng)的設(shè)計(jì)方法中,硬件和軟件是分開進(jìn)行的,最終的集成要在硬件投片完成后才能進(jìn)行,在軟件中不能糾正的設(shè)計(jì)錯(cuò)誤只能通過硬件的修改和重新投片來解決,嚴(yán)重影響了投放市場的時(shí)間,提高了設(shè)計(jì)成本。

1.2.3軟硬件協(xié)同設(shè)計(jì)技術(shù)在傳統(tǒng)的設(shè)計(jì)方法中,硬件和軟件是分開進(jìn)行的,最終的集成要在硬件投片完成后才能進(jìn)行,在軟件中不能糾正的設(shè)計(jì)錯(cuò)誤只能通過硬件的修改和重新投片來解決,嚴(yán)重影響了投放市場的時(shí)間,提高了設(shè)計(jì)成本。軟硬件協(xié)同設(shè)計(jì)方法強(qiáng)調(diào)軟件和硬件設(shè)計(jì)開發(fā)的并行性和相互反饋,克服了傳統(tǒng)方法中把軟件和硬件分開設(shè)計(jì)帶來的種種弊端,能協(xié)調(diào)軟件和硬件之間的制約關(guān)系,達(dá)到系統(tǒng)高效工作的目的。1.2.3軟硬件協(xié)同設(shè)計(jì)關(guān)鍵技術(shù)系統(tǒng)建模軟硬件劃分技術(shù)軟硬件協(xié)同綜合軟硬件協(xié)同仿真與驗(yàn)證1.2.3.1系統(tǒng)建模目的是在最高抽象層次上利用某種高級(jí)語言,如C/C++,SystemC或統(tǒng)一建模語言(UML)等描述整個(gè)系統(tǒng)行為,獲取用戶功能需求和約束要求,驗(yàn)證需求分析的正確性。全面描述系統(tǒng)功能,精確建立系統(tǒng)模型,深入挖掘軟硬件之間的協(xié)同性。明確體現(xiàn)性能描述、功能特點(diǎn)、技術(shù)指標(biāo)、約束條件等因素。

(1)系統(tǒng)描述模型離散事件模型有限狀態(tài)機(jī)模型通信進(jìn)程網(wǎng)絡(luò)模型

Petri網(wǎng)模型任務(wù)流圖模型控制數(shù)據(jù)流圖模型(2)系統(tǒng)模型要求采用形式化規(guī)范,應(yīng)用逐步細(xì)化求精的思想,實(shí)現(xiàn)可變粒度的層次化任務(wù)描述能力;

(2)系統(tǒng)模型要求采用形式化規(guī)范,應(yīng)用逐步細(xì)化求精的思想,實(shí)現(xiàn)可變粒度的層次化任務(wù)描述能力;并通過控制機(jī)制指導(dǎo)控制相關(guān)性,捕獲其并發(fā)性、時(shí)序與通信關(guān)系;

(2)系統(tǒng)模型要求采用形式化規(guī)范,應(yīng)用逐步細(xì)化求精的思想,實(shí)現(xiàn)可變粒度的層次化任務(wù)描述能力;并通過控制機(jī)制指導(dǎo)控制相關(guān)性,捕獲其并發(fā)性、時(shí)序與通信關(guān)系;將系統(tǒng)模型與底層實(shí)現(xiàn)相關(guān)聯(lián),通過一系列的細(xì)化與變換規(guī)則,完成功能任務(wù)到實(shí)現(xiàn)的映射;

(2)系統(tǒng)模型要求采用形式化規(guī)范,應(yīng)用逐步細(xì)化求精的思想,實(shí)現(xiàn)可變粒度的層次化任務(wù)描述能力;并通過控制機(jī)制指導(dǎo)控制相關(guān)性,捕獲其并發(fā)性、時(shí)序與通信關(guān)系;將系統(tǒng)模型與底層實(shí)現(xiàn)相關(guān)聯(lián),通過一系列的細(xì)化與變換規(guī)則,完成功能任務(wù)到實(shí)現(xiàn)的映射;支持快速生成系統(tǒng)原型,有利于在系統(tǒng)級(jí)進(jìn)行功能驗(yàn)證與性能評(píng)價(jià)。5.以下哪種模型適合描述并發(fā)、競爭及同步的特性有限狀態(tài)機(jī)離散事件Petri網(wǎng)任務(wù)流圖ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕1.2.3.2軟硬件劃分軟硬件劃分是在系統(tǒng)描述與建模層次的分析結(jié)果上,將系統(tǒng)功能合理地劃分為軟件和硬件實(shí)現(xiàn)部分,使系統(tǒng)性能與成本最優(yōu)。劃分結(jié)果力求提高速度、縮小面積、降低成本、減少功耗。軟硬件劃分是一個(gè)NP難問題。1.2.3.2軟硬件劃分根據(jù)SoC系統(tǒng)需求,結(jié)合成本、功耗、面積、實(shí)時(shí)性、和可靠性等性能參數(shù),研究滿足系統(tǒng)約束的各種優(yōu)化算法的目標(biāo)函數(shù),探討各種優(yōu)化算法的初始解的生成、參數(shù)設(shè)置及收斂條件,設(shè)計(jì)軟硬件劃分的最優(yōu)化算法。1.2.3.2軟硬件劃分模塊名稱軟件實(shí)現(xiàn)硬件實(shí)現(xiàn)軟件成本軟件功耗硬件成本硬件功耗A58102B1010205C815108純硬件實(shí)現(xiàn):成本40,功耗15純軟件實(shí)現(xiàn):成本23,功耗331.2.3.2軟硬件劃分模塊名稱軟件實(shí)現(xiàn)硬件實(shí)現(xiàn)軟件成本軟件功耗硬件成本硬件功耗A58102B1010205C815108純硬件實(shí)現(xiàn):成本40,功耗15純軟件實(shí)現(xiàn):成本23,功耗3323≤系統(tǒng)成本≤4015≤系統(tǒng)功耗≤33設(shè)計(jì)要求:系統(tǒng)成本≤35,系統(tǒng)功耗≤206.滿足設(shè)計(jì)要求(系統(tǒng)成本≤35,系統(tǒng)功耗≤20)的軟硬件劃分方案是A軟件,B硬件,C硬件A硬件,B硬件,C軟件A硬件,B軟件,C硬件A軟件,B硬件,C軟件ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕1.2.3.2軟硬件劃分模塊名稱軟件實(shí)現(xiàn)硬件實(shí)現(xiàn)軟件成本軟件功耗硬件成本硬件功耗A58102B1010205C815108設(shè)計(jì)要求:系統(tǒng)成本≤35,系統(tǒng)功耗≤20A模塊硬件實(shí)現(xiàn),成本10,功耗2B模塊軟件實(shí)現(xiàn),成本10,功耗10C模塊硬件實(shí)現(xiàn),成本10,功耗8系統(tǒng)成本=30,系統(tǒng)功耗=201.2.3.3軟硬件協(xié)同綜合軟硬件協(xié)同綜合是利用設(shè)計(jì)中的各種資源(如系統(tǒng)模型、軟/硬件模塊等)生成最優(yōu)的通信體系結(jié)構(gòu),實(shí)現(xiàn)從功能到結(jié)構(gòu)再到實(shí)現(xiàn)的轉(zhuǎn)換,同時(shí)滿足系統(tǒng)性能與代價(jià)約束。通信體系結(jié)構(gòu)綜合—軟硬件接口軟件綜合—軟件構(gòu)件硬件綜合—硬件IP1.2.3.4軟硬件協(xié)同仿真與驗(yàn)證系統(tǒng)評(píng)估與驗(yàn)證是檢驗(yàn)SoC設(shè)計(jì)的邏輯、功能、時(shí)間特性等是否滿足用戶需求的過程。模塊/IP核級(jí)驗(yàn)證軟硬件協(xié)同仿真驗(yàn)證FPGA驗(yàn)證1.2.3.4軟硬件協(xié)同仿真與驗(yàn)證黑盒驗(yàn)證通過設(shè)計(jì)頂層接口,驗(yàn)證哪些與設(shè)計(jì)實(shí)現(xiàn)技術(shù)無關(guān)的功能,不能直接訪問設(shè)計(jì)內(nèi)部狀態(tài),可控性差、可測性差。

1.2.3.4軟硬件協(xié)同仿真與驗(yàn)證黑盒驗(yàn)證通過設(shè)計(jì)頂層接口,驗(yàn)證哪些與設(shè)計(jì)實(shí)現(xiàn)技術(shù)無關(guān)的功能,不能直接訪問設(shè)計(jì)內(nèi)部狀態(tài),可控性差、可測性差。白盒驗(yàn)證保證設(shè)計(jì)實(shí)現(xiàn)相關(guān)技術(shù)的功能正確實(shí)現(xiàn),黑盒的補(bǔ)充,對(duì)內(nèi)部結(jié)構(gòu)完全可控可見,但是不可移植。

1.2.3.4軟硬件協(xié)同仿真與驗(yàn)證黑盒驗(yàn)證通過設(shè)計(jì)頂層接口,驗(yàn)證哪些與設(shè)計(jì)實(shí)現(xiàn)技術(shù)無關(guān)的功能,不能直接訪問設(shè)計(jì)內(nèi)部狀態(tài),可控性差、可測性差。白盒驗(yàn)證保證設(shè)計(jì)實(shí)現(xiàn)相關(guān)技術(shù)的功能正確實(shí)現(xiàn),黑盒的補(bǔ)充,對(duì)內(nèi)部結(jié)構(gòu)完全可控可見,但是不可移植?;液序?yàn)證根據(jù)設(shè)計(jì)的內(nèi)容結(jié)構(gòu)寫Testcase,從設(shè)計(jì)頂層接口進(jìn)行控制與觀察,驗(yàn)證是否實(shí)現(xiàn)了一些主要特性,而不關(guān)心設(shè)計(jì)方法。7.軟硬件協(xié)同綜合包括哪些軟件模塊到硬件模塊接口綜合硬件模塊到軟件模塊接口綜合上位機(jī)軟件綜合硬件IP核綜合ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕1.2.4總線結(jié)構(gòu)對(duì)SoC上芯核和電路模塊等的互連常采用單總線、多總線和片上網(wǎng)絡(luò)的方式。SoC總線規(guī)范需要定義各個(gè)模塊之間的初始化、仲裁、請求傳輸、響應(yīng)、發(fā)送接收等過程中的驅(qū)動(dòng)、時(shí)序、策略等關(guān)系。

總線結(jié)構(gòu)特點(diǎn)SoC總線要盡可能簡單。SoC的總線應(yīng)有較大的靈活性。SoC的總線要盡可能降低功耗。1.2.5可測試性設(shè)計(jì)面臨的最大挑戰(zhàn)是如何降低測試成本。SoC芯核的測試方法

并行直接接入串行掃描鏈接入設(shè)置專門的針對(duì)芯核的測試結(jié)構(gòu)1.2.6設(shè)計(jì)驗(yàn)證設(shè)計(jì)驗(yàn)證是SoC設(shè)計(jì)中不可或缺的重要組成部分。驗(yàn)證的目的是確保所設(shè)計(jì)的SoC滿足系統(tǒng)規(guī)范中定義的功能要求,這是保證SoC設(shè)計(jì)正確性的關(guān)鍵。

1.2.6設(shè)計(jì)驗(yàn)證設(shè)計(jì)驗(yàn)證是SoC設(shè)計(jì)中不可或缺的重要組成部分。驗(yàn)證的目的是確保所設(shè)計(jì)的SoC滿足系統(tǒng)規(guī)范中定義的功能要求,這是保證SoC設(shè)計(jì)正確性的關(guān)鍵。IP核或電路模塊的驗(yàn)證SoC的全功能驗(yàn)證軟硬件協(xié)同驗(yàn)證FPGA驗(yàn)證1.2.7物理綜合物理綜合過程分為初始規(guī)劃、RTL規(guī)劃和門級(jí)規(guī)劃等多個(gè)階段。信號(hào)完整性與時(shí)序收斂分析完整性問題(串?dāng)_效應(yīng)、噪聲問題、天線效應(yīng)、電遷移、自熱問題以及電壓降問題)時(shí)序收斂與設(shè)計(jì)參數(shù)相互依賴(時(shí)序與面積、面積與功耗、時(shí)序與布局)

1.3SoC系統(tǒng)級(jí)設(shè)計(jì)方法自頂向下美國加州大學(xué)Irvine分校嵌入式系統(tǒng)研究小組的基于SpecC的逐層細(xì)化求精設(shè)計(jì)方法。自底向上法國TIMA實(shí)驗(yàn)室系統(tǒng)級(jí)綜合小組的基于組件的多處理器核SoC設(shè)計(jì)方法。上下結(jié)合(中間相遇)美國加州大學(xué)Berkeley分校CAD研究小組的基于平臺(tái)的設(shè)計(jì)方法。

1.3SoC系統(tǒng)級(jí)設(shè)計(jì)方法SoC設(shè)計(jì)流程算法或模型的建立行為級(jí)仿真生成門級(jí)網(wǎng)表文件RTL級(jí)描述RTL級(jí)仿真邏輯綜合、優(yōu)化門級(jí)仿真、時(shí)序分析行為描述系統(tǒng)功能描述元器件模型庫1.4SoC總線結(jié)構(gòu)在芯核互連的形式上,主要有共享總線、點(diǎn)對(duì)點(diǎn)連接、多總線等方式。共享總線方式是通過不同地址的解碼來完成不同主、從部件的互連,以及總線重用。

1.4SoC總線結(jié)構(gòu)在芯核互連的形式上,主要有共享總線、點(diǎn)對(duì)點(diǎn)連接、多總線等方式。共享總線方式是通過不同地址的解碼來完成不同主、從部件的互連,以及總線重用。多總線方式采用多種實(shí)現(xiàn)方式:按不同速率對(duì)總線分段;采用獨(dú)立的讀寫總線;采用多個(gè)并行的總線;采用分層總線構(gòu)架、采用交換矩陣或互連網(wǎng)絡(luò)。8.SOC總線包括哪些PCIeAMBAOCPWishboneABCD提交AvalonE多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕1.4典型SoC片上總線AMBACoreConnectAvalonWishboneOPC1.4.1AMBA總線ARM公司推出的片上總線,定義了三種可以組合使用的不同類型的總線:先進(jìn)高性能總線(AHB)、先進(jìn)系統(tǒng)總線(ASB)和先進(jìn)外設(shè)總線(APB)。(1)先進(jìn)高性能總線(AHB)AHB適合于高性能和高時(shí)鐘頻率的系統(tǒng)模塊,主要用于連接高性能和高吞吐量設(shè)備之間的連接,如CPU、片上存儲(chǔ)器、DMA設(shè)備和DSP或其他協(xié)處理器等。其主要特性有:單個(gè)時(shí)鐘邊沿操作,非三態(tài)的實(shí)現(xiàn)方式,支持多個(gè)主控制器,支持突發(fā)傳輸,支持分段傳輸,可配置32~128位總線寬度,支持字節(jié)、半字和字的傳輸。

(2)先進(jìn)系統(tǒng)總線(ASB)AMBA的先進(jìn)系統(tǒng)總線(ASB)適合于高性能的系統(tǒng)模塊。具有以下特性:突發(fā)傳送,流水方式工作,支持多總線主設(shè)備。典型的ASB系統(tǒng)包括ASB主設(shè)備、ASB從設(shè)備、ASB譯碼器、ASB仲裁器。(3)先進(jìn)系統(tǒng)總線(ASB)ASB基本工作流程為

:主設(shè)備請求使用總線。仲裁器決定授權(quán)哪個(gè)主設(shè)備占用總線。

主設(shè)備一旦被授權(quán),則啟動(dòng)傳輸。譯碼器用地址線的高位來選擇從設(shè)備。從設(shè)備返回傳輸響應(yīng)給主設(shè)備,數(shù)據(jù)在主設(shè)備和從設(shè)備之間傳輸。(4)先進(jìn)外設(shè)總線(APB)AMBA的先進(jìn)外設(shè)總線適合于任何低帶寬,并且無需高性能總線接口的外圍器件,進(jìn)行數(shù)據(jù)通信。(5)AXI總線AXI協(xié)議是新一代AMBA3.0標(biāo)準(zhǔn),總線帶寬利用率高,功能豐富。單向通道體系結(jié)構(gòu)支持多項(xiàng)數(shù)據(jù)交換獨(dú)立的地址和數(shù)據(jù)通道增強(qiáng)的靈活性AXI與AHBAXI與AHBAXI與AHB9.AXI總線是哪個(gè)公司提出的總線XilinxIntelARMAMDABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕1.4.2CoreConnect總線CoreConnect總線是IBM公司開發(fā)的片上總線系統(tǒng),包括處理器本地總線PLB(ProcessorLocalBus)、片上外圍總線OPB(On-ChipPeripheralBus)、一個(gè)總線橋、兩個(gè)判優(yōu)器,以及一個(gè)設(shè)備控制寄存器(DCR)(DeviceControlRegisterBus)總線。1.4.2

CoreConnect總線PLB(ProcessorLocalBus)是高性能總線,通過總線接口單元來訪問存儲(chǔ)器設(shè)備,為總線傳輸?shù)闹饕l(fā)出者和接受者之間提供高帶寬、低延遲的連接。1.4.2CoreConnect總線OPB(On-ChipPeripheralBus)用于連接低性能設(shè)備,如各種外圍接口。為連接具有不同的總線寬度及時(shí)序要求的外設(shè)和存儲(chǔ)器提供了一條途徑,并盡量減小對(duì)PLB性能的影響。1.4.2CoreConnect總線DCR(DeviceControlRegister)用于訪問和配置PLB和OPB總線設(shè)備的狀態(tài)和控制寄存器,用來規(guī)范CPU通用寄存器設(shè)備,控制寄存器之間傳輸數(shù)據(jù)。DCR總線在內(nèi)存地址映射中取消了配置寄存器,減少取操作,增加了處理器內(nèi)部總線帶寬。1.4.3AVALON總線Avalon總線是Altera公司設(shè)計(jì)的用于SOPC(SystemOnProgrammableChip)中,連接片上處理器和其它IP模塊的一種簡單的總線協(xié)議,它規(guī)定了主部件和從部件之間進(jìn)行連接的端口和通信的時(shí)序。Avalon總線特點(diǎn)開放性。接口協(xié)議簡單,容易學(xué)習(xí),易于理解。簡單性。提供一個(gè)易于理解的總線接口協(xié)議,使用獨(dú)立的地址、數(shù)據(jù)、控制線,提供與片上邏輯的最簡單的接口。支持高達(dá)128位的數(shù)據(jù)寬度,支持2的非偶數(shù)次冪寬度的地址和數(shù)據(jù)通道。

Avalon總線特點(diǎn)開放性。接口協(xié)議簡單,容易學(xué)習(xí),易于理解。簡單性。提供一個(gè)易于理解的總線接口協(xié)議,使用獨(dú)立的地址、數(shù)據(jù)、控制線,提供與片上邏輯的最簡單的接口。支持高達(dá)128位的數(shù)據(jù)寬度,支持2的非偶數(shù)次冪寬度的地址和數(shù)據(jù)通道。對(duì)同步操作的支持。所有的Avalon外設(shè)接口與Avalon交換結(jié)構(gòu)的時(shí)鐘同步,不需要復(fù)雜的握手/應(yīng)答機(jī)制。支持動(dòng)態(tài)地址對(duì)齊??商幚砭哂胁煌瑪?shù)據(jù)寬度的外設(shè)之間的數(shù)據(jù)傳輸。資源占用少,減少片內(nèi)邏輯資源的占用。Avalon總線數(shù)據(jù)傳輸Avalon從端口傳輸Avalon主端口傳輸流水線傳輸流傳輸三態(tài)傳輸突發(fā)傳輸1.4.4Wishbone總線最先由Silicore公司開發(fā)的片上總線系統(tǒng),現(xiàn)在已移交OpenCores組織維護(hù)。Wishbone接口在IP核模型之間定義了一組標(biāo)準(zhǔn)的信號(hào)和總線周期。通過在IP核之間創(chuàng)建一個(gè)通用的接口,可以提高系統(tǒng)的可移植性和可靠性。1.4.4Wishbone總線INTERCON定義了主設(shè)備和從設(shè)備之間的連接方式,SYSCON用于產(chǎn)生系統(tǒng)時(shí)鐘和復(fù)位信號(hào),有4種連接方式,即點(diǎn)對(duì)點(diǎn)、數(shù)據(jù)流、共享總線和交叉連接。

1.4.4Wishbone總線INTERCON定義了主設(shè)備和從設(shè)備之間的連接方式,SYSCON用于產(chǎn)生系統(tǒng)時(shí)鐘和復(fù)位信號(hào),有4種連接方式,即點(diǎn)對(duì)點(diǎn)、數(shù)據(jù)流、共享總線和交叉連接。Wishbone總線規(guī)范可用于軟核、固核和硬核,對(duì)開發(fā)工具和目標(biāo)硬件沒有特殊要求,并且?guī)缀跫嫒菀延兴械木C合工具,可以使用多種硬件描述語言來實(shí)現(xiàn)。

1.4.4Wishbone總線INTERCON定義了主設(shè)備和從設(shè)備之間的連接方式,SYSCON用于產(chǎn)生系統(tǒng)時(shí)鐘和復(fù)位信號(hào),有4種連接方式,即點(diǎn)對(duì)點(diǎn)、數(shù)據(jù)流、共享總線和交叉連接。Wishbone總線規(guī)范可用于軟核、固核和硬核,對(duì)開發(fā)工具和目標(biāo)硬件沒有特殊要求,并且?guī)缀跫嫒菀延兴械木C合工具,可以使用多種硬件描述語言來實(shí)現(xiàn)。Wishbone接口規(guī)范具有簡單、開放、高效、利于實(shí)現(xiàn)等特點(diǎn)而且完全免費(fèi),并沒有專利保護(hù)。1.4.5OCP總線由OCP-IP(0penCoreProtocolInternationalPartnership)國際組織提出的片上總線,為了在SoC設(shè)計(jì)中實(shí)現(xiàn)IP核的即插即用而制訂的片上總線規(guī)范,不依賴于特定處理器內(nèi)核的總線協(xié)議。1.4.5OCP總線OCP總線規(guī)定了數(shù)據(jù)和控制信號(hào),以及測試信號(hào),使用同步單向信號(hào)來簡化系統(tǒng)設(shè)計(jì)和時(shí)序分析。OCP總線也支持流水線操作,采用主從結(jié)構(gòu),并且通過線程標(biāo)識(shí)符管理方式實(shí)現(xiàn)并發(fā)傳送,增加了數(shù)據(jù)吞吐率。

1.4.5OCP總線OCP總線規(guī)定了數(shù)據(jù)和控制信號(hào),以及測試信號(hào),使用同步單向信號(hào)來簡化系統(tǒng)設(shè)計(jì)和時(shí)序分析。OCP總線也支持流水線操作,采用主從結(jié)構(gòu),并且通過線程標(biāo)識(shí)符管理方式實(shí)現(xiàn)并發(fā)傳送,增加了數(shù)據(jù)吞吐率。OCP標(biāo)準(zhǔn)是目前惟一一個(gè)無所有權(quán),公開許可,并給出IP核系統(tǒng)級(jí)綜合要求的以核為中心的協(xié)議,克服了反復(fù)定義、校驗(yàn)、證明和兼容接口的復(fù)雜性。僅定義IP核與IP核或者IP核與片上總線之間的封裝接口。五種SoC總線綜合應(yīng)用比較五種SoC總線性能比較五種SoC總線性能比較五種SoC總線性能比較五種SoC總線性能比較五種SoC總線性能比較83復(fù)雜總線結(jié)構(gòu)雙總線結(jié)構(gòu):主設(shè)備可以快速訪問本地總線的從設(shè)備,也可以通過總線橋訪問相鄰總線的從設(shè)備。114復(fù)雜總線結(jié)構(gòu)復(fù)雜總線結(jié)構(gòu):兩條高速總線AHB,一條低速總線APB,哪個(gè)主設(shè)備要訪問低速設(shè)備或者外部存儲(chǔ)器需要通過仲裁來決定。10.真正可以免費(fèi)試用的SoC總線協(xié)議是AMBAOCPCoreConnectWishboneABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕硬件描述語言VHDL設(shè)計(jì)內(nèi)容綱要

VHDL語法結(jié)構(gòu)組合邏輯電路設(shè)計(jì)時(shí)序電路設(shè)計(jì)有限狀態(tài)機(jī)設(shè)計(jì)一、VHDL語法結(jié)構(gòu)1.1VHDL概述1.2VHDL程序結(jié)構(gòu)1.3VHDL語言元素1.4VHDL基本邏輯語句1.5VHDL描述方式41.1VHDL概述

常用硬件描述語言:1、ABEL-HDL2、AHDL3、VHDL4、VerilogHDL41.1VHDL概述

常用硬件描述語言:1、ABEL-HDL2、AHDL3、VHDL4、VerilogHDLIEEE標(biāo)準(zhǔn)VHDL:VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage

1.1什么是VHDL(HDL)?

VHDL發(fā)展

nIEEE工業(yè)標(biāo)準(zhǔn)硬件描述語言

n

用于仿真及綜合的高級(jí)描述語言

VHDL發(fā)展

nIEEE工業(yè)標(biāo)準(zhǔn)硬件描述語言

n

用于仿真及綜合的高級(jí)描述語言

80年代初由美國國防部在實(shí)施超高速集成

電路(VHSIC)項(xiàng)目時(shí)開發(fā)的。

1987年IEEE協(xié)會(huì)批準(zhǔn)為IEEE工業(yè)標(biāo)準(zhǔn)

稱為IEEE1076-1987。

1993年更新為93標(biāo)準(zhǔn),IEEE1076.

93。

1996年IEEE1076.3成為綜合標(biāo)準(zhǔn)VHDL和VerilogHDLVerilogHDL由Verilog公司開發(fā),1995年成為IEEE標(biāo)準(zhǔn)。優(yōu)點(diǎn):與C語言風(fēng)格類似,簡單易學(xué)缺點(diǎn):數(shù)據(jù)類型定義模糊化VHDL優(yōu)點(diǎn):功能強(qiáng)大、通用性強(qiáng),語法嚴(yán)謹(jǐn)缺點(diǎn):語法結(jié)構(gòu)復(fù)雜1.成為IEEE標(biāo)準(zhǔn)的硬件描述語言是VHDLAHDLABEL-HDLVerilogABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用電子系統(tǒng)的設(shè)計(jì)模塊VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用電子系統(tǒng)設(shè)計(jì)的描述等級(jí)1、行為級(jí)2、RTL級(jí)(Registertransferlevel)3、邏輯門級(jí)4、版圖級(jí)用VHDL可以描述以上四個(gè)等級(jí)VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用行為級(jí)VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用寄存器傳輸級(jí)VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用邏輯門級(jí)VHDL在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用版圖級(jí)1.2VHDL程序結(jié)構(gòu)

實(shí)體(Entity)

結(jié)構(gòu)體(Architecture)

配置(Configuration)

庫(Library)、程序包(Package)VHDL設(shè)計(jì)文件的兩個(gè)基本組成部分實(shí)體(Entity)結(jié)構(gòu)體(Architecture)配置(Configuration)包集合(Package)庫(Library)一個(gè)完整的VHDL程序VHDL程序基本結(jié)構(gòu)VHDL設(shè)計(jì)文件的兩個(gè)基本組成部分實(shí)體(Entity)結(jié)構(gòu)體(Architecture)配置(Configuration)包集合(Package)庫(Library)一個(gè)完整的VHDL程序VHDL程序基本結(jié)構(gòu)實(shí)體部分描述設(shè)計(jì)系統(tǒng)的外部接口信號(hào)(即輸入/輸出信號(hào))VHDL設(shè)計(jì)文件的兩個(gè)基本組成部分實(shí)體(Entity)結(jié)構(gòu)體(Architecture)配置(Configuration)包集合(Package)庫(Library)一個(gè)完整的VHDL程序VHDL程序基本結(jié)構(gòu)實(shí)體部分描述設(shè)計(jì)系統(tǒng)的外部接口信號(hào)(即輸入/輸出信號(hào))結(jié)構(gòu)體用于描述系統(tǒng)的內(nèi)部電路VHDL設(shè)計(jì)文件的兩個(gè)基本組成部分實(shí)體(Entity)結(jié)構(gòu)體(Architecture)配置(Configuration)包集合(Package)庫(Library)一個(gè)完整的VHDL程序VHDL程序基本結(jié)構(gòu)實(shí)體部分描述設(shè)計(jì)系統(tǒng)的外部接口信號(hào)(即輸入/輸出信號(hào))結(jié)構(gòu)體用于描述系統(tǒng)的內(nèi)部電路配置用于從庫中選取所需元件安裝到設(shè)計(jì)單元的實(shí)體中VHDL設(shè)計(jì)文件的兩個(gè)基本組成部分實(shí)體(Entity)結(jié)構(gòu)體(Architecture)配置(Configuration)包集合(Package)庫(Library)一個(gè)完整的VHDL程序VHDL程序基本結(jié)構(gòu)實(shí)體部分描述設(shè)計(jì)系統(tǒng)的外部接口信號(hào)(即輸入/輸出信號(hào))結(jié)構(gòu)體用于描述系統(tǒng)的內(nèi)部電路配置用于從庫中選取所需元件安裝到設(shè)計(jì)單元的實(shí)體中包集合存放各設(shè)計(jì)模塊能共享的數(shù)據(jù)類型、常數(shù)、子程序等VHDL設(shè)計(jì)文件的兩個(gè)基本組成部分實(shí)體(Entity)結(jié)構(gòu)體(Architecture)配置(Configuration)包集合(Package)庫(Library)一個(gè)完整的VHDL程序庫用于存放已編譯的實(shí)體、結(jié)構(gòu)體、包集合和配置VHDL程序基本結(jié)構(gòu)實(shí)體部分描述設(shè)計(jì)系統(tǒng)的外部接口信號(hào)(即輸入/輸出信號(hào))結(jié)構(gòu)體用于描述系統(tǒng)的內(nèi)部電路配置用于從庫中選取所需元件安裝到設(shè)計(jì)單元的實(shí)體中包集合存放各設(shè)計(jì)模塊能共享的數(shù)據(jù)類型、常數(shù)、子程序等VHDL程序結(jié)構(gòu)例1一個(gè)2輸入的與門的邏輯描述LIBRARYieee; --庫說明語句USEieee.std_logic_1164.ALL;--程序包說明語句ENTITYand2IS PORT(a,b :INSTD_LOGIC; y:OUTSTD_LOGIC);ENDand2;ARCHITECTUREand2xOFand2ISBEGIN y<=aANDb;ENDand2x;實(shí)體部分結(jié)構(gòu)體部分19

庫、程序包

實(shí)體(Entity)

結(jié)構(gòu)體(Architecture)

進(jìn)程或其它并行結(jié)構(gòu)

配置(Configuration)結(jié)構(gòu)關(guān)系20器件或子系統(tǒng)

ARCHITECTUREProcessProcessENTITYSequentialProcessCombinationalProcessportsportscomponentportsports實(shí)體結(jié)構(gòu)VHDL結(jié)構(gòu)要點(diǎn)1、ENTITY(實(shí)體)格式:

ENTITY實(shí)體名IS[類屬參數(shù)說明][端口說明]EndENTITY實(shí)體名;其中端口說明格式為:

PORT(端口名1,端口名N:方向:類型)其中方向有:IN,OUT,INOUT,BUFFER,LINKAGE

22

1、ENTITY(實(shí)體)----類屬說明

類屬說明:確定實(shí)體或組件中定義的局部常數(shù)。模塊化設(shè)計(jì)時(shí)多用于不同層次模塊之間信息的傳遞。可從外部改變內(nèi)部電路結(jié)構(gòu)和規(guī)模。類屬說明必須放在端口說明之前。Generic(

常數(shù)名稱:類型[:=缺省值]{常數(shù)名稱:類型[:=缺省值]});23類屬常用于定義:實(shí)體端口的大小、設(shè)計(jì)實(shí)體的物理特性、總線寬度、元件例化的數(shù)量等。

entitymckisgeneric(width:integer:=16);port(add_bus:outstd_logic_vector(width-1downto0));

1、ENTITY(實(shí)體)----類屬說明24例:2輸入與門的實(shí)體描述

entityand2isgeneric(risewidth:time:=1ns;fallwidth:time:=1ns);port(a1:instd_logic;a0:instd_logic;z0:outstd_loigc);endentityand2;

注:數(shù)據(jù)類型time用于仿真模塊的設(shè)計(jì)。綜合器僅支持?jǐn)?shù)據(jù)類型為整數(shù)的類屬值。

1、ENTITY(實(shí)體)----類屬說明25端口模式:

in:輸入型,此端口為只讀型。

out:

輸出型,只能在實(shí)體內(nèi)部對(duì)其賦值。

inout:輸入輸出型,既可讀也可賦值。

buffer:緩沖型,與out相似,但可讀。Port(端口名稱{,端口名稱}:端口模式數(shù)據(jù)類型;

端口名稱{,端口名稱}:端口模式數(shù)據(jù)類型);端口聲明:確定輸入、輸出端口的數(shù)目和類型。

1、ENTITY(實(shí)體)----端口聲明26out和

buffer的區(qū)別:27

指端口上流動(dòng)的數(shù)據(jù)的表達(dá)格式。為預(yù)先定義好的數(shù)據(jù)類型。

如:bit、bit_vector、integer、

std_logic、std_logic_vector等。

1、ENTITY(實(shí)體)----數(shù)據(jù)類型27

指端口上流動(dòng)的數(shù)據(jù)的表達(dá)格式。為預(yù)先定義好的數(shù)據(jù)類型。

如:bit、bit_vector、integer、

std_logic、std_logic_vector等。例:entitynand2isentitym81isport(port(a,b:inbit;a:inbit_vector(7downto0);z:outbitsel:inbit_vector(2downto0););b:outbit);endentitynand2;endentitym81;

1、ENTITY(實(shí)體)----數(shù)據(jù)類型例子(HalfAdd)

其內(nèi)部結(jié)構(gòu)將由Architecture來描述

1、ENTITY(實(shí)體)----例程2.通過外部可以改變電路內(nèi)部結(jié)構(gòu)和規(guī)模的是PORTBUFFERGenericSignalABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕格式:

Arcthitecture

構(gòu)造體名of

實(shí)體名is

[定義語句]內(nèi)部信號(hào)、常數(shù)、元件、數(shù)據(jù)類型、函數(shù)等的定義

begin[并行處理語句:block/process/function

/

procedure]

end構(gòu)造體名;注:同一實(shí)體的結(jié)構(gòu)體不能同名。定義語句中的常數(shù)、信號(hào)不能與實(shí)體中的端口同名。

2、ARCTHITECTURE(構(gòu)造體)30結(jié)構(gòu)體結(jié)構(gòu)體說明結(jié)構(gòu)體功能描述

常數(shù)說明

數(shù)據(jù)類型說明

信號(hào)說明

例化元件說明

子程序說明

塊語句

進(jìn)程語句

信號(hào)賦值語句子程序調(diào)用語句

元件例化語句例子(HalfAdd)

2、ARCTHITECTURE(構(gòu)造體)例子(FullAdd)(學(xué)習(xí)如何調(diào)用現(xiàn)有模塊)

2、ARCTHITECTURE(構(gòu)造體)實(shí)例(FullAdd)-entity

2、ARCTHITECTURE(構(gòu)造體)實(shí)例(FullAdd)-architecture

2、ARCTHITECTURE(構(gòu)造體)36實(shí)體與結(jié)構(gòu)體的關(guān)系設(shè)計(jì)實(shí)體結(jié)構(gòu)體1結(jié)構(gòu)體2結(jié)構(gòu)體3結(jié)構(gòu)體n。。。VHDL中的設(shè)計(jì)單元VHDL中的設(shè)計(jì)單元(可以獨(dú)立編譯)3、Library庫STD庫--VHDL的標(biāo)準(zhǔn)庫IEEE庫--VHDL的標(biāo)準(zhǔn)庫的擴(kuò)展面向ASIC的庫--不同的工藝不同公司自定義的庫普通用戶自己的庫庫:數(shù)據(jù)的集合。內(nèi)含各類包定義、實(shí)體、構(gòu)造體等用戶自己的庫當(dāng)您的VHDL文件被編譯后,編譯的結(jié)果儲(chǔ)存在特定的目錄下,這個(gè)目錄的邏輯名稱即Library,此目錄下的內(nèi)容亦即是這個(gè)Library的內(nèi)容。3、Library庫40VHDL庫可分為5種:

1)IEEE庫定義了四個(gè)常用的程序包:

?

std_logic_1164(std_logictypes&relatedfunctions)

?

std_logic_arith(arithmeticfunctions)

3、Library庫—庫的種類40VHDL庫可分為5種:

1)IEEE庫定義了四個(gè)常用的程序包:

?

std_logic_1164(std_logictypes&relatedfunctions)

?

std_logic_arith(arithmeticfunctions)

?

std_logic_signed(signedarithmetic

3、Library庫—庫的種類40VHDL庫可分為5種:

1)IEEE庫定義了四個(gè)常用的程序包:

?

std_logic_1164(std_logictypes&relatedfunctions)

?

std_logic_arith(arithmeticfunctions)

?

std_logic_signed(signedarithmeticfunctions)

3、Library庫—庫的種類40VHDL庫可分為5種:

1)IEEE庫定義了四個(gè)常用的程序包:

?

std_logic_1164(std_logictypes&relatedfunctions)

?

std_logic_arith(arithmeticfunctions)

?

std_logic_signed(signedarithmeticfunctions)

?

std_logic_unsigned(unsigned

3、Library庫—庫的種類40VHDL庫可分為5種:

1)IEEE庫定義了四個(gè)常用的程序包:

?

std_logic_1164(std_logictypes&relatedfunctions)

?

std_logic_arith(arithmeticfunctions)

?

std_logic_signed(signedarithmeticfunctions)

?

std_logic_unsigned(unsignedarithmeticfunctions)3、Library庫—庫的種類41TypeSTD_LOGIC:

9logicvaluesystem(‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’)?‘W’,‘L’,‘H”weakvalues(NotsupportedbySynthesis)?‘X’-(not‘x’)usedforunknown?‘Z’-(not‘z’)usedfortri-state?‘-’Don’tCare

3、Library庫—庫的種類42

2)STD庫(默認(rèn)庫)庫中程序包為:standard,定義最基本的數(shù)據(jù)類型:

Bit,bit_vector,Boolean,

Integer,Real,andTime

注:TypeBit

2logicvaluesystem(‘0’,‘1’)

3、Library庫—庫的種類42

2)STD庫(默認(rèn)庫)庫中程序包為:standard,定義最基本的數(shù)據(jù)類型:

Bit,bit_vector,Boolean,

Integer,Real,andTime

注:TypeBit

2logicvaluesystem(‘0’,‘1’)

3)面向ASIC的庫

4)WORK庫(默認(rèn)庫)

5)用戶定義庫3、Library庫—庫的種類43程序包的使用有兩種常用格式:

例:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.conv_integer;

library庫名;

use庫名.程序包名.項(xiàng)目名

use庫名.程序包名.All;3、Library庫—庫的使用442選1選擇器4、Package包46程序包:已定義的常數(shù)、數(shù)據(jù)類型、元件調(diào)用說明、子程序的一個(gè)集合。目的:方便公共信息、資源的訪問和共享。庫:多個(gè)程序包構(gòu)成庫。

程序包與庫關(guān)系47程序包說明的內(nèi)容常量說明;

VHDL數(shù)據(jù)類型說明;元件說明;子程序說明;程序包的結(jié)構(gòu)包括程序包說明(包首)程序包主體(包體)4、Package包--結(jié)構(gòu)48包聲明項(xiàng)可由以下語句組成:

use語句(用來包括其它程序包);類型說明;子類型說明;常量說明;信號(hào)說明;子程序說明;元件說明。

package程序包名is{包說明項(xiàng)}

end程序包名;1)程序包說明(包首)語法:4、Package包--結(jié)構(gòu)49例:程序包說明50包體說明項(xiàng)可含:

use語句;子程序說明;子程序主體;類型說明;子類型說明;常量說明。

packagebody程序包名is{包體說明項(xiàng)}

end程序包名;2)程序包包體程序包的內(nèi)容:子程序的實(shí)現(xiàn)算法。包體語法:4、Package包--結(jié)構(gòu)51packagesevenissubtypesegmentsisbit_vector(0to6);typebcdisrange0to9;endseven;librarywork;usework.seven.all;entitydecoderisport(input:inbcd;drive:outsegments);enddecoder;architectureartofdecoderisbegin52withinputselectdrive<=B“1111110”when0,B“0110000”when1,B“1101101”when2,B“1111001”when3,B“0110011”when4,B“1011011”when5,B“1011111”when6,B“1110000”when7,B“1111111”when8,B“1111011”when9,B“0000000”whenothers;endarchitectureart;abcdefg10mA38124567910edcdpbafg數(shù)碼管1234567891010mAedcdpbafg共陽極共陰極abcdefgdp156102347893.若7段數(shù)碼管的編碼順序?yàn)間fedcba,共陽極數(shù)碼管要顯示數(shù)字“3”的編碼是0101010011011001100001010101ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕535、Configuration配置設(shè)計(jì)實(shí)體結(jié)構(gòu)體1結(jié)構(gòu)體2結(jié)構(gòu)體3結(jié)構(gòu)體n。。。一個(gè)設(shè)計(jì)實(shí)體的多種實(shí)現(xiàn)方式配置:從某個(gè)實(shí)體的多種結(jié)構(gòu)體描述方式中選擇特定的一個(gè)。54configuration配置名of實(shí)體名isfor選配結(jié)構(gòu)體名

endfor;end配置名;5、Configuration配置55libraryieee;useieee.std_logic_1164.all;entitynandisport(a:instd_logic;b:instd_logic;c:outstd_logic);endentitynand;architectureart1ofnandisbeginc<=not(aandb);endarchitectureart1;例:一個(gè)與非門不同實(shí)現(xiàn)方式的配置如下:

56architectureart2ofnandisbeginc<=‘1’when(a=‘0’)and(b=‘0’)else‘1’when(a=‘0’)and(b=‘1’)else‘1’when(a=‘1’)and(b=‘0’)else‘0’when(a=‘1’)and(b=‘1’)else‘0’;endarchitectureart2;57configurationfirstofnandisforart1;endfor;endfirst;configurationsecondofnandisforart2endfor;endsecond;5、Configuration配置VHDL中的結(jié)構(gòu)關(guān)系1.3VHDL語言元素1、VHDL數(shù)據(jù)對(duì)象2、VHDL數(shù)據(jù)類型3、VHDL操作符1.3.1VHDL數(shù)據(jù)對(duì)象1、Constant(常量)在程序中不可以被賦值

2、Variable(變量)在程序中可以被賦值(用“:=”),賦值后立即變化為新值。3、Signal(信號(hào))在程序中可以被賦值(用“<=”),但不立即更新,當(dāng)進(jìn)程掛起后,才開始更新。4、File(文件)在程序中實(shí)現(xiàn)對(duì)文件的寫入和讀出操作。

VHDL中的對(duì)象使用

variable

x,y:integer;--定義了整數(shù)型的變量對(duì)象x,y

constantVcc:real;--定義了實(shí)數(shù)型的常量對(duì)象Vcc

signalclk,reset:bit;--定義了位類型的信號(hào)對(duì)象clk,reset1.3.1VHDL數(shù)據(jù)對(duì)象變量與信號(hào)區(qū)別注意1、variable只能定義在process和subprogram(包括function和procedure)中,不可定以在其外部。

變量與信號(hào)區(qū)別注意1、variable只能定義在process和subprogram(包括function和procedure)中,不可定以在其外部。2、signal不能定義在process和subprogram(包括function和procedure)中,只可定以在其外部,即結(jié)構(gòu)體Architecture開始部分。①信號(hào)是全局量,可以進(jìn)行進(jìn)程之間的通信;而變量是局部量,只能用于進(jìn)程或子程序(即函數(shù)和過程)中;變量與信號(hào)區(qū)別①信號(hào)是全局量,可以進(jìn)行進(jìn)程之間的通信;而變量是局部量,只能用于進(jìn)程或子程序(即函數(shù)和過程)中;②對(duì)變量的賦值是立即發(fā)生的,對(duì)信號(hào)的賦值須經(jīng)一段時(shí)間延遲才會(huì)發(fā)生;變量與信號(hào)區(qū)別①信號(hào)是全局量,可以進(jìn)行進(jìn)程之間的通信;而變量是局部量,只能用于進(jìn)程或子程序(即函數(shù)和過程)中;②對(duì)變量的賦值是立即發(fā)生的,對(duì)信號(hào)的賦值須經(jīng)一段時(shí)間延遲才會(huì)發(fā)生;③對(duì)變量的賦值用“:=”,對(duì)信號(hào)的賦值用“<=”;④信號(hào)可以比擬為硬件端口之間的連接,而變量則與硬件之間沒有對(duì)應(yīng)關(guān)系;變量與信號(hào)區(qū)別Signal對(duì)象的常用屬性delayed[(時(shí)延值)]:使信號(hào)產(chǎn)生固定時(shí)間的延時(shí)并返回stable[(時(shí)延值)]:返回boolean,信號(hào)在規(guī)定時(shí)間內(nèi)沒有變化返回truetransaction:返回bit類型,信號(hào)每發(fā)生一次變化,返回值翻轉(zhuǎn)一次1.3.1VHDL數(shù)據(jù)對(duì)象Signal對(duì)象的常用屬性delayed[(時(shí)延值)]:使信號(hào)產(chǎn)生固定時(shí)間的延時(shí)并返回stable[(時(shí)延值)]:返回boolean,信號(hào)在規(guī)定時(shí)間內(nèi)沒有變化返回truetransaction:返回bit類型,信號(hào)每發(fā)生一次變化,返回值翻轉(zhuǎn)一次例子:A<=B’delayed(10ns);--B延時(shí)10ns后賦給A;

if(B’Stable(10ns));--判斷B在10ns中是否發(fā)生變化1.3.1VHDL數(shù)據(jù)對(duì)象信號(hào)的event和last_value屬性經(jīng)常用來確定信號(hào)的邊沿

屬性應(yīng)用1.3.1VHDL數(shù)據(jù)對(duì)象信號(hào)的event和last_value屬性經(jīng)常用來確定信號(hào)的邊沿

屬性應(yīng)用判斷clk的上升沿if((clk’event)and(clk=‘1’)and(clk’last_value=‘0’))then判斷clk的下降沿if((clk’event)and(clk=‘0’)and(clk’last

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論