常见电路面试题总结

同步电路和异步电路的区别是什么?
同步电路:存储电路中所有触发器时钟输入端都接同一个时钟脉冲源 , 因而所有触发器的状态的变化都与所加的时钟脉冲信号同步 。
异步电路:电路没有统一的时钟 , 有些触发器的时钟输入端与时钟脉冲源相连 , 这有这些触发器的状态变化与时钟脉冲同步 , 而其他的触发器的状态变化不与时钟脉冲同步 。
什么是"线与"逻辑 , 要实现它 , 在硬件特性上有什么具体要求?
将两个门电路的输出端并联以实现与逻辑的功能成为线与 。在硬件上 , 要用OC门来实现 , 同时在输出端口加一个上拉电阻 。由于不用OC门可能使灌电流过大 , 而烧坏逻辑门 。
解释setup和hold time violation , 画图说明 , 并说明解决办法?
Setup/hold time是测试芯片对输入信号和时钟信号之间的时间要求 。建立时间是指触发器的时钟信号上升沿到来以前 , 数据稳定不变的时间 。
输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片 , 这个T就是建立时间-Setup time 。如不满足setup time , 这个数据就不能被这一时钟打入触发器 , 只有在下一个时钟上升沿 , 数据才能被打入触发器 。
保持时间是指触发器的时钟信号上升沿到来以后 , 数据稳定不变的时间 。如果holdtime不够 , 数据同样不能被打入触发器 。
建立时间(Setup Time)和保持时间(Hold time) 。建立时间是指在时钟边沿前 , 数据信号需要保持不变的时间 。
保持时间是指时钟跳变边沿后数据信号需要保持不变的时间 。
如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间 , 那么超过量就分别被称为建立时间裕量和保持时间裕量 。
什么是竞争与冒险现象?怎样判断?如何消除?
在组合逻辑中 , 由于门的输入信号通路中经过了不同的延时 , 导致到达该门的时间不一致叫竞争 。
产生毛刺叫冒险 。判断方法:代数法、图形法(是否有相切的卡诺圈)、表格法(真值表) 。如果布尔式中有相反的信号则可能产生竞争和冒险现象 。
冒险分为偏“1”冒险和偏“0”冒险 。解决方法:一是添加布尔式的消去项;二是在芯片外部加电容;三是加入选通信号 。
解释SRAM、SSRAM、SDRAM三个名词?
SRAM:静态随机存取存储器(Static Random-Access Memory , SRAM)是随机存取存储器的一种 。
SSRAM:SynchronousStatic Random Access Memory 的缩写 , 即同步静态随机存取存储器 。
SDRAM:同步动态随机存取内存(synchronousdynamic random-access memory , 简称SDRAM)是有一个同步接口的动态随机存取内存(DRAM) 。
SSRAM的所有访问都在时钟的上升/下降沿启动 。地址、数据输入和其它控制信号均与时钟信号相关 。这一点与异步SRAM不同 , 异步SRAM的访问独立于时钟 , 数据输入和输出都由地址的变化控制 。SDRAM:Synchronous DRAM同步动态随机存储器 。
FPGAASIC的概念 , 他们的区别?
FPGA是可编程ASIC 。
ASIC , 专用集成电路 , 它是面向专门用途的电路 , 专门为一个用户设计和制造的 。根据一个用户的特定要求 , 能以低研制成本 , 短、交货周期供货的全定制 , 半定制集成电路 。
与门阵列等其它ASIC(ApplicationSpecific IC)相比 , 它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点 。
单片机上电后没有运转 , 首先要检查什么?
(1)首先应该确认电源电压是否正常 。用电压表测量接地引脚跟电源引脚之间的电压 , 看是否是电源电压 , 例如常用的5V 。
(2)接下来就是检查复位引脚电压是否正常 。分别测量按下复位按钮和放开复位按钮的电压值 , 看是否正确 。
(3)然后再检查晶振是否起振了 , 一般用示波器来看晶振引脚的波形;经过上面几点的检查 , 一般即可排除故障了 。
如果系统不稳定的话 , 有时是因为电源滤波不好导致的 。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善 。如果电源没有滤波电容的话 , 则需要再接一个更大滤波电容 , 例如220uF的 。遇到系统不稳定时 , 就可以并上电容试试(越靠近芯片越好) 。
什么是同步逻辑和异步逻辑?
同步逻辑是时钟之间有固定的因果关系 。异步逻辑是各时钟之间没有固定的因果关系 。
你知道哪些常用逻辑电平?TTL与COMS电平可以直接互连吗?
常用逻辑电平:12V , 5V , 3.3V 。
TTL和CMOS不可以直接互连 , 由于TTL是在0.3-3.6V之间 , 而CMOS则是有在12V的有在5V的 。CMOS输出接到TTL是可以直接互连 。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V 。
如何解决亚稳态?
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态 。当一个触发器进入亚稳态时 , 既无法预测该单元的输出电平 , 也无法预测何时输出才能稳定在某个正确的电平上 。
在亚稳态期间 , 触发器输出一些中间级电平 , 或者可能处于振荡状态 , 并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去 。
解决方法主要有:
o降低系统时钟;
o用反应更快的触发器(FF) , 锁存器(LATCH);
o引入同步机制 , 防止亚稳态传播;
o改善时钟质量 , 用边沿变化快速的时钟信号;
o使用工艺好、时钟周期裕量大的器件 。
锁存器、触发器、寄存器三者的区别?
触发器:能够存储一位二值信号的基本单元电路统称为“触发器” 。
锁存器:一位触发器只能传送或存储一位数据 , 而在实际工作中往往希望一次传送或存储多位数据 。为此可把多个触发器的时钟输入端CP连接起来 , 用一个公共的控制信号来控制 , 而各个数据端口仍然是各处独立地接收数据 。这样所构成的能一次传送或存储多位数据的电路就称为“锁存器” 。
寄存器:在实际的数字系统中 , 通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器 。由于触发器内有记忆功能 , 因此利用触发器可以方便地构成寄存器 。由于一个触发器能够存储一位二进制码 , 所以把n个触发器的时钟端口连接起来就能构成一个存储 n位二进制码的寄存器 。
区别:从寄存数据的角度来看 , 寄存器和锁存器的功能是相同的 , 它们的区别在于寄存器是同步时钟控制 , 而锁存器是电位信号控制 。
可见 , 寄存器和锁存器具有不同的应用场合 , 取决于控制方式以及控制信号和数据信号之间的时间关系:若数据信号有效一定滞后于控制信号有效 , 则只能使用锁存器;若数据信号提前于控制信号到达并且要求同步操作 , 则可用寄存器来存放数据 。
IC设计中同步复位与异步复位的区别?
异步复位是不受时钟影响的 , 在一个芯片系统初始化(或者说上电)的时候需要这么一个全局的信号来对整个芯片进行整体的复位 , 到一个初始的确定状态 。而同步复位需要在时钟沿来临的时候才会对整个系统进行复位 。
多时域设计中 , 如何处理信号跨时域?
不同的时钟域之间信号通信时需要进行同步处理 , 这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响 , 其中对于单个控制信号可以用两级同步器 , 如电平、边沿检测和脉冲 , 对多位信号可以用FIFO、双口RAM、握手信号等 。
跨时域的信号要经过同步器同步 , 防止亚稳态传播 。例如:时钟域1中的一个信号 , 要送到时钟域2 , 那么在这个信号送到时钟域2之前 , 要先经过时钟域2的同步器同步后 , 才能进入时钟域2 。
这个同步器就是两级d触发器 , 其时钟为时钟域2的时钟 。这样做是怕时钟域1中的这个信号 , 可能不满足时钟域2中触发器的建立保持时间 , 而产生亚稳态 , 因为它们之间没有必然关系 , 是异步的 。
这样做只能防止亚稳态传播 , 但不能保证采进来的数据的正确性 。所以通常只同步很少位数的信号 。比如控制信号 , 或地址 。当同步的是地址时 , 一般该地址应采用格雷码 , 因为格雷码每次只变一位 , 相当于每次只有一个同步器在起作用 , 这样可以降低出错概率 , 象异步FIFO的设计中 , 比较读写地址的大小时 , 就是用这种方法 。
如果两个时钟域之间传送大量的数据 , 可以用异步FIFO来解决问题 。
我们可以在跨越ClockDomain时加上一个低电平使能的LockupLatch以确保Timing能正确无误 。
给了reg的setup、hold时间 , 求中间组合逻辑的delay范围?
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求 。建立时间是指触发器的时钟信号上升沿到来以前 , 数据稳定不变的时间 。
输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片 , 这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器 , 只有在下一个时钟上升沿 , 数据才能被打入触发器 。
保持时间是指触发器的时钟信号上升沿到来以后 , 数据稳定不变的时间 。时holdtime不够 , 数据同样不能被打入触发器 。即delay
时钟周期为T , 触发器D1的建立时间最大为T1max , 最小为T1min , 组合逻辑电路最大延迟为T2max , 最小为T2min 。触发器D2的建立时间T3和保持时间应满足什么条件?
建立时间(setup time)是指在触发器的时钟信号上升沿到来以前 , 数据稳定不变的时间 , 如果建立时间不够 , 数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后 , 数据稳定不变的时间 , 如果保持时间不够 , 数据同样不能被打入触发器 。
Tffpd:触发器输出的响应时间 , 也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变化并且稳定 , 也可以理解为触发器的输出延时 。
Tcomb:触发器的输出经过组合逻辑所需要的时间 , 也就是题目中的组合逻辑延迟 。Tsetup:建立时间Thold:保持时间Tclk:时钟周期 。
建立时间容限:相当于保护时间 , 这里要求建立时间容限大于等于0 。保持时间容限:保持时间容限也要求大于等于0 。
说说静态、动态时序模拟的优缺点?
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径 , 计算信号在这些路径上的传播延时 , 检查信号的建立和保持时间是否满足时序要求 , 通过对最大路径延时和最小路径延时的分析 , 找出违背时序约束的错误 。
它不需要输入向量就能穷尽所有的路径 , 且运行速度很快、占用内存较少 , 不仅可以对芯片设计 进行全面的时序功能检查 , 而且还可利用时序分析的结果来优化设计 , 因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中 。
动态时序模拟就是通常的仿真 , 因为不可能产生完备的测试向量 , 覆盖门级网表中的每一条路径 。因此在动态时序分析中 , 无法暴露一些路径上可能存在的时序问题 。
LATCH和DFF的概念和区别?
(1)概念
电平敏感的存储器件称为锁存器;分高电平锁存器和低电平锁存器 , 用于不同时钟间的同步 。
有交叉耦合的门构成的双稳态存储器件称为触发器 , 分为上升沿触发和下降沿触发 , 可认为是两个不同电平敏感的锁存器串联而成 , 前一个锁存器决定了触发器的建立时间 , 后一个锁存器决定了触发器的保持时间 。
(2)区别
olatch由电平触发 , 非同步控制 。在使能信号有效时latch相当于通路 , 在使能信号无效时latch保持输出状态 。DFF由时钟沿触发 , 同步控制 。
olatch容易产生毛刺(glitch) , DFF则不易产生毛刺 。
o如果使用门电路来搭建latch和DFF , 则latch消耗的门资源比DFF要少 , 这是latch比DFF优越的地方 。所以 , 在ASIC中使用 latch的集成度比DFF高 , 但在FPGA中正好相反 , 因为FPGA中没有标准的latch单元 , 但有DFF单元 , 一个LATCH需要多个LE才能实现 。
olatch将静态时序分析变得极为复杂 。
一般的设计规则是:在绝大多数设计中避免产生latch 。它会让您设计的时序完蛋 , 并且它的隐蔽性很强 , 非老手不能查出 。latch最大的危害在于不能过滤毛刺 。这对于下一级电路是极其危险的 。所以 , 只要能用D触发器的地方 , 就不用latch 。
有些地方没有时钟 , 也只能用latch了 。比如现在用一个clk接到latch的使能端(假设是高电平使能) , 这样需要的setup时间 , 就是数据在时钟的下降沿之前需要的时间 , 但是如果是一个DFF , 那么setup时间就是在时钟的上升沿需要的时间 。
这就说明如果数据晚于控制信号的情况下 , 只能用 latch,这种情况就是 , 前面所提到的latch timing borrow 。基本上相当于借了一个高电平时间 。也就是说 , latch借的时间也是有限的 。
latch与register的区别 , 为什么现在多用register?行为级描述中latch如何产生的?
Latch(锁存器)是电平触发 , Register(寄存器)是边沿触发 , register在同一时钟边沿触发下动作 , 符合同步电路的设计思想 , 而latch则属于异步电路设计 , 往往会导致时序分析困难 , 不适当的应用latch则会大量浪费芯片资源 。
什么是锁相环(PLL)?锁相环的工作原理是什么?
锁相环是一种反馈电路 , 其作用是使得电路上的时钟和某一外部时钟的相位同步 。PLL通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的 , 在比较的过程中 , 锁相环电路会不断根据外部信号的相位来调整本地晶振的时钟相位 , 直到两个信号的相位同步 。
数据采集系统中 , 锁相环是一种非常有用的同步技术 , 因为通过锁相环 , 可以使得不同的数据采集板卡共享同一个采样时钟 。
因此 , 所有板卡上各自的本地80MHz和20MHz时基的相位都是同步的 , 从而采样时钟也是同步的 。因为每块板卡的采样时钟都是同步的 , 所以都能严格地在同一时刻进行数据采集 。
基本放大电路的种类及优缺点 , 广泛采用差分结构的原因?
基本放大电路按其接法的不同可以分为共发射极放大电路、共基极放大电路和共集电极放大电路 , 简称共基、共射、共集放大电路 。
共射放大电路既能放大电流又能放大电压 , 输入电阻在三种电路中居中 , 输出电阻较大 , 频带较窄 。常做为低频电压放大电路的单元电路 。
共基放大电路只能放大电压不能放大电流 , 输入电阻小 , 电压放大倍数和输出电阻与共射放大电路相当 , 频率特性是三种接法中最好的电路 。常用于宽频带放大电路 。
共集放大电路只能放大电流不能放大电压 , 是三种接法中输入电阻最大、输出电阻最小的电路 , 并具有电压跟随的特点 。常用于电压放大电路的输入级和输出级 , 在功率放大电路中也常采用射极输出的形式 。
共集放大电路只能放大电流不能放大电压 , 是三种接法中输入电阻最大、输出电阻最小的电路 , 并具有电压跟随的特点 。常用于电压放大电路的输入级和输出级 , 在功率放大电路中也常采用射极输出的形式 。
【常见电路面试题总结】 责任编辑:lq
.dfma {position: relative;width: 1000px;margin: 0 auto;}.dfma a::after {position: absolute;left: 0;bottom: 0;width: 30px;line-height: 1.4;text-align: center;background-color: rgba(0, 0, 0, .5);color: #fff;font-size: 12px;content: "广告";}.dfma img {display: block;}
常见电路面试题总结
文章插图

    推荐阅读