基于VHDL自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于VHDL自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于VHDL自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于VHDL自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于VHDL自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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)介

1、自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)電信專(zhuān)業(yè)學(xué)生: 指導(dǎo)老師: 摘要:本文介紹了VHDL的特點(diǎn)和應(yīng)用,以自動(dòng)售貨機(jī)為例,詳細(xì)說(shuō)明了其實(shí)現(xiàn)過(guò)程。本系統(tǒng)使用VHDL語(yǔ)言編寫(xiě),用狀態(tài)基來(lái)實(shí)現(xiàn)各功能,使用MAXPLUS進(jìn)行仿真,模擬各模塊的實(shí)現(xiàn)。本文詳細(xì)介紹如何運(yùn)用VHDL語(yǔ)言及MAXPLUS進(jìn)行仿真,本文設(shè)計(jì)的自動(dòng)售貨機(jī)實(shí)現(xiàn)了選擇貨物,投幣,找零,顯示,多次交易,在一次購(gòu)買(mǎi)中選擇多個(gè)貨物等自動(dòng)售貨機(jī)的基本功能。本文給出了各個(gè)模塊的源程序、各模塊的連接圖以及各個(gè)模塊的仿真圖,并做出了詳細(xì)的分析。關(guān)鍵詞:VHDL語(yǔ)言,MAXPLUS,自動(dòng)售貨機(jī)Design and implementation

2、of vending machineElectronics and Information Science and Technology Candidate:JiangHuiAdvisor:CaiJianhuaAbstract: This article introduces the characteristics and application of VHDL, with a example of designing vending machines, describes detailedly the implementation process. The system uses the V

3、HDL language, realizing every function uses state machines, applying MAXPLUS to simulate in order to realize the function every modules.This article describes the use of VHDL language and MAXPLUS simulation, to achieve the vending machine's basic functions , as choose good, coin, give change, bu

4、y good more than one time, choose more than one good in one time, display, and so on. This article gives the original program of every modules and the simulating diagram of every modules and the combination of all of the modules, gives detail analyse of every simulating diagram as well.Keywords:VHDL

5、 language,MAXPLUS,Vending machine引言隨著科技的發(fā)展和社會(huì)的進(jìn)步,自動(dòng)化商業(yè)機(jī)械有了越來(lái)越廣泛的應(yīng)用,自動(dòng)售貨機(jī)作為自動(dòng)化商業(yè)機(jī)械的代表被廣泛用于公共場(chǎng)所自動(dòng)售貨,給人們的生活帶來(lái)了極大的方便。特別在發(fā)達(dá)國(guó)家,自動(dòng)售貨機(jī)已經(jīng)十分普及,自動(dòng)售貨機(jī)可售出各種成型包裝小商品,各種袋裝,盒裝,軟瓶裝等小商品。因其無(wú)需專(zhuān)人值守而可以每天24小時(shí)售貨,被稱(chēng)為“無(wú)人小超市”。在我國(guó),由于多種原因,自動(dòng)售貨機(jī)的市場(chǎng)推廣緩慢,處于培育階段,但可以預(yù)見(jiàn),這種方便快捷的服務(wù)形式因其適合現(xiàn)代生活快節(jié)奏的需要,在不久的將來(lái)必會(huì)獲得大眾的喜愛(ài)。隨著商品市場(chǎng)的不斷繁榮,自動(dòng)售貨機(jī)和自動(dòng)服務(wù)設(shè)

6、施必將逐步得到廣泛的應(yīng)用。本文設(shè)計(jì)研究自動(dòng)售貨機(jī)的主要功能模塊,主要包括貨幣處理模塊、余額計(jì)算模塊、顯示模塊,延時(shí)和時(shí)控模塊,由于條件上的限制,對(duì)投幣模塊中的貨幣檢測(cè)未進(jìn)行處理。相應(yīng)的主要功能有選擇貨物,多次購(gòu)買(mǎi),出貨找零,顯示,延時(shí)和時(shí)控功能。本文是通過(guò)使用VHDL語(yǔ)言,基于FPGA可編程芯片,并通過(guò)使用MAXPLUS軟件進(jìn)行程序設(shè)計(jì),模擬仿真,功能驗(yàn)證,以更好的來(lái)理解和掌握自動(dòng)售貨機(jī)控制系統(tǒng)的工作原理和設(shè)計(jì)方法,以及學(xué)習(xí)和掌握基于EDA的電子產(chǎn)品設(shè)計(jì)方法,進(jìn)一步加深對(duì)VHDL語(yǔ)言以及MAXPLUS軟件、FPGA可編程芯片的認(rèn)識(shí)與了解。更深入的學(xué)習(xí)EDA技術(shù),更好地掌握本專(zhuān)業(yè)知識(shí)。1 本論概

7、述本文設(shè)計(jì)的自動(dòng)售貨機(jī)是基于VHDL1(Very High Speed Integrated Circuit Hard-ware Description Language,超高速集成電路硬件描述語(yǔ)言)語(yǔ)言,使用MAXPLUS軟件進(jìn)行模擬仿真,在FPGA(Field Programmable Gate Arry,現(xiàn)場(chǎng)可編程門(mén)陣列)可編程芯片上實(shí)現(xiàn)的一款EDA(Electronic Design Automation,電子設(shè)計(jì)自動(dòng)化)技術(shù)的產(chǎn)品。1.1系統(tǒng)的工作原理本文設(shè)計(jì)的自動(dòng)售貨機(jī)有兩種飲料可以出售,售價(jià)分別為2元和3元。售貨機(jī)可以識(shí)別1元,5元兩種貨幣。如果投入金額總值等于或超過(guò)售價(jià)就可以將

