自动售货机控制模块VHDL程序设计及FPGA实现

发布者:未来感知最新更新时间:2011-01-14 来源: 王鹏 陈亭 邢维东 李敏 闫健关键字:EDA  FPGA  VHDL  Quartus 手机看文章 扫描二维码
随时随地手机看文章

  近年来,随着集成电路技术的迅猛发展,特别是可编程逻辑器件的高速发展, EDA(Electronic Design Automation,电子设计自动化)技术成为电子设计工程师的新宠。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表示不输出货物或不找零。[page]

  根据图1所示的状态转换图,用VHDL中的CASE_WHEN结构和IF_THEN_ELSE语句实现控制功能,源程序如下:

程序

程序[page]

  编译、仿真及FPGA实现

  在Altera公司的可编程逻辑器件集成开发平台Quartus II 8.0下完成程序的编辑、编译并进行时序仿真。

  1)编译:编译是EDA设计中的核心环节。软件将对设计输入文件进行逻辑化简、综合和优化, 适当地用一片或多片器件进行适配,最后产生编程用的编程文件。主要包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。自动售货机控制模块VHDL文件编译报告如图2所示。

编译报告

图2 编译报告

  报告中给出了进行编译的时间、采用的开发软件的版本、顶层设计实体名、选用器件的系列和型号、时序分析情况、占用资源情况及引脚使用情况等信息。

  2)时序仿真:编译后对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能及检查和消除竞争冒险是非常有必要的。仿真前,先利用波形编辑器建立波形文件,仿真结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。若发现错误,则返回设计输入中修改设计逻辑。自动售货机控制模块仿真波形如图3所示。

时序仿真波形

图3 时序仿真波形

  3) FPGA实现:将编译阶段生成的编程数据文件通过Quartus II 下载到芯片EPF10K10LC84-4中,并在电子设计自动化实验系统中进行测试得到了正确的结果。

关键字:EDA  FPGA  VHDL  Quartus 引用地址:自动售货机控制模块VHDL程序设计及FPGA实现

上一篇:应对FPGA/SDI子系统中的高速板布局挑战
下一篇:EthernetPON系统核心MAC控制器的设计与实现

推荐阅读最新更新时间:2024-05-02 21:14

