北邮数电实验

上传人:干*** 文档编号:164606092 上传时间:2022-10-25 格式:DOCX 页数:18 大小:544.67KB
收藏 版权申诉 举报 下载
北邮数电实验_第1页
第1页 / 共18页
北邮数电实验_第2页
第2页 / 共18页
北邮数电实验_第3页
第3页 / 共18页
资源描述:

《北邮数电实验》由会员分享,可在线阅读,更多相关《北邮数电实验(18页珍藏版)》请在装配图网上搜索。

1、北京邮电大学数字电路与逻辑设计实验报告(实验 2)电子202-赵依然-2018212048 摘要:本次数字电路与逻辑设计实验以初步掌握 VHDL 语言设计简 单的数字电路,并且在QuartusH仿真为目的,加深组合逻辑电路 和时序逻辑电路的基本原理、设计理念、运转方式。关键词:组合逻辑电路 时序逻辑电路VHDL QuartusH仿真一:实验1实验内容11.1.1实验名称:VHDL组合逻辑电路设计-4选1数据选择器1.1.2实验任务要求:用VHDL语言设计实现一个4选1数据选择器,根据地址端的不同取值选择不同的数据端到输出端,仿真验证其功能。1.2电路设计及VHDL代码及注释1.2.1设计原理:

2、利用功能表进行判断。设计数据输入端a3-a0和地 址端sl-sO ,输出端c,当地址端为11时c端输出a3的值,当地址 端为10时c端输出a2的值,当地址端为01时c端输出al的值, 当地址端为00时c端输出a0的值。这样就确定了电路的逻辑。1.2.2 VHDL代码及注释:library ieee;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_arith.all;use ieee.STD_LOGIC_unsigned.all;entity mux4 isport(a:in std_logic_vector(3 downto 0);s:in std

3、_logic_vector(1 downto 0);c:out std_logic);end mux4;architecture mux4_arch of mux4 isbeginprocess(s)begincase s iswhen 00 = cccc=a(3);end case;end process;end;1.3仿真波形图(请放大查看)B01000 mIMnstfir lime3. 0, y19.175 ns1 Lj Pointer105.G nslintRrvfll!166.43 ns汕Ft3 106 us1.4 仿真波形图分析由图可知,当s端地址端输入11, c端输出和a3 一致

4、,s端输入10,c端输出和a2 一致,s端输入01,c端输出和al 一致,s端输入00,c 端输出和 a0 一致。可见设计的逻辑满足要求,仿真正确,电路实 现了4选1数据选择器的功能二:实验2实验内容22.1.1实验名称:VHDL组合逻辑电路设计-共阴极7段数码管译码器2.1.2实验任务要求:用 VHDL 语言设计实现一个共阴极 7 段数码 管译码器,仿真验证其功能,并下载到实验板测试。要求用拨码开关 设定输入信号,7 段数码管显示输出信号。2.2电路设计及VHDL代码及注释abgeda bg fe dc P2.2.1设计原理:我们知道,七段共阴极数码管是这样的,也就是通过点亮各个数码管来实现

5、数字的显示。输入端为a3-a0 ,输出端为b6-b0 (控制7段 数码管用),c7-c0 (用来控制板子上哪个数码管进行显示)。功能表由数码管的原理确定如当输入为0000时,数码管点亮B6 B5 B4 B3 B2 B1,这样就显示出0这个数字。再比如输入为1001时, 数码管点亮B6 B5 B4 B3 B1 B0则点亮9这个数字。如下表所示。 其他情况下则输出高阻。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_arith.ALL;USE IEEE.STD_LOGIC_unsigned.ALL;entity qiduan

