EDA及VHDL实验指导书060438_第1页
EDA及VHDL实验指导书060438_第2页
EDA及VHDL实验指导书060438_第3页
EDA及VHDL实验指导书060438_第4页
EDA及VHDL实验指导书060438_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、实验一 1位全加器的设计一、实验目的1、掌握Quartus软件原理图输入法使用流程。2、熟悉ZY11EDA13BE型实验箱的开关按键模块,LED显示模块。二、实验内容在Quartus软件中使用原理图输入法设计并实现一个1位全加器。三、实验仪器1、ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。2、并口延长线,JTAG延长线。(所有实验均包括,以下实验中均略去)3、安装Quartus软件的PC机。(所有实验均包括,以下实验中均略去)四、实验原理1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为

2、同或符合,相同为1,不同为0)来实现。先设计底层文件:半加器,再设计顶层文件全加器。(1)半加器的设计:半加器表达式:进位:co=a and b和 :so=a xnor (not b) 半加器原理图如下:(2)全加器的设计:全加器原理图如下:五、实验注意事项:实验指导书中的所有实验内容都是针对主板系统的核心芯片EP1K30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。 六、实验步骤本实验的详细设计步骤可以参考附带光盘的示例课件。 1、在Quartus软件中新建原理图文件,输入原理图,进行编译,仿真。2、指定目标器件,并对编译通过的原理图分配管

3、脚(可参考实验原理),分配完后再编译一次。3、用并口延长线连接计算机机箱并口和实验箱并口插座,用JTAG延长线连接通用编程模块下载接口插座和配置模块核心芯片下载接口插座,接通实验箱电源,将实验箱电源按钮APW1,APW2按下,电源指示灯PL0-PL4亮。4、下载配置文件f_adder.pof到目标芯片。5、将拨码开关CTRL的(2)、(4)、(8)均设置为“ON”。6、拨位开关KD1、KD2、KD3分别作为全加器a输入,b输入和进位c输入。LED1、LED2分别作为全加器进位和全加和。记录全加器的实验结果填入实验报告。灯亮表示1(高电平),灯灭表示0(低电平)。七、实验报告1、 列出半加器与全

4、加器的真值表。如果实验室条件允许,打印半加器和全加器仿真波形图贴于实验报告中。2、 用文字描述出怎样实现层次化设计。3、 1位全加器的实现方法很多,画出其它方法的原理图。八、思考题1、 多位全加器就是在一位的原理上扩展而成的,设计出原理图输入的8位全加器。2、 集成电路全加器芯片有7480、7483等,试述其内部结构是如何实现的?3、 参考全加器的设计思路设计出原理图输入的1位全减器。(提示:全加器的设计是根据真值表来建立最简表达式,最简表达式应该是一些基本门电路,同样全减器的设计也是如此)。实验二 基本逻辑门实验一、实验目的熟悉并掌握简单的VHDL程序的基本结构。 二、实验内容分别设计并实现

5、与门、或门、反相器的VHDL模型。三、实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。四、实验原理1、二输入与门(AND Gate):在该模型中计算两个输入信号in1和in2的逻辑与,输出结果为out1,逻辑表达式为out1in1 AND in2。下例19-1-1即为该逻辑门的VHDL模型: 例19-1-1还可以使用进程的等价方式,如下面的例19-1-2所示:下图19-1为本例2输入与门的仿真图形:图19-1 2输入与门的仿真图形2、二输入或门(OR Gate):在该模型中计算两个输入信号in1和in2的逻辑或,输出结果为out1,逻辑表达式为out

6、1in1 OR in2。下例19-2-1即为该逻辑门的VHDL模型:例19-2-1还可以使用进程的等价方式,如下面的例19-2-2所示:下图19-2为本例2输入或门的仿真图形:图19-2 2输入或门的仿真图形3、反相器(Inverter):在该模型中计算输入信号in1逻辑非,输出结果为out1,逻辑表达式为out1NOT in1,下例19-3-1即为该逻辑门的VHDL模型:例19-3-1还可以使用进程的等价方式,如下面的例19-3-2所示:下图19-3为本例非门的仿真图形:图19-3 非门的仿真图形实验三 基本组合逻辑电路的VHDL模型一、实验目的1、掌握简单的VHDL程序设计。2、掌握用VH

