ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:4.54MB ,
资源ID:1016136      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-1016136.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(电子科技大学EDA指导书附完整答案.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

电子科技大学EDA指导书附完整答案.doc

1、数字系统EDA技术实验指导书学院:学号:姓名: 实验一 八位全加器的设计一、 预习内容1. 结合教材中的介绍熟悉Quartus软件的使用及设计流程;2. 八位全加器设计原理。二、实验目的3. 图形设计方法二、实验目的1. 掌握图形设计方法;2. 熟悉Quartus软件的使用及设计流程;3. 掌握全加器原理,能进行多位加法器的设计。三、实验器材三、 实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干四、实验要求 1、用VHDL设计一个四位并行全加器; 2、用图形方式构成一个八位全加器的顶层文件; 3、完成八位全加器的时序仿真。五、实验原理与内容1、原理:加法器是数字系统

2、中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。因此

3、本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。2、实现框图: 1)四位加法器 四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。2)八位加法器用两个并行四位加法器实现一个八位加法器的框图如

4、下:六、实验步骤1、 用VHDL语言或图形输入法设计一个并行四位全加器;2、 利用步骤一得到的四位全加器使用图形输入法实现一个8位全加器;3、 对最后的顶层文件进行编译、仿真;4、 如果时间有余可以直接设计一个八位的串行全加器,比较上述两种方法 综合后的不同(主要从消耗资源和运算速度考虑)。七、实验报告1、四位加法器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4 is port(c4: in std_logic; a4: in std_logic_vector(3 do

5、wnto 0); b4: in std_logic_vector(3 downto 0); s4: out std_logic_vector(3 downto 0); co4: out std_logic);end entity adder4;architecture art of adder4 is signal s5:std_logic_vector(4 downto 0); signal a5,b5:std_logic_vector(4 downto 0); begin a5=0&a4; b5=0&b4; s5=a5+b5+c4; s4=s5(3 downto 0); co4c8,a4=

6、a8(3 downto 0),b4=b8(3 downto 0),s4=s8(3 downto 0),co4=sc); u2:adder4 port map(c4=sc,a4=a8(7 downto 4),b4=b8(7 downto 4),s4=s8(7 downto 4),co4=co8); end architecture art;电路图 仿真波形实验二 用七段LED显示8421BCD码的VHDL设计一、预习内容1、 结合附录一了解EDA实验箱的原理;2、 七段LED显示原理;3、 怎样用VHDL实现8421BCD码在七段LED数码管上显示。二、实验目的实验目的1. 了解VHDL进行ED

7、A设计的基本步骤;2. 学会用Quartus进行时序仿真;3. 了解EDA实验箱的基本功能;三、实验器材验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干四、实验要求1. 用VHDL设计具有清除端、使能端,计数范围为0-999的计数器设计。输出为8421BCD码;2. 用VHDL设计七段LED译码显示电路;3. Quartus进行时序仿真;4. 下载该程序验证程序是否正确;5. 请事先准备一个优盘,本实验程序需要保存,后面实验需要用到。五、实验原理与内容1、 8421BCD编码 在数字系统中常用四位二进制代码来表示一位十进制数字0、1、2、9,称之为二十进制代码,即BC

8、D码。将十进制数编成BCD码的电路,称为称二十进制(BCD)编码器。二-十进制编码的方案很多,若BCD编码器采用8421编码方案,称为8421BCD编码器。2、 七段译码器下图为译码器逻辑图,请按图进行连线。其中A,B,C,D 接拨号开关,a,b,c,d,e,f,g 接数码显示接口,管脚映射均为I/O 口,映射后,通过拨号开关改变输入二进制码,则输出数码管上显示相应的数值。3、 译码器真值表数值输入输出ABCDabcdefg00000111111010001011000020010110110130011111100140100011001150101101101160110101111170

9、1111110000810001111111910011111011A10101110111B10110011111C11001001110D11010111101E11101001111F11111000111六、实验步骤1、写出七段译码器和具有清除端、使能端,计数范围为0-999的计数器的VHDL源程序,编译通过;2、进行波形仿真;3、选定器件、映射管脚、编译、下载。七、实验报告1、写出实验源程序,画出仿真波形;三、各模块VHDL程序1、0-9计数器2、0-999计数器3、译码显示模块四、各模块仿真测试 1、(1)0-9计数器功能仿真:2、(1)0-999计数器功能仿真:3、(1)译码显示

10、电路功能仿真4、(1)整体时序仿真:五、实验结论:1、十进制计数器确实能实现对时钟脉冲的计数并且产生进位输出;2、由十进制计数器级联成的0-999计数器也能实现对时钟脉冲的计数,并且产生进位输出,而且输出的计数符合8421码格式。3、七段显示程序的输出是十六进制形式,输出结果与原理完全一致。4、各个仿真波形均有延迟。5、各模块及总体均符合功能设计要求。六、思考题:要译出0-9和一,只需要将译码模块中的when others= dout doutyyyyyyyyyyy=0000000; End case;End process;End architecture rt1;计数器源程序Library

