




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
24 目录目录 1、EDA 技术发展及介绍.1 1.1EDA 技术的介绍1 1.2 EDA 技术的发展.1 1.3 VHDL 硬件描述语言的特点 2 2、总体方案设计.4 2.1 设计内容.4 2.2 设计方案比较.4 2.3 方案论证.5 3、单元模块设计.7 3.1 晶振电路.7 3.2 电源电路.8 3.3 七段数码管显示电路.9 3.4 蜂鸣器电路10 4、特殊器件的介绍.11 4.1 CPLD 器件介绍.11 4.2 FPGA 器件介绍.11 4.3 EPM240T100C5 器件12 5、软件实现.13 5.1 软件设计.13 6、系统仿真及调试.17 6.1 仿真.17 6.2 调试19 7、总结.20 7.1 设计小结.20 7.2 设计收获.20 7.3 设计改进与功能扩展.20 7.4 致谢21 8、参考文献.22 附录一:电路原理图.23 附录二:Technology map24 1 西华大学课程设计说明书 说明书 1、EDA 技术发展及介绍技术发展及介绍 1.1EDA 技术的介绍技术的介绍 EDA 是电子设计自动化(Electronic Design Automation)的缩写,在 20 世纪 60 年代中期 从计算机辅助设计(CAD) 、计算机辅助制造(CAM) 、计算机辅助测试(CAT)和计算机辅 助工程(CAE)的概念发展而来的计算机软件系统。EDA 技术是指以计算机为工作平台,融 合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设 计。 利用 EDA 工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可 以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出 IC 版图或 PCB 版图的 整个过程的计算机上自动处理完成。 现在对 EDA 的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、 生物、医学、军事等各个领域,都有 EDA 的应用。目前 EDA 技术已在各大公司、企事业单位 和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模 拟,都可能涉及到 EDA 技术。本文所指的 EDA 技术,主要针对电子电路设计、PCB 设计和 IC 设计。 EDA 设计可分为系统级、电路级和物理实现级。 1.2 EDA 技术的发展技术的发展 EDA 技术的发展始于 70 年代,至今经历了三个阶段。电子线路的 CAD(计算机辅助设计)是 EDA 发展的初级阶段,是高级 EDA 系统的重要组成部分。它利用计算机的图形编辑、分析和 存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图;采用二维图形 编辑与分析,主要解决电子线路设计后期的大量重复性工作,可以减少设计人员的繁琐重复劳 动,但自动化程度低,需要人工干预整个设计过程。这类专用软件大多以微机为工作平台,易 于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。 80 年代初期,EDA 技术开始技术设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障 仿真)和自动布局与布线为核心的 EDA 产品,这一阶段的 EDA 已把三维图形技术、窗口技术、 计算机操作系统、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入电子 设计,形成了 CAE计算机辅助工程。也就是所谓的 EDA 技术中级阶段。其主要特征是具备 了自动布局布线和电路的计算机仿真、分析和验证功能。其作用已不仅仅是辅助设计,而且可 以代替人进行某种思维。CAE 这种以原理图为基础的 EDA 系统,虽然直观,且易于理解,但 2 西华大学课程设计说明书 说明书 对复杂的电子设计很难达到要求,也不宜于设计的优化。 所以,90 年代出现了以自动综合器和硬件描述语言为基础,全面支持电子设计自动化的 ESDA(电子系统设计自动化),即 EDA 阶段、也就是目前常说的 EDA.过去传统的电子系统电 子产品的设计方法是采用自底而上(Bottom_ Up)的程式,设计者先对系统结构分块,直接进行 电路级的设计。这种设计方式使设计者不能预测下一阶段的问题,而且每一阶段是否存在问题, 往往在系统整机调试时才确定,也很难通过局部电路的调整使整个系统达到既定的功能和指标, 不能保证设计一举成功。EDA 技术高级阶段采用一种新的设计概念:自顶而下(Top_ Down)的设 计程式和并行工程(Concurrent engineering)的设计方法,设计者的精力主要集中在所要电子产品 的准确定义上,EDA 系统去完成电子产品的系统级至物理级的设计。此阶段 EDA 技术的主要 特征是支持高级语言对系统进行描述,高层次综合(High Level Synthesis)理论得到了巨大的发 展,可进行系统级的仿真和综合。 1.3 VHDL 硬件描述语言硬件描述语言的特点的特点 与其他硬件描述语言相比,VHDL 具有以下特点: (1)功能强大、设计灵活。VHDL 具有功能强大的语言结构,可以用简洁明确的源代码 来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描 述。VHDL 支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言虽不能比拟的。 VHDL 还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化 设计,又支持层次化设计。 (2)支持广泛、易于修改。由于 VHDL 已经成为 IEEE 标准所规范的硬件描述语言,目 前大多数 EDA 工具几乎都支持 VHDL,这为 VHDL 的进一步推广和广泛应用奠定了基础。在 硬件电路设计过程中,主要的设计文件是用 VHDL 编写的源代码,因为 VHDL 易读和结构化, 所以易于修改设计。 (3)强大的系统硬件描述能力。VHDL 具有多层次的设计描述功能,既可以描述系统级 电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可 以采用三者混合的混合级描述。另外,VHDL 支持惯性延迟和传输延迟,还可以准确地建立硬 件电路模型。VHDL 支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设 计人员能够方便地创建高层次的系统模型。 (4)独立于器件的设计、与工艺无关。设计人员用 VHDL 进行设计时,不需要首先考 3 西华大学课程设计说明书 说明书 虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不 同的器件结构来实现其功能。 (5)很强的移植能力,易于共享和复用。 VHDL 采用基于库(Library)的设计方法, 可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这 些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交 流和共享,减少硬件电路设计。 发展趋势: 目前有多种 EDA 工具支持采用 VHDL 进行电路综合、仿真以及实现。一些可编程器件生 产商将使用 VHDL 进行电路设计所需的多种 EDA 工具集成为统一的开发平台提供给用户,进 行针对本公司可编程器件产品的开发,从而使整个设计流程更加简捷和易于使用。目前比较常 见的是 Altera 公司的 QuartusII 和 Xilinx 公司的 ISE 开发平台。 4 西华大学课程设计说明书 说明书 2、总体方案设计、总体方案设计 2.1 设计内容设计内容 用 FPGA 器件驱动蜂鸣器演奏“梁祝”片段。一首乐曲包含三个要素:乐曲声音频率,发 音时间的长短,停顿的时间。按照图 1 乐谱,设计相应电路控制 speaker 信号的方波频率,某 一频率持续时间长短,各频率间间隔大小,就可以推动蜂鸣器演奏乐曲。 图 1-1 “梁祝”片段乐谱 电路功能模块为:1、用分频电路产生不同频率方波;2、利用计数器实现 speaker 信号频 率选择,某一频率持续时间长短,各频率间间隔大小。 2.2 设计方案比较设计方案比较 方案一:由单片机 AT89S52 来实现乐曲演奏电路的设计,外围电源采用+5V 电源供电,时钟 由 12MHZ 的晶振产生,通过按键的状态来检测乐曲演奏状态,中央处理器由 AT89S52 单片机 来完成,乐曲演奏状态由七段数码管来模拟。这种方案,结构简单容易掌握,各部分电路实现 起来都非常容易,在传统的乐曲演奏设计中也应用得较为广泛,技术成熟。其原理框图如图 2- 1 所示: 图 2-1 单片原理实现框图 晶振电路 数码管显示电路 电源电路 AT89S5 2 单片 机 扬声器电路 3562155216 13 56 5 23651326516 16 57 5 西华大学课程设计说明书 说明书 方案二:基于现场可编程逻辑门阵列 FPGA,通过 EDA 技术, 采用 VerilogHDL 硬件描述语言实现乐曲演奏电路设计。程序设计思想为:1、用分频电路 产生不同频率方波;2、利用计数器实现 speaker 信号频率选择,某一频率持续时间长短,各频 率间间隔大小。其框图如图 2-2 所示: 6MHz 扬声器 4Hz数码管 图 2-2 乐曲演奏电路原理框图 1 方案三:基于现场可编程逻辑门阵列 FPGA,通过 EDA 技术 2 采用 VerilogHDL 硬件描述语言实现乐曲演奏电路设计。程序设计思想为:顶层结构所包 含的模块分别有音调发生器(ydfsq)模块、音调编码器(ydbmq)模块、手动自动选择(bmux)模块 及数控分频器(skfpq)模块。其框图如图 2-3 所示: 基准时钟 6MHz 模式选择 auto 手动输入 FPGA 时钟电路数控分频器 电路 音乐节拍 产生电路音调编码 电路 4Hz 6MHz 扬声器 数码管 图 3-2 乐曲演奏电路原理框图 2 2.3 方案论证方案论证 根据声乐知识,产生音乐的两个因素是音乐频率的持续时间,音乐的十二平均 率规定,每两个八音度之间的频率相差一倍,在两个八音度之间,又可分为 12 个半音。每两 反馈预置计数器2 分频器 曲谱产生音符显示 6 西华大学课程设计说明书 说明书 个半音的频率比为 4。另外,音名 A(乐谱中的低音 6)的频率为 440HZ,音名 B 到 C 之间, E 到 F 之间为半音,其余为全音。由此可以计算出乐谱中从低音 1 到高音 1 之间每个音名的频 率如图 2-1-1 所示:表 2-1 简谱中的音名与频率的关系 表 2-1 简谱中的音名与频率的关系 音名频率 (Hz) 音名频率 (Hz) 音名频率 (Hz) 低音 1261.63中音 1523.25高音 11046.50 低音 2293.67中音 2587.33高音 21174.66 低音 3329.63中音 3659.25高音 31381.51 低音 4349.23中音 4698.46高音 41396.92 低音 5391.99中音 5783.99高音 51567.98 低音 6440中音 6880高音 61760 低音 7439.88中音 7987.76高音 71975.52 通过方案一二三的比较,可以看出方案一二的设计使用分立元件电路较为多,因此会增加 电路调试难度,且电路的不稳定性也会随之增加,而采用 FPGA 芯片实现的电路,由于在整体 性上较好,在信号的处理和整个系统的控制中,FPGA 的方案能大大缩减电路的体积,提高电路 的稳定性。此外其先进的开发工具使整个系统的设计调试周期大大缩短,一般来讲,同样的逻 辑,基于 FPGA 要比基于单片机要快很多,因为它们工作的原理是完全不同的。单片机是基于 指令工作的,同样的激励到达单片机后,单片机首先要判断,然后读取相应的指令,最后作出 相应,这每一步都是需要在单片机的时钟驱动下一步步的进行。而基于 FPGA 则是把相应的逻 辑“暂时”固化为硬件电路了,它对激励作出的响应速度就是电信号从 FPGA 的一个管脚传播 另一个管脚的传播速度,当然这指的是异步逻辑,同时电信号也要在芯片内进行一些栅电容的 充放电动作,但这些动作都是非常非常快的。 2.4 方案选择方案选择 结合现代 EDA 的整体性能的提升,也对其各个部件的性能提出了更高的要求,尤其在现代 SOC 技术的引领下,人们对低故障、高实时、高可靠、高稳定的性能更加青睐,结合本设计的 要求及综合以上比较的情况,我们选择了方案二进行设计。 7 西华大学课程设计说明书 说明书 3、单元模块设计、单元模块设计 本设计由现场可编程门矩阵(FPGA)作为控制芯片,通过 VreilogHDL 硬件描述语言设计, 按功能逐层分割实现层次化的设计。总体设计方案为 1、用分频电路产生不同频率方波;2、 利用计数器实现 speaker 信号频率选择,某一频率持续时间长短,各频率间间隔大小。下面介 绍主要模块的功能及作用。 3.1 晶振电路晶振电路 N 1 G 2 O 3 V 4 50M GC LK_0 +3.3V R 3 33 图 3-1 晶振电路 采用有源晶振作为时钟信号源,它是一个完整的振荡器,其内部除了石英晶体外还有阻容 软件和晶体管,有源晶振信号质量好,比较稳定,而且连接方式比较简单。主要是作为电源滤 波,通常使用的为一个电容和电感组成的 PI 型滤波网络,输出端使用一个小阻值电阻过滤信 号。串电阻可减小反射波,避免反射波叠加引起过冲,减少谐波以及阻抗匹配,减小回波干扰 及导致的信号过冲。 有源晶振不需要 DSP 的内部振荡器,信号质量好,比较稳定,而且连接方式相对简单(主 要是做好电源滤波,通常使用一个电容和电感构成的 PI 型滤波网络,输出端用一个小阻值的 8 西华大学课程设计说明书 说明书 电阻过滤信号即可) ,不需要复杂的配置电路。有源晶振通常的用法:一脚悬空,二脚接地, 三脚接输出,四脚接电压。相对于无源晶体,有源晶振的缺陷是其信号电平是固定的,需要选 择好合适输出电平,灵活性较差,而且价格高。对于时序要求敏感的应用,个人认为还是有源 的晶振好,因为可以选用比较精密的晶振,甚至是高档的温度补偿晶振。有些 DSP 内部没有起 振电路,只能使用有源的晶振,如 TI 的 6000 系列等。有源晶振相比于无源晶体通常体积较 大,但现在许多有源晶振是表贴的,体积和晶体相当,有的甚至比许多晶体还要小。 20MHz 以下的晶体晶振基本上都是基频的器件,稳定度好,20MHz 以上的大多是谐波的 (如 3 次谐波、5 次谐波等等) ,稳定度差,因此强烈建议使用低频的器件,毕竟倍频用的 PLL 电路需要的周边配置主要是电容、电阻、电感,其稳定度和价格方面远远好于晶体晶振器件。 由于本设计所用的为 50MHZ 的晶振,而 20MHz 以下的晶体晶振基本上都是基频的器件,稳 定度好,0MHz 以上的大多是谐波的(如 3 次谐波、5 次谐波等等) ,稳定度差,因此我们使 选用频的器件,毕竟倍频用的 PLL 电路需要的周边配置主要是电容、电阻、电感,其稳定度和 价格方面远远好于晶体晶振器件。 3.2 2 电源电路电源电路 图 3-2 电源电路 本设计中使用到了两个电源,FPGA 芯片使用了 2 种电源,分别为 3.3V I/O 电源和V 核 心电源;由于 FPGA 的功率较大,在加上其他外围设备的需求,本实验开发平台上选用的 9 西华大学课程设计说明书 说明书 3.3V 电源芯片是 EP2C8Q208C8N,该芯片能最大输出电流为 3A,完全满足本实验平台的需求; 1.2V 和 3.3V 的电源电路分别如图 3-2 所示。 3.3 七段数码管显示电路七段数码管显示电路 a 7 b 6 c 4 d 1 e 3 f 8 g 9 dp 2 G1 10 G2 5 LED? 2LED-C C + IO66 IO67 IO68 IO69 IO70 IO71 IO72 IO73 T? 9014 T? 9014 VC C IO74IO75 R ? R 1 R ? R 1 图 3-3 七段数码管显示电路 七段数码管和普通发光二极管的发光原理一样,为了进行直观显示而将普通发光二极管封 装在一起,能够进行 16 进制数字显示;有共阳极和共阴极之分,共阳极就是此实验平台所使 用的链接方式,在控制端输入底点平的时候发光,在输入高电平的时候就不发光。 10 西华大学课程设计说明书 说明书 3.4 蜂鸣器电路蜂鸣器电路 U2 B UZZER T1 9014 R 12 100 VC C GND speak er 图 3-4 蜂鸣器电路 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、 复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣 器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器的电路图形符号 蜂 鸣器在电路中用字母“H”或“HA” (旧标准用“FM” 、 “LB” 、 “JD”等)表示。 根据蜂鸣器输入信号频率的不同决定了其发声不同的原理,接通电源后,振荡器产生的音 频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下, 周期性地振动发声。由此可以来设计一个由数控分频器控制 BUZZER 发声的简单实验。数控分 频器的预置值由乐曲的音调的值来决定,从而间接地控制 BUZZER 得发声频率。 11 西华大学课程设计说明书 说明书 4、特殊器件的介绍、特殊器件的介绍 4.14.1 CPLDCPLD 器件介绍器件介绍 CPLD 是 Complex Programmable Logic Device 的缩写,它是有最早的 PLD 器件发展形成 的高密度可编程逻辑器件,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发 工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价 格大众化等特点。 CPLD 是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其 基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文 件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。 许多公司都开发出了 CPLD 可编程逻辑器件。比较典型的就是 Altera、Lattice、Xilinx 世界三大权威公司的产品。如 Altera 公司的 MAXII 器件,就是其极具代表性的一类 CPLD 器 件,是有史以来功耗最低、成本最低的 CPLD。MAX II CPLD 基于突破性的体系结构,在所有 CPLD 系列中,其单位 I/O 引脚的功耗和成本都是最低的。 Altera 公司的 MAX7000A 系列器件是高密度、高性能的 EPLD,它是基于第二代 MAX 结构, 采用 CMOS EPROM 工艺制造的。该系列的器件具有一定得典型性,其他结构都与此结构非常的 类似。它包括逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和 IO 控制部分。由于大多 数 CPLD 是基于乘积项的“与或”结构,故适合设计组合逻辑电路。 4.2 FPGA 器件介绍器件介绍 FPGA(FieldProgrammable Gate Array)可以达到比 PLD 更高的集成度,它是在 PAL、GAL、EPLD 等可编程器件的基础上进一步发展起来的,具有更复杂的布线结构和逻辑实 现。PLD 器件和 FPGA 的主要区别在于 PLD 是通过修改具有固定内连电路得逻辑功能来进行编 程,而 FPGA 是通过修改一根或多根分割宏单元的基本功能块的内连线的布线来进行编程。它 一般由可嵌入式阵列块(EAB) 、逻辑阵列块(LAB) 、快速互联通道(Fast Track)、IO 单元 (IOE)组成。 Altera Cyclone II 采用全铜层、低 K 值、1.2 伏 SRAM 工艺设计,裸片尺寸被尽可能最 小的优化。采用 300 毫米晶圆,以 TSMC 成功的 90nm 工艺技术为基础,Cyclone II 器件提供 了 4,608 到 68,416 个逻辑单元(LE) ,并具有一整套最佳的功能,包括嵌入式 18 比特 x18 比 特乘法器、专用外部存储器接口电路、4kbit 嵌入式存储器块、锁相环(PLL)和高速差分 I/O 12 西华大学课程设计说明书 说明书 能力。Cyclone II 器件扩展了 FPGA 在成本敏感性、大批量应用领域的影响力,延续了第一代 Cyclone 器件系列的成功。由于 FPGA 是基于查找表(LUT)结构的器件,且每个 LAB 由 10 个 LE 组成,一个 LE 由 LUT 和寄存器组成,适合于时序逻辑电路的设计。 4.34.3 EPM240T100C5EPM240T100C5 器件器件 其引脚图如图 4-3 所示 IO 1 IO 2 IO 3 IO 4 IO 5 IO 6 IO 7 IO 8 VC C IO1 9 GNDIO 10 GNDINT 11 IO/GC LK0 12 VC C INT(3.3VOR 2.5V) 13 IO/GC LK1 14 IO 15 IO 16 IO 17 IO 18 IO 19 IO 20 IO 21 TM S 22 TDI 23 TC K 24 TDO 25 IO 26 IO 27 IO 28 IO 29 IO 30 VCCIO 31 GNDIO 32 IO 33 IO 34 IO 35 IO 36 IO 37 IO 38 IO 39 IO 40 IO 41 IO 42 IO/DEV_OE 43 IO/DEV_CLRn 44 VCCIO1 45 GNDIO 46 IO 47 IO 48 IO 49 IO 50 IO 51 IO 52 IO 53 IO 54 IO 55 IO 56 IO 57 IO 58 VC C IO2 59 GNDIO 60 IO 61 IO/GC LK2 62 IO/GC LK3 64 IO 66 IO 67 IO 68 IO 69 IO 70 IO 71 IO 72 IO 73 IO 74 IO 75 IO 76 IO 77 IO 78 GNDIO 79 VCCIO2 80 IO 81 IO 82 IO 83 VC C INT(3.3VOR 2.5V) 63 IO 87 IO 88 IO 89 IO 90 IO 91 IO 92 GNDIO 93 VCCIO2 94 IO 95 IO 96 IO 97 IO 98 IO 99 IO 100 M AXEPM 240T100C 5 GNDINT 65 IO 85 IO 84 IO 86 U1 M AXM EP240 图 4-3 EPM240T100C5 基于成本优化的 0.18 微米 6 层金属 Flash 工艺,MAX II 器件系列具有 CPLD 所有的优点, 例如非易失性、即用性、易用性和快速传输延时性。以满足通用性,低密度逻辑应用为目标, MAX II 器件成为接口桥接、I/O 扩展、器件配置和上电顺序等应用最理想的解决方案。除这些 典型的 CPLD 应用之外,MAX II 器件还能满足大量从前在 FPGA、ASSP 和标准逻辑器件中实现 的低密度可编程逻辑需求。 13 西华大学课程设计说明书 说明书 5 5、软件实现、软件实现 通过至顶向下(TOP-DOWN)的设计方法,我们对电路的设计要求作了分析,从电路要实 现的功能着手,逐层分析电路设计的步骤,再具体到各个模块的设计实现以及各模块实现方案 的选择。从本设计的电路要求,我们分析了需要实现一个输入状态的编码,以及对循环点亮灯 的方式的选择,综合这两种状态控制输出信号的状态变化。软件设计流程图: 图 6-1 软件设计流程图 5.1 软件设计软件设计 module song(clk_6MHz,clk_4Hz,speaker,gaoyin,zhongyin,diyin); input clk_6MHz,clk_4Hz; output speaker; output3:0 gaoyin,zhongyin,diyin; reg speaker; reg3:0 gaoyin,zhongyin,diyin; reg7:0 counter; reg13:0 divider,origin; wire carry; assign carry=(divider=16383); always (posedge clk_6MHz) begin if(carry) divider=origin; else divider=divider+1; end always (posedge carry) begin speaker=speaker;end/2分频产生方波信号 always (posedge clk_4Hz) 反馈预置计数 器 曲谱产生 2 分频器 音符显示 扬声器 数码管 14 西华大学课程设计说明书 说明书 begin case(gaoyin,zhongyin,diyin) /分频比预置 b000000000011:origin=7281; b000000000101:origin=8730; b000000000110:origin=9565; b000000000111:origin=10310; b000000010000:origin=10647; b000000100000:origin=11272; b000000110000:origin=11831; b000001010000:origin=12556; b000001100000:origin=12974; b000100000000:origin=13516; b000000000000:origin=16383; endcase end always (posedge clk_4Hz) begin if(counter=63) counter=0;/计时,以实现循环演奏 else counter=counter+1; case(counter)/记谱 0: gaoyin,zhongyin,diyin=b000000000011;/低音“3“ 1: gaoyin,zhongyin,diyin=b000000000011;/持续4个时钟节拍 2: gaoyin,zhongyin,diyin=b000000000011; 3: gaoyin,zhongyin,diyin=b000000000011; 4: gaoyin,zhongyin,diyin=b000000000101;/低音“5“ 5: gaoyin,zhongyin,diyin=b000000000101;/发3个时钟节拍 6: gaoyin,zhongyin,diyin=b000000000101; 7: gaoyin,zhongyin,diyin=b000000000110;/低音“6“ 8: gaoyin,zhongyin,diyin=b000000010000;/中音“1“ 9: gaoyin,zhongyin,diyin=b000000010000;/发3个时钟节拍 10: gaoyin,zhongyin,diyin=b000000010000; 11: gaoyin,zhongyin,diyin=b000000100000;/中音“2“ 12: gaoyin,zhongyin,diyin=b000000000110;/低音“6“ 13: gaoyin,zhongyin,diyin=b000000010000; 14: gaoyin,zhongyin,diyin=b000000000101; 15: gaoyin,zhongyin,diyin=b000000000101; 16: gaoyin,zhongyin,diyin=b000001010000;/中音“5“ 17: gaoyin,zhongyin,diyin=b000001010000;/发3个时钟节拍 18: gaoyin,zhongyin,diyin=b000001010000; 19: gaoyin,zhongyin,diyin=b000100000000;/高音“1“ 20: gaoyin,zhongyin,diyin=b000001100000; 21: gaoyin,zhongyin,diyin=b000001010000; 22: gaoyin,zhongyin,diyin=b000000110000; 15 西华大学课程设计说明书 说明书 23: gaoyin,zhongyin,diyin=b000001010000; 24: gaoyin,zhongyin,diyin=b000000100000;/中音“2“ 25: gaoyin,zhongyin,diyin=b000000100000;/持续11个时钟节拍 26: gaoyin,zhongyin,diyin=b000000100000; 27: gaoyin,zhongyin,diyin=b000000100000; 28: gaoyin,zhongyin,diyin=b000000100000; 29: gaoyin,zhongyin,diyin=b000000100000; 30: gaoyin,zhongyin,diyin=b000000100000; 31: gaoyin,zhongyin,diyin=b000000100000; 32: gaoyin,zhongyin,diyin=b000000100000; 33: gaoyin,zhongyin,diyin=b000000100000; 34: gaoyin,zhongyin,diyin=b000000100000; 35: gaoyin,zhongyin,diyin=b000000110000;/中音“3“ 36: gaoyin,zhongyin,diyin=b000000000111;/低音“7“ 37: gaoyin,zhongyin,diyin=b000000000111; 38: gaoyin,zhongyin,diyin=b000000000110;/低音“6“ 39: gaoyin,zhongyin,diyin=b000000000110; 40: gaoyin,zhongyin,diyin=b000000000101;/低音“5“ 41: gaoyin,zhongyin,diyin=b000000000101; 42: gaoyin,zhongyin,diyin=b000000000101; 43: gaoyin,zhongyin,diyin=b000000000110;/低音“6“ 44: gaoyin,zhongyin,diyin=b000000010000;/中音“1“ 45: gaoyin,zhongyin,diyin=b000000010000; 46: gaoyin,zhongyin,diyin=b000000100000;/中音“2“ 47: gaoyin,zhongyin,diyin=b000000100000; 48: gaoyin,zhongyin,diyin=b000000000011;/低音“3“ 49: gaoyin,zhongyin,diyin=b000000000011; 50: gaoyin,zhongyin,diyin=b000000010000;/中音“1“ 51: gaoyin,zhongyin,diyin=b000000010000; 52: gaoyin,zhongyin,diyin=b000000000110; 53: gaoyin,zhongyin,diyin=b000000000101;/低音“5“ 54: gaoyin,zhongyin,diyin=b000000000110; 55: gaoyin,zhongyin,diyin=b000000010000;/中音“1“ 56: gaoyin,zhongyin,diyin=b000000000101;/低音“5“ 57: gaoyin,zhongyin,diyin=b000000000101;/持续8个时钟节拍 58: gaoyin,zhongyin,diyin=b000000000101; 59: gaoyin,zhongyin,diyin=b000000000101; 60: gaoyin,zhongyin,diyin=b000000000101; 61: gaoyin,zhongyin,diyin=b000000000101; 62: gaoyin,zhongyin,diyin=b000000000101; 63: gaoyin,zhongyin,diyin=b000000000101; endcase 16 西华大学课程设计说明书 说明书 end endmodule 17 西华大学课程设计说明书 说明书 6、系统仿真及调试、系统仿真及调试 6.1 仿真仿真 通过 QuartusII 软件,我进行了仿真,其仿真波形如下图: 图 6-1 波形仿真图 在上面的波形仿真图中“gaoyin” 、 “zhongyin” 、 “diyin”分别对应乐曲中的“高音” 、 “中音” 、 “低音” 。其中,clk_6MHz 用于产生各种音阶的基准频率,clk_4Hz 用于控制音长 (节拍)的时钟频率,由于 4Hz 的频率太小,在仿真波形图上很难观察到结果,为了能观察到 波形,我将 clk_4Hz 的频率改为 4MHz,得到图 6-1,由图可看出其输出波形所反映的乐谱与实 际乐谱的规律是一致的,即实现了乐曲乐谱的仿真。 18 西华大学课程设计说明书 说明书 在 QuartusII 软件中利用硬件描述语言描述电路后,用 RTL Viewers 生成的对应的电路图 如下: DQ PRE ENA CLR SEL DATAA DATAB OUT0 MUX21 A310 B310 OUT EQUAL A130 B130 OUT130 ADDER D ENA Q PRE CLR D ENA Q PRE CLR D ENA Q PRE CLR 0 D ENA Q PRE CLR 0 DQ PRE ENA CLR DQ PRE ENA CLR DQ PRE ENA CLR DQ PRE ENA CLR DQ PRE ENA CLR SEL20 DATA20 OUT SELECTOR A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL A310 B310 OUT EQUAL SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR SEL20 DATA20 OUT SELECTOR WideOr27_OUT0 Selector3_OUT Selector4_OUT Selector7_OUT origin_OUT0 counter_OUT0counter_OUT0 Selector15_OUT Selector16_OUT Selector17_OUT medreg0_OUT0 Selector18_OUT Selector19_OUT Selector20_OUT lowreg0_OUT0 WideOr28_OUT0 WideOr29_OUT0 Decoder0_OUT Equal2_OUT Equal3_OUT Equal4_OUT Equal5_OUT Equal6_OUT Equal7_OUT Equal8_OUT Equal9_OUT Equal10_OUT Equal11_OUT WideNor0_OUT0 WideOr5_OUT0 WideOr7_OUT0 WideOr13_OUT0 WideOr0_OUT0 WideOr16_OUT0 WideOr26_OUT0 WideOr18_OUT0 WideOr20_OUT0 WideOr22_OUT0 WideOr24_OUT0 WideOr2_OUT0 WideOr10_OUT0 WideOr12_OUT0 WideOr4_OUT0 divider130 clk_6MHz divider130 Equal0 18 h00000 - 32 h00003FFF - speakerreg0 speaker high0reg0 clk_4Hz high30 med3reg0 med30 low3reg0 low30 origin130 med20reg0 Equal4 20 h00000 - 32 h00000007 - Equal10 20 h00000 - 32 h00000100 - WideNor0 WideOr1 WideOr3 WideOr5 WideOr7 WideOr11 WideOr13 WideOr15 WideOr17 WideOr19 WideOr21 WideOr23 WideOr25 Selector0 2 h1 - Selector8 2 h2 - Selector13 2 h2 - Selector9 2 h2 - Selector10 2 h1 - Selector11 2 h1 - Selector12 2 h1 - Selector1 2 h2 - Selector5 2 h1 - Selector6 2 h1 - Selector2 2 h2 - 14 h0001 - Add0 Equal7 20 h00000 - 32 h00000030 - Equal8 20 h00000 - 32 h00000050 - Equal9 20 h00000 - 32 h00000060 - counter70 high31reg0 3 h0 - Equal1 20 h00000 - 32 h00000003 - low20reg0 WideOr9 Equal3 20 h00000 - 32 h00000006 - Equal2 20 h00000 - 32 h00000005 - Selector14 2 h1 - Equal11 20 h00000 - 32 h00000000 - Equal6 20 h00000 - 32 h00000020 - Equal5 20 h00000 - 32 h00000010 - 19 西华大学课程设计说明书 说明书 6.2 调试调试 在 QuartusII 软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效 果,于是,我们在该软件上进行下载配置设置。在 Assignments 菜单下选中 Devices,在 Family 栏选择 ACEX1K,选中 EPX74OLC44-12 器件。再在 Assignments 菜单下选中 Pins 按照相 应要求对管脚进行锁定。 调试过程为在线调试。在通过调试中,我们发现了很多问题,现归纳如下: 1.在软件上能实现仿真的程序不一定在硬件电路上就能运行,原因有很多,这里是由于电 路中的时钟频率太快,若不增加一个分频电路,灯闪烁时间太快,肉眼无法观察,故设计了 一 50MHZ 到 2HZ 的分频电路。 2.调试中的实际问题需要考虑, 。若同时发生几个事件,我们需要优先响应的事件是什么。 通过分析我们知道,在电路设计中则是利用带优先级的 IF 语句来控制输入信号即可。 3.由于分频的运算很大,故增加分频电路后,在 QuartusII 软件中则不能进行正确的仿真, 可以直接将程序下载到电路板上去调试。 20 西华大学课程设计说明书 说明书 音频功放电路 7、总结、总结 7.1 设计小结设计小结 在本次设计中,我们完成本系统设计的要求及功能。在设计开始前我们对各个模块进行了 详细的分析和设计准备工作,设计过程中,我们相互协调,积极参与完成各个技术实现的难点。 本设计要求实现乐曲演奏的音调与音长,还要在数码管上显示频率,最终产生乐曲。 7.27.2 设计收获设计收获 在进行波形仿真的时候,由于先选择的是时序功能仿真,所以造成输出波形与理想的波形 存在一定差异,于是我将时序仿真改为功能仿真,但在点击开始仿真按钮后,软件进行了报错, 后经查阅以前实验课上的笔记发现,是因为没有设定产生功能仿真网表,经设置后,上述问题 得以解决。 通过本次课程设计,我们在对 EDA 这门技术上有了更深刻的认识,也从实践的例子中去 感受到了 EDA 设计给我们设计带来的改变与进步。我们不仅掌握 QuartusII 软件的使用,与此 同时,我们还对电子设计的思路有了更多的认识。通过对 EDA 设计中的 TOP-DOWN 设计方 式的运用,体会到了对于一个大型系统的设计方案选取应从顶向下的设计思路,这与传统的至 底向上的设计方式有很大改进,且设计效率得到大大提高。 7.37.3 设计改进设计改进与功能扩展与功能扩展 本次设计是设计乐曲演奏电路,在此设计的基础上,加上一定的外围电路和相应的程序代 码,可以实现乐曲的播放和弹奏,其中功能区分的基本设计思路是:通过设置一个功能选择键 将乐曲演奏和乐曲弹奏功能分开。 乐曲弹奏部分应包含键盘扫描模块、音符频率输出模块(分频器) 、还可以根据需求加入 LED 显示模块,用于显示按键。 乐曲演奏、弹奏电路系统大致框图如下: 4*4 键盘 FPGA LED 显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- QC/T 1230-2025电动客车轮边驱动桥
- 2025年手工艺外贸专员笔试模拟题库
- 2025年宠物摄影宠物肖像题集
- 2025年安全生产安全操作测试题及解析
- 2025年美容美发设计师资格认证考试试题及答案解析
- 2025年路桥工程施工监理专业资格考试试卷及答案解析
- 2025年景观设计硕士研究生入学考试试题及答案解析
- 2025年财务总监竞聘笔试模拟试卷答案解析集
- 2025年教育心理咨询师专业技能考试试题及答案解析
- 2025年建筑施工钢结构工程师执业资格考试试题及答案解析
- 2025年度古董古玩展览策划与买卖合同
- 牢记教师初心不忘育人使命作新时代合格人民教师课件
- 一科一品一特色护理妇产科
- 《老年照护芳香疗法应用规范》标准文本及编制说明
- 2024-年全国医学博士外语统一入学考试英语试题
- 冶金渣公司安全生产委员会工作职责
- 老年患者护理心理护理
- 项目担保合作协议范本
- 2024-2025学年湖南省“炎德·英才·名校联考联合体”高二第一次联考(暨入学检测)数学试题(含答案)
- 夹娃娃机合同模板
- 维修人员技能提升与企业绩效关联研究
评论
0/150
提交评论