7、DL对基本组合逻辑电路的建模。二、实验内容分别设计并实现缓冲器、选择器、译码器、编码器、移位器、全加器的VHDL模型。三、实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。四、实验原理1、三态缓冲器:三态缓冲器(Tri-state Buffer)的作用是转换数据、增强驱动能力以及把功能模块与总线相连接。在使用总线互连方式时,与总线通信的器件通常要通过三态缓冲器与总线相连。如果缓冲器的使能端en为1,则缓冲器的输入端in1的信号值被复制到输出端;如果缓冲器的使能端en为其它数值,则缓冲器的输出端为高阻态。三态缓冲器的输出端可以用线与的方式和其他缓冲器的输

8、出端接在一起。下例20-1-1给出了三态缓冲器的VHDL源代码模型:在IEEE的1164标准程序包中,用Z表示高阻态,现在的EDA综合工具一般都能根据这种描述综合得到三态器件。下图20-1为本例中三态缓冲器的仿真波形图:图20-1 三态缓冲器的仿真图形2、数据选择器(Multiplexer):在数字系统设计时,需要从多个数据源中选择一个,这时就需要用到多路选择器。下例20-2-1给出了四选一、被选择数字宽度为3的选择器VHDL源代码模型: 在上面这个模型中,由于使用了条件赋值语句,所以写得很简短。上面的程序代码还可以改写为使用进程的等价方式。如下例20-2-2的VHDL源代码所示: 由于模型中

9、使用了std_Logic和std_Logic_vector数据类型,sel可能的数值不止四种,所以两种模型中都有一个分支来处理其他的数值。在综合的时候,EDA工具一般都忽略这一分支。除了处理三态器件中的高阻态Z外,综合工具采用完全相同的方法来处理std_Logic和Bit数据类型。图20-2为本例中多路选择器的仿真波形图:图20-2 多路选择器的仿真图形3、译码器(Decoder):译码器(Decoder)的输入为N位二进制代码,输出为2N个表征代码原意的状态信号,即输出信号的2N位中有且只有一位有效。常见的译码器用途是把二进制表示的地址转换为单线选择信号。下面例20-3-1为一个3-8译码器

10、的VHDL源代码模型:下图20-3为本例中3-8译码器的仿真波形图:图20-3 3-8译码器的仿真图形4、编码器(Encoder):编码器(Encoder)的行为是译码器行为的逆过程,它把2N个输入转化为N位编码输出。有的编码器要求输入信号的各位中最多只有一位有效,且规定如果所有输入位全无效时,编码器输出指定某个状态。编码器的用途很广,比如说键盘输入编码等。下面例20-4-1为一个8-3优先编码器的VHDL源代码模型:下图20-4为本例中8-3优先编码器的仿真波形图:图20-4 8-3优先编码器的仿真图形五、实验步骤1、在Quartus软件中新建文本文件,输入自己设计的VHDL程序代码,编译,

11、仿真,锁定管脚并下载到目标芯片。2、用拨位开关作为输入,LED作为输出,分别验证结果的正确性。实验四 基本时序逻辑电路的VHDL模型一、实验目的1、掌握简单的VHDL程序设计。2、掌握VHDL对基本时序逻辑电路的建模。二、实验内容分别设计并实现锁存器、触发器、寄存器、计数器的VHDL模型。三、实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块LED显示模块。 四、实验原理1、 锁存器(latch):顾名思义,锁存器(latch)是用来锁存数据的逻辑单元。锁存器一般可以分成三种基本类型:电平锁存器、同步锁存器和异步锁存器。下面我们将逐一介绍这三种锁存器的VHD

12、L模型的描述方式。(1)、电平锁存器:电平锁存器一般用在多时钟电路,比如微处理器芯片中。电平锁存器的特点是:常常有多路数据输入。例21-1-1为单输入电平锁存器的VHDL模型:当复位信号reset有效(高电平)时,锁存器latch1被复位,输出信号q为低电平;当复位信号reset无效(低电平)时,如果s信号为高电平,输出信号q输出输入端的值;当s信号为低电平时,latch1的输出信号q保持原值,亦即数据锁存。下图21-1为单输入电平锁存器的仿真波形图:图21-1 单输入电平锁存器的仿真图形2、 触发器(flip-flop):触发器(flip-flop)是最基本的时序电路单元,指的是在时钟沿的触

