EDA工程實(shí)踐課件_第1頁(yè)
EDA工程實(shí)踐課件_第2頁(yè)
EDA工程實(shí)踐課件_第3頁(yè)
EDA工程實(shí)踐課件_第4頁(yè)
EDA工程實(shí)踐課件_第5頁(yè)
已閱讀5頁(yè),還剩244頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

FPGA/CPLD結(jié)構(gòu)與應(yīng)用GAL:GenericArrayLogic通用陣列邏輯相關(guān)專(zhuān)業(yè)名詞EDA:ElectronicDesignAutomation電子設(shè)計(jì)自動(dòng)化PLD:ProgrammableLogicDevice可編程邏輯器件CPLD:ComplexProgrammableLogicDevice復(fù)雜可編程邏輯器件EPLD:ErasableProgrammableLogicDevice可擦除可編程邏輯器件FPGA:FieldProgrammableGateArray現(xiàn)場(chǎng)可編程門(mén)陣列VHDL:VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage

超高速集成電路硬件描述語(yǔ)言ASIC:ApplicationSpecificIntegratedCircuit特定用途集成電路2.1概述圖2-1基本PLD器件的原理結(jié)構(gòu)圖2.1.1可編程邏輯器件的發(fā)展歷程70年代80年代90年代PROM和PLA器件改進(jìn)的PLA器件GAL器件FPGA器件EPLD器件CPLD器件內(nèi)嵌復(fù)雜功能模塊的SOPC2.1.2可編程邏輯器件的分類(lèi)圖2-2按集成度(PLD)分類(lèi)2.2簡(jiǎn)單PLD原理2.2.1電路符號(hào)表示圖2-3常用邏輯門(mén)符號(hào)與現(xiàn)有國(guó)標(biāo)符號(hào)的對(duì)照2.2.1電路符號(hào)表示圖2-4PLD的互補(bǔ)緩沖器圖2-5PLD的互補(bǔ)輸入圖2-6PLD中與陣列表示圖2-7PLD中或陣列的表示圖2-8陣列線連接表示

2.2.2PROM圖2-9PROM基本結(jié)構(gòu):其邏輯函數(shù)是:2.2.2PROM圖2-10PROM的邏輯陣列結(jié)構(gòu)邏輯函數(shù)表示:2.2.2PROM圖2-11PROM表達(dá)的PLD圖陣列圖2-12用PROM完成半加器邏輯陣列2.2.3PLA圖2-13PLA邏輯陣列示意圖2.2.3PLA圖2-14PLA與PROM的比較2.2.4PAL圖2-15PAL結(jié)構(gòu):圖2-16PAL的常用表示:2.2.4PAL圖2-17一種PAL16V8的部分結(jié)構(gòu)圖2.2.5GAL圖2-18GAL16V8的結(jié)構(gòu)圖GAL:

GeneralArrayLogicDevice最多有8個(gè)或項(xiàng),每個(gè)或項(xiàng)最多有32個(gè)與項(xiàng)EPLDErasableProgrammableLogicDevice乘積項(xiàng)邏輯2.2.5GAL邏輯宏單元輸入/輸出口輸入口時(shí)鐘信號(hào)輸入三態(tài)控制可編程與陣列固定或陣列GAL16V82.2.5GAL圖2-19寄存器輸出結(jié)構(gòu)圖2-20寄存器模式組合雙向輸出結(jié)構(gòu)2.2.5GAL圖2-21組合輸出雙向結(jié)構(gòu)圖2-22復(fù)合型組合輸出結(jié)構(gòu)2.2.5GAL圖2-23反饋輸入結(jié)構(gòu)圖2-24輸出反饋結(jié)構(gòu)2.2.5GAL圖2-25簡(jiǎn)單模式輸出結(jié)構(gòu)2.3CPLD結(jié)構(gòu)與工作原理圖2-26MAX7000系列的單個(gè)宏單元結(jié)構(gòu)PRNCLRNENA邏輯陣列全局清零共享邏輯擴(kuò)展項(xiàng)清零時(shí)鐘清零選擇寄存器旁路并行擴(kuò)展項(xiàng)通往I/O模塊通往PIA乘積項(xiàng)選擇矩陣來(lái)自I/O引腳全局時(shí)鐘QDEN來(lái)自PIA的36個(gè)信號(hào)快速輸入選擇22.3CPLD結(jié)構(gòu)與工作原理(1)邏輯陣列塊(LAB)圖2-27MAX7128S的結(jié)構(gòu)2.3CPLD結(jié)構(gòu)與工作原理(2)宏單元(3)擴(kuò)展乘積項(xiàng)圖2-28共享擴(kuò)展乘積項(xiàng)結(jié)構(gòu)圖2-29并聯(lián)擴(kuò)展項(xiàng)饋送方式2.3CPLD結(jié)構(gòu)與工作原理(4)可編程連線陣列(5)不同的LAB通過(guò)在可編程連線陣列(PIA)上布線,以相互連接構(gòu)成所需的邏輯。圖2-30PIA信號(hào)布線到LAB的方式(6)I/O控制塊圖2-31EPM7128S器件的I/O控制塊2.4FPGA結(jié)構(gòu)與工作原理2.4.1查找表圖2-33FPGA查找表單元內(nèi)部結(jié)構(gòu)圖2-32FPGA查找表單元:一個(gè)N輸入查找表(LUT,LookUpTable)可以實(shí)現(xiàn)N個(gè)輸入變量的任何邏輯功能,如

N輸入“與”、

N輸入“異或”等。輸入多于N個(gè)的函數(shù)、方程必須分開(kāi)用幾個(gè)查找表(LUT)實(shí)現(xiàn)輸出查黑找盒表子輸入1輸入2輸入3輸入4什么是查找表?基于查找表的結(jié)構(gòu)模塊