8、飲料放出,并具有相應(yīng)的找零錢(qián)功能。(1)用戶(hù)可多次選擇購(gòu)買(mǎi)的飲料種類(lèi),某次飲料種類(lèi)選定后等待投幣。如等待時(shí)間超過(guò)10秒鐘,則認(rèn)為用戶(hù)放棄選購(gòu),售貨機(jī)自動(dòng)回到等待狀態(tài),等待新的交易。若在10秒內(nèi),再次選中飲料,則再次等待。(2)每次交易完成,售貨機(jī)自動(dòng)回到等待狀態(tài),等待新的交易。(3)用按鍵模擬投入1元,5元兩種貨幣,可連續(xù)投幣,同時(shí)顯示投入的金額和還應(yīng)投入的金額。若某次投幣后金額不足,且一定時(shí)限內(nèi)不再投幣(10秒左右),則交易失敗,并退幣,顯示退還金額。(4)具有指示電路,分別指示購(gòu)買(mǎi)成功、交易取消(交易失?。┖驼伊恪#?)相應(yīng)顯示有延時(shí)和時(shí)控功能。1.2 VHDL語(yǔ)言介紹VHDL2(Very

9、 High Speed Integrated Circuit Hard-ware Description Language)是指超高速集成電路硬件描述語(yǔ)言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式,以及描述風(fēng)格與句法,類(lèi)似于一般的計(jì)算機(jī)一個(gè)電路模塊或一高級(jí)語(yǔ)言,如C語(yǔ)言。VHDL的程序結(jié)構(gòu)特點(diǎn)是,將一項(xiàng)工程設(shè)計(jì)或稱(chēng)設(shè)計(jì)實(shí)體(可以是一個(gè)元件、一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱(chēng)可視部分,即端口)和內(nèi)部(或稱(chēng)不可視部分)。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開(kāi)發(fā)完成,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外

10、部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。1.2.1 VHDL語(yǔ)言的發(fā)展背景硬件描述語(yǔ)言的發(fā)展至今已經(jīng)有幾十年的歷史,并已成功應(yīng)用到系統(tǒng)的仿真、驗(yàn)證和設(shè)計(jì)綜合等方面。其中比較著名的的有VHDL語(yǔ)言、AHDL語(yǔ)言、Verilog HDL語(yǔ)言等。而在七八十年代初期VHDL語(yǔ)言是為美國(guó)國(guó)防部工作的。它是以ADA語(yǔ)言為根源,就像將被看到的整體結(jié)構(gòu)的VHDL和其他的VHDL報(bào)表。1986年,有人提議VHDL語(yǔ)言作為IEEE標(biāo)準(zhǔn)。它經(jīng)歷了一些修改意見(jiàn)和修改,直至1987年12月獲得通過(guò),成為IEEE 1076至1987標(biāo)準(zhǔn)。它的出現(xiàn)為電子設(shè)計(jì)自動(dòng)化的普及和推廣奠定了堅(jiān)實(shí)的基礎(chǔ)。之后IEEE對(duì)87版本進(jìn)行了修訂

11、,于1933年推出了較為完善的93版本(被定為ANSI/IEEE std 1076-1993標(biāo)準(zhǔn)),使得VHDL語(yǔ)言的編程更加靈活方便。此后,越來(lái)越多的人開(kāi)始使用VHDL語(yǔ)言進(jìn)行數(shù)字電路系統(tǒng)的設(shè)計(jì)。而VHDL語(yǔ)言有不同于軟件編程語(yǔ)言,在編程結(jié)構(gòu)和規(guī)范上有自己的特點(diǎn),在此,本文就從簡(jiǎn)單介紹VHDL語(yǔ)言基礎(chǔ)開(kāi)始。1.2.2 VHDL語(yǔ)言的基本結(jié)構(gòu) 一個(gè)完整的VHDL3語(yǔ)言程序通常包括實(shí)體(Entity)、構(gòu)造體(Architecture)、配置(Configuration)、包集合(Package)和庫(kù)(Library)5個(gè)部分。前4種是可以分別編譯的源設(shè)計(jì)單元。下面分別介紹:實(shí)體:實(shí)體是用于描述

12、所設(shè)計(jì)電路系統(tǒng)的外部接口信號(hào),系統(tǒng)的輸入輸出端口及屬性都是在實(shí)體中定義的。一個(gè)實(shí)體是設(shè)計(jì)中最基本的。最上層水平的設(shè)計(jì)是最高層的實(shí)體。如果設(shè)計(jì)分層次,那么最高層的描述將有低層描述的說(shuō)明附在它里面。構(gòu)造體:構(gòu)造體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為,系統(tǒng)要實(shí)現(xiàn)的功能都是在構(gòu)造體內(nèi)用語(yǔ)言進(jìn)行描述的。所有實(shí)體可以有一個(gè)構(gòu)造體的說(shuō)明來(lái)模擬。該構(gòu)造體描述的行為實(shí)體。一個(gè)單一的實(shí)體可以有多個(gè)構(gòu)造體。一個(gè)構(gòu)造體可能是行為而另一個(gè)可能是一個(gè)結(jié)構(gòu)描述的設(shè)計(jì)。配置:配置用于從庫(kù)中選取所需單元來(lái)組成系統(tǒng)設(shè)計(jì)的不同版本。配置聲明是用來(lái)約束一個(gè)組件實(shí)例的一雙實(shí)體架構(gòu)。一個(gè)配置可以被視為像一個(gè)零件清單進(jìn)行設(shè)計(jì)。它描述的使用的每一個(gè)

