1、 EDA(Verilog)课程设计报告课程设计报告 自动售货机自动售货机 摘 要 本设计是以现场可编程逻辑器件(FPGA)为核心的自动售货机,利用 Quartus软件编 写 verilog HDL 硬件描述语言程序以实现自动售货功能。 本设计主要以程序为主,硬件方面则使用实验箱(芯片 Cyclone II EP2C35F672C8, 基于 MagicSOPC 创新教学实验开发平台),将程序各变量端口与实验箱管脚进行相应的配 置,用八个开关分别代表商品价格、所投钱币价格及确认付款找零操作。当选择好商品并投 币后,数码管显示所选商品价格及投入钱币价格;按下确认付款开关,数码管显示应找多少 钱,若交
2、易成功,则对应商品 LED 灯亮,同时步进电机转动将商品送出。若所投钱币小于所 选商品价格,此时交易不成功,同时对应警告的 LED 灯亮。 目 录 前言前言 第一章 系统设计 1.1 系统设计 1.2 总体设计 1.3 方案设计 第二章 详细设计 2.1 自动售货机状态描述 2.2 详细状态描述 2.2.1 初始状态 2.2.2 选商品状态 2.2.3 投币状态 2.2.4 找零状态 第三章 软件设计 3.1 程序总流程图 3.2 verilog HDL 源程序 第四章 结果与讨论 4.1 实验调试 4.1.1 调试步骤 4.1.2 实验现象 4.2 结果与分析 第五章 心得体会 参考文献 附
3、录 前言前言 EDA 是电子设计自动化(Electronic Design Automation)的缩写,在 20 世纪 60 年 代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计 算机辅助工程(CAE)的概念发展而来的。 Verilog HDL 是众多 EDA 软件中的一个,结合我们这学期所学课程, 本次设计采 用的是 Verilog 公司推出的 Verilog 硬件描述语言, 目的是为了将我们所学应用到实际生 活中,同时加深我们对 Verilog 硬件描述语言,FPGA 芯片等等的认识与掌握。 Ve r i l o g 硬件描述语言的主要能力: 基本
4、逻辑门,例如 a n d、o r 和 n a n d 等都内置在语言中。 用户定义原语( U D P)创建的灵活性。用户定义的原语既可以是组合逻辑原 语,也可以是时序逻辑原语。 开关级基本结构模型,例如 p m o s 和 n m o s 等也被内置在语言中。 提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序 检查。 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式 使用过程化结构建模;数据流方式使用连续赋值语句方式建模;结构化方式使用 门和模块实例语句描述建模。 Verilog HDL 中有两类数据类型:线网数据类型和寄存器数据类型。线网类型 表示构件间的
5、物理连线,而寄存器类型表示抽象的数据存储元件。 能够描述层次设计,可使用模块实例结构描述任何层次。 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。 Verilog HDL 不再是某些公司的专有语言而是 I E E E 标准。 人和机器都可阅读 Verilog 语言,因此它可作为 E D A 的工具和设计者之间的 交互语言。 Verilog HDL 语言的描述能力能够通过使用编程语言接口( P L I)机制进一 步扩展。P L I 是允许外部函数访问 Verilog 模块内信息、允许设计者与模拟器交互 的例程集合。 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(
6、RT L) 到算法级,包括进程和队列级。 能够使用内置开关级原语在开关级对设计完整建模。 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指 定。 Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够 被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。 在行为级描述中, Verilog HDL 不仅能够在 RT L 级上进行设计描述,而且能 够在体系结构级描述及其算 法级行为上进行设计描述。 能够使用门和模块实例化语句在结构级进行结构描述。 在 Verilog HDL 的混合方式建模能力,即在一个设计中每个模块均可以在不同 设计层次上建模。 Verilog HDL 还具有内置逻辑函数,例如 input clk,rst,btn_ok; input 2:0 btn_mon;/选择放入的钱 input 3:0 btn_sell;/选择商品