0000010100000101輸入A輸入B輸入C輸入D查找表輸出16x1RAM查找表原理多路選擇器2.4.2FLEX10K系列器件圖2-34FLEX10K內(nèi)部結(jié)構(gòu)...IOCIOCIOCIOC......IOCIOC...IOCIOC...IOCIOC...IOCIOC邏輯單元...IOCIOC...IOCIOCIOCIOC...快速通道互連邏輯陣列塊(LAB)IOCIOC...連續(xù)布線和分段布線的比較連續(xù)布線=每次設(shè)計(jì)重復(fù)的可預(yù)測(cè)性和高性能連續(xù)布線(Altera基于查找表(LUT)的FPGA)LABLE...IOCIOC...IOCIOC...IOCIOC...IOCIOC...IOCIOC...IOCIOCFLEX10K系列FPGA結(jié)構(gòu)圖...IOCIOC...IOCIOC...IOCIOC...IOCIOC...IOCIOC...IOCIOCEABEAB嵌入式陣列塊(1)邏輯單元LE圖2-35LE(LC)結(jié)構(gòu)圖數(shù)據(jù)1Lab控制3LE輸出進(jìn)位鏈級(jí)聯(lián)鏈查找表

(LUT)清零和預(yù)置邏輯時(shí)鐘選擇進(jìn)位輸入級(jí)聯(lián)輸入進(jìn)位輸出級(jí)聯(lián)輸出Lab控制1CLRNDQ數(shù)據(jù)2數(shù)據(jù)3數(shù)據(jù)4Lab控制2Lab控制4(1)邏輯單元LE圖2-36進(jìn)位鏈連通LAB中的所有LE快速加法器,比較器和計(jì)數(shù)器DFF進(jìn)位輸入(來(lái)自上一個(gè)邏輯單元)S1LE1查找表LUT進(jìn)位鏈DFFS2LE2A1B1A2B2進(jìn)位輸出(到LAB中的下一個(gè)邏輯單元)進(jìn)位鏈查找表LUT(1)邏輯單元LE圖2-37兩種不同的級(jí)聯(lián)方式“與”級(jí)聯(lián)鏈“或”級(jí)聯(lián)鏈LUTLUTIN[3..0]IN[4..7]LUTIN[(4n-1)..4(n-1)]LUTLUTIN[3..0]IN[4..7]LUTIN[(4n-1)..4(n-1)]LE1LE2LEnLE1LE2LEn0.6ns2.4ns16位地址譯碼速度可達(dá)2.4+0.6x3=4.2ns(2)邏輯陣列LAB是由一系列的相鄰LE構(gòu)成的圖2-38-FLEX10KLAB的結(jié)構(gòu)圖(3)快速通道(FastTrack)(4)I/O單元與專(zhuān)用輸入端口圖2-39IO單元結(jié)構(gòu)圖EAB的大小靈活可變通過(guò)組合EAB可以構(gòu)成更大的模塊不需要額外的邏輯單元,不引入延遲,EAB可配置為深度達(dá)2048的存儲(chǔ)器EAB的字長(zhǎng)是可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x8(5)嵌入式陣列塊EAB是在輸入、輸出口上帶有寄存器的RAM塊,是由一系列的嵌入式RAM單元構(gòu)成。圖2-40用EAB構(gòu)成不同結(jié)構(gòu)的RAM和ROM輸出時(shí)鐘DRAM/ROM256x8512x41024x22048x1DDD寫(xiě)脈沖電路輸出寬度8,4,2,1

數(shù)據(jù)寬度8,4,2,1地址寬度8,9,10,11寫(xiě)使能輸入時(shí)鐘EAB可以用來(lái)實(shí)現(xiàn)乘法器

VS非流水線結(jié)構(gòu),使用35個(gè)LE,速度為34MHz

流水線結(jié)構(gòu)速度為100MHz,EAB8890MHz用EAB實(shí)現(xiàn)的流水線乘法器操作速度可達(dá)90MHz!實(shí)例:4x4乘法器+(6LE)+(6LE)+(7LE)8LELELELELELELELELELELELELELELELE存儲(chǔ)器容量(單位:Bit)典型可用門(mén)EPF10K10/AEPF10K20EPF10K30/AEPF10K40EPF10K5/VEPF10K70EPF10K100/AEPF10K130VEPF10K250AFLEX10K系列邏輯規(guī)模管芯尺寸比較AlteraEPF10K100A相對(duì)管芯尺寸:1.00.35μ工藝4,992個(gè)邏輯單元(LE)12個(gè)EABXilinxXC4062XL相對(duì)管芯尺寸:1.910.35μ工藝相當(dāng)于4,608個(gè)邏輯單元(LE)*沒(méi)有EABAlteraEPF10K100E相對(duì)管芯尺寸:0.60.25μ工藝4,992個(gè)邏輯單元(LE)12個(gè)EAB*1個(gè)CLB相當(dāng)于2兩個(gè)LE工藝改進(jìn)促使供電電壓降低5.0V3.3V2.5V1.8V崩潰電壓供電電壓FPGA/CPLD多電壓兼容系統(tǒng)內(nèi)核電壓3.3V、2.5V或1.8V

接受2.5V、3.3V或者5.0V輸入輸出電位標(biāo)準(zhǔn)Vccio資料來(lái)源:美國(guó)Altera公司5.0V3.3V2.5V1.8V初始設(shè)計(jì)百分比FPGA/CPLD不同芯核電壓器件流行趨勢(shì)

4、FPGA/CPLD生產(chǎn)商ALTERAFPGA:FLEX系列:10K、10A、10KE,EPF10K30E

APEX系列:20K、20KEEP20K200EACEX系列:1K系列EP1K30、EP1K100

STRATIX系列:EP1系列EP1S30、EP1S120CPLD:MAX7000/S/A/B系列:EPM7128SMAX9000/A系列FPGA:XC3000系列,XC4000系列,XC5000系列

Virtex系列

SPARTAN系列:XCS10、XCS20、XCS30CPLD:XC9500系列:XC95108、XC95256XILINXLATTICEVANTIS(AMD)ispLSI系列:1K、2K、3K、5K、8KispLSI1016、ispLSI2032、ispLSI1032E、ispLSI3256AMACH系列ispPAC系列:其他PLD公司:ACTEL公司:ACT1/2/3、40MXATMEL公司:ATF1500AS系列、40MXCYPRESS公司QUIKLOGIC公司

CPLD4、FPGA/CPLD生產(chǎn)商ALTERA

FPGA:FLEX系列:10K、10A、10KE,EPF10K30E

APEX系列:20K、20KEEP20K200E

ACEX系列:1K系列EP1K30、EP1K100