13、實(shí)體的行為,就像零件列表說(shuō)明哪一部分用于每一部分的設(shè)計(jì)。包集合:包集合存放各種設(shè)計(jì)模塊都能共享的數(shù)據(jù)類(lèi)型、常數(shù)和子程序等。包集合是一個(gè)收集常用數(shù)據(jù)類(lèi)型和子程序中使用的設(shè)計(jì)。想想包含使用的工具建立的設(shè)計(jì)的一個(gè)工具箱作為一個(gè)包。庫(kù):庫(kù)存放已經(jīng)編譯的實(shí)體、構(gòu)造體、包集合和配置。庫(kù)可由用戶(hù)生成或者是由ASIC芯片制造商提供,以便在設(shè)計(jì)中為大家共享。這種功能可以通過(guò)特定語(yǔ)句來(lái)實(shí)現(xiàn)。除了以上介紹的各種術(shù)語(yǔ),其它術(shù)語(yǔ)還有:驅(qū)動(dòng)程序:這是一個(gè)信號(hào)上的一個(gè)源。如果一個(gè)信號(hào)有兩個(gè)來(lái)源,那么當(dāng)兩個(gè)來(lái)源是由兩個(gè)驅(qū)動(dòng)程序來(lái)起作用的??偩€:這個(gè)詞,“巴士”通常使我想起一組信號(hào)或某個(gè)特定的通信方式,用于設(shè)計(jì)的硬件。在VHD

14、L語(yǔ)言,總線是一種特殊的信號(hào),表明可能由驅(qū)動(dòng)程序來(lái)完成。屬性:一個(gè)關(guān)于VHDL對(duì)象連接到VHDL的物體或預(yù)先確定的數(shù)據(jù)的屬性數(shù)據(jù)。例如,電流驅(qū)動(dòng)能力的一個(gè)緩沖區(qū)或最高工作溫度的裝置。通用:泛指是VHDL語(yǔ)言傳遞信息實(shí)體參數(shù)的任期。例如,如果一個(gè)實(shí)體是一個(gè)門(mén)級(jí)模型的上升和下降延遲,上升和下降延誤的值才能通過(guò)成為實(shí)體與仿制。進(jìn)程:一個(gè)進(jìn)程是執(zhí)行的VHDL中的一個(gè)基本單位。一切行動(dòng),是在模擬VHDL描述分為單個(gè)或多個(gè)進(jìn)程。在VHDL語(yǔ)言程序中,最重要的就是實(shí)體和構(gòu)造體部分。它們是一個(gè)具體設(shè)計(jì)的核心。如果說(shuō)實(shí)體是系統(tǒng)和外部交流的橋梁,那么構(gòu)造體就是處理內(nèi)外交流的信號(hào)加工廠。在構(gòu)造體中各種信號(hào)協(xié)調(diào)工作,

15、最后得到所需的輸出,傳送到輸出端口和外部進(jìn)行交流。下面具體說(shuō)明實(shí)體和構(gòu)造體。1.2.3 實(shí)體一個(gè)VHDL實(shí)體指定的實(shí)體名稱(chēng),實(shí)體的端口,以及實(shí)體相關(guān)的信息。所有設(shè)計(jì)創(chuàng)建使用一個(gè)或多個(gè)實(shí)體。讓我們來(lái)看看一個(gè)簡(jiǎn)單的實(shí)體例子:ENTITY mux ISPORT ( a, b, c, d : IN BIT;s0, s1 : IN BIT; x : OUT BIT);END mux;關(guān)鍵字“實(shí)體”是開(kāi)始一個(gè)實(shí)體聲明的標(biāo)志,在整本文的說(shuō)明中,標(biāo)準(zhǔn)封裝中關(guān)鍵字的語(yǔ)言和類(lèi)型全部用大寫(xiě)字母來(lái)顯示。例如,在前面的示例中,關(guān)鍵字是ENTITY, IS, PORT, IN, INOUT,,等等。如果標(biāo)準(zhǔn)型是少量的。用

16、戶(hù)創(chuàng)建像復(fù)用一樣的姓名,在上面的例子中,將以小寫(xiě)顯示。實(shí)體的名稱(chēng)是多路復(fù)用,該實(shí)體有7個(gè)端口和端口條款。6個(gè)端口,一個(gè)是輸入端口,另一個(gè)是輸出端口。4個(gè)數(shù)據(jù)輸入端口(a, b, c, d)是位寬類(lèi)型。這兩個(gè)多路選擇輸入是s0 和 s1,也都是位寬類(lèi)型。輸出端口也是位寬類(lèi)型。實(shí)體描述外界的接口。它規(guī)定了一些端口,端口方向和端口的類(lèi)型。比起這里顯示的信息,實(shí)體可以存放更多的信息,但是這為我們提供了建立更復(fù)雜例子的基礎(chǔ)。1.2.4 構(gòu)造體實(shí)體是描述接口的VHDL模型。構(gòu)造體描述了實(shí)體的基本功能,并包含了模擬實(shí)體行為的陳述。構(gòu)造體始終是涉及實(shí)體和描述實(shí)體的行為。計(jì)數(shù)設(shè)備的構(gòu)造體更早的像這樣描述:ARC

17、HITECTURE dataflow OF mux ISSIGNAL select : INTEGER;BEGINselect <= 0 WHEN s0 = 0 AND s1 = 0 ELSE1 WHEN s0 = 1 AND s1= 0 ELSE2 WHEN s0 = 0 AND s1 = 1 ELSE3;x <= a AFTER 0.5 NS WHEN select = 0 ELSEb AFTER 0.5 NS WHENselect = 1 ELSEc AFTER 0.5 NS WHEN select = 2 ELSEd AFTER 0.5 NS;END dataflow;關(guān)鍵

18、字ARCHITECTURE本聲明描述了一個(gè)實(shí)體的構(gòu)架。該構(gòu)造體的名字是數(shù)據(jù)流。該實(shí)體的構(gòu)架是一種被稱(chēng)為多路復(fù)用的描述。實(shí)體和結(jié)構(gòu)連接之間的原因是一個(gè)實(shí)體可以有多個(gè)構(gòu)造體來(lái)描述實(shí)體的行為。例如,一個(gè)構(gòu)造可能是一個(gè)行為描述,另一個(gè)可能是結(jié)構(gòu)性的描述。在關(guān)鍵字ARCHITECTURE和BEGIN的文字區(qū)域是本地信號(hào)和供日后使用的組件。在這個(gè)例子中的信號(hào)選擇被宣布為當(dāng)?shù)氐男盘?hào)。構(gòu)造體的申明區(qū)域是由關(guān)鍵字BEGIN開(kāi)始的。所有在BEGIN和END netlist statement之間的申明被稱(chēng)為并列的申明,因?yàn)樗械纳昝魍瑫r(shí)執(zhí)行。1.3 MAX+PLUS的介紹 Max+plus是Altera公司提供的

