3 Quartus II
3.1 Quartus II简介
Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。
Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。
Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
Altera Quartus II (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。工程师使用同样的低价位工具对Stratix FPGA进行功能验证和原型设计,又可以设计HardCopy Stratix器件用于批量成品。系统设计者现在能够用Quartus II软件评估HardCopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。
Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。该平台支持一 个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功 能,增添 了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。
3.2 Quartus II特点
支持MAX7000/MAX3000等乘积项器件
2.0版Quartus II设计软件现在除了支持Altera的APEX 20KE,APEX 20KC, APEX II,ARM的Excalibur嵌入处理器方 案,Mercury,FLEX10KE和ACEX1K之外,还支持MAX3000A,MAX7000系列乘积项器件。MAX3000A和MAX7000设计者现在可 以使用QuartusII设计软件中才有的所有强大的功能。
软件体积缩小,运行速度加快
QuartusII2.0安装软件为290M,完全安装为700M,如果定制安装,不选择Excalibur嵌入处理器,则安装所需空间为460M,比QuartusII1.1版本减少一半以
4
上的空间要求,却能支持ALTERA全部芯片的开发。 同时软件的装载,编译,仿真速度比1.1版本大 大加快。
LogicLock设计流程把性能提升15%
QuartusII2.0 设计软件通过增强层次LogicLock模块级设计方式,将性能平均改善15%。 LogicLock设计流程把整个模块的放置交由 设计者控制,如果必要的话,可以采用辅助平面布置。LogicLock设计流程运行设计者单独地优化和锁定每个模块的性能,在大 型SOPC设计的构建过程中也保持整个系统的性能。2.0版Quartus II设计软件把新的LogicLock设计流程算法集成到未来的Altera器 件中,该算法充分利用了模块级设计的优势。
采用快速适配选项缩短编译时间
QuartusII2.0增加了一个新的快速适配编译选项,选择中这个选项,将会比缺省设置要缩短50%的编译时间。快速适配功能保留了 最佳性能的设置,加快了编译过程。这样布局适配算法反复的次数更少,编译速度更快,对设计性能的影响最小。
新的功能减小了系统级验证
2.0版Quartus II设计软件引入了新的功能,加快验证过程,这通常是SOPC设计流程中最漫长的阶段。在最初的编译时间中,新的 SignalProbe技术允许用 户在保留设计最初布线,时限和设计文件的同时把内部节点引到未用的管脚进行分析。SignalProbe技术完 成了现有SignalTap嵌入逻辑分析的功能。 而且,设计者能够使用新版本中提供的HDL测试模板快速地开发HDL仿真矢量。
2.0版 Quartus II设计软件也可以自动地从QuartusII仿真器波形文件中创建完整的HDL测试平台。
2.0版Quartus II设计软件也支持高速I/O设计,生成专用I/O缓冲信息规范(IBIS)模型导入到常用的EDA信号集成工具中。IBIS模型 根据设计中每个管脚的I/O标准设置来定制,简化第三方工具的分析。
5
4 自动售货机的设计
4.1 自动售货机设计原理
4.1.1 状态机原理分析
有限状态机FSM(Finite State Machine)及其设计技术是实用数字系统设计中实现高效率、高可靠逻辑控制的重要途径。传统的状态机设计方法需进行繁琐的状态分配、绘制状态表、简化次态方程等,而利用VHDL可以避免这些烦琐的过程,直接利用状态转换图进行状态机的描述。此外,与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的特点。
状态机有摩尔(Moore)型和米立(Mealy)型两种。Moore型状态机的输出信号只与当前状态有关;Mealy型状态机的输出信号不仅与当前状态有关,还与输入信号有关。
把自动售货机的不同商品和不同投币方式设计成不同的状态,每一种状态对应相应的输出。从而自动售货机可已使用相应的状态机来实现。
4.1.2 状态转移图
由上面的分析,我们可以吧不同的状态之间的变化用状态转移图来表示。状态转移图,如图4.1所示:
S11 S1 S15 S2 S110 S21 S25 图4.1 状态转移图
S210 S310 S0 S3 S31 S35 s0为初始状态,s1为购买一元商品的状态,s2为购买五元商品的状态,s3为购买十元商品的状态,s11为输入一元并成功购买一元商品的状态,s15为输入五元并成功购买一元商品的状态s110为输入十元并成功购买一元商品的状态,s21为输入一元但不能购买五元商品的状态,s25为输入五元并成功购买五元商品的状态,s210为输入十元并成功购买五元商品的状态,s31为输入一元但不能购买十元商品的状态,s35为输入五元但不能购买十元商品的状态,s310为输入十元并成功购买十元商品的状态。
4.1.3 仿真图分析
购买一元商品时,仿真图如图4.2所示:
6
图4.2 购买一元商品仿真图
经仿真图验证,购买一元商品时的设计是正确的。 购买五元商品时,仿真图如图4.3所示:
图4.3 购买五元商品仿真图
经仿真图验证,购买五元商品时的设计是正确的。 购买十元商品时,仿真图如图4.4所示:
图4.4 购买十元商品仿真图
经仿真图验证,购买十元商品时的设计是正确的。 投币面值不足时的仿真图,如图4.5所示:
图4.5 购买商品投币不足时仿真图
经仿真图可知,投币不足的设计是正确的。 当找零时的仿真图,如图4.6所示:
7
图4.6 购买商品找零仿真图
经仿真图验证,使用复位键的设计是正确的。 由上,总体可知,此自动售货机的设计是正确的。
4.1.4 硬件封装图
总体的硬件封装图,如图4.7所示:
图4.7 硬件封装图
输入引脚为rst,clk,ai,bi,ci,di,ei,fi,ok。其中rst为复位引脚;clk为始终引脚,频率为1Hz;ai为选择一元商品引脚;bi为选择五元商品引脚;ci为选择十元商品引脚;di为投币一元引脚;ei为投币五元引脚;fi为投币十元引脚;ok为确认引脚,即购买商品。
输出引脚为xianshi,ao,bo,co,warn。其中xianshi为购买商品的价格,输入的钱数与找零的公用引脚;ao为成功输出一元商品的引脚;bo为成功输出五元商品的引脚;co为成功输出十元商品的引脚;do为输入钱数不足时的警告引脚。
8