数字系统的FPGA设计.ppt_第1页
数字系统的FPGA设计.ppt_第2页
数字系统的FPGA设计.ppt_第3页
数字系统的FPGA设计.ppt_第4页
数字系统的FPGA设计.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章数字系统的FPGA设计,10.1 数字钟的FPGA设计,10.2乐曲演奏电路FPGA设计,10.3 多功能算术逻辑运算单元的EDA设计,10.4数字系统设计课题,数字系统是指由若干数字电路和逻辑部件构成的能够处理或传送、存储数字信息的设备数字系统通常可以分为三个部分,即系统输入输出接口、数据处理器和控制器。数字系统结构框图如图10-1所示。,10.1.1设计要求,数字钟功能:数字钟的时间为24小时一个周期;数字钟须显示时、分、秒; 校时功能:可以分别对时、分、秒进行单独校时,使期调整到标准时间; 扩展功能:整点报时系统。设计报整点报时电路,每当数字钟计时59分50秒时开始报时,并发出鸣叫声,到达整点时鸣叫结束,鸣叫频率为100Hz。,10.1.2系统组成方框图,手动校时,模式选择,基准时钟 1kHz,主体电路,时、分秒计数器模块,动 态 显 示,系统复位,报时模块,扬声器,10.1.3 数字钟的层次化设计方案,根据上述功能,可以把多功能数字式电子钟 系统划分为三部分:时钟源(即标准秒钟的 产生电路),时分秒计数器模块、数字钟模 块、校时模块、数字秒表模块、闹钟和整 点报模块。,时分秒计数器模块,时分秒计数器模块由秒个位、十位计数器、分个位、十位计数及时个位、十位计数电路构成。其中:秒个位和秒十位计数器、分个位和分十位计数为六十进制计数器,而根据设计要求时个位和时十位构成的为二十四进制计数器。,六十进制计数器,图10-5为六十进制计数器模块的原理图,由前面的分析知分和秒计数器都是模M=60的计数器,其规律为0001585900,此底层计数器模块的设计中保留了一个计数使能端CEN、异步清零端Clrn和进位输出端Tc,这三个引脚是为了实现各计数器模块之间进行级联,以便实现校时控制而预留的。,六十进制计数器原理图,六十进制计数器仿真输出波形,时计数器模块的设计,时计数器模块由分和秒级使能,每小时 只产生一个脉冲。当该条件满足时, 74160的ENT变为高电平,即分和秒级 为“59分59秒”。时计数器模块能计数和 显示023小时.同样可用2片74160同步 级联设计成二十四进制计数器。,时计数器模块原理图,二十四进制计数器仿真输出波形,模式计数译码器子模块设计,模式计数译码器子模块的输入数字种的 功能设置键为Mode按钮,第1次按Mode按钮 时为校秒状态, 按第2次为校分状态, 按第3次 为校时状态,按第4次为计时状态, 如此循环。刚刚通电时 MODE=0为计时状态。,模式计数译码器子模块的原理图,模式计数译码器子模块的仿真输出波形,数字钟校时单元顶层电路模块设计,根据校时单元的功能特性,可利用时钟基准输出的100Hz信号自动校时,在功能设置键Mode按钮的选择下,拨动一个校时开关KEY后(KEY=1时开始校时;KEY=0时停止校时,100Hz信号分别作用于时分秒计数器,使之自动递增,直至增加到希望的值后,再将校时开关KEY拨回初始状态即可。,数字钟校时单元顶层电路模块设计,10.1.4 数字钟的顶层设计和仿真,(1)数字钟的顶层设计输入,(2)仿真设计 本设计中要仿真的对象为数字钟,须设定一个1KHZ的输入时钟信号和一个校时开关K2,模式的设置开关信号K1的波形,为了能够看到合适的仿真结果,所设计的输入信号的频率和实际的1HZ信号的频率是不同的,本设计中假定网格时间(Grid Size)为10ns,总模拟时间(END TIME)为1s。,顶层设计仿真,10.1.5 硬件测试,(1)1KHz接系统的clock0(接1KHz) (2) Alarm接时钟报警SPEAKER, (3)用键8、键5表示模式选择键和调整键,此两键所对应的目标芯片EP1C6的引脚分别是240、237。,1确定引脚编号,2引脚锁定 根据第9章9.3节的流程即可完成引脚锁定工作。 3编程下载和硬件测试,10.2乐曲演奏电路FPGA设计,10.2.1 设计要求,在QuartusII中利用可编程逻辑器件,设计一个 乐曲演奏电路。由键盘输入控制音响,同时可 自动演奏乐曲。演奏时可选择键盘输入乐曲或 者已存入的乐曲,并配以一个小扬声器。 其结构如图10-23所示,该设计产生的音乐 选自梁祝片段。,10.2.2 原理描述,乐曲演奏电路主要由数控分频器和乐曲存储模块组成。 数控分频器对演奏电路的基准频率进行分频,得到与 各个音阶对应的频率输出。乐曲存储模块产生节拍控 制和音阶选择信号,即在此模块中可存放一个乐曲曲 谱真值表,由一个计数器来控制此真值表的输出, 而由计数器的计数时钟信号作为乐曲节拍控制信号。,10.2.3 乐曲硬件演奏电路的层次化设计方案,乐曲硬件演奏电路分为三个模块: (1)音乐节拍发生器NoteTabs模块, (2)音符译码电路Tonetaba模块, (3)数控分频模块(speaker)。,10.2.3 乐曲硬件演奏电路的层次化设计方案,(1)音乐节拍发生器NoteTabs设计,该模块将利用FPGA的片内ROM存放乐曲简谱真值表, 由一个二进制计数器为乐曲数据存储器ROM的地址 发生器。该计数器的计数频率为4Hz,即每一计数值的 停留时间为0.25秒,随着NoteTab中计数器按4Hz的时 钟频率作加法计数时,即随地址值递增时,乐曲数据 ROM中的音符数据,将从ROM中的输出口输向音符译 码电路Tonetaba,所存储乐曲就开始连续自然地演奏起来。,其设计流程如下:,利用MegaWizard Plug-In Manager定制音 符数据存储器musica1,定制ROM模块的初始化数据文件data1.mif,音乐节拍发生器NoteTabs的VHDL设计,10.2.3 乐曲硬件演奏电路的层次化设计方案,(2)音符译码电路Tonetaba设计,音符译码电路即音调发生器实际上是一个查表电路,放置21个音乐简谱对应的频率表,根据该表为数控分频模块(speaker)提供所发音符频率的初始值(该初始值可参照表10-2),而此数在数控分频模块入口的停留时间即为此音符的节拍数,不失一般性,VDHL程序中仅设置了“梁祝”乐曲全部音符所对应的音符频率的初始值,共16个,每个音符停留时间由音乐节拍发生器的时钟频率决定,在此为4Hz信号.,10.2.3 乐曲硬件演奏电路的层次化设计方案,(3)数控分频模块(speaker)设计,数控分频器对演奏电路的基准频率进行分频,得到与各个音阶对应的频率输出。数控分频模块是由一个初值可变的13位加法计数器构成。该计数器的模为8192,当计数器计满时,产生一个进位信号FullSpkS,该信号就是用作发音的频率信号(其频率值参见表10-2)。,在计数器的预置端给定不同的初值,其输出将产生不同的频率信号,频率信号初值Tone就是前级音符译码电路Tonetaba的输出,它计满所需要的分频比可由下式决定: Tone120+ 分频比=8192+进位信号FullSpkS,10.2.3 乐曲硬件演奏电路的层次化设计方案,(3)数控分频模块(speaker)设计,结合表10-2,分析式(10-5)可知,低音时,Tone值小,分频比大,进位信号SpkS的周期长,扬声器发出的声音低,Tone随音乐的乐谱而变化,自动控制分频比,从而实现数控分频,发生信号的频率与Tone成正比,这就是利用数控分频器自动演奏音乐的原理。,10.2.4乐曲演奏电路顶层电路的设计和仿真,根据图10-15的乐曲演奏电路示意图,可得图10-17 所示的是顶层电路原理图。,10.3 多功能算术逻辑运算单元的EDA设计,10.3.1设计要求,利用74181设计一个带进位控制的8位算术逻辑运算单元ALU_8,该算术逻辑运算单元具有16个数据通路,实现表10-4所示基本算术运算功能和逻辑运算功能。,10.3 多功能算术逻辑运算单元的EDA设计,10.3.2 原理描述,计算机的一个最主要功能就是处理各种算术和逻辑运算,该功能要由CPU中的运算器来完成。运算器也称算术逻辑运算单元(ALU)。其主要功能包括:,执行数值数据的算术加减乘除等运算, 执行逻辑数据的与或非等逻辑运算, 暂时存放参加运算的数据和中间结果, 由多个通用寄存器来承担。 运算器通常也是数据传输的通路 。,10.3 多功能算术逻辑运算单元的EDA设计,10.3.2 原理描述,根据设计要求,可得带进位控制的8位算术逻辑运算单元的结构框图如图10-19所示。其中8位ALU运算器模块,是利用2片4位ALU芯片74181级联构成的8位字长ALU。,10.3.3多功能算术逻辑运算单元层次化设计方案,1ALU运算器模块ALU_8的设计,10.3.3多功能算术逻辑运算单元层次化设计方案,216路通道计数模块CNT_16的设计 CNT_16实际上为一模16的二进制计数器, 可利用QuartusII的兆功能设计向导 MegaWizard Plug-In Manager定制模16的二进制计数器,定制时设clock为计数输入脉冲,q30为计数的二进制数输出,供ALU_8选择不同的运算模式。,10.3.3多功能算术逻辑运算单元层次化设计方案,3数据寄存器模块REG_A_B 数据寄存器模块REG_A_B的原理图如图10-21所示。为进行双操作数运算,运算器模块的两个8位数据由数据输入总线分别通过数据寄存器模块REG_A_B两个电平锁存器74373锁入。该模块的输入全部连在数据总线Data_bus70中,通过数据选择开关A0_B0,依次选择输出数据A70、B70给运算器模块ALU_8。,10.3.4多功能算术逻辑运算单元的顶层设计和仿真,根据10.3.2节的原理描述,可得到图10-22所示的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论