13、发下,引起输出信号改变的一种时序逻辑单元。常见的触发器有三种:D触发器、T触发器和JK触发器。(1)、D触发器:D触发器是最常用的触发器。按照有无复位信号和置位信号,以及复位、置位信号与时钟是否同步,可以分为多种常见的D触发器模型,以下将逐一给出示例和简单的说明。例21-2-1为简单D触发器的VHDL模型:D触发器dff1是最简单的D触发器,没有复位和置位信号,在每个时钟信号clk的上升沿,输出信号q值为输入信号d;否则,触发器dff1的输出信号q保持原值。图21-5为简单D触发器的仿真波形图:图21-5 简单D触发器的仿真图形(2)、T触发器:T触发器的特点是在时钟沿处输出信号发生翻转。按照

14、有无复位、置位信号以及使能信号等,T触发器也有多种类型。例21-2-8为带异步复位T触发器的VHDL模型:tff1是一个带有异步复位的T触发器。每当时钟信号clk或者复位信号clr有跳变时进程被激活。如果此时复位信号clr有效(高电平),T触发器tff1被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而时钟信号clk出现上跳沿,则T触发器tff1的输出信号q发生翻转;否则,输出信号q保持不变。图21-12为带异步复位T触发器的仿真波形图:图21-12 带异步复位T触发器的仿真图形(3)、JK触发器:JK触发器中,J、K信号分别扮演置位、复位信号的角色。为了更清晰的表示出JK触发器

15、的工作过程,以下给出JK触发器的真值表(如表21-1所示)。JKCLKQn+100Qn10101011NOT QnXXQn表21-1 JK触发器真值表按照有无复位(clr)、置位(prn)信号,常见的JK触发器也有多种类型,例21-2-11为基本JK触发器的VHDL模型:jkff1是一个基本的JK触发器类型。在时钟上升沿,根据j、k信号,输出信号q作相应的变化。用case语句实现if条件语句,即简化了语句,又增加了效率。图21-15为基本JK触发器的仿真波形图:图21-15 基本JK触发器的仿真图形3、 寄存器(Register):寄存器(register)也是一种重要的基本时序电路。顾名思义

16、,寄存器主要是用来寄存信号的值,包括标量和向量。在数字系统设计中,可将寄存器分成通用寄存器和移位寄存器。(1)、通用寄存器:通用寄存器的功能是在时钟的控制下将输入数据寄存,在满足输出条件时输出数据。例21-3-1为通用寄存器的VHDL模型:reg是一个通用寄存器,在时钟信号clk的上升沿,如果输出使能信号enable有效(高电平),则输入信号d送到寄存器中,输出信号q为输入信号d的值,否则输出信号q保持原值不变,亦即起到锁存数据的作用。图21-17为通用寄存器的仿真波形图:图21-17 通用寄存器的仿真图形(2)、移位寄存器:顾名思义,移位寄存器的功能是寄存输入数据,并在控制信号的作用下将输入

17、数据移位输出。移位寄存器种类繁多,大致可以归纳为逻辑移位寄存器和算术移位寄存器两大类。逻辑移位寄存器的特点是,高位和低位移入的数据都为零;算术移位寄存器的特点是,高位移入的数据为相应符号的扩展,低位移入的数据为零。例21-3-2为简单移位寄存器的VHDL模型:在每个时钟的上升沿,移位寄存器shift根据控制指令control将输入数据d逻辑左移相应位后输出。图21-18为简单移位寄存器的仿真波形图:图21-18 简单移位寄存器的仿真图形例21-3-3为循环移位寄存器(cycle shift register)的VHDL模型:在每个时钟的上升沿,循环移位寄存器shift根据控制指令control

18、将输入数据d循环左移相应位后输出。图21-19为循环移位寄存器的仿真波形图:图21-19 循环移位寄存器的仿真图形4、 计数器(counter):计数器(counter)是数字系统中常用的时序电路,因为计数是数字系统的基本操作之一。计数器在控制信号下计数,可以带复位和置位信号。因此,按照复位、置位与时钟信号是否同步可以将计数器分为同步计数器和异步计数器两种基本类型,每一种计数器又可以分为进行加计数和进行减计数两种。在VHDL描述中,加减计数用“”和“”表示即可。(1)、同步计数器:同步计数器与其它同步时序电路一样,复位和置位信号都与时钟信号同步,在时钟沿跳变时进行复位和置位操作。例21-4-1