STRATIX系列:EP1系列EP1S30、EP1S120

CYCLONE系列:EP1C20EXCALIBUR系列:CPLD:MAX7000/S/A/B系列:EPM7128SMAX9000/A系列

MAX3000系列2.5FPGA/CPLD測(cè)試技術(shù)2.5.1內(nèi)部邏輯測(cè)試2.5.2JTAG邊界掃描測(cè)試圖2-41邊界掃描電路結(jié)構(gòu)2.5.2JTAG邊界掃描測(cè)試表2-1邊界掃描IO引腳功能圖2-42邊界掃描數(shù)據(jù)移位方式2.5.2JTAG邊界掃描測(cè)試圖2-43JTAGBST系統(tǒng)內(nèi)部結(jié)構(gòu)圖2-44JTAGBST系統(tǒng)與與FLEX器件關(guān)聯(lián)結(jié)構(gòu)圖圖2-45JTAGBST選擇命令模式時(shí)序TAP控制器的命令模式有:SAMPLE/PRELOAD指令模式EXTEST指令模式BYPASS指令模式IDCODE指令模式USERCODE指令模式2.6FPGA/CPLD產(chǎn)品概述2.6.1Lattice公司CPLD器件系列1.ispLSI器件系列ispLSI1000E系列ispLSI2000E/2000VL/200VE系列ispLSI5000V系列ispLSI8000/8000V系列2.

ispLSI器件的結(jié)構(gòu)與特點(diǎn):采用UltraMOS工藝。系統(tǒng)可編程功能。邊界掃描測(cè)試功能。加密功能。短路保護(hù)功能。2.6.2Xilinx公司的FPGA和CPLD器件系列1.VirtexE系列FPGA2.SpartanⅡ器件系列3.XC9500系列CPLD4.XilinxFPGA配置器件SPROM5.Xilinx的IP核2.6.3Altera公司FPGA和CPLD器件系列1.Stratix系列FPGA2.APEX系列FPGA3.ACEX系列FPGA4.FLEX系列FPGA5.MAX系列CPLD6.Altera宏功能塊及IP核2.6.4Altera公司的FPGA配置方式與器件系列表2-2AlteraFPGA常用配置器件2.7CPLD和FPGA的編程與配置圖2-4610芯下載口表2-3圖2-46接口各引腳信號(hào)名稱(chēng)

FPGA與CPLD的配置與編程方案

CPLD的編程方案PC機(jī)JTAG編程端口CPLDPC機(jī)isp編程端口CPLD編程適配電路編程適配電路JTAG編程信號(hào):TCK、TDO、TMS、TDICPLDisp--IN-SYSTEM-PROGRAMMERBALELATTICE的isp下載方式ISP功能提高設(shè)計(jì)和應(yīng)用的靈活性減少對(duì)器件的觸摸和損傷不計(jì)較器件的封裝形式允許一般的存儲(chǔ)樣機(jī)制造方便支持生產(chǎn)和測(cè)試流程中的修改允許現(xiàn)場(chǎng)硬件升級(jí)迅速方便地提升功能未編程前先焊接安裝系統(tǒng)內(nèi)編程--ISP在系統(tǒng)現(xiàn)場(chǎng)重編程修改此接口既可作編程下載口,也可作JTAG接口ALTERA的ByteBlaster(MV)下載接口

FPGA的配置方案FPGA的3種常用的標(biāo)準(zhǔn)下載配置模式1、PassiveSerialMode3、JTAGMode2、ActiveSerialMode

FPGA配置JTAG配置端口FPGAPS配置端口PC機(jī)配置適配電路配置器件或配置電路AS配置端口專(zhuān)用FLASH配置器件2.7.1CPLD的JTAG方式編程圖1-47CPLD編程下載連接圖TCK、TDO、TMS、TDI為CPLD的JTAG口對(duì)CPLD編程圖2-48多CPLD芯片ISP編程連接方式2.7.1CPLD的ISP方式編程2.7.2使用PC并行口配置FPGA圖2-49FLEX10KPS模式配置時(shí)序

圖2-50多FPGA芯片配置電路FLEX、ACEX、APEX等系列

FPGA器件配置連線圖

注意:1、不要忘了將多片配置控制信號(hào)nCE

引腳接地!2、作為PS配置模式,不要忘了將配置模式控制信號(hào)腳MSEL1和

MSEL0都接地!FLEX、ACEX、APEX系列FPGA配置電路FPGAPassiveSerialConfiguration被動(dòng)串行配置模式10針標(biāo)準(zhǔn)配置/下載接口通過(guò)配置電路后與PC機(jī)的并行接口相接對(duì)FPGA配置方案1:PS端口直接配置圖2-51FPGA使用EPC配置器件的配置時(shí)序

2.7.3用專(zhuān)用配置器件配置FPGA圖2-52FPGA的配置電路原理圖OTP配置器件:EPC1441、EPC1、EPC1213等

方案2:PS端口OTP專(zhuān)用器件配置缺點(diǎn):1、芯片價(jià)格高。2、只能一次編程。3、可配置的FPGA規(guī)模小,不能用于SOPC系統(tǒng)配置。4、無(wú)法用于實(shí)時(shí)多任務(wù)重配置

FPGA的OTP配置器件使用方法選擇GlobalProjectDevice…項(xiàng)

編譯前選擇配置器件注意,被編譯文件的工程名為“DAC”,因此,其配置文件名應(yīng)該為“DAC.POF”對(duì)于低芯核電壓FPGA(如EP1K30),需選擇此項(xiàng),電路中的配置芯片應(yīng)該接3.3V工作電壓。選擇配置芯片的型號(hào)為EPC1PC8選擇PS模式

編譯!選擇配置器件生產(chǎn)商

打開(kāi)通用編程器編程窗選擇器件類(lèi)型選擇器件型號(hào)器件接插方式進(jìn)入工程文件夾,選擇編程文件選擇編程文件雙擊編程文件后,進(jìn)入“Filetype”窗,選擇文件類(lèi)型為“POF”:ProgrammingOutputFile編程緩沖器中的DAC.POF文件碼注意文件芯片型號(hào)是否對(duì)!打開(kāi)編程窗口編程窗開(kāi)始編程2.7.4用專(zhuān)用配置器件配置FPGA圖3-53EPC2配置FPGA的電路原理圖EPC2可以多次重復(fù)編程,且是isp方式編程外部上拉電阻1KX5DCLKnCSnINIT_CONFOEDATA