19、FPGA/CPLD開(kāi)發(fā)集成環(huán)境,Altera是世界上最大可編程邏輯器件的供應(yīng)商之一。Max+plus界面友好,使用便捷,被譽(yù)為業(yè)界最易用易學(xué)的EDA軟件。在Max+plus上可以完成設(shè)計(jì)輸入、元件適配、時(shí)序仿真和功能仿真、編程下載整個(gè)流程,它提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,是設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。1.3.1 Max+plus開(kāi)發(fā)系統(tǒng)的特點(diǎn)開(kāi)放的界面:Max+plus支持與Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。與結(jié)構(gòu)無(wú)關(guān):Max+plus系統(tǒng)的核心Complie

20、r支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件,提供了世界上唯一真正與結(jié)構(gòu)無(wú)關(guān)的可編程邏輯設(shè)計(jì)環(huán)境。完全集成化:Max+plus的設(shè)計(jì)輸入、處理與較驗(yàn)功能全部集成在統(tǒng)一的開(kāi)發(fā)環(huán)境下,這樣可以加快動(dòng)態(tài)調(diào)試、縮短開(kāi)發(fā)周期。豐富的設(shè)計(jì)庫(kù):Max+plus提供豐富的庫(kù)單元供設(shè)計(jì)者調(diào)用,其中包括74系列的全部器件和多種特殊的邏輯功能(Macro-Function)以及新型的參數(shù)化的兆功能(Mage-Function)。模塊化工具:設(shè)計(jì)人員可以從各種設(shè)計(jì)輸入、處理和較驗(yàn)選項(xiàng)中進(jìn)行選擇從而使設(shè)計(jì)環(huán)境用戶(hù)

21、化。硬件描述語(yǔ)言(HDL):Max+plus軟件支持各種HDL設(shè)計(jì)輸入選項(xiàng),包括VHDL、Verilog HDL和Altera自己的硬件描述語(yǔ)言AHDL。Opencore特征:Max+plus軟件具有開(kāi)放核的特點(diǎn),允許設(shè)計(jì)人員添加自己認(rèn)為有價(jià)值的宏函數(shù)。1.3.2 Max+plus 功能簡(jiǎn)介原理圖輸入(Graphic Editor):MAX+PLUSII軟件具有圖形輸入能力,用戶(hù)可以方便的使用圖形編輯器輸入電路圖,圖中的元器件可以調(diào)用元件庫(kù)中元器件,除調(diào)用庫(kù)中的元件以外,還可以調(diào)用該軟件中的符號(hào)功能形成的功能塊。硬件描述語(yǔ)言輸入(Text Editor):MAX+PLUSII軟件中有一個(gè)集成的

22、文本編輯器,該編輯器支持VHDL,AHDL和Verilog硬件描述語(yǔ)言的輸入,同時(shí)還有一個(gè)語(yǔ)言模板使輸入程序語(yǔ)言更加方便,該軟件可以對(duì)這些程序語(yǔ)言進(jìn)行編譯并形成可以下載配置數(shù)據(jù)。波形編輯器(Waveform Editor):在進(jìn)行邏輯電路的行為仿真時(shí),需要在所設(shè)計(jì)電路的輸入端加入一定的波形,波形編輯器可以生成和編輯仿真用的波形(*.SCF文件),使用該編輯器的工具條可以容易方便的生成波形和編輯波形使用時(shí)只要將欲輸入波形的時(shí)間段用鼠標(biāo)涂黑,然后選擇工具條中的按鈕,例如,如果要某一時(shí)間段為高電平,只需選擇按鈕”1”。還可以使用輸入的波形(*.WDF文件)經(jīng)過(guò)編譯生成邏輯功能塊,相當(dāng)于已知一個(gè)芯片的

23、輸入輸出波形,但不知是何種芯片,使用該軟件功能可以解決這個(gè)問(wèn)題,設(shè)計(jì)出一個(gè)輸入和輸出波形相同CPLD電路。管腳(底層)編輯窗口(Floorplan Editor):該窗口用于將已設(shè)計(jì)好邏輯電路的輸入輸出節(jié)點(diǎn)賦予實(shí)際芯片的引腳,通過(guò)鼠標(biāo)的拖拉,方便的定義管腳的功能。自動(dòng)錯(cuò)誤定位:在編譯源文件的過(guò)程中,若源文件有錯(cuò)誤,Max+Plus2軟件可以自動(dòng)指出錯(cuò)誤類(lèi)型和錯(cuò)誤所在的位置。邏輯綜合與適配:該軟件在編譯過(guò)程中,通過(guò)邏輯綜合 (Logic Synthesizer)和適配(Fitter) 模塊,可以把最簡(jiǎn)單的邏輯表達(dá)式自動(dòng)的吻合在合適的器件中。設(shè)計(jì)規(guī)則檢查:選取CompileProcessingDe

24、sign Doctor菜單,將調(diào)出規(guī)則檢查醫(yī)生,該醫(yī)生可以按照三種規(guī)則中的一個(gè)規(guī)則檢查各個(gè)設(shè)計(jì)文件,以保證設(shè)計(jì)的可靠性。一旦選擇該菜單,在編譯窗口將顯示出醫(yī)生,用鼠標(biāo)點(diǎn)擊醫(yī)生,該醫(yī)生可以告訴你程序文件的健康情況。多器件劃分(Partitioner):如果設(shè)計(jì)不能完全裝入一個(gè)器件,編譯器中的多器件劃分模塊,可自動(dòng)的將一個(gè)設(shè)計(jì)分成幾個(gè)部分并分別裝入幾個(gè)器件中,并保證器件之間的連線最少。編程文件的產(chǎn)生: 編譯器中的裝配程序(Assembler)將編譯好的程序創(chuàng)建一個(gè)或多個(gè)編程目標(biāo)文件:EPROM配置文件(*.POF)例如,MAX7000S系列SRAM文件(*.SCF)例如,FLEX8000系列的配置

