EDA自動(dòng)售貨機(jī)設(shè)計(jì)
《EDA自動(dòng)售貨機(jī)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《EDA自動(dòng)售貨機(jī)設(shè)計(jì)(24頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、摘要人類社會(huì)已進(jìn)入到高度發(fā)達(dá)的信息化社會(huì), 信息社會(huì)的發(fā)展離不開電子產(chǎn)品的進(jìn)步。現(xiàn)代電子產(chǎn)品在性能提高、復(fù)雜度增大的同時(shí),價(jià)格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快, 實(shí)現(xiàn)這種進(jìn)步的主要原因就是生產(chǎn)制造技術(shù)和電子設(shè)計(jì)技術(shù)的發(fā)展。自動(dòng)售貨是 20 世紀(jì) 70 年代在日本、 歐美發(fā)展起來的一種全新的消費(fèi)方式, 自動(dòng)售貨機(jī)又被稱為 24 小時(shí)營業(yè)的微型自助超市,它的售貨領(lǐng)域非常廣泛,是發(fā)達(dá)國家商品零售的一種主要方式。 本設(shè)計(jì)要實(shí)現(xiàn)自動(dòng)售貨機(jī)的基本功能,如投幣處理、 商品選擇、購貨撤銷、異常退幣、計(jì)算存貨等功能。采用VHDL硬件描述語言編程的設(shè)計(jì)方法設(shè)計(jì)系統(tǒng)核心電路的硬件程序,與一般的軟件
2、開發(fā)不同,VHDL 編程更需要熟悉一些底層的硬件知識(shí),特別是數(shù)字邏輯電路的設(shè)計(jì),因此 VHDL編程的方法、思路都要更多的與硬件電路聯(lián)系起來。 完成系統(tǒng)各個(gè)功能模塊的硬件程序設(shè)計(jì)后, 在軟件平臺(tái)上進(jìn)行編譯和電路仿真,最后生成的目標(biāo)文件下載到實(shí)驗(yàn)臺(tái)內(nèi)的 FPGA芯片以實(shí)現(xiàn)該系統(tǒng),并在實(shí)驗(yàn)臺(tái)上對設(shè)計(jì)進(jìn)行驗(yàn)證。關(guān)鍵字 :自動(dòng)售貨機(jī);VHDL編程;編譯;電路仿真AbstractHuman society has entered into a highly developed information community, social development of information on elect
3、ronic products progress. the modern electronic products in the performance, the increased complexity of the same time, the price has been a downward trend, and the pace of product faster and faster, the realization of this progress is that of manufacturing technology and electronic design of technol
4、ogy.The coin is in the 70s of 20th century in japan, and develop a new and vending machine is called open 24 hours in the cafeteria, it is very widespread area of sale in retail in the developed countries, is a major way. this is designed to enable automatic machines in the basic functionality, such
5、 as a coin, choose and purchases of goods, money is retired, stock and functions. Complete system of the various functional modules of hardware, software design process in the compilation and circuit emulation, the target file download to the test stand in the chip to implement the system fpga, and
6、on the stage of design validation.Keywords: Vending machine; Vhdl programming ; Compilation ; Circuitsimulation- 1 -目錄引言 .- 3 -1 EDA技術(shù)簡介 .- 10 -1.1 EDA 技術(shù)的發(fā)展概況 .- 10 -1.2 EDA 技術(shù)的基本特征 .- 10 -1.2.1“自頂向下”的設(shè)計(jì)方法 .- 11 -1.2.2高層次設(shè)計(jì) .- 11 -2 工作原理 .- 11 -2. 1任務(wù)概述 .- 11 -2.2系統(tǒng)設(shè)計(jì) - 12 -2.3系統(tǒng)組成方框圖 .- 12 -2.4工作過
7、程 .- 12 -3 設(shè)計(jì)方案 .- 13 -3.1自動(dòng)售貨機(jī) VHDL程序 .- 13 -3.2各功能部件系統(tǒng)仿真圖 .- 16 -結(jié) 論 .- 19 -參考文獻(xiàn) .- 20 - 2 -引言自動(dòng)售貨機(jī)能夠根據(jù)投入錢幣自動(dòng)收貨的機(jī)器,是商業(yè)自動(dòng)化的常用設(shè)備。不受時(shí)間、地點(diǎn)的限制,能節(jié)省人力物力。 現(xiàn)代售貨機(jī)的功能、 結(jié)構(gòu)根據(jù)商品的種類而異。貨幣裝置時(shí)售貨機(jī)的核心, 其主要功能是確認(rèn)投入幣數(shù)及面值,計(jì)算余額,找兌余額。因此,自動(dòng)售貨機(jī)在商業(yè),食品業(yè)越來越普及,更方便消費(fèi)者購買自己所需的商品。使用方便、可靠、節(jié)省人力的自動(dòng)售貨機(jī)將在社會(huì)生活中成為一種趨勢。新浪騰訊 ?QQ 空間搜 狐 網(wǎng) 易谷 歌
8、鳳 凰 網(wǎng)新浪微博新 華 網(wǎng)人 民 網(wǎng)中國移動(dòng) 中國政府網(wǎng)人 人 網(wǎng)開 心 網(wǎng)天涯社區(qū)汽車之家 4399 游戲太平洋電腦東方財(cái)富 中華英才網(wǎng) 中 彩 網(wǎng)賽 爾 號(hào)智聯(lián)招聘 攜程旅行網(wǎng)CNTV 中國電信58 同城淘 寶 網(wǎng)湖南衛(wèi)視 大眾點(diǎn)評網(wǎng)工商銀行 凡客誠品中關(guān)村在線國美電器 易 車 網(wǎng) 去哪兒網(wǎng)京東商城 蘇寧易購新功能刷卡購物功能:在網(wǎng)絡(luò)環(huán)境支持情況下,具備多種電子支付功能,如信用卡、儲(chǔ)值卡、手機(jī)卡等刷卡消費(fèi)。多種貨幣識(shí)別功能:電控系統(tǒng)可以配合紙幣、硬幣識(shí)別器增加代金券功能,可以識(shí)別紙質(zhì)和硬幣類型的代金券。數(shù)據(jù)下載功能:應(yīng)用 USB技術(shù),使用一個(gè)優(yōu)盤,就能輕松下載售貨機(jī)的運(yùn)營信息,然后使用P
9、C機(jī)對下載的數(shù)據(jù)進(jìn)行處理,便于運(yùn)營商掌握不同地區(qū)、不同機(jī)器、不同商品的售賣情況。- 3 -無線網(wǎng)絡(luò)運(yùn)營管理功能:將自動(dòng)售貨機(jī)當(dāng)前運(yùn)營的數(shù)據(jù),包括系統(tǒng)狀態(tài)、系統(tǒng)故障、料道故障、缺貨情況、銷售數(shù)據(jù)通過安裝在自動(dòng)售貨機(jī)上的GPRS模塊無線傳輸?shù)绞圬洐C(jī)網(wǎng)絡(luò)服務(wù)器,運(yùn)營人員可以在任何一臺(tái)聯(lián)網(wǎng)的電腦上掌握售貨機(jī)的這些信息,實(shí)現(xiàn)自動(dòng)售貨機(jī)的大規(guī)模運(yùn)營和網(wǎng)絡(luò)化管理。EDA技術(shù)是以計(jì)算機(jī)為工具完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設(shè)計(jì)仿真等工作。電路設(shè)計(jì)者只需要完成對系統(tǒng)功能的描述,就可以由計(jì)算機(jī)軟件進(jìn)行系統(tǒng)處理,最后得到設(shè)計(jì)結(jié)果, 并且修改設(shè)計(jì)方案如同修改軟件一樣方便。 利用 EDA工具可以極大地提高設(shè)計(jì)效率。利
10、用硬件描述語言編程來表示邏輯器件及系統(tǒng)硬件的功能和行為, 是 EDA設(shè)計(jì)方法的一個(gè)重要特征。 VHDL(Very High Speed Integrated Circuit HardwareDescription Language,超高速集成電路硬件描述語言)是硬件描述語言的一種,對系統(tǒng)硬件的描述功能很強(qiáng)而語法又比較簡單。 VHDL具有強(qiáng)大的行為描述能力,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu), 只需集中精力進(jìn)行電子系統(tǒng)的設(shè)計(jì)和性能優(yōu)化; 具有方便的邏輯仿真與調(diào)試功能, 在設(shè)計(jì)早期就能查驗(yàn)系統(tǒng)的功能, 方便地比較各種方案的可行性及其優(yōu)劣。目前, VHDL作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多 ED
11、A公司的支持,在電子工程領(lǐng)域已經(jīng)成為事實(shí)上通用硬件描述語言。本文采用 VHDL作為工具描述了自動(dòng)售貨機(jī)控制模塊的邏輯控制電路, 并在 FPGA 上實(shí)現(xiàn)。該自動(dòng)售貨機(jī)能夠根據(jù)投入硬幣額度, 按預(yù)定的要求在投入硬幣大于規(guī)定值時(shí)送出飲料并找零。設(shè)計(jì)方案本文所設(shè)計(jì)的簡易自動(dòng)售貨機(jī)可銷售礦泉水,假設(shè)每瓶 1.5 元。設(shè)兩個(gè)投幣孔,分別接收 1 元和 5 角兩種硬幣, 兩個(gè)輸出口, 分別輸出購買的商品和找零。 假設(shè)每次只能投入一枚 1 元或 5 角硬幣,投入 1 元 5 角硬幣后機(jī)器自動(dòng)給出一瓶礦泉水; 投入2 元硬幣后,在給出一瓶礦泉水的同時(shí)找回一枚 5 角的硬幣。另外設(shè)置一復(fù)位按鈕,當(dāng)復(fù)位按鈕按下時(shí),
12、自動(dòng)售貨機(jī)回到初始狀態(tài)。開發(fā)軟件選用功能強(qiáng)大的Altera公司的最新可編程邏輯器件開發(fā)工具QuartusII 8.0 ,實(shí)現(xiàn)芯片選用 Altera 公司 FLEX10K系列的 EPF10K10LC84-;4首先在計(jì)算機(jī)上完成程序設(shè)計(jì)、 編譯及時(shí)序仿真, 然后將經(jīng)過驗(yàn)證的設(shè)計(jì)文件下載到選擇的可編程邏輯器件中,并在電子設(shè)計(jì)自動(dòng)化實(shí)驗(yàn)系統(tǒng)中進(jìn)行硬件模擬和測試。狀態(tài)機(jī) VHDL程序設(shè)計(jì)- 4 -0 表示不輸出貨物或不找零。有限狀態(tài)機(jī) FSM( Finite State Machine )及其設(shè)計(jì)技術(shù)是實(shí)用數(shù)字系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)高效率、高可靠邏輯控制的重要途徑。 傳統(tǒng)的狀態(tài)機(jī)設(shè)計(jì)方法需進(jìn)行繁瑣的狀態(tài)分配、繪
13、制狀態(tài)表、簡化次態(tài)方程等,而利用 VHDL可以避免這些煩瑣的過程,直接利用狀態(tài)轉(zhuǎn)換圖進(jìn)行狀態(tài)機(jī)的描述。此外,與 VHDL的其他描述方式相比,狀態(tài)機(jī)的VHDL表述豐富多樣,程序?qū)哟畏置?,結(jié)構(gòu)清晰,易讀易懂;在排錯(cuò)、修改和模塊移植方面也有其獨(dú)到的特點(diǎn)。狀態(tài)機(jī)有摩爾( Moore)型和米立( Mealy)型兩種。 Moore 型狀態(tài)機(jī)的輸出信號(hào)只與當(dāng)前狀態(tài)有關(guān); Mealy 型狀態(tài)機(jī)的輸出信號(hào)不僅與當(dāng)前狀態(tài)有關(guān),還與輸入信號(hào)有關(guān)。結(jié)合本文設(shè)計(jì), 由于輸出僅與狀態(tài)有關(guān), 選用了 Moore 型狀態(tài)機(jī)設(shè)計(jì)自動(dòng)售貨機(jī)控制模塊,狀態(tài)轉(zhuǎn)換圖如圖 1 所示。圖 1 自動(dòng)售貨機(jī)狀態(tài)轉(zhuǎn)換圖1)狀態(tài)定義: S0 表示
14、初態(tài), S1 表示投入 5 角硬幣, S2 表示投入 1 元硬幣, S3 表示投入 1 元 5 角硬幣, S4 表示投入 2 元硬幣。2)輸入信號(hào):取投幣信號(hào)為輸入邏輯變量,用兩位的矢量 state_inputs 表示。 state_inputs (0)表示投入 1 元硬幣, state_inputs ( 1)表示投入 5 角硬幣。輸入信號(hào)為 1 表示投入硬幣,輸入信號(hào)為 0 表示未投入硬幣。3)輸出信號(hào):給出礦泉水和找零為兩個(gè)輸出變量,用兩位的矢量 comb_outputs 表示。 comb_outputs( 0)表示輸出貨物, comb_outputs( 1)表示找 5 角零錢。輸出信號(hào)為
15、 1 表示輸出貨物或找零,輸出信號(hào)為EDA技術(shù)是以計(jì)算機(jī)為工具完成數(shù)字系統(tǒng)的邏輯綜合、 布局布線和設(shè)計(jì)仿真等工作。電路設(shè)計(jì)者只需要完成對系統(tǒng)功能的描述,就可以由計(jì)算機(jī)軟件進(jìn)行系統(tǒng)處理,最后得到設(shè)計(jì)結(jié)果, 并且修改設(shè)計(jì)方案如同修改軟件一樣方便。 利用 EDA工具可以極大地提高設(shè)計(jì)效率。利用硬件描述語言編程來表示邏輯器件及系統(tǒng)硬件的功能和行為, 是 EDA設(shè)計(jì)方法的一個(gè)重要特征。 VHDL(Very High Speed Integrated Circuit HardwareDescription Language,超高速集成電路硬件描述語言)是硬件描述語言的一種,對系統(tǒng)硬件的描述功能很強(qiáng)而語法又
16、比較簡單。 VHDL具有強(qiáng)大的行為描述能力,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu), 只需集中精力進(jìn)行電子系統(tǒng)的設(shè)計(jì)和性能優(yōu)化; 具有方便的邏輯仿真與調(diào)試功能, 在設(shè)計(jì)早期就能查驗(yàn)系統(tǒng)的功能, 方便地比較各種方案的可行性及其優(yōu)劣。目前, VHDL作為 IEEE 的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多 EDA公司的支持,在電子工程領(lǐng)域已經(jīng)成為事實(shí)上通用硬件描述語言。本文采用 VHDL作為工具描述了自動(dòng)售貨機(jī)控制模塊的邏輯控制電路, 并在 FPGA 上實(shí)現(xiàn)。該自動(dòng)售貨機(jī)能夠根據(jù)投入硬幣額度, 按預(yù)定的要求在投入硬幣大于規(guī)定值時(shí)送出飲料并找零。- 5 -設(shè)計(jì)方案本文所設(shè)計(jì)的簡易自動(dòng)售貨機(jī)可銷售礦泉水,假設(shè)每瓶1.5 元
17、。設(shè)兩個(gè)投幣孔,分別接收 1 元和 5 角兩種硬幣, 兩個(gè)輸出口, 分別輸出購買的商品和找零。 假設(shè)每次只能投入一枚 1 元或 5 角硬幣,投入 1 元 5 角硬幣后機(jī)器自動(dòng)給出一瓶礦泉水; 投入2 元硬幣后,在給出一瓶礦泉水的同時(shí)找回一枚 5 角的硬幣。另外設(shè)置一復(fù)位按鈕,當(dāng)復(fù)位按鈕按下時(shí),自動(dòng)售貨機(jī)回到初始狀態(tài)。開發(fā)軟件選用功能強(qiáng)大的 Altera 公司的最新可編程邏輯器件開發(fā)工具 Quartus II 8.0 ,實(shí)現(xiàn)芯片選用 Altera 公司 FLEX10K系列的 EPF10K10LC84-;4首先在計(jì)算機(jī)上完成程序設(shè)計(jì)、 編譯及時(shí)序仿真, 然后將經(jīng)過驗(yàn)證的設(shè)計(jì)文件下載到選擇的可編程邏
18、輯器件中,并在電子設(shè)計(jì)自動(dòng)化實(shí)驗(yàn)系統(tǒng)中進(jìn)行硬件模擬和測試。狀態(tài)機(jī) VHDL程序設(shè)計(jì)有限狀態(tài)機(jī) FSM( Finite State Machine )及其設(shè)計(jì)技術(shù)是實(shí)用數(shù)字系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)高效率、高可靠邏輯控制的重要途徑。 傳統(tǒng)的狀態(tài)機(jī)設(shè)計(jì)方法需進(jìn)行繁瑣的狀態(tài)分配、繪制狀態(tài)表、簡化次態(tài)方程等,而利用 VHDL可以避免這些煩瑣的過程,直接利用狀態(tài)轉(zhuǎn)換圖進(jìn)行狀態(tài)機(jī)的描述。此外,與 VHDL的其他描述方式相比,狀態(tài)機(jī)的VHDL表述豐富多樣,程序?qū)哟畏置鳎Y(jié)構(gòu)清晰,易讀易懂;在排錯(cuò)、修改和模塊移植方面也有其獨(dú)到的特點(diǎn)。狀態(tài)機(jī)有摩爾( Moore)型和米立( Mealy)型兩種。 Moore 型狀態(tài)機(jī)的輸出
19、信號(hào)只與當(dāng)前狀態(tài)有關(guān); Mealy 型狀態(tài)機(jī)的輸出信號(hào)不僅與當(dāng)前狀態(tài)有關(guān),還與輸入信號(hào)有關(guān)。結(jié)合本文設(shè)計(jì), 由于輸出僅與狀態(tài)有關(guān), 選用了 Moore 型狀態(tài)機(jī)設(shè)計(jì)自動(dòng)售貨機(jī)控制模塊,狀態(tài)轉(zhuǎn)換圖如圖 1 所示。圖 1 自動(dòng)售貨機(jī)狀態(tài)轉(zhuǎn)換圖1)狀態(tài)定義: S0 表示初態(tài), S1 表示投入 5 角硬幣, S2 表示投入 1 元硬幣, S3 表示投入 1 元 5 角硬幣, S4 表示投入 2 元硬幣。2)輸入信號(hào):取投幣信號(hào)為輸入邏輯變量,用兩位的矢量 state_inputs 表示。 state_inputs (0)表示投入 1 元硬幣, state_inputs ( 1)表示投入 5 角硬幣。輸
20、入信號(hào)為 1 表示投入硬幣,輸入信號(hào)為 0 表示未投入硬幣。3)輸出信號(hào):給出礦泉水和找零為兩個(gè)輸出變量,用兩位的矢量 comb_outputs 表示。 comb_outputs( 0)表示輸出貨物, comb_outputs( 1)表示找 5 角零錢。輸出信號(hào)為 1 表示輸出貨物或找零,輸出信號(hào)為 0 表示不輸出貨物或不找零。根據(jù)圖 1 所示的狀態(tài)轉(zhuǎn)換圖,用 VHDL中的 CASE_WHEN結(jié)構(gòu)和 IF_THEN_ELSE語句實(shí)現(xiàn)控制功能,源程序如下:- 6 -LIBRARY IEEE; - 庫和程序包的使用說明USE IEEE.STD_LOGIC_1164.ALL;ENTITY sellm
21、achine IS - 實(shí)體定義PORT(clk , reset : IN std_logic;state_inputs:IN std_logic_vector( 0 TO 1 );comb_outputs:OUT std_logic_vector(0 TO 1 ) ;END sellmachine;ARCHITECTURE state OF sellmachine IS - 結(jié)構(gòu)體TYPE fsm_st IS ( S0,S1, S2,S3,S4) ; -狀態(tài)枚舉類型定義SIGNAL current_state , next_state:fsm_st; -狀態(tài)信號(hào)的定義BEGINreg:PRO
22、CESS(reset ,clk ) -時(shí)序進(jìn)程BEGINIF reset= 1 THEN current_state =S0; - 異步復(fù)位ELSIF rising_edge (clk ) THENcurrent_state =next_state; -狀態(tài)轉(zhuǎn)換END IF;END PROCESS;corn:PROCESS( current_state,state_inputs) - 組合進(jìn)程BEGINCASE current_state ISWHEN S0=comb_outputs =“00”;- 現(xiàn)態(tài) S0IF state_inputs =“00” THEN next_state =S0;
23、 - 輸入不同,次態(tài)不同- 7 -ELSIF state_inputs=“01” THEN next_state =S1;ELSIF state_inputs=“10” T HEN next_state =S2;END IF;WHEN S1=comb_outputs =“00”; - 現(xiàn)態(tài) S1IF state_inputs =“00” THEN next_state =S1; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next_state =S2;ELSIF state_inputs=“10” THEN next_state =S3;END IF;WHEN
24、 S2=comb_outputs =“00”; - 現(xiàn)態(tài) S2IF state_inputs =“00” THEN next_state =S2; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next_state =S3;ELSIF state_inputs=“10” THEN next_state =S4;END IF;WHEN S3=comb_outputs =“10”; - 現(xiàn)態(tài) S3IF state_inputs =“00” THEN next_state =S0; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next
25、_state =S1;ELSIF state_inputs=“10” THEN next_state =S2;END IF;WHEN S4=comb_outputs =“11”; - 現(xiàn)態(tài) S4IF state_inputs =“00” THEN next_state =S0; -輸入不同,次態(tài)不同ELSIF state_inputs=“01” THEN next_state =S1;ELSIF state_inputs=“10” THEN next_state =S2;END IF;- 8 -END CASE;END PROCESS;END state;編譯、仿真及FPGA實(shí)現(xiàn)在 Alter
26、a 公司的可編程邏輯器件集成開發(fā)平臺(tái) Quartus II 8.0 下完成程序的編輯、編譯并進(jìn)行時(shí)序仿真。1)編譯:編譯是 EDA設(shè)計(jì)中的核心環(huán)節(jié)。 軟件將對設(shè)計(jì)輸入文件進(jìn)行邏輯化簡、綜合和優(yōu)化, 適當(dāng)?shù)赜靡黄蚨嗥骷M(jìn)行適配,最后產(chǎn)生編程用的編程文件。主要包括設(shè)計(jì)編譯和檢查、邏輯優(yōu)化和綜合、適配和分割、布局和布線、生成編程數(shù)據(jù)文件等過程。自動(dòng)售貨機(jī)控制模塊 VHDL文件編譯報(bào)告如圖 2 所示。圖 2 編譯報(bào)告報(bào)告中給出了進(jìn)行編譯的時(shí)間、 采用的開發(fā)軟件的版本、 頂層設(shè)計(jì)實(shí)體名、 選用器件的系列和型號(hào)、時(shí)序分析情況、占用資源情況及引腳使用情況等信息。2)時(shí)序仿真:編譯后對系統(tǒng)和各模塊進(jìn)行時(shí)序
27、仿真,分析其時(shí)序關(guān)系,估計(jì)設(shè)計(jì)的性能及檢查和消除競爭冒險(xiǎn)是非常有必要的。仿真前,先利用波形編輯器建立波形文件,仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察到各個(gè)節(jié)點(diǎn)的信號(hào)變化。若發(fā)現(xiàn)錯(cuò)誤, 則返回設(shè)計(jì)輸入中修改設(shè)計(jì)邏輯。自動(dòng)售貨機(jī)控制模塊仿真波形如圖 3 所示。圖 3 時(shí)序仿真波形3) FPGA實(shí)現(xiàn):將編譯階段生成的編程數(shù)據(jù)文件通過 Quartus II 下載到芯片EPF10K10LC84-4中,并在電子設(shè)計(jì)自動(dòng)化實(shí)驗(yàn)系統(tǒng)中進(jìn)行測試得到了正確的結(jié)果。- 9 -基于 EDA的自動(dòng)售貨機(jī)的控制系統(tǒng)1 EDA 技術(shù)簡介EDA( ElectronicDesign Automation ),即
28、電子設(shè)計(jì)自動(dòng)化,是指利用計(jì)算機(jī)完成電子系統(tǒng)的設(shè)計(jì)。 EDA技術(shù)是以計(jì)算機(jī)和微電子技術(shù)為先導(dǎo)的,匯集了計(jì)算機(jī)圖形學(xué)、拓?fù)鋵W(xué)、邏輯學(xué)、微電子工藝與結(jié)構(gòu)學(xué)和計(jì)算數(shù)學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科最新成果的先進(jìn)技術(shù)。 EDA技術(shù)以計(jì)算機(jī)為工具,代替人完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設(shè)計(jì)仿真等工作。 設(shè)計(jì)人員只需要完成對系統(tǒng)功能的描述, 就可以由計(jì)算機(jī)軟件進(jìn)行處理,得到設(shè)計(jì)結(jié)果, 而且修改設(shè)計(jì)如同修改軟件一樣方便, 可以極大地提高設(shè)計(jì)效率 1 。1.1 EDA 技術(shù)的發(fā)展概況從 20 世紀(jì) 60 年代中期開始, 人們就不斷開發(fā)出各種計(jì)算機(jī)輔助設(shè)計(jì)工具來幫助設(shè)計(jì)人員進(jìn)行電子系統(tǒng)的設(shè)計(jì)。 電路理論和半導(dǎo)體工藝水平的
29、提高, 對 EDA技術(shù)的發(fā)展起到了巨大的作用,使 EDA作用范圍從 PCB板設(shè)計(jì)延伸到電子線路和集成電路設(shè)計(jì),直至整個(gè)系統(tǒng)的設(shè)計(jì),也使 IC 芯片系統(tǒng)應(yīng)用、電路制作和整個(gè)電子生產(chǎn)過程都集成在一個(gè)環(huán)境之中。 根據(jù)電子設(shè)計(jì)技術(shù)的發(fā)展特征, EDA技術(shù)發(fā)展大致分為三個(gè)階段 2 。1.2 EDA 技術(shù)的基本特征EDA技術(shù)代表了當(dāng)今電子設(shè)計(jì)技術(shù)的最新發(fā)展方向,它的基本特征是:設(shè)計(jì)人員按照“自頂向下”的設(shè)計(jì)方法,對整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì)和功能劃分,系統(tǒng)的關(guān)鍵電- 10 -路用一片或幾片專用集成電路(ASIC)實(shí)現(xiàn),然后采用硬件描述語言(HDL)完成系統(tǒng)行為級設(shè)計(jì),最后通過綜合器和適配器生成最終的目標(biāo)器件3
30、。這樣的設(shè)計(jì)方法被稱為高層次的電子設(shè)計(jì)方法。下面介紹與EDA基本特征有關(guān)的幾個(gè)概念。1.2.1“自頂向下”的設(shè)計(jì)方法10 年前,電子設(shè)計(jì)的基本思路還是選擇標(biāo)準(zhǔn)集成電路“自底向上” (Bottom-Up)地構(gòu) 造出一個(gè)新的系統(tǒng),這樣的設(shè)計(jì)方法就如同一磚一瓦地建造金字塔,不僅效率低、成本高而且還容易出錯(cuò)。1.2.2 高層次設(shè)計(jì)高層次設(shè)計(jì)提供了一種“自頂向下” (Top-Down)的全新的設(shè)計(jì)方法,這種設(shè)計(jì)方法首先從系統(tǒng)設(shè)計(jì)入手, 在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì)。 在方框圖一級進(jìn)行仿真、糾錯(cuò),并用硬件描述語言對高層次的系統(tǒng)行為進(jìn)行描述, 在系統(tǒng)一級進(jìn)行驗(yàn)證。然后用綜合優(yōu)化工具生成具體門電路的網(wǎng)
31、表, 其對應(yīng)的物理實(shí)現(xiàn)級可以是印刷電路板或?qū)S眉呻娐贰?由于設(shè)計(jì)的主要仿真和調(diào)試過程是在高層次上完成的, 這不僅有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯(cuò)誤, 避免設(shè)計(jì)工作的浪費(fèi), 而且也減少了邏輯功能仿真的工作量,提高了設(shè)計(jì)的一次成功率。2 工作原理2. 1 任務(wù)概述自動(dòng)售貨是 20 世紀(jì) 70 年代在日本、 歐美發(fā)展起來的一種全新的消費(fèi)方式, 自動(dòng)售貨機(jī)又被稱為 24 小時(shí)營業(yè)的微型自助超市,它的售貨領(lǐng)域非常廣泛,是發(fā)達(dá)國家商品零售的一種主要方式。 自動(dòng)售貨機(jī)作為一種先進(jìn)的消費(fèi)方式, 已經(jīng)成為城市現(xiàn)代文明發(fā)達(dá)程度的重要標(biāo)志,其新穎、時(shí)尚的購物方式, 24 小時(shí)營業(yè)的特點(diǎn)給人們生活帶來了便利, 美化了城
32、市環(huán)境, 受到消費(fèi)者的歡迎。 但是在我國自動(dòng)售貨機(jī)的普及還不及發(fā)達(dá)國家, 主要原因是我國 EDA技術(shù)的應(yīng)用水平長期落后于發(fā)達(dá)國家。 本設(shè)計(jì)要實(shí)現(xiàn)自動(dòng)售貨機(jī)的基本功能,可以實(shí)現(xiàn)投幣處理、計(jì)算投幣總額、輸出商品、輸出找零的控制。- 11 -2.2 系統(tǒng)設(shè)計(jì)設(shè)計(jì)一臺(tái)自動(dòng)售貨機(jī) ,要求具備貨物信息存儲(chǔ) 、進(jìn)程控制、硬幣處理、余額計(jì)算、自動(dòng)找零、狀態(tài)顯示等功能。該系統(tǒng)能完成貨物信息存儲(chǔ),進(jìn)程控制,硬幣處理,余額計(jì)算,顯示等功能。該系統(tǒng)可以管理四種貨物 ,每種的數(shù)量和單價(jià)在初始化時(shí)輸入,在存儲(chǔ)器中存儲(chǔ)。用戶可以用硬幣進(jìn)行購物,按鍵進(jìn)行選擇。系統(tǒng)根據(jù)用戶輸入的貨幣,判斷錢幣是否夠,錢幣足夠則根據(jù)顧客的要求自
33、動(dòng)售貨,錢幣不足則給出提示并退出。系統(tǒng)自動(dòng)的計(jì)算出應(yīng)找錢幣余額、庫存數(shù)量并顯示。2.3 系統(tǒng)組成方框圖系統(tǒng)按功能分為:分頻模塊;控制模塊;譯碼模塊;譯碼顯示模塊。系統(tǒng)組成方框圖2.4 工作過程首先由售貨員把自動(dòng)售貨機(jī)里的每種商品的數(shù)量和單價(jià)通過set 鍵和 sel 鍵置入到 RAM里。然后顧客通過sel 鍵對所需要購買的商品進(jìn)行選擇,選定以后通過 get 鍵進(jìn)行購買,再按 finish 鍵取回找?guī)?,同時(shí)結(jié)束此次交易。按 get 鍵時(shí),如果投的錢數(shù)等于或則大于所購買的商品單價(jià),則自動(dòng)售貨機(jī)會(huì)給出所購買的商品;如果投的錢數(shù)不夠,自動(dòng)售貨機(jī)不做響應(yīng),繼續(xù)等待顧客的下次操作。顧客的下次操作可以繼續(xù)投幣
34、,直到錢數(shù)到達(dá)所要的商品單價(jià)進(jìn)行購買;也可以直接按 finish 鍵退幣。- 12 -3 設(shè)計(jì)方案3.1 自動(dòng)售貨機(jī)VHDL程序- 文件名: AUTO.vhd。- 功能:硬幣處理,余額計(jì)算,輸出商品。- 說明:顯示的錢數(shù) coin 的 以 5 角為單位。library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity AUTO isport ( clk:in std_logic;-系統(tǒng)時(shí)鐘set,get,sel,finish: in std_l
35、ogic;-設(shè)定、買、選擇、完成信號(hào)coin0,coin1: in std_logic;-5角硬幣、 1 元硬幣price,quantity :in std_logic_vector(3 downto 0); -價(jià)格、數(shù)量數(shù)據(jù)item0 , act:out std_logic_vector(3 downto 0);-顯示、開關(guān)信號(hào)y0,y1 :out std_logic_vector(6 downto 0); -錢數(shù)、商品數(shù)量顯示數(shù)據(jù)act10,act5 :out std_logic);-1元硬幣、 5 角硬幣end AUTO;architecture behav of AUTO istype
36、 ram_type is array(3 downto 0)of std_logic_vector(7 downto 0);signal ram :ram_type;-定義 RAMsignal item: std_logic_vector(1 downto 0);-商品種類signal coin: std_logic_vector(3 downto 0);-幣數(shù)計(jì)數(shù)器signal pri,qua:std_logic_vector(3 downto 0);-商品單價(jià)、數(shù)量signal clk1: std_logic;-控制系統(tǒng)的時(shí)鐘信號(hào)begincom:process(set,clk1)vari
37、able quan:std_logic_vector(3 downto 0);beginifset=1thenram(conv_integer(item)=price&quantity;act=0000;- 13 -把商品的單價(jià)、數(shù)量置入到RAMelsif clk1event and clk1=1 then act5=0; act10=0;if coin0=1 thenif coin1001then coin=coin+1; -投入 5 角硬幣, coin 自加 1else coin=0000;end if;elsif coin1=1 thenif coin1001then coin=coin
38、+2;-投入 1 元硬幣, coin 自加 2else coin=0000;end if;elsif sel=1 then item0000 and coin=pri then coin=coin-pri;quan:=quan-1;ram(conv_integer(item)=pri & quan;ifitem=00 then act=1000;-購買時(shí),自動(dòng)售貨機(jī)對4 種商品的操作elsif item=01 then act=0100;elsif item=10 then act=0010;elsif item=11 then act“0001” then act10=1;coin0000
39、then act5=1; coin=coin-1;else act5=0; act10=0;end if;elsif get=0 then act=0000;for i in 4 to 7 looppri(i-4)=ram (conv_integer(item)(i);-商品單價(jià)的讀取end loop;for i in 0 to 3 loopquan(i):=ram(conv_integer(item)(i);-商品數(shù)量的讀取- 14 -end loop;end if;end if;qua=quan;end process com;m32:process(clk)-此進(jìn)程完成對 32Mhz的脈
40、沖分頻variable q: std_logic_vector( 24 downto 0);beginif clkevent and clk=1 then q:=q+1;end if;if q=111111111111111111111111 then clk1=1;else clk1item0item0item0item0y0y0y0y0y0y0y0y0y0y0y0y1y1y1y1y1y1y1y1y1y1y1=1111111;end case;end process;end behav;3.2 各功能部件系統(tǒng)仿真圖通過軟件仿真,得出如下仿真圖:- 16 -系統(tǒng)仿真全圖- 17 -系統(tǒng)仿真圖
41、-商品種類選擇部分系統(tǒng)仿真圖 -投幣部分系統(tǒng)仿真圖 -購買、找?guī)沤Y(jié)束交易部- 18 -結(jié)論這次設(shè)計(jì)完成了。再設(shè)計(jì)中遇到了種種問題,在自己查閱資料及老師的幫助下一一攻克了。在即將開設(shè) EDA專業(yè)課程時(shí), 為了能夠更加熟練的掌握本課程,選擇了這個(gè)學(xué)年設(shè)計(jì)。在設(shè)計(jì)過程中,通過自己的動(dòng)手及查閱了相關(guān)資料,初步了解了VHDL語言的編程, 并熟悉了相關(guān)軟件的使用。 本次學(xué)年設(shè)計(jì)我學(xué)到了不少新的東西, 也發(fā)現(xiàn)了大量的問題, 有些在設(shè)計(jì)過程中已經(jīng)解決, 有些還有待今后慢慢學(xué)習(xí)。 學(xué)習(xí)中會(huì)有更多的問題,有更多的難點(diǎn),但也會(huì)有更多的收獲。 這次設(shè)計(jì)不僅提高了動(dòng)手能力,更培養(yǎng)了自學(xué) ,獨(dú)立思考和處理問題的能力。 為以后的學(xué)習(xí)和工作提供了幫助。 由于我的水平有限, 學(xué)年設(shè)計(jì)還并不十分完善, 論文還有許多疏漏, 懇請各位老師批評指正。- 19 -參考文獻(xiàn)1 鄭燕 . 基于 VHDL語言與 Quartus 軟件的可編程邏輯器件應(yīng)用與開發(fā).2007.2 楊曉慧 . 基于 FPGA的 EDA/SOPC技術(shù)與 VHDL.2007.3 張霞 VHDL在現(xiàn)代 EDA中的應(yīng)用 2001.4 潘松、黃繼業(yè) EDA技術(shù)實(shí)用教程 20025 李志方 EDA技術(shù)簡介 .2001 - 20 -
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際貿(mào)易原理與蝕蔥碌務(wù)-第五至八章
- 5.奇妙的透鏡(精品)
- 促進(jìn)學(xué)生主動(dòng)學(xué)習(xí)
- 第四章內(nèi)科護(hù)理學(xué)肝性腦病ppt課件
- 數(shù)控機(jī)床液壓與氣壓回路分析
- 有余數(shù)除法的意義 (4)
- 授課者平羅城關(guān)回民小學(xué)馬亞玲
- 超硬材料表面鍍覆解析課件
- 擠壓綜合征講
- 自由放任的美國課件-人民版
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ)單元5組建無線局域網(wǎng)課件
- 聲音的特性(上課用)(教育精品)
- 項(xiàng)目三-物流業(yè)務(wù)操作管理---客服、驗(yàn)貨、庫管、調(diào)度組-物流綜合實(shí)訓(xùn)課件
- 和倍差倍關(guān)系的分?jǐn)?shù)應(yīng)用題6(教育精品)
- (精品)XXX店開業(yè)慶典