19、为带时钟使能的同步4位二进制减法计数器的VHDL模型:count是一个带时钟使能的同步4位二进制减法计数器,计数范围F0。每当时钟信号或者复位信号有跳变时激活进程。如果此时复位信号clr有效(高电平),计数器被复位,输出计数结果为0;如果复位信号无效(低电平),而时钟信号clk出现上升沿,并且计数器的计数使能控制信号en有效(高电平),则计数器count自动减1,实现减计数功能。图21-20为带时钟使能的同步4位二进制减法计数器的仿真波形图:图21-20 带时钟使能的同步4位二进制减法计数器的仿真图形五、实验步骤1、在Quartus软件中新建文本文件,输入自己设计的VHDL程序代码,编译,仿真

20、,锁定管脚并下载到目标芯片。2、将信号源模块第一全局时钟GCLK1跳线器接需要的时钟频率CLK,拨位开关作为数据输入和控制信号输入,LED作为锁存器、触发器、寄存器、计数器的输出,观察显示结果,验证程序的正确性。 实验五 有限状态机的设计一、实验目的1、 了解有限状态机的概念。2、 掌握Moore型有限状态机的特点和其VHDL语言的描述方法。3、 掌握Mealy型有限状态机的特点和其VHDL语言的描述方法。二、实验内容1、 绘制本实验中例22-1-1的状态转换图。2、 上机编写本实验中例22-1-1的VHDL程序,并实验验证程序的正确性。3、 绘制本实验中例23-1-1的状态转换图。4、 上机

21、编写本实验中例23-1-1的实验程序,并进行实验验证程序的正确性。三、实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块LED显示模块。四、实验原理我们知道,任何数字系统都可以分为相互作用的控制单元(control unit)和数据通道(data path)两部分。数据通道通常由组合逻辑构成,而控制单元通常由时序逻辑构成,任何时序电路都可以表示为有限状态机(Finite State Machine,FSM)。在第三章基本时序逻辑电路建模的基础上,本章主要介绍有限状态机实现复杂时序逻辑电路的设计。数字系统控制部分的每一个部分都可以看作一种状态,与每一控制相关的

22、转换条件指定了状态的下一个状态和输出。根据有限状态机的输出与当前状态和当前输入的关系,可以将有限状态机分成Moore型有限状态机和Mealy型有限状态机两种。从现实的角度,这两种状态机都可以实现同样的功能,但是它们的时序不同,选择使用哪种有限状态机要根据实际情况进行具体分析。在本实验中我们将重点介绍Moore型有限状态机,而Mealy型有限状态机将在实验二十三中进行具体的阐述。1、Moore型有限状态机的输出只与有限状态机的当前状态有关,与输入信号的当前值无关。在图22-1中描述了Moore型有限状态机的示意图。图22-1 Moore型有限状态机示意图Moore型有限状态机在时钟clock脉冲

23、的有效边沿后的有限个门延时后,输出达到稳定值。即使在一个时钟周期内输入信号发生变化,输出也会在一个完整的时钟周期内保持稳定值而不变。输入对输出的影响要到下一个周期才能反映出来,Moore型有限状态机最重要的特点就是将输入与输出信号隔离开来。例22-1-1为一单进程Moore型有限状态机的例子,其VHDL语言描述如下:例22-1-1是一个单进程的Moore状态机,其特点是组合进程和时序进程在同一个进程中,此进程可以认为是一个混合进程。注意在此进程中,CASE语句处于测试时钟上升沿的ELSIF语句中,因此在综合时,对Q的赋值操作必然引进对Q锁存的锁存器。这就是说,此进程中能产生两组同步的时序逻辑电

24、路,一组是状态机本身,另一组是由CLK作为锁存信号的4位锁存器,负责锁存输出数据Q。与多进程的状态机相比,这个状态机结构的优势是,输出信号不会出现毛刺现象。这是由于Q的输出信号在下一个状态出现时,由时钟上升沿锁入锁存器后输出,即有时序器件同步输出,从而很好地避免了竞争冒险现象。从输出的时序上看,由于Q的输出信号要等到进入下一状态的时钟信号的上升沿进行锁存,即Q的输出信号在当前状态中由组合电路产生,而在稳定了一个时钟周期后在次态由锁存器输出,因此要比多进程状态机的输出晚一个时钟周期,这是此类状态机的缺点。图22-2为例22-1-1单进程Moore状态机的工作时序图:图22-2 例22-1-1单进