25、芯片EPROMJEDEC文件(*.JED)十六進(jìn)制文件(*.HEX)文本文件(*.TTF)串行BIT流文件(*.SBF)仿真:當(dāng)設(shè)計(jì)文件被編譯好,并在波形編輯器中將輸入波形編輯完畢后,就可以進(jìn)行行為仿真了,通過(guò)仿真可以檢驗(yàn)設(shè)計(jì)的邏輯關(guān)系是否準(zhǔn)確。分析時(shí)間(Analyze Timing):該功能可以分析各個(gè)信號(hào)到輸出端的時(shí)間延遲,可以給出延遲矩陣和最高工作頻率。器件編程:當(dāng)設(shè)計(jì)全部完成后,就可以將形成的目標(biāo)文件下載到芯片中,實(shí)際驗(yàn)證設(shè)計(jì)的準(zhǔn)確性。1.3.3 Max+plus設(shè)計(jì)過(guò)程設(shè)計(jì)流程:使用Max+plus軟件設(shè)計(jì)流程由以下幾部分組成。如圖1所示: 圖1 開(kāi)發(fā)流程圖(1)、設(shè)計(jì)輸入:可以采用

26、原理圖輸入、HDL語(yǔ)言描述、EDIF網(wǎng)表輸入及波形輸入等幾種方式。(2)、編譯:先根據(jù)設(shè)計(jì)要求設(shè)定編譯參數(shù)和編譯策略,如器件的選擇、邏輯綜合方式的選擇等。然后根據(jù)設(shè)定的參數(shù)和策略對(duì)設(shè)計(jì)項(xiàng)目進(jìn)行網(wǎng)表提取、邏輯綜合和器件適配,并產(chǎn)生報(bào)告文件、延時(shí)信息文件及編程文件,供分析仿真和編程使用。(3)、仿真:仿真包括功能仿真、時(shí)序仿真和定時(shí)分析,可以利用軟件的仿真功能來(lái)驗(yàn)證設(shè)計(jì)項(xiàng)目的邏輯功能是否正確。(4)、編程與驗(yàn)證:用經(jīng)過(guò)仿真確認(rèn)后的編程文件通過(guò)編程器(Programmer)將設(shè)計(jì)下載到實(shí)際芯片中,最后測(cè)試芯片在系統(tǒng)中的實(shí)際運(yùn)行性能。在設(shè)計(jì)過(guò)程中,如果出現(xiàn)錯(cuò)誤,則需重新回到設(shè)計(jì)輸入階段,改正錯(cuò)誤或調(diào)整

27、電路后重復(fù)上述過(guò)程。設(shè)計(jì)步驟:(1)輸入項(xiàng)目文件名(File/Project/Name)(2)輸入源文件(圖形、VHDL、AHDL、Verlog和波形輸入方式)(Max+plus/graphic Editor;Max+plus/Text Editor;Max+plus/Waveform Editor)(3)指定CPLD型號(hào)(Assign/Device)(4)設(shè)置管腳、下載方式和邏輯綜合的方式(Assign/Global Project Device Option,Assign/Global Logic Synthesis)(5)保存并檢查源文件(File/project/Save &

28、Check)(6)指定管腳(Max+plus/Floorplan Editor)(7)保存和編譯源文件(File/project/Save & Compile)(8)生成波形文件(Max+plus/Waveform Editor)(9)仿真(Max+plus/Simulator)(10)下載配置(Max+plus/Programmer)常用菜單簡(jiǎn)介:該軟件的菜單主要有:MAX+PLUS菜單(MAX+PLUS)、文件菜單(File),該文件菜單隨所選功能的不同而不同、模板菜單(Templates),該模板使編寫(xiě)VHDL和AHDL設(shè)計(jì)文件更容易和方便、指定菜單(Assign)、選擇菜單(O

29、ption)。該軟件的菜單繁多,要想都學(xué)會(huì)有一定的難度,主要原因是資料問(wèn)題。但是常用的菜單會(huì)使用還是可能的。如何獲得幫助:最直接的幫助來(lái)自于Max+plus的Help菜單。若需要某個(gè)特定項(xiàng)目的幫助信息,可以同時(shí)按<Shift>+<F1>鍵或者選用工具欄中的快速幫助按鈕“”。此時(shí),鼠標(biāo)變?yōu)閹?wèn)號(hào)的箭頭,點(diǎn)擊“特定的項(xiàng)目”就可彈出相應(yīng)的幫助信息。這里的“特定項(xiàng)目”,可以包含某個(gè)器件的圖形、文本編輯中的單詞,菜單選項(xiàng),甚至可以是一個(gè)彈出的窗口。2 自動(dòng)售貨機(jī)的設(shè)計(jì)2.1 設(shè)計(jì)說(shuō)明 本文設(shè)計(jì)的自動(dòng)售貨機(jī)4可銷(xiāo)售牛奶(2元)、果汁(3元)兩種商品;售貨機(jī)可識(shí)別1元和5元兩種貨幣,