11、 ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity count is Port(clk,reset:in std_logic; d:out std_logic_vector(2 downto 0);End entity count;Architecture rt1 of count isSignal y:std_logic_vector(2 downto 0);Begin Process(clk,reset) is Begin d=y; if reset=1 then y=000; else if (

12、clkevent and clk=1) then if (y=111) then y=000; else y=y+1; end if; end if; end if;end process;end architecture rt1;输入数据Library ieee;Use ieee.std_logic_1164.all;Entity data is Port(count:in std_logic_vector(2 downto 0); reset:in std_logic; y:out std_logic_vector(3 downto 0);End entity data;Architect

13、ure rt1 of data isBegin Process(count,reset) isBegin if reset=1 then yyyyyyyyyy=0000; End case; end if;End process;End architecture rt1;电路图仿真波形显示结果2、 总结实验步骤和实验结果 实验过程中用到的子程序很多,要保证每一个子程序的准确性。因为输入很多,在做波形图的时候要注意接入高低电平。3、 心得体会 在调试输出的数据的时候要注意高位和低位。在实验过程中,就出现了高地位相反的问题。 实验四 数字频率计的设计及实现一、预习内容1、什么是数字频率计;2、数字

14、频率计实现原理;3、写出原理草图和源程序。二、实验目的二、实验目的1、学会数字频率计的设计方法;2、掌握自顶向下的设计方法,体会其优越性。三、实验器材三、实验器材PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干四、实验要求1、用VHDL完成8位数字频率计的设计, 该频率计要求频率测量范围:1 Hz 20 MHz;具有清零复位功能;频率测量结果用八位数码管稳定显示;2、用实验系统箱实现该频率计,并用数码管显示所测的频率值。五、实验原理与内容1、测频原理若某一信号在T秒时间里重复变化了N 次,则根据频率的定义可知该信号的频率fs 为:fs=N/T 通常测量时间T取1秒或它的十进

15、制时间。频率计方框图如下:1)时基T 产生电路:提供准确的计数时间T。晶振产生一个振荡频率稳定的脉冲,通过分频整形、门控双稳后,产生所需宽度的基准时间T的脉冲,又称闸门时间脉冲。注意:分频器一般采用计数器完成,计数器的模即为分频比。2)计数脉冲形成电路:将被测信号变换为可计数的窄脉冲,其输出受闸门脉冲的控制。3)计数显示电路:对被测信号进行计数,显示被测信号的频率。计数器一般采用多位10 进制计数器;控制逻辑电路控制计数的工作程序:准备、计数、显示、复位和准备下一次测量。2、具体实现:1) 测频控制逻辑电路(以1 秒为例)2) 产生一个1秒脉宽的周期信号;3) 对计数器的每一位计数使能进行控制

16、;4) 完成下一次测量前的计数器复位;以下是一种可能的时序关系:5) 10 进制计数器要求具有计数使能端CNTEN、复位端CLR、进位输出端CO。3、元件例化图(方框图):注意:用8个十进制计数器实现1MHz 计数。六、实验步骤六、实验步骤1、画出实验原理方框图;2、设计各个元件;3、进行元件例化;4、下载程序,查看数码管显示的频率是否和待测的频率相同。七、实验报告1、源程序CNT10library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity CNT10 is port(clk,clr,ena:

17、in std_logic; cq:out integer range 0 to 15; carry_out:out std_logic);end entity CNT10;architecture art of CNT10 issignal cqi:integer range 0 to 15;begin process(clk,clr,ena) is begin if clr=1 then cqi=0;elsif clkevent and clk=1 then if ena=1 then if cqi9 then cqi=cqi+1;else cqi=0;end if; end if;end

18、if; end process; cq=cqi;end architecture art;FRE_DIVIDElibrary ieee;use ieee.std_logic_1164.all;entity FRE_DIVIDE is port(clk_1M:in std_logic; clk_1K,clk_1MZ:out std_logic);end entity FRE_DIVIDE;architecture art of FRE_DIVIDE issignal cout1,cout2:integer;signal K,MZ:std_logic;beginprocess(clk_1M) is

19、begin clk_1K=K; clk_1MZ=MZ; if (clk_1Mevent and clk_1M=1) then if cout1999999 then cout1=cout1+1;MZ=0;else cout1=0;MZ=1;end if;if cout29999 then cout2=cout2+1;K=0;else cout2=0;K=1;end if; end if;end process;end architecture art;REG32Blibrary ieee;use ieee.std_logic_1164.all;entity REG32B is port(loa

20、d:in std_logic; din:in std_logic_vector(31 downto 0); dout:out std_logic_vector(31 downto 0);end entity REG32B;architecture art of REG32B is begin process(load,din)is begin if loadevent and load=1 then doutyyyyyyyyyyy=0000000; End case;End process;End architecture rt1;TESTCT1library ieee;use ieee.st

21、d_logic_1164.all;use ieee.std_logic_unsigned.all;entity testctl is port(clk:in std_logic; tsten,clr_cnt,load:out std_logic);end entity testctl;architecture art of testctl is signal div2clk:std_logic; begin process(clk)is begin if clkevent and clk=1 thendiv2clk=not div2clk;end if; end process; process(clk,div2clk)is begin if clk=0and div2clk=0 thenclr_cnt=1;else clr_cnt=0;end if; end process; load=not div2clk;tsten=div2clk;end architecture art;2、3、

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922