25、程Moore型状态机的工作时序2、Mealy型有限状态机的输出不单与当前状态有关,而且还与输入信号的当前值有关。在图23-1中描述了Mealy型有限状态机的示意图。图23-1 Mealy型有限状态机示意图Mealy型有限状态机的输出直接受输入信号的当前值影响,而输入信号可能在一个时钟周期内的任意时刻发生变化,这使得Mealy型有限状态机对输入的响应发生在当前的时钟周期,比Moore型有限状态机对输入信号的响应要早一个周期。因此,输入信号的噪声可能影响正在输出的信号。例23-1-1是一个两进程Mealy型有限状态机的例子。进程COMREG是时序与组合混合型进程,它将状态机的主控时序电路和主控状态

26、译码电路同时用一个进程来表达。进程COM1负责根据当前输入状态和输入信号的变化给出不同的输出数据。该例的VHDL语言如下所示:在例23-1-1中,由于输出信号是由组合逻辑电路直接产生,所以可以从该状态机的工作时序图23-2上清楚的看到输出信号有许多毛刺。为了解决这个问题,可以考虑将输出信号Q值由时钟信号锁存后再输出。可以在例23-1-1的COM1进程中添加一个IF语句,由此产生一个锁存器,将Q锁存后再输出。但是如果实际电路的时间延迟不同,或发生变化,就会影响锁存的可靠性,即这类设计方式不能绝对保证不出现毛刺。比较保险的方式仍然是参照实验二十二的例22-1-1中单进程的描述方法,这个工作将留给读

27、者自行完成,此处不再加以说明。图23-2 例23-1-1多进程Mealy型状态机的工作时序五、实验步骤1、在Quartus软件中新建文本文件,输入例22-1-1的VHDL程序代码,编译,仿真,锁定管脚并下载到目标芯片。2、将信号源模块第一全局时钟GCLK1跳线器接需要的时钟频率CLK,拨位开关作为数据输入和控制信号输入,LED作为状态机输出,观察实验结果。3、在Quartus软件中新建文本文件,输入例23-1-1的VHDL程序代码,编译,仿真,锁定管脚并下载到目标芯片。4、将信号源模块第一全局时钟GCLK1跳线器接需要的时钟频率CLK,拨位开关作为数据输入和控制信号输入,LED作为状态机输出,

28、观察实验结果。 实验六 “梁祝”乐曲演奏电路设计一、实验目的1、 了解乐曲演奏电路的原理。2、 掌握利用可编程逻辑器件实现乐曲演奏的设计方法。二、实验内容验证梁祝乐曲演奏程序。三、实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,数码管显示模块喇叭模块。四、实验原理与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多。如果不借助于功能强大的EDA工具和硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也很难实现。根据声乐学知识,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能连续演奏所需的两个基本要素,获取这两个要素所

29、对应的数值以及通过纯硬件的手段来利用这些数值实现所希望乐曲的演奏效果是本实验的关键。本设计由三个模块组成,各模块的功能如下所述:模块一SPEAKER为一个数控分频器。其CLK端输入一个具有较高频率(本实验为12MHz)的信号,通过SPEAKER分频后由SPKOUT输出。由于直接从数控分频器中出来的输出信号是脉宽极窄的脉冲式信号,为了便于驱动喇叭,需另加一个D触发器均衡其占空比,但这时的频率将是原来的1/2。SPEAKER对CLK输入信号的分频比由11位预置数TONE10.0决定。SPKOUT的输出频率将决定每一音符的音调,这样分频计数器的预置值TONE10.0与SPKOUT的输出频率就有了对应