6、isport(a:in std_logic_vector(3 downto 0); b:out std_logic_vector(6 downto 0);c:out std_logic_vector(7 downto 0);-控制显示板子上哪个数码管end qiduan;architecture qiduanyima of qiduan isbeginprocess(a)beginc b b b b b b b b b b b=ZZZZZZZ;-输出高阻 end case;end process;end qiduanyima;2.3 仿真波形图(请放大查看)33JCTHTQL HMdbter

7、Tlmr:2JZ右為1 乩E M.* | Rainie r15.77 UfiiBtervAl:I5.T5 11DSlHrt:DI. IQWOILOUO1吐 山 H.3-fci Liim2.4 仿真波形图分析:由图可知,当输入端输入0000时,可输出b端1111110 ,即在数 码管上显示数字0 ,输入0000-1001都可显示真值表中相应的输出, 可显示对应的数字。当不在这个输入的范围内,输出高阻。同时c端 一直输出 01111111,即使用板子上第一个数码管器。由分析可知, 设计的逻辑满足要求,仿真正确,电路实现了共阴极 7 段数码管译 码器的功能。三:实验3实验内容33.1.1 实验名称:

8、VHDL 组合时序电路设计-分频器3.1.2 实验任务要求:用 VHDL 语言设计实现一个分频系数为10,分频输出信号占空比为50% 的分频器,仿真验证设计。3.2电路设计及VHDL代码及注释3.2.1 设计原理:分频系数为10.输出信号占空比为50%,则可用一个时钟信号elk , 异步置零信号clear作为输入端,elkout作为输出端,定义一个信号 temp,异步置零时信号为0,同时传递给输出端。当异步置零时信 号不为0时,则利用一个eount变量进行计数。Count小于4时, 则 eount 遇到上升沿变加一,记录上升沿变化,同时信号保持原来 状态不变。当等于4时,则使信号发生翻转,贝e

9、lkout也发生变化, 同时count置零,重新开始计数。这样满5个上升沿就让elkout变 化一次,实现了10分频功能,同时还实现了占空比为50%的功能。3.2.2VHDL代码及注释library ieee;use ieee.std_logie_1164.all;use ieee.std_logie_unsigned.all;entity div10 isport(elk,elear:in std_logie;elkout:out std_logie);end div10;arehiteeture div of div10 issignal temp:std_logie;beginproce

10、ss(clk,clear)variable count:integer range 0 to 9;beginif clear=0 thentemp=clear;-异步置零elsif(clkevent and clk=1) thenif(count=4) thencou nt:=0;-计数器count从0到了 4则置零,重新计数temp= not temp;-信号翻转else count:=count+1;end if;end if;end process;clkout=temp;end;3.3波形图仿真(请放大查看)3.4 波形图仿真结果分析 由仿真结果可以看到,该电路实现了每经过 5 个时钟

11、的上升沿才会进 行一次信号的翻转,即频率变为原来的十分之一。同时低电平和高电 平保持的时间均占一个周期内的百分之五十,实现了占空比为 50%。同时,当外部clear置0则信号置0,实现了异步复位。由分析可知, 设计的逻辑满足要求,仿真正确,电路实现了分频系数为 10、信号 占空比为 50%、带异步复位的分频器功能。四:实验 4实验内容44.1.1 实验名称:VHDL组合时序电路设计-带异步复位8421十进制计数器4.1.2实验任务要求:用 VHDL 语言设计实现一个带异步复位的 8421 码十进制计数器,仿真验证其功能。4.2电路设计及VHDL代码及注释4.2.1 设计原理设计一个外部的Clk

12、时钟信号,clear异步复位信号,作为输入端, c3-cO作为输出信号,用一个信号temp,当clear置0时让temp 也置0,同时将temp传输给c3-c0输出。当clear处于高电平则看 是否有上升沿,当遇到上升沿,temp加1,将temp传到输出端, 当temp到9时,表示已经经过10个数,则temp置0,即实现十 进制计数,满 9 后归 0。将 temp 传递到输出端时,利用 conv_std_logic_vector(,)函数将temp从0-9的整型转化为4位二 进制数。这样就实现了带异步复位的8421十进制计数器。4.2.2 VHDL代码及注释library ieee;use i

13、eee.std_logic_1164.all;use ieee.std_logic_arith.all;entity count8421 isport(clk,clear:in std_logic;c :out std_logic_vector (3 downto 0);end count8421;architecture count of count8421 is signal temp:integer range 0 to 9;beginprocess(clk)beginif clear=0 thentemp=0;elsif(clkevent and clk=1) thenif (temp

14、=9) then temp=0;-满9置0else temp=temp+1;end if;end if;end process;c351国町114.,0 QE1毀 p 1%.f M伺 9 l as欧 p vsp usus曲ir.Tjuuuuuuuinjuuuinnrjuuiuuuuuin血ruuu;RRpui” rmjunnnnimjuir. rxnnjujuuuuuuuinnruuuuuuuuLTuuuumnnrnllLlOi:i k0ILC4L1J1laalLlI$LL1KD)MLllidXILS1431KlILjlLJQUOXO IlQLiDI.CILJILn5.4 仿真波形图结果分析

15、由仿真波形图可知,每 10 个时钟上升沿,数码管输出从 1111110 到 1111011(即 0-9)循环发生变化,同时当异步置位端为0 时, 输出 11111110)即数字0 ,实现了异步置0的功能。可知,上述的 电路实现了10分频器、8421十进制计数器、数码管译码器的功能, 设计的逻辑满足要求,仿真正确,实现了所要求的功能。六:故障问题及分析1. 故障:图形法设计顶层文件时,出现管脚未定义的情况。这是因为,在顶层的工程文件夹中,需要我们把各个模块的VHDL文件 加进去才可以实现引脚成功定义。2. 在采用图形法设计时,有时出现引脚未定义的情况。原因:必须 让粗线所连接的两端格式完全一样,

