ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

高速电路EDA设计第一次实验

2018-10-27 20:00:53  阅读:238  来源: 互联网

标签:


一.利用74LS138实现4-16译码器

设计要求:

· 用2片3-8 译码器拼接成4-16 译码器
· 仿真验证电路的正确性
· 注意观察输出信号的毛刺(竞争冒险)

设计思路:

如下图所示,我们让最高位输入IN_D接到片1的G2BN,接到片2的G1,这样若IN_D=0,则上方的芯片被选中,下方芯片被禁用,若IN_D=1,则相反。
电路逻辑设计如下:
在这里插入图片描述
用QuartusⅡ进行功能性仿真后得:
在这里插入图片描述
用QuartusⅡ进行时序性仿真后得:
在这里插入图片描述
仿真结果符合预期,且出现了“毛刺”,即电路的冒险与竞争现象,这是由于逻辑门存在延迟以及信号的传输路径不同造成的,当输入信号电平发生瞬时变化时,电路就可能产生与稳态时不一致的错误输出。

二.利用74LS161计数器芯片实现模12的计数器

设计要求:

  1. 用161计数器芯片,设计一个M=12的计数器
  2. 上电后,对CLK信号,从0顺序计数到11,然后回绕到0
  3. 当计数值为11的CLK周期,溢出信号OV输出一个高电平,其他周期OV信号输出0
  4. 用波形仿真观察电路结果

设计思路:

要实现模12的计数器,及从0到11,现在QD为高位,及从0000到1011,然后复位,再从0000开始循环计数。因为在一个计数周期中,QA,QB,QD都为1的时候只有在1011的时候才会出现,故利用这个特点,使QA,QB,QD相与非得到0,并把这个信号输入到LDN端,使计数器置位回到0000的初始状态,并且OV端会输出高电平,表示一个计时周期的结束。
电路逻辑设计如下:
在这里插入图片描述
用QuartusⅡ进行功能性仿真后得:
在这里插入图片描述
用QuartusⅡ进行时序性仿真后得:
在这里插入图片描述
可见,时序仿真对信号的响应有一定的延迟。

三.利用74LS161计数器芯片实现模20的计数器

设计要求:

  1. 用161计数器芯片,设计一个M=20的计数器, 可以用多片
  2. 上电后,对CLK信号,从0顺序计数到19,然后回绕到0
  3. 当计数值为19的CLK周期,溢出信号OV输出一个高电平,其他周期OV信号输出0
  4. 用波形仿真观察电路结果

设计思路:

因为一片161最大只能实现模16的计数功能,故要用两片161芯片级联来实现这个功能,那么首先要解决的问题是如何使两个161芯片协同工作呢,即要使第一片计数从0到15,然后再激活第二个芯片开始工作,这里把低位片的溢出端RCO,接到高位片的LND端,而使ENT端常为1,这样当低位片一个周期计数结束之后,RCO产生高电平,会使高位片开始工作,即高位片输出0001,但是下一个脉冲到来的时候,RCO就会变为低电平,此时高位片进入保持状态,保持0001的状态,直到00010011,然后复位开始下一个周期的循环。那么如何复位呢?
设两个芯片的八个输出位分别为QH,QG,QF,QE,QD,QC,QB,QA(从高位到低位)计数周期为00000000到00010011(0到19),通过观察发现只有在一个周期结束的时候才会出现QA,QB,QE同时为1的情况,故可利用这一特性,让3个信号相与非(得0)接到两个161芯片的LND端,实现两个计数器的复位。
电路逻辑设计如下:
在这里插入图片描述
用QuartusⅡ进行功能性仿真后得:
在这里插入图片描述
用QuartusⅡ进行时序性仿真后得:
在这里插入图片描述

标签:
来源: https://blog.csdn.net/weixin_43478836/article/details/83449159

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有