《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于VHDL+FPGA的自動售貨機控制模塊的設計與實現
基于VHDL+FPGA的自動售貨機控制模塊的設計與實現
摘要: EDA技術是以計算機為工具完成數字系統的邏輯綜合、布局布線和設計仿真等工作。電路設計者只需要完成對系統功能的描述,就可以由計算機軟件進行系統處理,最后得到設計結果,并且修改設計方案如同修改軟件一樣方便。
Abstract:
Key words :

  EDA技術是以計算機為工具完成數字系統的邏輯綜合、布局布線和設計仿真等工作。電路設計者只需要完成對系統功能的描述,就可以由計算機軟件進行系統處理,最后得到設計結果,并且修改設計方案如同修改軟件一樣方便。利用EDA工具可以極大地提高設計效率。

  利用硬件描述語言編程來表示邏輯器件及系統硬件的功能和行為,是EDA設計方法的一個重要特征。VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語言)是硬件描述語言的一種,對系統硬件的描述功能很強而語法又比較簡單。VHDL具有強大的行為描述能力,設計者可以不懂硬件的結構,只需集中精力進行電子系統的設計和性能優化;具有方便的邏輯仿真與調試功能,在設計早期就能查驗系統的功能,方便地比較各種方案的可行性及其優劣。目前,VHDL作為IEEE的工業標準硬件描述語言,得到眾多EDA公司的支持,在電子工程領域已經成為事實上通用硬件描述語言。

  本文采用VHDL作為工具描述了自動售貨控制模塊的邏輯控制電路,并在FPGA上實現。該自動售貨機能夠根據投入硬幣額度,按預定的要求在投入硬幣大于規定值時送出飲料并找零。

  設計方案

  本文所設計的簡易自動售貨機可銷售礦泉水,假設每瓶1.5元。設兩個投幣孔,分別接收1元和5角兩種硬幣,兩個輸出口,分別輸出購買的商品和找零。假設每次只能投入一枚1元或5角硬幣,投入1元5角硬幣后機器自動給出一瓶礦泉水;投入2元硬幣后,在給出一瓶礦泉水的同時找回一枚5角的硬幣。另外設置一復位按鈕,當復位按鈕按下時,自動售貨機回到初始狀態。

  開發軟件選用功能強大的Altera公司的最新可編程邏輯器件開發工具Quartus II 8.0,實現芯片選用Altera公司FLEX10K系列的EPF10K10LC84-4;首先在計算機上完成程序設計、編譯及時序仿真,然后將經過驗證的設計文件下載到選擇的可編程邏輯器件中,并在電子設計自動化實驗系統中進行硬件模擬和測試。

  狀態機VHDL程序設計

  有限狀態機FSM(Finite State Machine)及其設計技術是實用數字系統設計中實現高效率、高可靠邏輯控制的重要途徑。傳統的狀態機設計方法需進行繁瑣的狀態分配、繪制狀態表、簡化次態方程等,而利用VHDL可以避免這些煩瑣的過程,直接利用狀態轉換圖進行狀態機的描述。此外,與VHDL的其他描述方式相比,狀態機的VHDL表述豐富多樣,程序層次分明,結構清晰,易讀易懂;在排錯、修改和模塊移植方面也有其獨到的特點。

  狀態機有摩爾(Moore)型和米立(Mealy)型兩種。Moore型狀態機的輸出信號只與當前狀態有關;Mealy型狀態機的輸出信號不僅與當前狀態有關,還與輸入信號有關。結合本文設計,由于輸出僅與狀態有關,選用了Moore型狀態機設計自動售貨機控制模塊,狀態轉換圖如圖1所示。

  

  圖1 自動售貨機狀態轉換圖

  1)狀態定義:S0表示初態,S1表示投入5角硬幣,S2表示投入1元硬幣,S3表示投入1元5角硬幣,S4表示投入2元硬幣。

  2)輸入信號:取投幣信號為輸入邏輯變量,用兩位的矢量state_inputs表示。state_inputs(0)表示投入1元硬幣,state_inputs(1)表示投入5角硬幣。輸入信號為1表示投入硬幣,輸入信號為0表示未投入硬幣。

  3)輸出信號:給出礦泉水和找零為兩個輸出變量,用兩位的矢量comb_outputs表示。comb_outputs(0)表示輸出貨物,comb_outputs(1)表示找5角零錢。輸出信號為1表示輸出貨物或找零,輸出信號為0表示不輸出貨物或不找零。

  EDA技術是以計算機為工具完成數字系統的邏輯綜合、布局布線和設計仿真等工作。電路設計者只需要完成對系統功能的描述,就可以由計算機軟件進行系統處理,最后得到設計結果,并且修改設計方案如同修改軟件一樣方便。利用EDA工具可以極大地提高設計效率。

  利用硬件描述語言編程來表示邏輯器件及系統硬件的功能和行為,是EDA設計方法的一個重要特征。VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語言)是硬件描述語言的一種,對系統硬件的描述功能很強而語法又比較簡單。VHDL具有強大的行為描述能力,設計者可以不懂硬件的結構,只需集中精力進行電子系統的設計和性能優化;具有方便的邏輯仿真與調試功能,在設計早期就能查驗系統的功能,方便地比較各種方案的可行性及其優劣。目前,VHDL作為IEEE的工業標準硬件描述語言,得到眾多EDA公司的支持,在電子工程領域已經成為事實上通用硬件描述語言。

  本文采用VHDL作為工具描述了自動售貨機控制模塊的邏輯控制電路,并在FPGA上實現。該自動售貨機能夠根據投入硬幣額度,按預定的要求在投入硬幣大于規定值時送出飲料并找零。

  設計方案

  本文所設計的簡易自動售貨機可銷售礦泉水,假設每瓶1.5元。設兩個投幣孔,分別接收1元和5角兩種硬幣,兩個輸出口,分別輸出購買的商品和找零。假設每次只能投入一枚1元或5角硬幣,投入1元5角硬幣后機器自動給出一瓶礦泉水;投入2元硬幣后,在給出一瓶礦泉水的同時找回一枚5角的硬幣。另外設置一復位按鈕,當復位按鈕按下時,自動售貨機回到初始狀態。

  開發軟件選用功能強大的Altera公司的最新可編程邏輯器件開發工具Quartus II 8.0,實現芯片選用Altera公司FLEX10K系列的EPF10K10LC84-4;首先在計算機上完成程序設計、編譯及時序仿真,然后將經過驗證的設計文件下載到選擇的可編程邏輯器件中,并在電子設計自動化實驗系統中進行硬件模擬和測試。

  狀態機VHDL程序設計

  有限狀態機FSM(Finite State Machine)及其設計技術是實用數字系統設計中實現高效率、高可靠邏輯控制的重要途徑。傳統的狀態機設計方法需進行繁瑣的狀態分配、繪制狀態表、簡化次態方程等,而利用VHDL可以避免這些煩瑣的過程,直接利用狀態轉換圖進行狀態機的描述。此外,與VHDL的其他描述方式相比,狀態機的VHDL表述豐富多樣,程序層次分明,結構清晰,易讀易懂;在排錯、修改和模塊移植方面也有其獨到的特點。

  狀態機有摩爾(Moore)型和米立(Mealy)型兩種。Moore型狀態機的輸出信號只與當前狀態有關;Mealy型狀態機的輸出信號不僅與當前狀態有關,還與輸入信號有關。結合本文設計,由于輸出僅與狀態有關,選用了Moore型狀態機設計自動售貨機控制模塊,狀態轉換圖如圖1所示。

  

  圖1 自動售貨機狀態轉換圖

  1)狀態定義:S0表示初態,S1表示投入5角硬幣,S2表示投入1元硬幣,S3表示投入1元5角硬幣,S4表示投入2元硬幣。

  2)輸入信號:取投幣信號為輸入邏輯變量,用兩位的矢量state_inputs表示。state_inputs(0)表示投入1元硬幣,state_inputs(1)表示投入5角硬幣。輸入信號為1表示投入硬幣,輸入信號為0表示未投入硬幣。

  3)輸出信號:給出礦泉水和找零為兩個輸出變量,用兩位的矢量comb_outputs表示。comb_outputs(0)表示輸出貨物,comb_outputs(1)表示找5角零錢。輸出信號為1表示輸出貨物或找零,輸出信號為0表示不輸出貨物或不找零。

  根據圖1所示的狀態轉換圖,用VHDL中的CASE_WHEN結構和IF_THEN_ELSE語句實現控制功能,源程序如下:

  LIBRARY IEEE; --庫和程序包的使用說明

  USE IEEE.STD_LOGIC_1164.ALL;

  ENTITY sellmachine IS --實體定義

  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 --結構體

  TYPE fsm_st IS (S0,S1,S2,S3,S4); --狀態枚舉類型定義

  SIGNAL current_state,next_state:fsm_st; --狀態信號的定義

  BEGIN

  reg:PROCESS(reset,clk) --時序進程

  BEGIN

  IF reset=‘1’ THEN current_state《=S0; --異步復位

  ELSIF rising_edge(clk) THEN

  current_state《=next_state; --狀態轉換

  END IF;

  END PROCESS;

  corn:PROCESS(current_state,state_inputs) --組合進程

  BEGIN

  CASE current_state IS

  WHEN S0=》comb_outputs《=“00”; --現態S0

  IF state_inputs《=“00” THEN next_state《=S0; --輸入不同,次態不同

  ELSIF state_inputs《=“01” THEN next_state《=S1;

  ELSIF state_inputs《=“10” THEN next_state《=S2;

  END IF;

  WHEN S1=》comb_outputs《=“00”; --現態S1

  IF state_inputs《=“00” THEN next_state《=S1; --輸入不同,次態不同

  ELSIF state_inputs《=“01” THEN next_state《=S2;

  ELSIF state_inputs《=“10” THEN next_state《=S3;

  END IF;

  WHEN S2=》comb_outputs《=“00”; --現態S2

  IF state_inputs《=“00” THEN next_state《=S2; --輸入不同,次態不同

  ELSIF state_inputs《=“01” THEN next_state《=S3;

  ELSIF state_inputs《=“10” THEN next_state《=S4;

  END IF;

  WHEN S3=》comb_outputs《=“10”; --現態S3

  IF state_inputs《=“00” THEN next_state《=S0; --輸入不同,次態不同

  ELSIF state_inputs《=“01” THEN next_state《=S1;

  ELSIF state_inputs《=“10” THEN next_state《=S2;

  END IF;

  WHEN S4=》comb_outputs《=“11”; --現態S4

  IF state_inputs《=“00” THEN next_state《=S0; --輸入不同,次態不同

  ELSIF state_inputs《=“01” THEN next_state《=S1;

  ELSIF state_inputs《=“10” THEN next_state《=S2;

  END IF;

  END CASE;

  END PROCESS;

  END state;

  編譯、仿真及FPGA實現

  在Altera公司的可編程邏輯器件集成開發平臺Quartus II 8.0下完成程序的編輯、編譯并進行時序仿真。

  1)編譯:編譯是EDA設計中的核心環節。軟件將對設計輸入文件進行邏輯化簡、綜合和優化, 適當地用一片或多片器件進行適配,最后產生編程用的編程文件。主要包括設計編譯和檢查、邏輯優化和綜合、適配和分割、布局和布線、生成編程數據文件等過程。自動售貨機控制模塊VHDL文件編譯報告如圖2所示。

  

  圖2 編譯報告

  報告中給出了進行編譯的時間、采用的開發軟件的版本、頂層設計實體名、選用器件的系列和型號、時序分析情況、占用資源情況及引腳使用情況等信息。

  2)時序仿真:編譯后對系統和各模塊進行時序仿真,分析其時序關系,估計設計的性能及檢查和消除競爭冒險是非常有必要的。仿真前,先利用波形編輯器建立波形文件,仿真結果將會生成報告文件和輸出信號波形,從中便可以觀察到各個節點的信號變化。若發現錯誤,則返回設計輸入中修改設計邏輯。自動售貨機控制模塊仿真波形如圖3所示。

  

  圖3 時序仿真波形

  3) FPGA實現:將編譯階段生成的編程數據文件通過Quartus II 下載到芯片EPF10K10LC84-4中,并在電子設計自動化實驗系統中進行測試得到了正確的結果。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲欧美日韩在线播放| 亚洲视频在线看| 午夜精品久久久久久99热| 亚洲高清自拍| 欧美高清hd18日本| 日韩一级免费观看| 男女激情视频一区| 亚洲丶国产丶欧美一区二区三区| 欧美一级艳片视频免费观看| 在线成人免费观看| 欧美好骚综合网| 亚洲一区二区三区精品视频| 一区二区三区精品国产| 午夜精品久久久久99热蜜桃导演| 正在播放日韩| 亚洲国产日韩欧美一区二区三区| 欧美一区午夜精品| 免费成人毛片| 国产嫩草一区二区三区在线观看| 免费欧美日韩| 黑人巨大精品欧美一区二区| 亚洲精品一区二区在线| 欧美mv日韩mv亚洲| 韩国女主播一区二区三区| 夜夜精品视频一区二区| 亚洲国产91色在线| 欧美日韩亚洲激情| 欧美日韩三级在线| 国内精品久久久久伊人av| 国产精品久久久久久久久果冻传媒| 亚洲欧洲日韩女同| 国产视频一区在线观看| 午夜在线视频一区二区区别| 欧美激情一区二区三区| 国产一区二区主播在线| 狠狠色狠狠色综合人人| 亚洲最新在线视频| 久久福利资源站| 国产亚洲一区二区三区在线播放| 欧美成人中文字幕| 狠狠干狠狠久久| 久久久av毛片精品| 国产精品大片wwwwww| 国产欧美日韩另类一区| 国产欧美精品日韩精品| 亚洲国产三级在线| 亚洲大胆女人| 欧美成人免费全部| 欧美精品乱人伦久久久久久| 精久久久久久久久久久| 在线日韩日本国产亚洲| 久久婷婷成人综合色| 激情小说亚洲一区| 99精品国产在热久久下载| 中国成人亚色综合网站| 欧美绝品在线观看成人午夜影视| 国产精品自拍在线| 欧美一区二区三区免费视频| 一个人看的www久久| 欧美日韩成人一区二区三区| 国产午夜精品久久| 亚洲三级视频在线观看| 国产日产亚洲精品| 欧美日韩精品中文字幕| 国产精品爽爽爽| 一二三区精品福利视频| 亚洲精品一区中文| 欧美一区2区三区4区公司二百| 亚洲免费伊人电影在线观看av| 国产亚洲在线| 国产女人水真多18毛片18精品视频| 亚洲夫妻自拍| 欧美性猛片xxxx免费看久爱| 久久精品视频在线播放| 欧美岛国在线观看| 9l视频自拍蝌蚪9l视频成人| 欧美激情亚洲精品| 一区三区视频| 99精品视频免费| 亚洲另类一区二区| 久久美女艺术照精彩视频福利播放| 一区二区在线免费观看| 国产精品入口麻豆原神| 国产精品h在线观看| 欧美freesex8一10精品| 一区二区毛片| 欧美激情视频给我| 国产一区二区三区在线观看精品| 亚洲大黄网站| 亚洲精品日韩一| 在线观看亚洲一区| 欧美一二区视频| 精品成人国产在线观看男人呻吟| 欧美精选一区| 亚洲国产成人不卡| 欧美日韩在线观看一区二区| 欧美日韩国产bt| 亚洲免费网址| 尤物99国产成人精品视频| 在线视频国内自拍亚洲视频| 亚洲欧美日韩一区二区三区在线观看| 玖玖玖免费嫩草在线影院一区| 久久精品免费观看| 久久精品视频在线看| 久久综合久久美利坚合众国| 国产一区二区三区免费不卡| 久久久久久久久一区二区| 一区二区自拍| 黄色成人免费网站| 国产精品欧美精品| 国产一区二区日韩精品欧美精品| 亚洲人成毛片在线播放女女| 国产一区二区高清| 国产精品一区在线观看你懂的| 国产精品v片在线观看不卡| 亚洲精品小视频在线观看| 欧美午夜免费电影| 欧美制服丝袜第一页| 欧美chengren| 国产亚洲视频在线| 极品日韩久久| 久久夜精品va视频免费观看| 国产目拍亚洲精品99久久精品| 亚洲精品中文字幕在线| 欧美在线视频在线播放完整版免费观看| 农夫在线精品视频免费观看| 国产精品免费视频xxxx| 欧美一区二区三区免费视| 久久嫩草精品久久久精品一| 亚洲人成亚洲人成在线观看图片| 欧美成人蜜桃| 欧美日韩在线视频一区二区| 国产精品理论片在线观看| 99精品视频网| 亚洲专区在线| 亚洲影音先锋| 欧美另类视频在线| 久久阴道视频| 激情久久久久久久久久久久久久久久| 欧美制服第一页| 欧美在线视频一区二区三区| 亚洲国产日韩欧美| 久久九九热免费视频| 国产精品永久免费| 99视频日韩| 99精品视频免费观看视频| 99精品国产福利在线观看免费| 久久九九国产| 在线观看日韩av先锋影音电影院| 国内精品视频666| 久久精品国产欧美亚洲人人爽| 国产一区二区三区视频在线观看| 亚洲精品一品区二品区三品区| 亚洲午夜久久久久久久久电影网| 99视频精品全部免费在线| 欧美日本一区二区高清播放视频| 欧美视频成人| 国产精品福利网站| 99re6热在线精品视频播放速度| 久久久久99精品国产片| 国产精品日韩在线播放| 久久亚洲春色中文字幕久久久| 欧美在线二区| 亚洲一区欧美激情| 免费亚洲电影在线观看| 亚洲欧洲日韩综合二区| 99视频精品全国免费| 亚洲网址在线| 国产精品久久久久久久久| 国产精品亚洲综合| 亚洲国产精品成人综合色在线婷婷| 欧美日韩国产在线播放网站| 欧美成人自拍| 午夜国产不卡在线观看视频| 老司机精品视频网站| 欧美激情中文字幕在线| 国产精品中文字幕在线观看| 国产精品稀缺呦系列在线| 久久激情一区| 欧美bbbxxxxx| 亚洲小说欧美另类婷婷| 国内成人精品视频| 国内精品久久久久影院 日本资源| 亚洲欧美综合v| 小辣椒精品导航| 欧美三级午夜理伦三级中视频| 亚洲欧美一区二区三区久久| 国产精品九色蝌蚪自拍| 国产欧美精品在线| 亚洲精品乱码久久久久久久久| 欧美人成免费网站| 亚洲日韩中文字幕在线播放| 欧美一区三区三区高中清蜜桃| 国产精品视频福利| 正在播放欧美视频| 狠狠色狠狠色综合日日小说| 黄色一区二区三区| 亚洲精品国产系列| 亚洲第一福利社区| 亚洲一区二区3| 一本久久综合亚洲鲁鲁五月天| 欧美午夜宅男影院在线观看| 国产亚洲成年网址在线观看| 免费毛片一区二区三区久久久| 久久蜜桃香蕉精品一区二区三区| 美女视频黄 久久| 欧美一区永久视频免费观看| 亚洲欧美日本视频在线观看| 免费看黄裸体一级大秀欧美| 一本色道精品久久一区二区三区| 亚洲欧美国产高清va在线播| 亚洲一区区二区| 久久精品国产精品亚洲精品| 国精品一区二区三区| 亚洲经典一区| 欧美日韩三级一区二区| 国产亚洲精品一区二区| 韩日精品中文字幕| 在线精品亚洲一区二区| 亚洲在线观看视频网站| 精品成人久久| 午夜在线成人av| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产在线播放一区二区三区| 在线 亚洲欧美在线综合一区| 欧美日韩福利| 欧美日本一区二区高清播放视频| 性欧美大战久久久久久久久| 欧美一区二区三区久久精品| 欧美精品久久久久久久免费观看| 亚洲精品国产精品乱码不99| 国产精品无码专区在线观看| 亚洲国产精品激情在线观看| 国产亚洲综合精品| 亚洲黄色av一区| 亚洲欧美日韩精品久久| 亚洲欧美成人一区二区三区| 久久久亚洲高清| 日韩一区二区免费看| 在线日韩日本国产亚洲| 美女国内精品自产拍在线播放| 欧美国产一区二区在线观看| 亚洲欧美中文日韩在线| 国产日韩欧美在线视频观看| 亚洲图色在线| 欧美高清视频在线播放| 你懂的国产精品| 亚洲美女精品一区| 亚洲裸体在线观看| 影音先锋欧美精品| 欧美色大人视频| 一区二区三区四区五区视频| 影音先锋亚洲一区| 欧美—级高清免费播放| 久久久最新网址| 国产深夜精品| 在线精品视频在线观看高清| 国产精品草莓在线免费观看| 亚洲成色777777女色窝| 午夜久久久久久久久久一区二区| 午夜国产欧美理论在线播放| 国内精品久久国产| 欧美影院午夜播放| 国产精品综合久久久| 欧美亚洲一区在线| 国产有码一区二区| 久久女同精品一区二区| 久久精品国产69国产精品亚洲| 亚洲一区三区视频在线观看| 亚洲国产高清一区| 国产一区二三区| 欧美国产日产韩国视频| 久久亚洲综合色| 国产乱理伦片在线观看夜一区| 久久深夜福利免费观看| 在线观看国产日韩| 国产精品久久久久77777| 一区二区三区四区五区精品视频| 99re66热这里只有精品3直播| 国产精品久久久久毛片软件| 一色屋精品视频在线观看网站| 欧美日韩亚洲高清一区二区| 中日韩美女免费视频网站在线观看| 91久久久久久久久| 亚洲高清在线视频| 免费一级欧美片在线观看| 国产中文一区二区| 亚洲国产欧美不卡在线观看| 亚洲激情在线播放| 国产日韩欧美在线视频观看| 国产精品一区二区久久久| 91久久久国产精品| 国产噜噜噜噜噜久久久久久久久| 欧美福利视频| 亚洲天堂免费观看| 激情文学一区| 狠色狠色综合久久| 在线视频精品一区| 久久精彩视频| 欧美日韩一区三区四区| 欧美日韩另类国产亚洲欧美一级| 欧美一区免费视频| 亚洲欧美在线一区| 久久一二三国产| 日韩亚洲欧美一区二区三区| 欧美精品成人一区二区在线观看| 欧美精品久久久久久久免费观看| 99综合电影在线视频| 久久天天躁狠狠躁夜夜av| 国产精品亚洲视频| 久久久97精品| 亚洲欧美日韩人成在线播放| 欧美精品亚洲一区二区在线播放| 国产欧美综合在线| 欧美日本一道本在线视频| 一区二区电影免费观看| 狠狠色丁香婷综合久久| 欧美成人精品三级在线观看| 亚洲一区三区在线观看| 黄色成人91| 国产视频欧美| 国产九色精品成人porny| 亚洲高清视频的网址| 麻豆久久久9性大片| 欧美成年人网| 136国产福利精品导航| 免费观看在线综合| 国产精品高潮视频|