PC機(jī)FPGAEPC2配置芯片配置電路和JTAG編程端口DCLKCONF_DONEnCONFIGnSTATUSDATA0TCKTMSTDOTDITCKTMSTDOTDI配置

編程利用FLASH結(jié)構(gòu)的EPC2為FPGA作配置方案3:PS端口E平方專(zhuān)用器件配置缺點(diǎn):1、芯片價(jià)格高。2、可多次編程次數(shù)少。3、無(wú)法用于實(shí)時(shí)多任務(wù)重配置

FPGA的ispFLASH配置器件

EPC2/4/8/16使用方法如果沒(méi)有使用外部上拉電阻,則必須選擇此項(xiàng)選擇配置器件型號(hào):EPC2LC20

編譯!編程前,首先打開(kāi)編程器窗口然后用鼠標(biāo)雙擊此文件名于是彈出編程文件選擇窗雙擊此編程文件名:DAC.POF這是對(duì)FPGA的配置文件對(duì)EPC2編程文件名編程器件名開(kāi)始編程方案4:AS端口FLASH專(zhuān)用器件配置

PC機(jī)Cyclone系列FPGAEPCSX配置芯片ByteBlasterII配置電路配置

編程AS配置端口ByteBlaster(MV)配置電路ByteBlasterII配置電路POF硬件購(gòu)建配置文件Nios工作軟件Nios嵌入式系統(tǒng)缺點(diǎn):1、只適合于Cyclone系列器件2、無(wú)法用于實(shí)時(shí)多任務(wù)重配置FPGA普通單片機(jī)EPROM或串行E平方ROMPS配置端口DCLKCONF_DONEnCONFIGnSTATUSDATA0方案5:PS端口單片機(jī)軟件方式配置單片機(jī)I/O端口單片機(jī)軟件配置方案缺點(diǎn):1、配置過(guò)程中易受干擾,可靠性低,不能用于可靠性要求高的領(lǐng)域。2、配置速度慢,不能用于反應(yīng)速度要求高的領(lǐng)域。3、可配置的FPGA規(guī)模小,無(wú)法用于大于10K30乃至SOPC領(lǐng)域的器件配置。4、電路面積比較大5、實(shí)驗(yàn)?zāi)J讲灰?guī)范單片機(jī)產(chǎn)生配置時(shí)序、讀取EPROM中的配置數(shù)據(jù)EPROM中放置多個(gè)不同功能的配置文件對(duì)FPGA進(jìn)行配置2.7.4使用單片機(jī)配置FPGA圖2-54MCU用PPS模式配置FPGA電路圖2-55單片機(jī)使用PPS模式配置時(shí)序圖2-56用89C52進(jìn)行配置各種規(guī)模的FPGAASIC/CPLD大容量EPROMPS配置端口DCLKCONF_DONEnCONFIGnSTATUSDATA0方案6:PS端口ASIC/CPLD硬件高速配置方案I/O端口缺點(diǎn):1、電路面積比較大PC機(jī)選擇JTAG下載模式GWAK30Z型適配板掉電配置選擇PS下載模式掉電保護(hù)配置復(fù)位40MHz配置時(shí)鐘源掉電保護(hù)配置器件配置文件ROM配置成功指示FPGA的配置和重配置

(RECONFIGURATION)PC機(jī)FPGA應(yīng)用電路系統(tǒng)CPU/CPLD大容量ROM/EPROM/FLASH芯片F(xiàn)PGA應(yīng)用電路系統(tǒng)CPU/CPLD

RAM方案1方案21、通用編程器2、通用仿真器3、虛擬儀表

…通過(guò)EDA工具中的LPM模塊調(diào)用如LPM_ROM,LPM_FIFO等FPGA中的硬件EAB/ESB硬核IP或嵌入式硬件模塊(如EAB)調(diào)用圖示通過(guò)LPM編輯器或直接編輯設(shè)計(jì)(調(diào)用),以及參數(shù)設(shè)定LPM模塊的相關(guān)底層文件(或元件)頂層系統(tǒng)調(diào)用產(chǎn)生HARDCOPY文件ASIC無(wú)縫轉(zhuǎn)化ALTERAHARDCOPYASIC設(shè)計(jì)流程FPGA硬件系統(tǒng)測(cè)試仿真ASIC頂層設(shè)計(jì)STRATIX系列FPGA規(guī)范的配置方案JTAG端口FPGAPS配置端口PC機(jī)配置適配電路配置器件或配置電路FPGAPS配置端口PC機(jī)配置適配電路配置器件或配置電路不規(guī)范的配置方案VHDL的基本描述語(yǔ)句6.1順序語(yǔ)句6.1.1順序賦值語(yǔ)句6.1.2IF語(yǔ)句6.1.3CASE語(yǔ)句6.1.4LOOP語(yǔ)句6.1.5NEXT語(yǔ)句6.1.6EXIT語(yǔ)句6.1.7WAIT語(yǔ)句6.1.8子程序調(diào)用語(yǔ)句6.1.9返回語(yǔ)句(RETURN)6.1.10空操作語(yǔ)句(NULL)6.1.11斷言(ASSERT)語(yǔ)句6.1.12REPORT語(yǔ)句6.1順序語(yǔ)句6.1.1順序賦值語(yǔ)句信號(hào)賦值語(yǔ)句變量賦值語(yǔ)句賦值目標(biāo)賦值符號(hào)賦值源信號(hào)或變量<=:=數(shù)值、邏輯或運(yùn)算表達(dá)式

IF<條件>THEN

<語(yǔ)句>;

ELSIF<條件>THEN

<語(yǔ)句>;

ELSIF<條件>

THEN

<語(yǔ)句>;……

ELSE<語(yǔ)句>;

ENDIF;IF語(yǔ)句的一般形式為:6.1.2IF語(yǔ)句

IF<條件>THEN

<語(yǔ)句>;ENDIF;

IF<條件>THEN

<語(yǔ)句>;ELSE