30、在一次購(gòu)買(mǎi)過(guò)程中,可購(gòu)買(mǎi)一個(gè)或多個(gè)商品,系統(tǒng)會(huì)自動(dòng)計(jì)算所需錢(qián)數(shù)和找零錢(qián)數(shù)并自動(dòng)找零。另外有3個(gè)發(fā)光二極管、6個(gè)LCD數(shù)碼管。3個(gè)發(fā)光二極管分別用來(lái)顯示交易成功、交易失敗、正在找零。6個(gè)LCD數(shù)碼管:2個(gè)用來(lái)顯示所需金額,2個(gè)用來(lái)顯示已付金額,2個(gè)用來(lái)顯示找零數(shù)。2.1.1 流程說(shuō)明本文設(shè)計(jì)的自動(dòng)售貨機(jī)當(dāng)通電時(shí),表示一次投幣銷(xiāo)售過(guò)程的開(kāi)始。顧客選擇一種商品或多種則進(jìn)入投幣狀態(tài)。若不投幣,則自動(dòng)返回初始狀態(tài)。投幣后,系統(tǒng)自動(dòng)計(jì)算所投錢(qián)數(shù)。若投幣夠,則出貨找零。若投幣不夠,等待10秒后,顧客沒(méi)有繼續(xù)投幣,則退幣并回到初始狀態(tài)。本系統(tǒng)的投幣銷(xiāo)售流程圖如圖2所示:圖2 流程圖2.1.2 各模塊說(shuō)明本文設(shè)

31、計(jì)的自動(dòng)售貨機(jī)總體分三個(gè)模塊5:總控模塊、二進(jìn)制譯碼模塊、BCD碼譯碼模塊。其它功能本文不予討論??偪啬K:總控模塊是本系統(tǒng)最重要的模塊,該模塊大體有5個(gè)輸入端口和6個(gè)輸出端口。其輸入端口包括 clk、coin1(投入一元貨幣)、coin5(投入5元貨幣)、price2(選擇2元的商品)、price3(選擇3元的商品),輸出端口有paid(已投入多少錢(qián))、needed(還需要多少錢(qián))、moneyout(找零)、success(燈亮表示交易成功)、failure(燈亮表示交易失敗)、showmoneyout(燈亮表示正在找零)。該模塊實(shí)現(xiàn)了本系統(tǒng)最重要的交易過(guò)程,包括選擇商品、投入貨幣、計(jì)算貨幣

32、,找零出貨等。二進(jìn)制譯碼模塊:該模塊有一個(gè)輸入端和兩個(gè)輸出端。輸入端b是一個(gè)4位的二進(jìn)制數(shù),輸出端bcd0、bcd1,是兩個(gè)4位的BCD碼。該模塊的主要功能是實(shí)現(xiàn)將主控模塊輸出的二進(jìn)制數(shù)(paid、needed、moneyout)轉(zhuǎn)換成BCD碼,以便輸出到七段顯示數(shù)碼器上而顯示出來(lái)。該模塊的原理是將一個(gè)4位的二進(jìn)制數(shù)轉(zhuǎn)換成2個(gè)4位的BCD碼,分別為高4位和低4位。BCD碼譯碼模塊:該模塊有一個(gè)輸入端和一個(gè)輸出端。輸入端d是一個(gè)4位的BCD碼,輸出端q是一個(gè)7位數(shù),輸出連接到一個(gè)LCD數(shù)碼管以顯示出來(lái)。2.1.3 各模塊的連接各模塊的連接如圖3所示:圖3 硬件模塊連接圖如圖3所示,左邊的5個(gè)端口

33、為輸入端口,連接的模塊是主控模塊。中間的3個(gè)輸出端口連接3個(gè)LED指示燈,分別指示交易成功、交易失敗、需要找零。中間的3個(gè)模塊是二進(jìn)制譯碼模塊,分別將主控模塊輸出的paid、needed、moneyout轉(zhuǎn)換成兩個(gè)4位的BCD碼。最右邊的6個(gè)模塊是BCD譯碼模塊,輸出端口連接6個(gè)LCD七段顯示數(shù)碼管。2.2 狀態(tài)之間的轉(zhuǎn)換 本文所設(shè)計(jì)的自動(dòng)售貨機(jī)進(jìn)程可分為7個(gè)狀態(tài)6:a,b,c,d,e,f,g。a為開(kāi)始狀態(tài),當(dāng)有鍵按下時(shí)即進(jìn)入b狀態(tài)(投幣狀態(tài))。當(dāng)?shù)却脒€沒(méi)投幣時(shí)即進(jìn)入e狀態(tài),e狀態(tài)返回a狀態(tài)。當(dāng)有貨幣投入,但投幣不夠時(shí),即進(jìn)入c狀態(tài)(繼續(xù)投幣),若等待十秒不投,即進(jìn)入g狀態(tài)(退錢(qián)),若投幣

34、但還不夠,則繼續(xù)投幣。當(dāng)投幣夠了,即進(jìn)入d狀態(tài)(出貨找零)。之后進(jìn)入f狀態(tài)(延時(shí))后返回a狀態(tài)。3 仿真時(shí)序圖3.1 主控模塊的仿真圖4 主控模塊只選一次但不投幣的仿真 如圖4所示:選擇3元商品,不再投幣,所需貨幣顯示3元,10秒后,failure為高電平,表示交易失敗,延時(shí)顯示后,回到初始狀態(tài)。源程序見(jiàn)附錄的主控模塊。圖5 主控模塊多次選擇但不投幣的仿真如圖5所示:選擇3元商品后,在10秒內(nèi),再次選擇2元商品;此后,不再投幣,所需貨幣先為3元,后為5元,10秒后,failure出現(xiàn)高電平,表示交易失敗,延時(shí)顯示后,回到初始狀態(tài)。源程序見(jiàn)附錄的主控模塊。圖6 主控模塊交易成功但不找零的仿真如圖

35、6所示:選擇3元商品后,在10秒內(nèi),再次選擇2元商品;所需貨幣先是3元,后為5元,此后,在一定時(shí)限內(nèi)投入5元錢(qián),所需貨幣為0元,success為高電平,表示交易成功,不找零,延時(shí)顯示后,回到初始狀態(tài)。源程序見(jiàn)附錄的主控模塊。圖7 主控模塊交易成功且找零的仿真如圖7所示:選擇3元商品后,在10秒內(nèi),再次選擇2元商品;所需貨幣先為3元,后為5元,此后,在一定時(shí)限內(nèi)先后投入1元和5元,所需貨幣分別變?yōu)?元,0元,success為高電平,表示交易成功。showmoneyout為高電平,表示要找零,moneyout顯示為1元,表示找零1元。延時(shí)顯示,其后回到初始狀態(tài)。源程序見(jiàn)附錄的主控模塊。圖8 主控模