30、关系。例如在TONETABA模块中若取TONE10.0=1036,作为发音符为“3”音的信号频率。模块二TONETABA是确定乐曲的速度以及每个音符的节拍数。TONETABA的功能首先是为SPEAKER提供决定所发音符的分频预置数,而此数在SPEAKER输入口停留的时间即为此音符的节拍值。模块TONETABA是乐曲简谱码对应的分频预置数查表电路,其中设置了“梁祝”乐曲全部音符所对应的分频预置数,共13个,每一音符的停留时间由音乐节拍和音调发生器模块NOTETABS的CLK输入频率来决定,在此为4Hz。这13个值的输出由对应于TONETABA的4位输入值Index3.0来确定,而Index3.0

31、最多有16种可选值。输向TONETABA中的值ToneIndex3.0的输出值与持续的时间由模块NOTETABS来决定。模块三NOTETABS为音调发生器。在NOTETABS中设置了一个8位二进制计数器(计数最大值为138),这个计数器的计数频率选为4Hz,即每一计数值的停留时间为0.25S,恰好为当全音符设为1S时,四四拍的4分音符的持续时间。例如,NOTETABS在以下的VHDL逻辑描述中,“梁祝”乐曲的第一个音符为“3”,此音在逻辑中停留了4个时钟节拍,即为1S时间,相应地所对应的“3”音符分频预置值为1036在SPEAKER的输入端停留了1S。随着NOTETABS中的计数器按4Hz的时

32、钟频率作加法计数时,“梁祝”乐曲就开始连续自然地演奏起来了。下表28-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表28-1 简谱中音名与频率的关系由于对应的频率点都有小数部分

33、,在分频时不需花大量时间去产生分频电路,只要大概频率点在此范围内即可,本实验采用下图所示频率点,我们把音符与音谱对应定义如下:现在提供转换的“梁祝”乐曲音符,需要演奏其它乐曲的原理相同,只需修改音符即可:3;3;3;3;5;5;5;6;8;8;8;9;6;8;5;5;12;12;12;15;13;12;10;12;9;9;9;9;9;9;9;0;9;9;9;10;7;7;6;6;5;5;5;6;8;8;9;9;3;3;8;8;6;5;6;8;5;5;5;5;5;5;5;5;10;10;10;12;7;7;9;9;6;8;5;5;5;5;5;5;3;5;3;3;5;6;7;9; 6; 6;6;

34、6; 6; 6; 5; 6; 8; 8; 8; 9; 12; 12; 12; 10;9;9; 10; 9;8; 8; 6; 5; 3; 3; 3; 3; 8; 8; 8; 8; 6;8; 6; 5; 3; 5; 6; 8; 5; 5; 5; 5; 5; 5; 5; 5;0; 0; 0;五、实验步骤1、在Quartus软件中新建原理图文件,输入自己设计的原理图,编译,仿真,锁定管脚并下载到目标芯片。2、将第一全局时钟CLK1的跳线器接4Hz,第二全局时钟CLK2的跳线器接32768Hz,第三全局时钟CLK3的跳线器接12MHz。将喇叭模块跳线SK2短接。可调电位器SW1控制喇叭音量大小。数码管S

35、M4显示乐曲音符的高、中、低音(0代表低音,1代表中音,2代表高音);数码管SM2SM3显示常零。数码管SM1显示乐曲演奏的音符(高、中、低17音符)。观察、倾听实验结果。 3、画出顶层设计文件的原理图,叙述电路的工作原理。实验七 D/A接口电路与波形发生器设计 一、实验目的学习利用可编程逻辑器件设计D/A器件的接口控制电路。二、实验内容1、 设计一个正弦波产生电路。(提示:输入连续的点即可显示为波形)2、 利用模拟信号源模块MAX038实现一个扫频信号源。 (提示:MAX038第10脚输入的是一个电流量,由此电流来控制输出频率即内部是一个振荡电流产生器(OSCILLATOR CURRENT

36、GENERATOR),在产生锯齿波的基础上将不同电压输入到第10脚后就可输出不同频率的信号即扫频源信号。)三、实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,模拟信号源模块A/D、D/A转换模块,滤波模块,信号调节模块,数码管显示模块,示波器。四、实验原理本实验采用8位的D/A转换器TLC7524(此芯片详细资料在光盘中实验二十九文件夹内),其引脚如下图29-1所示(DIP16封装): 图29-1 TLC7524引脚图(1)、/WR:写信号,低电平有效。实验电路已接为低电平,写入始终有效。(2)、OUT1/OUT2:电流输出1和2。TLC7524输出的D/A转换量是电