<語(yǔ)句>;ENDIF;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYddfISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC;Q,QD:OUTSTD_LOGIC);ENDddf;ARCHITECTUREexOFddfISBEGIN【例】D觸發(fā)器的VHDL語(yǔ)言描述PROCESS(CLK)BEGIN

IF(CLK'EVENT)AND(CLK='1‘)THENQ<=D;QD<=notD;ENDIF;ENDPROCESS;ENDARCHITECTUREex;【例】D觸發(fā)器的VHDL語(yǔ)言描述

【例】用VHDL設(shè)計(jì)一家用告警系統(tǒng)的控制邏輯,它有來(lái)自傳感器的三個(gè)輸入信號(hào)smoke、door、water和準(zhǔn)備傳輸?shù)礁婢O(shè)備的三個(gè)輸出觸發(fā)信號(hào)fire_alarm、burg_alarm、water_alarm以及使能信號(hào)en和alarm_en。VHDL程序描述如下:LIBRARYieee;

USEieee.std_logic_1164.all;

ENTITYalarmIS

PORT(smoke,door,water:INstd_logic;

en,alarm_en:INstd_logic;

fire_alarm,burg_alarm,water_alarm:OUTstd_logic);

ENDalarm;ARCHITECTUREalarm_arcOFalarm

IS

BEGINPROCESS(smoke,door,water,en,alarm_en)

BEGIN

IF((smoke=‘1’)AND

(en=‘0’))THEN

fire_alarm<=‘1’;

ELSE

fire_alarm<=‘0’;

ENDIF;IF((door=‘1’)AND((en=‘0’)

AND

(alarm_en=‘0’)))THEN

burg_alarm<=‘1’;

ELSE

burg_alarm<=‘0’;

ENDIF;IF((water=‘1’)

AND(en=‘0’))THEN

water_alarm<=‘1’;

ELSE

water_alarm<=‘0’;

ENDIF;

ENDPROCESS;

ENDalarm_arc;6.1順序語(yǔ)句6.1.3CASE語(yǔ)句CASE語(yǔ)句的結(jié)構(gòu)如下:CASE<表達(dá)式>ISWHEN<值>=><語(yǔ)句>;

WHEN<值>|<值>=><語(yǔ)句>;

WHEN<離散范圍>=><語(yǔ)句>;

WHENOTHERS=><語(yǔ)句>;

ENDCASE;多條件選擇值的一般表達(dá)式為:

選擇值[|選擇值]選擇值可以有四種不同的表達(dá)方式:?jiǎn)蝹€(gè)普通數(shù)值,如6。數(shù)值選擇范圍,如(2TO4),表示取值為2、3或4。并列數(shù)值,如3

5,表示取值為3或者5?;旌戏绞?,以上三種方式的混合。PORT(…z1,z2,z3,z4:outstd_logic);…SIGNALvalue:INTEGERRANGE0TO15;

CASEvalueISWHEN0=>z1<=‘1’;--value=0時(shí)

WHEN1|3=>z2<=‘0’;--value=1或3時(shí)

WHEN4TO7|2=>z3<=‘1’;--value=4、5、6、7或2時(shí)WHENOTHERS=>z4<=‘1’;--value=8~15時(shí)ENDCASE【例】SIGNALvalue:INTEGERRANGE0TO15;SIGNALout1:STD_LOGIC;...

CASEvalueIS--缺少以WHEN引導(dǎo)的條件句

ENDCASE;...CASEvalueISWHEN0=>out1<='1';--value2~15的值未包括進(jìn)去

WHEN1=>out1<='0';ENDCASE...

CASEvalueISWHEN0TO10=>out1<='1';--選擇值中5~10的值有重疊

WHEN5TO15=>out1<='0';ENDCASE;CASE語(yǔ)句使用時(shí)容易發(fā)生的錯(cuò)誤:【例】(3-8譯碼器)libraryieee;useieee.std_logic_1164.all;entitydecode38isport(a,b,c,G1,G2,G2B:instd_logic;y:outstd_logic_vector(7downto0));endentitydecode38;architectureexofdecode38issignalindata:std_logic_vector(2downto0);beginindata<=c&b&a;process(indata,G1,G2,G2B)beginif(G1='1'andG2='0'andG2B='0')then

接下頁(yè)

caseindataiswhen"000"=>y<="11111110";when"001"=>y<="11111101";when"010"=>y<="11111011";when"011"=>y<="11110111";when"100"=>y<="11101111";when"101"=>y<="11011111";when"110"=>y<="10111111";when"111"=>y<="01111111";whenothers=>y<="XXXXXXXX";endcase;elsey<="11111111";endif;endprocess;endarchitectureex;接上頁(yè)6.1.4LOOP語(yǔ)句(1)單個(gè)LOOP語(yǔ)句,其語(yǔ)法格式如下:[LOOP標(biāo)號(hào):]LOOP

順序語(yǔ)句ENDLOOP[LOOP標(biāo)號(hào)];(2)FORLOOP語(yǔ)句,語(yǔ)法格式如下:[LOOP標(biāo)號(hào):]FOR循環(huán)變量

IN循環(huán)次數(shù)范圍LOOP

順序語(yǔ)句

ENDLOOP[LOOP標(biāo)號(hào)];用法示例如下:...

L2:LOOPa:=a+1;EXITL2WHENa>10;--當(dāng)a大于10時(shí)跳出循環(huán)

ENDLOOPL2;...【例】SIGNALa,b,c:STD_LOGIC_VECTOR(1TO3);...FORnIN1To3LOOPa(n)<=b(n)ANDc(n);ENDLOOP;此段程序等效于順序執(zhí)行以下三個(gè)信號(hào)賦值操作:a(1)

<=

b(1)ANDc(1);a(2)

<=

b(2)ANDc(2);a(3)

<=

b(3)ANDc(3);【例】

LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYp_checkISPORT(a:INSTD_LOGIC_VECTOR(7DOWNTO0);y:OUTSTD_LOGIC);ENDp_check;ARCHITECTUREoptOFp_checkISSIGNALtmp:STD_LOGIC;BEGINPROCESS(a)BEGINtmp<='0';

FORnIN0TO7LOOPtmp<=tmpXORa(n);ENDLOOP;y<=tmp;ENDPROCESS;ENDopt;6.1.4LOOP語(yǔ)句(3)WHILELOOP語(yǔ)句,語(yǔ)法格式如下:

[LOOP標(biāo)號(hào):]

WHILE條件

LOOP

順序語(yǔ)句

ENDLOOP[LOOP標(biāo)號(hào)];6.1.5NEXT語(yǔ)句N(xiāo)EXT;

--第一種語(yǔ)句格式(無(wú)條件終止當(dāng)前循環(huán),跳到本次循環(huán)的LOOP語(yǔ)句處,開(kāi)始下一次循環(huán))NEXTLOOP標(biāo)號(hào);--第二種語(yǔ)句格式NEXTLOOP標(biāo)號(hào)WHEN條件表達(dá)式;

--第三種語(yǔ)句格式【例】

...L1:FORcnt_valueIN1TO8LOOPs1:a(cnt_value):='0';

NEXTWHEN(b=c);s2:a(cnt_value+8):='0';ENDLOOPL1;【例】

...L_x:FORcnt_valueIN1TO8LOOPs1:a(cnt_value):='0';k:=0;L_y:LOOPs2:b(k):='0';

NEXTL_xWHEN(e>f);s3:b(k+8):='0';k:=k+1;NEXTLOOPL_y;NEXTLOOPL_x;...NEXT語(yǔ)句主要用在LOOP語(yǔ)句執(zhí)行中進(jìn)行有條件的或無(wú)條件的轉(zhuǎn)向控制。6.1.6EXIT語(yǔ)句EXIT;--第一種語(yǔ)句格式EXITLOOP標(biāo)號(hào);--第二種語(yǔ)句格式EXITLOOP標(biāo)號(hào)WHEN條件表達(dá)式;

--第三種語(yǔ)句格式【例】SIGNALa,b:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALa_less_then_b:Boolean;...a_less_then_b<=FALSE;--設(shè)初始值

FORiIN1DOWNTO0LOOPIF(a(i)='1'ANDb(i)='0')THENa_less_then_b<=FALSE;--a>bEXIT;ELSIF(a(i)='0'ANDb(i)='1')THENa_less_then_b<=TRUE;--a<bEXIT;ELSENULL;ENDIF;ENDLOOP;--當(dāng)i=1時(shí)返回LOOP語(yǔ)句繼續(xù)比較6.1.7WAIT語(yǔ)句WAIT;--第一種語(yǔ)句格式WAITON信號(hào)表;--第二種語(yǔ)句格式WAITUNTIL條件表達(dá)式;--第三種語(yǔ)句格式WAITFOR時(shí)間表達(dá)式;--第四種語(yǔ)句格式,超時(shí)等待語(yǔ)句【例】SIGNALs1,s2:STD_LOGIC;...PROCESSBEGIN...WAITONs1,s2;ENDPROCESS;【例】(a)WAIT_UNTIL結(jié)構(gòu)(b)WAIT_ON結(jié)構(gòu)...LOOPWaituntilenable='1';

Waitonenable;...EXITWHENenable='1';ENDLOOP;6.1.7WAIT語(yǔ)句一般地,只有WAIT

UNTIL格式的等待語(yǔ)句可以被綜合器接受(其余語(yǔ)句格式只能在VHDL仿真器中使用),WAIT_UNTIL語(yǔ)句有以下三種表達(dá)方式:WAITUNTIL信號(hào)=Value;--(1)WAITUNTIL信號(hào)’EVENTAND信號(hào)=Value;--(2)WAITUNTILNOT信號(hào)’STABLEAND信號(hào)=Value;--(3)如果設(shè)clock為時(shí)鐘信號(hào)輸入端,以下四條WAIT語(yǔ)句所設(shè)的進(jìn)程啟動(dòng)條件都是時(shí)鐘上跳沿,所以它們對(duì)應(yīng)的硬件結(jié)構(gòu)是一樣的:WAITUNTILclock='1';WAITUNTILrising_edge(clock);WAITUNTILNOTclock’STABLEANDclock='1';WAITUNTILclock='1'ANDclock’EVENT;【例】...PROCESSBEGINWAITUNTILclk='1';ave<=a;WAITUNTILclk='1';ave<=ave+a;WAITUNTILclk='1';ave<=ave+a;WAITUNTILclk='1';ave<=(ave+a)/4;ENDPROCESS;【例】

PROCESSBEGINrst_loop:LOOP

WAITUNTILclock='1'ANDclock’EVENT;--等待時(shí)鐘信號(hào)

NEXTrst_loopWHEN(rst='1');--檢測(cè)復(fù)位信號(hào)rstx<=a;--無(wú)復(fù)位信號(hào),執(zhí)行賦值操作

WAITUNTILclock='1'ANDclock’EVENT;--等待時(shí)鐘信號(hào)

NEXTrst_loopWhen(rst='1');--檢測(cè)復(fù)位信號(hào)rsty<=b;--無(wú)復(fù)位信號(hào),執(zhí)行賦值操作

ENDLOOPrst_loop;ENDPROCESS;【例】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYshifterISPORT(data:INSTD_LOGIC_VECTOR(7DOWNTO0);shift_left:INSTD_LOGIC;shift_right:INSTD_LOGIC;clk:INSTD_LOGIC;reset:INSTD_LOGIC;mode:INSTD_LOGIC_VECTOR(1DOWNTO0);qout:BUFFERSTD_LOGIC_VECTOR(7DOWNTO0));ENDshifter;ARCHITECTUREbehaveOFshifterISSIGNALenable:STD_LOGIC;BEGINPROCESSBEGINWAITUNTIL(RISING_EDGE(clk));--等待時(shí)鐘上升沿

IF(reset='1')THENqout<="00000000";ELSECASEmodeISWHEN"01"=>qout<=shift_right&qout(7DOWNTO1);--右移

WHEN"10"=>qout<=qout(6DOWNTO0)&shift_left;--左移

WHEN"11"=>qout<=data;--并行加載