36、塊連續(xù)交易成功的仿真如圖8所示:先分別選擇3元和2元的商品,所需貨幣先后顯示3元和5元,再投入1元和5元,所需貨幣顯示分別為4元,0元。success為高電平,表示一次交易成功,同時(shí)showmoneyout也為高電平,表示需要找零,moneyout顯示為1元,再選擇3元的商品,投入5元,所需貨幣先后為3元和0元。success為高電平,表示第二次交易成功,showmoneyout為高電平,表示要找零,moneyout顯示為2元。圖8顯示連續(xù)交易。源程序見(jiàn)附錄的主控模塊。圖9 主控模塊錢(qián)不夠但不再投幣的仿真如圖9所示:選擇3元商品后,在10秒內(nèi),再次選擇2元商品;所需貨幣先后顯示3元和5元。此后

37、,在一定時(shí)限內(nèi)投入1元,所需貨幣顯示4元,其后,等待再次投幣,若超過(guò)一定時(shí)限(10秒)不再投幣,認(rèn)為放棄,failure為高電平,表示交易失敗。showmoneyout為高電平,表示要退幣,moneyout顯示1元,即退幣1元;延時(shí)顯示后,回到初始狀態(tài)。源程序見(jiàn)附錄的主控模塊。3.2 二進(jìn)制譯碼的仿真 圖10 二進(jìn)制譯碼的仿真如圖10所示:分別將從0到F各位二進(jìn)制數(shù)轉(zhuǎn)換為兩位的BCD碼數(shù)。如圖所示,將一個(gè)4位的二進(jìn)制數(shù)轉(zhuǎn)化為兩個(gè)4位的BCD碼數(shù)的功能得到實(shí)現(xiàn)。源程序見(jiàn)附錄的二進(jìn)制譯碼模塊。3.3 BCD碼譯碼的仿真圖11 BCD碼譯碼的仿真如圖11所示:將從0到7各位BCD碼轉(zhuǎn)化為七段譯碼顯示

38、出來(lái),其中7E在七段數(shù)碼管上顯示0,30顯示1,6D顯示2等等。如圖所示,將BCD碼轉(zhuǎn)化為七段數(shù)碼顯示的功能得到實(shí)現(xiàn)。源程序見(jiàn)附錄的BCD碼譯碼模塊。3.4 TOP文件的仿真 圖12 TOP文件的仿真如圖12所示:先選擇一個(gè)3元的商品,10秒內(nèi)再選擇一個(gè)2元的商品;此后,在一定時(shí)間內(nèi),先后投入一元和5元,顯示交易成功,并找零一元。在七段數(shù)碼管上所需貨幣先后顯示00元、03元、05元,當(dāng)投入一元后,顯示04元,再投入5元后,顯示00元。而已投貨幣先后顯示00元、投入一元后,顯示01元,再投入5元,顯示06元。同樣,找零貨幣先后顯示00元、01元。由此可見(jiàn),系統(tǒng)的各功能實(shí)現(xiàn)成功。源程序見(jiàn)附錄的頂層

39、文件。4. 結(jié)論 自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì)已全部完成,能按預(yù)期的效果進(jìn)行多次購(gòu)買(mǎi)、找零出貨、并且在數(shù)碼管上顯示出已投貨幣、還需金額、找零,同時(shí)有指示燈提示交易成功、交易失敗、正在找零。在自動(dòng)售貨機(jī)系統(tǒng)的3個(gè)模塊中,最重要的是主控模塊,其它還有二進(jìn)制譯碼模塊和BCD碼譯碼模塊。各模塊完成后,將它們組合成完整的自動(dòng)售貨機(jī)系統(tǒng)。在設(shè)計(jì)過(guò)程中還需改進(jìn)的是在選擇商品時(shí)不能按鍵過(guò)長(zhǎng),否則會(huì)認(rèn)為是重復(fù)選擇。本文所用的VHDL語(yǔ)言雖然語(yǔ)法規(guī)則與其他計(jì)算機(jī)高級(jí)語(yǔ)言如C語(yǔ)言在很多方面很類(lèi)似,但它畢竟是硬件描述語(yǔ)言,其本質(zhì)作用在于描述硬件,因而會(huì)受到硬件環(huán)境的限制。因此,為了達(dá)到設(shè)計(jì)的預(yù)期效果,在代碼編寫(xiě)前,應(yīng)做到對(duì)硬

40、件電路心中有數(shù),不能一味地追求代碼的完美,而應(yīng)該以實(shí)現(xiàn)的硬件電路的性能優(yōu)劣為標(biāo)準(zhǔn)。答謝:在完成本系統(tǒng)的設(shè)計(jì)過(guò)程中,本人得到老師的悉心指導(dǎo)和王堯君同學(xué)的幫助,在此深表謝意。 參考文獻(xiàn)1 李仁發(fā),凌純清,徐成.VHDL數(shù)字系統(tǒng)設(shè)計(jì)(第二版). 北京:電子工業(yè)出版社出版. 20072 甘歷 VHDL應(yīng)用于開(kāi)發(fā)實(shí)踐. 北京:科學(xué)出版社.20033 Mark Zwolinski Digital System Design with VHDL.BeiJing:Publishing House of Electronics Industry.2007 4王曉峰電子設(shè)計(jì)的EDA技術(shù)應(yīng)用J長(zhǎng)春師范學(xué)院學(xué)報(bào):自然