16、包括性质,位数宽度。如果 是连接输入或输出时,要把相应的输入或输出的名字修改成要连 接的信号名字即可,但必须是完全一样, 包括中括号“”“”, 数字的顺序,以及数字之间的两个点“.”3. 编译过程中出现多次单词打错的情况导致编译久久不能完成。如 architecture这个词,前后多次打错,导致编译不通过。这告诉 我们编程时需要注意自己的英语功底,多背单词。4. 信号在赋值的时候产生了编译错误。原因是将信号设置为Std_logic 格式,而后面就不能将信号直接设置成0,因为只有integer整形才能进行0或者1这样的赋值。解决方法: 将信号赋值为另一个信号即可,不能赋值为整形的数。5. 编程时

17、要注意每个讦process都要用end结尾。If要在process 中进行。6. 进行仿真时要注意截取至少一个周期的过程,最好再多一些,否 则仿真结果不完整。7. 注意信号是=变量是:=,否则会出现编译错误8. 注意 process 里的敏感信号,当检测到这个信号发生变化时进行 处理,如果相应的敏感信号不对的话,则做不到相应的信号变化 时做出反应。9. 编译时不要出现中文符号。七:总结和结论在本次实验中,我将五个实验要求的功能都实现了出来,包括4选1 数据选择器,共阴极 7 段数码管译码器,带异步复位 8421 十进制 计数器,分频系数为 10,分频输出信号占空比为 50% 的分频器, 以及将

18、分频器、计数器和数码管译码器 3 个电路进行连接,实现一 个加 1 的计数器,并在数码管上显示计数结果。通过这次实验,我更好的了解了组合逻辑电路和时序逻辑电路的组成 原理和特点,以及如何使用 VHDL 语言对其进行描述。在一系列的 设计、编程、测试、纠错和改进过程中,我获益匪浅,掌握了 Quartus 这个软件进一步的使用方法,以及 VHDL 语言的语法特性,并进行 相应的仿真,并结合图形法等方法进行元件之间的组合。运用理论课 上的知识,对所求元件进行了相应的功能设计,然后开始了相应代码 的编写。在编写过程中,遇到了很多关于 VHDL 语言的困扰,经过 不断的调整和适应,终于掌握了相关的语法规则。因为 VHDL 语言 只关心它的功能而不需要去详细描述电路的内部结构,使得描述起来 较为简单。同时,将数字电路理论课的知识运用到实际的实验设计中, 既培养了动手能力,又加深了我对课堂知识的理解。 八:参考文献

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!