WHENOTHERS=>NULL;ENDCASE;ENDIF;ENDPROCESS;ENDbehave;6.1.8子程序調(diào)用語(yǔ)句調(diào)用過(guò)程的語(yǔ)句格式如下:過(guò)程名[([形參名=>]實(shí)參表達(dá)式{,[形參名=>]實(shí)參表達(dá)式})];1、過(guò)程調(diào)用一個(gè)過(guò)程的調(diào)用將分別完成以下三個(gè)步驟:(1)將IN和INOUT模式的實(shí)參值賦給欲調(diào)用的過(guò)程中與它們對(duì)應(yīng)的形參;(2)執(zhí)行這個(gè)過(guò)程;(3)將過(guò)程中IN和INOUT模式的形參值返回給對(duì)應(yīng)的實(shí)參?!纠縀NTITYsort4isGENERIC(top:INTEGER:=3);PORT(a,b,c,d:INBIT_VECTOR(0TOtop);ra,rb,rc,rd:OUTBIT_VECTOR(0TOtop));ENDsort4;ARCHITECTUREmuxesOFsort4ISPROCEDUREsort2(x,y:INOUTBIT_VECTOR(0TOtop))isVARIABLEtmp:BIT_VECTOR(0TOtop);BEGINIFx>yTHENtmp:=x;x:=y;y:=tmp;ENDIF;ENDsort2;BEGINPROCESS(a,b,c,d)VARIABLEva,vb,vc,vd:BIT_VECTOR(0TOtop);BEGINva:=a;vb:=b;vc:=c;vd:=d;sort2(va,vc);sort2(vb,vd);sort2(va,vb);sort2(vc,vd);sort2(vb,vc);ra<=va;rb<=vb;rc<=vc;rd<=vd;ENDPROCESS;ENDmuxes;2、函數(shù)調(diào)用函數(shù)調(diào)用與過(guò)程調(diào)用是十分相似的,不同之處是,調(diào)用函數(shù)將返還一個(gè)指定數(shù)據(jù)類(lèi)型的值,函數(shù)的參量只能是輸入值。6.1.8子程序調(diào)用語(yǔ)句6.1.9返回語(yǔ)句(RETURN)RETURN;--第一種語(yǔ)句格式RETURN表達(dá)式;--第二種語(yǔ)句格式【例】PROCEDURErs(SIGNALs,r:INSTD_LOGIC;SIGNALq,nq:INOUTSTD_LOGIC)ISBEGINIF(s='1'ANDr='1')THEN

REPORT"Forbiddenstate:sandrarequualto'1'";RETURN;ELSEq<=sANDnqAFTER5ns;nq<=sANDqAFTER5ns;ENDIF;ENDPROCEDURErs;【例】

FUNCTIONopt(a,b,opr:STD_LOGIC)RETURNSTD_LOGICISBEGINIF(opr='1')THENRETURN(aANDb);ELSERETURN(aORb);ENDIF;ENDFUNCTIONopt;6.1.10空操作語(yǔ)句(NULL)空操作語(yǔ)句的語(yǔ)句格式如下:NULL;在下例的CASE語(yǔ)句中,NULL用于排除一些不用的條件。CASEOpcodeISWHEN"001"=>tmp:=regaANDregb;WHEN"101"=>tmp:=regaORregb;WHEN"110"=>tmp:=NOTrega;WHENOTHERS=>NULL;ENDCASE;WHENOTHERS=>tmp:=rega;6.1.11斷言(ASSERT)語(yǔ)句ASSERT語(yǔ)句主要用于程序仿真、調(diào)試中的人機(jī)對(duì)話,它可以給出一個(gè)文字串作為警告和錯(cuò)誤信息。

ASSERT語(yǔ)句的書(shū)寫(xiě)格式為:

ASSERT條件[REPORT輸出信息][SEVERITY級(jí)別]

條件為真,向下執(zhí)行另一個(gè)語(yǔ)句,條件為假,則輸出錯(cuò)誤信息和錯(cuò)誤嚴(yán)重程度的級(jí)別。出錯(cuò)級(jí)別分別是:

NOTE(注意)、WARNING(警告)、ERROR(錯(cuò)誤)