41、科學(xué)版,2005,24(5):55565DOULOS AThe designer S guide to VHDLEBOL200706066侯伯亨VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì)M陜西:西安電子科技大學(xué)出版社,1999東方人華MAX+PLUS I1入門(mén)與提高M(jìn)北京:清華大學(xué)出版社,2004附錄:系統(tǒng)各功能模塊的實(shí)現(xiàn):主控模塊的完整程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shouhuojioriginal isport( clk: in std_logic; co

42、in1:in std_logic;coin5:in std_logic;price2:in std_logic;price3:in std_logic;paid:out std_logic_vector(3 downto 0);needed:out std_logic_vector(3 downto 0);success:out std_logic;failure:out std_logic;showmoneyout:out std_logic;moneyout:out std_logic_vector(3 downto 0);end shouhuojioriginal;architectur

43、e behav of shouhuojioriginal istype state_type is (qa,qb,qe,qc,qg,qd,qf);signal current_state :state_type:=qa;signal q:integer range 0 to 100;begin process(clk)variable paidtemp:std_logic_vector(3 downto 0);variable neededtemp: std_logic_vector(3 downto 0);variable backmoney: std_logic_vector(3 down

44、to 0);variable pricetemp:std_logic_vector(3 downto 0);beginif clk'event and clk='1' thencase current_state iswhen qa =>paidtemp:="0000"neededtemp:="0000"backmoney:="0000"pricetemp:="0000"q<=0;showmoneyout<='0'moneyout<="000

45、0"paid<="0000"needed<="0000"failure<='0'success<='0'if price2='1' or price3='1' then current_state<=qb;if price2='1' then pricetemp:=pricetemp+2;neededtemp:=pricetemp;Elsepricetemp:=pricetemp+3;neededtemp:=pricetemp;end

46、if;end if;paid<=paidtemp;needed<=neededtemp; when qb=>if coin1='1'or coin5='1' then if coin1='1' then paidtemp:=paidtemp+1; else paidtemp:=paidtemp+5; end if; if paidtemp>=pricetemp then backmoney:=paidtemp-pricetemp; neededtemp:="0000"current_state<=

47、qd; else neededtemp:=pricetemp-paidtemp;backmoney:="0000" current_state<=qc;q<=0; end if; paid<=paidtemp; needed<=neededtemp; end if; if q<8 then q<=q+1; if price2='1' or price3='1' then q<=0; if price2='1' then pricetemp:=pricetemp+2; neededtem

48、p:=neededtemp+2; elsepricetemp:=pricetemp+3;neededtemp:=neededtemp+3;end if;paid<=paidtemp;needed<=neededtemp;end if; else current_state<=qe; q<=0; end if; when qe=>failure<='1' if q<4 then q<=q+1; else current_state<=qa;q<=0; end if; when qc=> if coin1='

49、1' or coin5='1' then if coin1='1' then paidtemp:=paidtemp+1; else paidtemp:=paidtemp+5; end if; if paidtemp>=pricetemp then neededtemp:="0000" backmoney:=paidtemp-pricetemp; current_state<=qd; else neededtemp:=pricetemp-paidtemp; backmoney:="0000" curren

50、t_state<=qc; end if; paid<=paidtemp; needed<=neededtemp; end if; if coin1/='1' and coin5/='1' then if q<10 then q<=q+1; else current_state<=qg; end if; else q<=0; end if; when qg=> failure<='1' showmoneyout<='1'moneyout<=paidtemp; curr

51、ent_state<=qf;q<=0; when qd=> success<='1' if backmoney>"0000" then showmoneyout<='1'moneyout<=backmoney;end if;current_state<=qf;q<=0;when qf=> if q<4 then q<=q+1;else current_state<=qa;q<=0;end if;end case;end if;end process;end b

52、ehav;二進(jìn)制譯碼模塊的完整程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity code1 isport( b:in std_logic_vector(3 downto 0);bcd0:out std_logic_vector(3 downto 0); bcd1:out std_logic_vector(3 downto 0);end code1;architecture one of code1 isbeginprocess(b)begincase b iswhen&quo

53、t;0000"=>bcd0<="0000"bcd1<="0000"when"0001"=>bcd0<="0001"bcd1<="0000"when"0010"=>bcd0<="0010"bcd1<="0000"when"0011"=>bcd0<="0011"bcd1<="0000"when&quo

54、t;0100"=>bcd0<="0100"bcd1<="0000"when"0101"=>bcd0<="0101"bcd1<="0000"when"0110"=>bcd0<="0110"bcd1<="0000"when"0111"=>bcd0<="0111"bcd1<="0000"when&quo

55、t;1000"=>bcd0<="1000"bcd1<="0000"when"1001"=>bcd0<="1001"bcd1<="0000"when"1010"=>bcd0<="0000"bcd1<="0001"when"1011"=>bcd0<="0001"bcd1<="0001"when&quo

56、t;1100"=>bcd0<="0010"bcd1<="0001"when"1101"=>bcd0<="0011"bcd1<="0001"when"1110"=>bcd0<="0100"bcd1<="0001"when"1111"=>bcd0<="0101"bcd1<="0001"when oth

57、ers=>null;end case;end process;end one;BCD碼譯碼模塊的完整程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity code2 isport(d:in std_logic_vector(3 downto 0);q:out std_logic_vector(6 downto 0);end code2;architecture one of code2 isbeginprocess(d)begincase d iswhen"000

58、0"=>q<="1111110"when"0001"=>q<="0110000"when"0010"=>q<="1101101"when"0011"=>q<="1111001"when"0100"=>q<="0110011"when"0101"=>q<="1011011"when"011

59、0"=>q<="1011111"when"0111"=>q<="1110000"when"1000"=>q<="1111111"when"1001"=>q<="1110011"when others=>q<="0000000"end case;end process;end one;頂層文件的完整程序如下:library IEEE;use IEEE.STD_LOGIC

60、_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity top isPort ( clk1:in std_logic;C1,C5,P2,P3:in std_logic; paid_lcd0,paid_lcd1,needed_lcd0,needed_lcd1,Mout_lcd0,Mout_lcd1:out std_logic_vector(6 downto 0);s,f,showout :out std_logic ); end top;architecture one of top iscomponent shouhuojiorigina

溫馨提示

  • 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)論