37、流形式,因此必须接一个运放将电流信号变为电压信号。实验电路已接好转换电路,直接测量输出量OUT即可。(3)、REF:基准电压。(4)、RFB:反馈电阻端。(5)、VDD、GND:电源和地。(6)、/CS:片选信号;(7)、DB0DB7:D/A转换的输入数据。采用TLC7524进行D/A转换的具体接口电路见第一部分实验系统简介中,关于D/A转换模块的描述。五、实验步骤1、在Quartus软件中新建原理图文件,输入自己设计的原理图,编译,仿真,锁定管脚并下载到目标芯片。2、对于实验内容1,将电源模块按钮APW2按下,为TCL7524提供12V电压。将第一全局时钟CLK1的跳线器接1Hz-6MHz任

38、意频率,第二全局时钟CLK2的跳线器接32768Hz。DAOUT输出信号接示波器可观察到D/A转换后的波形。该信号为正弦波,峰峰值约为1V。正弦波的频率随着D/A器件输入待转换数据的速度而相应变化,本实验输入数据速度由CLKIN(已接CLK1)的输入频率决定,频率变化范围为1Hz6MHz。在输入时钟CLKIN很小时,如1Hz,则在数码管SM2SM1上可观察到即时的DA转换数值。DAOUT输出的波形,是没有经过滤波的波形。如要得到较为光滑的输出波形,可以将DAOUT的输出波形经过滤波模块进行滤波和信号调节模块进行放大处理,从而得到伏值更大的光滑波形。有关滤波模块和信号调节模块的使用可参考第一部分

39、的实验系统模块介绍。观察实验结果。3、对于实验内容2,将电源模块按钮APW2按下,为TCL7524提供12V电压。将模拟信号源模块电源按钮AP1、AP2按下,开启模拟信号源。将第一全局时钟CLK1的跳线器接1024Hz。首先将DAOUT的输出信号接到信号调节模块,即用实验连接线将D/A模块的DAOUT插孔和信号调节模块的IN2插孔相连,对D/A模块的输出信号进行放大,通过调节电位器FW4可以改变输出信号幅值的大小。其次将信号调节模块的输出信号OUT2接到模拟信号源模块,即用实验连接线将DA模块的DAOUT插孔和模拟信号源模块的IN插孔相连(此时需将AJ0、AJ4的跳线取下、短接AJ2,并把AB

40、2向上拨选择正弦波)。 最后将模拟信号源的输出信号OUT接到滤波模块,进行低通滤波。通过调节电位器FW1和FW2得到扫频信号。观察实验结果。4、总结实验过程中的问题,记录实验结果。实验八 高速A/D采样控制器设计 一、实验目的学习利用可编程逻辑器件设计A/D器件的接口控制电路。二、实验内容1、编写出本实验A/D转换接口控制器件的VHDL程序代码。2、在实验系统上实现对一交流模拟信号采集(A/D转换),并通过D/A转换输出。三、实验仪器ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,模拟信号源模块A/D、D/A转换模块,滤波模块,信号调节模块,分立元件模块,开关按键模块、数码管

41、显示模块,示波器。四、实验原理对于高速A/D采样控制,比如说每秒采样一百万个点,普通的单片机受顺序结构指令周期的限制已经不能胜任。而这类控制逻辑比较简单,非常适合用CPLD/FPGA控制。本实验以TLC5510(该芯片资料附在光盘内)为例介绍FPGA的高速采样控制。TLC5510是TI公司的高速模数转换器,用于视频处理、高速数据转换等领域,采用CMOS工艺制造,精度为8位,转换速率为20MSPS(每秒采样20M次)。采用半闪速(SemiFlash)结构,内建采样保持(S/H)电路,图30-1为TLC5510的引脚图,图30-2为TLC5510采样时序图。图30-1 TLC5510引脚图 图30-2 TLC5510采样时序图TLC5510各引脚功能如下:clk:时钟信号输入。Analog In:模拟信号输入。D1D8:转换数据输出。Reft、Refb、Refts、Refbs:参考电压基准输入。OE:输出使能,低电平有效。DGND、VDDD:数字地、数字电源端。AGND、VDDA:模拟地、模拟电源端。由TLC5510的采样时序图可以看出,TLC551

温馨提示

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

最新文档

评论

0/150

提交评论