FAILURE(失?。??!纠科叨巫g碼器…Assert(NOT(indata>=“1001”))Report“Errordata.”Severityerror;…6.1.12REPORT語(yǔ)句REPORT語(yǔ)句不增加任何語(yǔ)言功能。只是提供某種形式的順序斷言語(yǔ)句的短格式。

REPORT語(yǔ)句的書(shū)寫(xiě)格式為:

[REPORT輸出信息][SEVERITY級(jí)別]【例】七段譯碼器…IF(indata>=“1001”)THENReport“Errordata.”;ELSE…6.2VHDL并行語(yǔ)句結(jié)構(gòu)體中的并行語(yǔ)句主要有七種:1、并行信號(hào)賦值語(yǔ)句(ConcurrentSignalAssignments)。2、進(jìn)程語(yǔ)句(ProcessStatements)。3、塊語(yǔ)句(BlockStatements)。4、條件信號(hào)賦值語(yǔ)句(SelectedSignalAssignments)。5、元件例化語(yǔ)句(ComponentInstantiations),其中包括類(lèi)屬配置語(yǔ)句。6、生成語(yǔ)句(GenerateStatements)。7、并行過(guò)程調(diào)用語(yǔ)句(ConcurrentProcedureCalls)。ARCHITECTURE結(jié)構(gòu)體名OF實(shí)體名IS

說(shuō)明語(yǔ)句BEGIN

并行語(yǔ)句ENDARCHITECTURE結(jié)構(gòu)體名6.2.1并行信號(hào)賦值語(yǔ)句1.簡(jiǎn)單信號(hào)賦值語(yǔ)句賦值目標(biāo)

=表達(dá)式以下結(jié)構(gòu)體中的五條信號(hào)賦值語(yǔ)句的執(zhí)行是并行發(fā)生的。ARCHITECTUREcurtOFbc1ISSIGNALs1,e,f,g,h:STD_LOGIC;BEGIN

output1<=aANDb;output2<=c+d;g<=eORf;h<=eXORf;s1<=g;ENDARCHITECTUREcurt;6.2VHDL并行語(yǔ)句2.條件信號(hào)賦值語(yǔ)句賦值目標(biāo)<=

表達(dá)式WHEN賦值條件ELSE

表達(dá)式WHEN賦值條件ELSE

...

表達(dá)式;6.2.1并行信號(hào)賦值語(yǔ)句6.2VHDL并行語(yǔ)句邏輯電路圖【例】

ENTITYmuxISPORT(a,b,c:INBIT;p1,p2:INBIT;z:OUTBIT);END;ARCHITECTUREbehvOFmuxISBEGIN

z<=aWHENp1='1'ELSEbWHENp2='1'ELSEc;END;3.選擇信號(hào)賦值語(yǔ)句WITH選擇表達(dá)式SELECT賦值目標(biāo)信號(hào)<=表達(dá)式WHEN選擇值

表達(dá)式WHEN選擇值

...

表達(dá)式WHEN選擇值;6.2.1并行信號(hào)賦值語(yǔ)句6.2VHDL并行語(yǔ)句【例】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdecoderISPORT(a,b,c:INSTD_LOGIC;data1,data2:INSTD_LOGIC;dataout:OUTSTD_LOGIC);ENDdecoder;ARCHITECTUREconcuntOFdecoderISSIGNALinstruction:STD_LOGIC_VECTOR(2DOWNTO0);BEGINinstruction<=c&b&a;

WITHinstructionSELECTdataout<=data1ANDdata2WHEN"000",data1ORdata2WHEN"001",data1NANDdata2WHEN"010",data1NORdata2WHEN"011",data1XORdata2WHEN"100",'Z'WHENOTHERS;ENDconcunt;3.選擇信號(hào)賦值語(yǔ)句...WITHseltSELECTmuxout<=aWHEN0|1,--0或1

bWHEN2TO5,--2或3,或4或5

cWHEN6,dWHEN7,'Z'WHENOTHERS;...6.2.1并行信號(hào)賦值語(yǔ)句下例是一個(gè)列出選擇條件為不同取值范圍的4選1多路選擇器,當(dāng)不滿(mǎn)足條件時(shí),輸出呈高阻態(tài)。6.2VHDL并行語(yǔ)句6.2.2塊語(yǔ)句結(jié)構(gòu)(BLOCK)塊標(biāo)號(hào):BLOCK[(塊保護(hù)表達(dá)式)]

接口說(shuō)明

類(lèi)屬說(shuō)明

BEGIN

并行語(yǔ)句

ENDBLOCK塊標(biāo)號(hào);6.2VHDL并行語(yǔ)句【例】...

b1:BLOCKSIGNALs1:BIT;BEGINS1<=aANDb;b2:BLOCKSIGNALs2:BIT;BEGINs2<=cANDd;b3:BLOCKBEGINZ<=s2;ENDBLOCKb3;ENDBLOCKb2;y<=s1;ENDBLOCKb1;...6.2.3并行過(guò)程調(diào)用語(yǔ)句過(guò)程名(關(guān)聯(lián)參量名);【例】...

PROCEDUREadder(SIGNALa,b:INSTD_LOGIC;--過(guò)程名為adderSIGNALsum:OUTSTD_LOGIC);...

adder(a1,b1,sum1);--并行過(guò)程調(diào)用...--在此,a1、b1、sum1即為分別對(duì)應(yīng)于a、b、sum的關(guān)聯(lián)參量名

PROCESS(c1,c2);--進(jìn)程語(yǔ)句執(zhí)行

BEGIN

Adder(c1,c2,s1);--順序過(guò)程調(diào)用,在此c1、c2、s1即為分別對(duì)ENDPROCESS;--應(yīng)于a、b、sum的關(guān)聯(lián)參量名6.2VHDL并行語(yǔ)句6.2.4元件例化語(yǔ)句COMPONENT元件名ISGENERIC(類(lèi)屬表);

--元件定義語(yǔ)句

PORT(端口名表);ENDCOMPONENT文件名;例化名:元件名PORTMAP

--元件例化語(yǔ)句

([端口名=>]連接端口名,...);6.2VHDL并行語(yǔ)句【例】利用元件例化語(yǔ)句設(shè)計(jì)全加器元件例化語(yǔ)句是一種應(yīng)用十分廣泛的VHDL語(yǔ)句,它使得在進(jìn)行VHDL描述時(shí)可以使用以前建立的VHDL模塊,避免大量重復(fù)工作。6.2.5生成語(yǔ)句[標(biāo)號(hào):]FOR循環(huán)變量IN取值范圍GENERATE

說(shuō)明

BEGIN

并行語(yǔ)句

ENDGENERATE[標(biāo)號(hào)];[標(biāo)號(hào):]IF條件GENERATE

說(shuō)明

Begin

并行語(yǔ)句

ENDGENERATE[標(biāo)號(hào)];四部分組成的:(1)生成方式(2)說(shuō)明部分(3)并行語(yǔ)句(4)標(biāo)號(hào)表達(dá)式TO表達(dá)式;

--遞增方式,如1TO5表達(dá)式DOWNTO表達(dá)式;

--遞減方式,如5DOWNTO1取值范圍的語(yǔ)句格式,有兩種形式:6.2VHDL并行語(yǔ)句生成語(yǔ)句產(chǎn)生的8個(gè)相同的電路模塊【例】...COMPONENTcompPORT(x:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALa:STD_LOGIC_VECTOR(0TO7);SIGNALb:STD_LOGIC_VECTOR(0TO7);...gen:FORiINa’RANGEGENERATEu1:compPORTMA(x=>a(i),y=>b(i));ENDGENERATEgen,...【例】n位二進(jìn)制計(jì)數(shù)器(n=6)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYd_ffISPORT(d,clk_s:INSTD_LOGIC;q:OUTSTD_LOGIC;nq:OUTSTD_LOGIC);ENDENTITYd_ff;ARCHITECTUREex1OFd_ffISBEGINPROCESS(clk_s)BEGINIFclk_s='1'ANDclk_s'EVENTTHENq<=d;nq<=NOTd;ENDIF;ENDPROCESS;ENDARCHITECTUREex1;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcnt_bin_nisGENERIC(n:INTEGER:=6);PORT(q:OUTSTD_LOGIC_VECTOR(0TOn-1);in_1:INSTD_LOGIC);ENDENTITYcnt_bin_n;接下頁(yè)ARCHITECTUREex2OFcnt_bin_nISCOMPONENTd_ffPORT(d,clk_s:INSTD_LOGIC;Q,NQ:OUTSTD_LOGIC);ENDCOMPONENTd_ff;

溫馨提示

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

評(píng)論

0/150

提交評(píng)論