




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河北科技大学课程设计报告学生姓名: 学号: 专业班级: 课程名称:EDA技术课程设计 学年学期:2013—2014学年第1学期扌旨导教师: 2013年12月
课程设计成绩评定表学生姓名学号成绩专业班级起止时间2013.11.25——2013.12.8设计题目自动售饮料机指导教师评语指导教师:年月日目录TOC\o"1-5"\h\z一、 课程设计目的 4\o"CurrentDocument"二、 课程设计原理 4三、 课程设计内容 5\o"CurrentDocument"四、 课程设计结果 9\o"CurrentDocument"五、 心得体会 10課程设计目的通过这次课程设计对自己以前学过的知识加以巩固,再次熟悉EDA设计软件QuartusII的使用方法,掌握EDA的设计流程,更加熟练进行综合、仿真、调试、分配管脚、下载等操作,并再次基础上学会如何设计一个工程,与实际生活结合起来,既锻炼自己的动手能力,又锻炼了自己的思维能力,为以后进行工程的实际问题的研究打下设计基础。二•课程设计原理该自动售饮料机设有一个投币孔,通过传感器来识别两种硬币,给出两个不同的信号。在此用half_dollar和one_dollar分别表示投入0.5元和1.0元硬币后电路接收到的两个信号;三个饮料选择按键choose01表示选择价格为1.5元的饮料,choose10表示选择价格为2.0元的饮料,choosell表示选择价格为2.5元的饮料;rest表示复位按键;有2个输出口分别为饮料出口dispense和找零出口outl;用s0表示初始状态,sl表示投入0.5元硬币时的状态,s2表示投入1.0元硬币时的状态,S3表示投入1.5元硬币时的状态,s4表示投入2.0元时的状态;clk表示时钟信号;机器最多接受的钱币为3.0元。当投入的钱币到达1.5元或高于1.5元时机器处于出售饮料的状态。当到达1.5元时如果选择购买1.5元的饮料(choose01测系统给出一个饮料,即dispense为高电平一次。如果投入的钱币到达2.0元并且选择购买1.5元的饮料则系统显示给出一个饮料并找出1枚0.5元的硬币,即dispense为高电平一次out1为高电平一次。如果选择购买2.0元的饮料(choose10),则系统显示给出一个2.0元的饮料,即饮料输出信号dispense为高电平一次。依次类推。1•程序设计⑶⑷VHDL(VeryHighSpeedHardwareDescriptionLanguage高速硬件描述语言)是硬件描述语言中应用最广泛的一种。是由美国国防部于1983年创建,由IEEE进一步发展并在1987年定为“IEEE1076/1987标准版本”由于VHDL支持硬件设计、综合、仿真和测试,在电子设计领域得到广泛的应用和普及。IEEE又于1993年重新对VHDL进行修订,形成了新的标准,即IEEESTD1067-1993。VHDL具有一系列的优点:①VHDL具有很强的硬件描述能力,能够从多个层次对数字系统进行建模,从高层次的行为描述到低层次的RTL描述以及门结构描述都能实现,尤其是系统级的描述能力是其他硬件描述语言无法比拟的。②良好的通用性,用VHDL设计的电路不受硬件电路元件的支配,与开发软件平台无关,具有很强的通用性。③支持多种设计方法,可以采用自顶向下、自底向上和混合方法三种形式,尤其是自顶向下的设计方法是VHDL独有的。④便于更新。⑤结构易读、易懂。所以这次程序的编写采用VHDL来完成。根据上述对自动售饮料机逻辑状态的分析,编写程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitystmch1isport(clk,rst,half_dollar,one_dollar:instd_logic;choose:instd_logic_vector(1downto0);out1,dispense:outstd_logic);endstmch1;architecturebehaveofstmch1istypestate_valuesis(s2,s0,s1,s3,s4);signalstate,next_state:state_values;beginprocess(clk,rst)beginifrst='1'thenstate<=s0;elsif(clk'eventandclk=T)thenstate<=next_state;endif;endprocess;process(state,half_dollar,one_dollar,choose)beginoutl<='O';dispensev='O';next_state<=s0;casestateiswhens0=>讦(half_dollar=T)thennext_state<=s1;elsif(one_dollar=T)thennext_state<=s2;elsenext_state<=s0;endif;whens1=>讦(half_dollar=T)thennext_state<=s2;elsif(one_dollar=T)thennext_state<=s3;elsenext_state<=s1;endif;whens2=>讦(half_dollar=T)thenif(choose="01")thendispensev=T;elsenext_state<=s3;endif;elsif(one_dollar='1')thenif(choose="10")thendispensev=T;elsenext_state<=s4;endif;elsenext_state<=s2;endif;whens3=>讦(choose="01")thendispensev=T;elsif(choose="10")then讦(half_dollar='1')thendispensev=T;elsif(one_dollar='1')thendispense<=Toutl<=Telsenext_statev=s3;endif;elsif(choose="11")then讦(half_dollar='1')thennext_state<=s4;elsif(one_dollar='1')thendispensev=T;elsenext_statev=s3;endif;elsenext_state<=s3;endif;whens4=>if(choose="01")thendispensev=T;out1v=T;elsif(choose="10")thendispensev=T;elsif(choose="11")then讦(half_dollar=T)thendispensev=T;elsif(one_dollar=T)thenoutl<=T;dispensev=T;endif;elsenext_state<=s4;endif;endcase;endprocess;endbehave;4•时序仿真4.1创建VHDL源文件⑸先打开MAX+PlusII,进入项目管理界面后,打开“File”f“New”,会弹出一个“NEW”的对话框,选择建立源文件类型。因为本设计采用VHDL语言来实现,所以选择“TextEditorFile”选项,按“OK”键,进入文本编辑窗口。在文本编辑窗口中,输入上面的源文件。再以stmch1.vhd存盘。存盘后点击“File”一"Project”下选择“SetProjecttoCurrentFile”使得标题的名称变成当前的工程名。4.2选择合适的器件设置完工程名后,下一步就是选择合适的器件编译。选择“Assign”一"Device”,打开如下图所示的窗口,在DeviceFamily对话框中选择FLEX10K,然后选择EPF10K10LC84-4器件。4.3编译程序在语言的设计当中,往往会出现一些错误,编译时会出现一些错误提示。有时尽管只有一、二个小错,但会出现大量的错误信息。所以在编译时应在编辑窗口中找到第一次出错的提示,并用鼠标拖黑,然后单击上面的“Locate”错误定位键,就可以在出现的文本编译窗口中闪动的光标附近找到错误所在。纠正后再编译,直至排除错误。4.4仿真波形选中“MAX+PLUSII”一“WaveformEditor”并单击,弹出波形编辑窗口。选中'Node”一“EnterNodeFormSNF”,弹出一个对话框。在对话框中单击“List”按钮,选中所有信号,然后,单击“=>”按钮,所选信号出现在右边的“SelectedNodes&Groups”窗口中。如图4.3所示。选择“Option”一“GridSize”,可以设定时间轴网格的大小。选中“MAX+PlusII”一“Simulator”,并单击左键,弹出一个对话框,可以设置起始和结束的时间。单击“Start”按钮进行仿真,仿真完成后,单击“OpenSCF”按钮,就可以打开波形编辑器,观察、分析仿真结果。四•课程设计结果仿真波形分析根据投币信息和购买类型的不同组合,会产生很多种输出波形。在此仅以几种典型情况为例,给出其仿真波形。如下图4.5为当选择购买1.5元的饮料并投入两枚1.0元的硬币时的波形。由图可以看到当投入2.0元时,dispense(饮料机的饮料输出端)给出高电平一次,也就是系统给出一个价值1.5元的饮料和outl(找零的输出端)为高电平一次,即给出0.5元的硬币一枚。站卫匝 H*]伽E阪 |Bilerval: ]如下图4.6所示为当选择饮料2,即价格为2.0元的饮料时,投入两枚1.0元的硬币时所出现的波形。因为价格和所投入的钱币相同,所以找零为零,只给出一个价格为2.0元的饮料,如图4.7所示为当选择饮料3时,并投入3枚1.0元的硬币时的波形图。在这时机器应该给出1个价格为2.5元的饮料的同时给出一枚0.5元的硬币。在图中我们看到当投入3枚一元的硬币后的第一个上升沿到来后,dispense和out1同时出现高电平一次,即给出一个价格为2.5元的饮料并找出0.5元,这与所设想的一样,说明所编写的程序是正确的。Q2n«i*l*lTn询X.Bnt「.如s;-O^ns恤mp^Value.20.0ns 4DDns SO.OhsBO.Qis IDa.Ons 12Q0oflB_do
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中综合实践活动研究实施计划
- 招聘店长的面试题及答案
- 个人风采展示
- 统计师考试案例分享试题及答案
- 护理评估单的应用与重要性
- 皮鞋基础护理教学大纲
- 聚合物防水知识培训课件
- 老年人食药知识培训课件
- 电商行业法律法规
- 美容法基本知识培训课件
- GB/T 38472-2023再生铸造铝合金原料
- 初中美术-《手工书设计》教学课件设计
- 《城市轨道交通客服英语》课程标准
- 2023多囊卵巢综合征诊治路径专家共识(最全版)
- 融资岗面试题及答案
- 垃圾清运重点难点和解决措施
- 美国大选-特朗普介绍(个人演讲PPT)
- TSDPIA 05-2022 宠物猫砂通用技术规范
- 2023年河南工业和信息化职业学院单招面试题库及答案解析
- GA 1813-2022水利系统反恐怖防范要求
- 铸铁闸门安装评定表
评论
0/150
提交评论