再次深耕垂直市场,Lattice推出Automate工业自动化方案
随着Altera,Xilinx两家FPGA巨头陆续被收购,FPGA的未来似乎已经与数据中心、AI等超大规模应用绑定。但Lattice通过深耕垂直细分市场,结合FPGA的高度灵活性,并通过低功耗、高性能、高可靠性等优势,实现了快速扩张,公司业绩得到了成长,主要原因就是通信、计算和工业领域的扩展弥补了消费市场尤其是HDMI相关业务的下滑。 Lattice日前宣布推出Automate解决方案,这是Lattice专注工厂自动化的解决方案,可应用于包括机器人、具有预测性维护功能和可扩展的多通道马达控制、实时工业网络以及硬件安全等场景。 Lattice半导体亚太区资深市场开发经理林国松详细介绍了Automate解决方案。 工业自动
[嵌入式]
再次深耕垂直市场,Lattice推出Automate工业自动化方案
芯思维再接再厉,获TÜV莱茵国内第二张EDA工具功能安全产品认证
中国北京,2023年8月7日—— 上海芯思维信息科技有限公司(简称“芯思维”)宣布于近期获得德国莱茵TÜV大中华区(简称“TÜV莱茵”)针对其EDA逻辑仿真系列产品XSIM,颁发的国内第二张EDA工具功能安全ISO26262 TCL3和IEC61508 T2产品认证证书。 ISO26262是全球公认的汽车功能安全标准,覆盖汽车电子半导体的全生命周期,包括功能安全管理、概念、系统、硬件、软件阶段的开发、支持流程、安全分析、可靠性等所有环节。ISO 26262产品认证是汽车行业公认的车规芯片可以用于量产车安全相关系统应用的必要条件。 继2021年10月芯思维SSIM获得国内首张TÜV颁发的EDA功能安全故障注入仿真产品工具最高安全
[工业控制]
芯思维再接再厉,获TÜV莱茵国内第二张<font color='red'>EDA</font>工具功能安全产品认证
ARM和CPLD以及FPGA的技术特点和区别
在嵌入式开发领域,arm是一款非常受欢迎的微处理器,其市场覆盖率极高,DSP和FPGA则是作为嵌入式开发的协处理器,协助微处理器更好的实现产品功能。那三者的技术特点以及区别是什么呢?下文就此问题略做了总结。 arm(AdvancedRISCMachines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。 ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前arm在
[单片机]
ARM和CPLD以及<font color='red'>FPGA</font>的技术特点和区别
基于FPGA及嵌入式CPU 的TFT-LCD接口设计
1 引言 随着电子技术的飞速发展,TFT-LCD作为在亮度、对比度、功耗、寿命、体积和重量等综合性能上全面赶上和超过 CRT的显示器件,被广泛用于各种仪器仪表、电子设备及控制领域中。与之相关的显示控制技术也呈现出越来越多的方式。本文以 640*480的数字输入的 TFT_LCD显示屏为例,介绍了一种基于 NiosII软核处理器实现对 TFT-LCD接口的方法。解决了通常情况下必须使用LCD 控制专用芯片才能解决 LCD显示的问题。 2 系统组成 系统框如图 1所示。系统是由 FPGA、显示缓存 RAM、程序执行 RAM及 TFT-LCD组成。 FPGA(用虚线围成)选用的是 ALTER的 EP1C6,RAM采用的是 I
[嵌入式]
Altera Q4在台积电加工28纳米的FPGA芯片
  按台湾经济新闻报道,为了满足Altera的FPGA芯片,台积电计划年底推出28nm CMOS工艺量产。   台积电为了与竞争对手Global Foundries及UMC的竞争,计划在它新竹科学园区的Fab 12中进行小批量的28nm工艺生产。   今年2月及4月Altera己宣布若干创新计划,包括引入28nm工艺在它的Stratix V生产线中,及部分重新配置,与28Gbps接受器的硬IP模块。   十分可喜,同样可利用它的高功能的28 CMOS工艺在另一个客户Xilinx中,而Xilinx主要侧重在28nm低功耗,两者均为台积电的主要客户。
[嵌入式]
基于FPGA的检纠错逻辑算法的实现
星载计算机系统中电子器件容易受到空间环境电磁场的辐射和重粒子的冲击,从而导致器件运行出错,特别是存储器中数据容易出现错误,需要具有检纠错功能的电路模块对其进行纠正,以免造成严重的后果。基于汉明码的纠错原理.根据对64位数据进行检纠错处理的需要,设计一个利用8位校验码,以实现该功能的算法逻辑,并通过FPGA实现。经过仿真验证,该模块具备检测2位错误,纠正1位错误的功能,而且也能较好地满足实时性的要求,具有一定的实际应用意义。   引 言   随着现代技术的发展,作为现代高科技代表的航天工程,对星载计算机的依赖程度也越来越高。由于宇宙中存在着大量的带电粒子,星载计算机硬件系统的电子器件会受到电磁场的辐射和重粒子的冲击,其相互
[嵌入式]
基于<font color='red'>FPGA</font>的检纠错逻辑算法的实现
破局EDA数字仿真器 合见工软演绎速度与激情
仅用时7个月就推出国内第一款商用数字仿真器,上海合见工业软件集团有限公司(以下简称合见工软)向世界展示了什么是“中国EDA速度”。而当进一步深入了解合见工软进军仿真器领域的初心和格局,我们不得不赞叹合见工软的激情和担当。 数字仿真器短板必须要“补” 近年来,随着我国信息通信(ICT)产品技术的创新突破与市场的快速增长,对芯片产品的需求规模以及应用水平的要求都在持续提升。与此同时,国家对于芯片产业的投入力度也在不断加强。在这一新时代产业发展机遇下,我国芯片领域的企业也面临着在核心技术与应用领域寻求突破等方面的压力和挑战,以EDA为代表的工具成为推动芯片产业长足发展并且需要重点突破的核心技术领域之一。 其中,仿真器一
[模拟电子]
破局<font color='red'>EDA</font>数字仿真器 合见工软演绎速度与激情
基于数字移相的高精度脉宽测量系统及其FPGA实现
摘要:采用XILINX公司的SpartanII系列FPGA芯片设计了一种基于数字移相技术的高精度脉宽测量系统,同时给出了系统的仿真结果和精度分析。与通常的脉冲计数法相比,该系统的最大测量误差减小到原来的34.2%。 关键词:脉宽测量 数字移相 脉冲计数法 FPGA 在测量与仪器仪表领域,经常需要对数字信号的脉冲宽度进行测量。这种测量通常采用脉冲计数法,即在待测信号的高电平或低电平用一高频时钟脉冲进行计数, 然后根据脉冲的个数计算待测信号宽度,如图1所示。待测信号相对于计数时钟通常是独立的,其上升、下降沿不可能正好落在时钟的边沿上,因此该法的最大测量误差为一个时钟周期。例如采用80MHz的高频时钟,最大误差为12.5ns。
[半导体设计/制造]
小广播
热门活动
换一批
更多
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved