电子说
1数字信号:指的是在时间上和数值上都是离散的信号;即信号在时间上不连续,总是发生在一序列离散的瞬间;在数值上量化,只能按有限多个增量或阶梯取值。(模拟信号:指在时间上和数值上都是连续的信号。)
2数字电路主要研究电路输入、输出状态之间的相互关系,即逻辑关系。分析和设计数字电路的数学工具是逻辑代数,由英国数学家布尔1849年提出,因此也称布尔代数。
3逻辑代数有三种最基本的运算:与、或、非。基本逻辑的简单组合称为复合逻辑。
4逻辑代数三个基本规则:代入规则、反演规则和对偶规则。
5化简电路是为了降低系统的成本,提高电路的可靠性,以便使用最少集成电路实现功能。
6把若干个有源器件和无源器件及其导线,按照一定的功能要求制作在同一块半导体芯片上,这样的产品叫集成电路。最简单的数字集成电路就是集成逻辑门,以基本逻辑门为基础,可构成各种功能的组合逻辑电路和时序逻辑电路。
7TTL门电路:是目前双极型数字集成电路使用最多的一种,由于输入端和输出端的结构形成都采用了半导体三极管,所以也称晶体管-晶体管逻辑门电路。TTL与非门是TTL门电路的基本单元。最常用的集成逻辑门电路TTL门和CMOS门。
8集成逻辑门,按照其组成的有源器件的不同可分为两大类:一类是双极性集体管逻辑门,主要有TTL门(晶体管-晶体管逻辑门)、ECL门(射极耦合逻辑门)、I2C门;另一类是单极性绝缘栅场效应管逻辑门,简称MOS门。
问题集锦
1 同步电路和异步电路的区别是什么?
同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。
异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。
2 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?
将两个门电路的输出端并联以实现与逻辑的功能成为线与。 在硬件上,要用OC门来实现,同时在输出端口加一个上拉电阻。由于不用OC门可能使灌电流过大,而烧坏逻辑门。
3 解释setup和hold time violation,画图说明,并说明解决办法。
Setup/hold time是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。
保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如果hold time不够,数据同样不能被打入触发器。
建立时间(Setup Time)和保持时间(Hold time)。建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。
4 什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。
产生毛刺叫冒险。判断方法:代数法、图形法(是否有相切的卡诺圈)、表格法(真值表)。如果布尔式中有相反的信号则可能产生竞争和冒险现象。
冒险分为偏“1”冒险和偏“0”冒险
解决方法:一是添加布尔式的消去项;二是在芯片外部加电容;三是加入选通信号。
5 名词:SRAM、SSRAM、SDRAM?
(SRAM:静态RAM; DRAM:动态RAM; SSRAM:Synchronous Static Random Access Memory同步静态随机访问存储器。它的一种类型的SRAM。SSRAM的所有访问都在时钟的上升/下降沿启动。地址、数据输入和其它控制信号均于时钟信号相关。这一点与异步SRAM不同,异步SRAM的访问独立于时钟,数据输入和输出都由地址的变化控制。SDRAM:Synchronous DRAM同步动态随机存储器
6 FPGA和ASIC的概念,他们的区别。
答案:FPGA是可编程ASIC。ASIC:专用集成电路,它是面向专门用途的电路,专门为一个用户设计和制造的。根据一个用户的特定要求,能以低研制成本,短、交货周期供货的全定制,半定制集成电路。与门阵列等其它ASIC(Application Specific IC)相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点。
7 单片机上电后没有运转,首先要检查什么?
a、首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。b、接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。c、然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形;经过上面几点的检查,一般即可排除故障了。
如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试(越靠近芯片越好)。
8 什么是同步逻辑和异步逻辑?
同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。
9 你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?
常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。
10 如何解决亚稳态?
答:亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在亚稳态期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。
解决方法主要有:(1) 降低系统时钟;(2) 用反应更快的触发器(FF),锁存器(LATCH);(3) 引入同步机制,防止亚稳态传播;(4) 改善时钟质量,用边沿变化快速的时钟信号;(5) 使用工艺好、时钟周期裕量大的器件。
11 锁存器、触发器、寄存器三者的区别?
触发器:能够存储一位二值信号的基本单元电路统称为“触发器”。
锁存器:一位触发器只能传送或存储一位数据,而在实际工作中往往希望一次传送或存储多位数据。为此可把多个触发器的时钟输入端CP连接起来,用一个公共的控制信号来控制,而各个数据端口仍然是各处独立地接收数据。这样所构成的能一次传送或存储多位数据的电路就称为“锁存器”。
寄存器:在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器。由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储 n位二进制码的寄存器。
区别:从寄存数据的角度来年,寄存器和锁存器的功能是相同的,它们的区别在于寄存器是同步时钟控制,而锁存器是电位信号控制。
可见,寄存器和锁存器具有不同的应用场合,取决于控制方式以及控制信号和数据信号之间的时间关系:若数据信号有效一定滞后于控制信号有效,则只能使用锁存器;若数据信号提前于控制信号到达并且要求同步操作,则可用寄存器来存放数据。
12 时序电路按输出变量的依从关系?
可分为迷里型和摩尔型两类,迷里型的输出是输入变量及现态的函数。而摩尔型电路的输出仅与电路状态的现态有关。
13 几种触发器类型?
RS触发器 ;时钟控制的RS触发器;D触发器;T触发器 ;JK触发器;
14 555定时电路特点?
具有静态电流小,输入阻抗极高,电源电压范围较宽等特点。
15 单稳态电路的主要应用是定时、延时和波形变换。
16 多谐振荡器5个指标是什么?
脉冲周期、脉冲幅度、脉冲宽度、上升时间、下降时间。
17 施密特电路的主要应用是什么?
波形变换、整形、幅值选择。
18 什么是CCD和CMOS?
CCD Charge-coupled Device 电荷耦合元件。
CMOS Complementary Metal Oxide Semiconductor 互补金属氧化物半导体
19 FPGA结构一般分为那三部分?
可编程逻辑块(CLB)、可编程I/O模块和可编程内部连线。
20 大规模可编程器件主要有CPLD和FPGA两类
其中CPLD通过可编程乘积项辑实现其逻辑功能。基于SRAM的FPGA器件,每次上电后必须进行一次配置。FPGA内部阵列的配置一般采用在电路可重构技术,编程数据保存在静态存储器(SRAM) ,掉电易失。
21 Quartus编译器编译FPGA工程最终生产那两种不同用途的文件?
它们分别是.sof和.pof。sof是SRAM Object File,下载到FPGA中,断电丢失。pof是Programmer Object File,下载到配置芯片中,上电重新配置FPGA。
22 FPGA过程中的仿真有那三种?
行为仿真、逻辑仿真、时序仿真。
23 IP核在EDA技术和开发中的作用?
IP核占有很重要的地位,提供VHDL硬件描述语言功能块,但不涉及实现该功能模块的具体电路的IP核为软件IP。
24 IC设计中同步复位与异步复位的区别是什么?
异步复位是不受时钟影响的,在一个芯片系统初始化(或者说上电)的时候需要这么一个全局的信号来对整个芯片进行整体的复位,到一个初始的确定状态。而同步复位需要在时钟沿来临的时候才会对整个系统进行复位。
25 多时域设计中,如何处理信号跨时域?
不同的时钟域之间信号通信时需要进行同步处理,这样可以防止新时钟域中第一级触发器的亚稳态信号对下级逻辑造成影响,其中对于单个控制信号可以用两级同步器,如电平、边沿检测和脉冲,对多位信号可以用FIFO,双口RAM,握手信号等。
跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。
这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。
这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题。
我们可以在跨越ClockDomain时加上一个低电平使能的LockupLatch以确保Timing能正确无误
26 给了reg的setup,hold时间,求中间组合逻辑的delay范围?
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.
如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器。保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间。时hold time不够,数据同样不能被打入触发器。
即delay
27 时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min.组合逻辑电路最大延 迟为T2max,最小为T2min.问,触发器D2的建立时间T3和保持时间应满足什么条件?
建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;
保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。
Tffpd:触发器输出的响应时间,也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变化并且稳定,也可以理解为触发器的输出延时。
Tcomb:触发器的输出经过组合逻辑所需要的时间,也就是题目中的组合逻辑延迟。Tsetup:建立时间Thold:保持时间Tclk:时钟周期
建立时间容限:相当于保护时间,这里要求建立时间容限大于等于0。保持时间容限:保持时间容限也要求大于等于0。
由上图可知,建立时间容限=Tclk-Tffpd(max)-Tcomb(max)-Tsetup,根据建立时间容限≥0,也就是Tclk-Tffpd(max)-Tcomb(max)-Tsetup≥0,可以得到触发器D2的Tsetup≤Tclk-Tffpd(max)-Tcomb(max),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Tsetup≤T-T2max。
由上图可知,保持时间容限+Thold=Tffpd(min)+Tcomb(min),所以保持时间容限=Tffpd(min)+Tcomb(min)-Thold,根据保持时间容限≥0,也就是 Tffpd(min)+Tcomb(min)-Thold≥0。
得到触发器D2的Thold≤Tffpd(min)+Tcomb(min),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Thold≤T2min。关于保持时间的理解就是,在触发器D2的输入信号还处在保持时间的时候,如果触发器D1的输出已经通过组合逻辑到达D2的输入端的话,将会破坏D2本来应该保持的数据。
28 如图为统一采用一个时钟的同步设计中一个基本的模型。图中Tco是触发器的数据输出的延时;Tdelay是组合逻辑的延时;Tsetup是触发器的建立 时间;Tpd为时钟的延时。如果第一个触发器D1建立时间最大为T1max,最小为T1min,组合逻辑的延时最大为T2max,最小为T2min。
问第二个触发器D2立时间T3与保持时间T4应该满足什么条件,或者是知道了T3与T4那么能容许的最大时钟周期是多少?
下面通过时序图来分析:设第一个触发器的输入为D1,输出为Q1,第二个触发器的输入为D2,输出为Q2;
时钟统一在上升沿进行采样,为了便于分析我们讨论两种情况即第一:假设时钟的延时Tpd为零,其实这种情况在FPGA设计中是常常满足的,由于在 FPGA设计中一般是采用统一的系统时钟,也就是利用从全局时钟管脚输入的时钟,这样在内部时钟的延时完全可以忽略不计。
这种情况下不必考虑保持时间,因 为每个数据都是保持一个时钟节拍同时又有线路的延时,也就是都是基于CLOCK的延迟远小于数据的延迟基础上,所以保持时间都能满足要求,重点是要关心建 立时间,此时如果D2的建立时间满足要求那么时序图应该如图3所示。
从图中可以看出如果:
T-Tco-Tdelay>T3
即:Tdelay< T-Tco-T3
那么就满足了建立时间的要求,其中T为时钟的周期,这种情况下第二个触发器就能在第二个时钟的升沿就能稳定的采到D2,时序图如图3所示。
图3 符合要求的时序图
如果组合逻辑的延时过大使得T-Tco-Tdelay 那么将不满足要求,第二个触发器就在第二个时钟的升沿将采到的是一个不定态,如图4所示。那么电路将不能正常的工作。
图4 组合逻辑的延时过大时序不满足要求
从而可以推出
T-Tco-T2max>=T3
这也就是要求的D2的建立时间。
从上面的时序图中也可以看出,D2的建立时间与保持时间与D1的建立与保持时间是没有关系的,而只和D2前面的组合逻辑和D1的数据传输延时有关,这也是一个很重要的结论。说明了延时没有叠加效应。
第二种情况如果时钟存在延时,这种情况下就要考虑保持时间了,同时也需要考虑建立时间。时钟出现较大的延时多是采用了异步时钟的设计方法,这种方法较难保证数据的同步性,所以实际的设计中很少采用。此时如果建立时间与保持时间都满足要求那么输出的时序如图5所示。
图5 时钟存在延时但满足时序
从图5中可以容易的看出对建立时间放宽了Tpd,所以D2的建立时间需满足要求:
Tpd+T-Tco-T2max>=T3
由于建立时间与保持时间的和是稳定的一个时钟周期,如果时钟有延时,同时数据的延时也较小那么建立时间必然是增大的,保持时间就会随之减小,如果减小到不满足D2的保持时间要求时就不能采集到正确的数据,如图6所示。
这时即T-(Tpd+T-Tco-T2min) T-(Tpd+T-Tco-T2min)>=T4 即Tco+T2min-Tpd>=T4
从上式也可以看出如果Tpd=0也就是时钟的延时为0那么同样是要求Tco+T2min>T4,但是在实际的应用中由于T2的延时也就是线路的延时远远大于触发器的保持时间即T4所以不必要关系保持时间。
图6 时钟存在延时且保持时间不满足要求
综上所述,如果不考虑时钟的延时那么只需关心建立时间,如果考虑时钟的延时那么更需关心保持时间。从图中可以看出如果:
T-Tco-Tdelay>T3
即:Tdelay< T-Tco-T3
那么就满足了建立时间的要求,其中T为时钟的周期,这种情况下第二个触发器就能在第二个时钟的升沿就能稳定的采到D2,时序图如图3所示。
29 说说静态、动态时序模拟的优缺点?
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过 对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。
它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计 进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。
动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题。
30 用逻辑门画出D触发器?
31写异步D触发器的verilog module.(扬智电子笔试)?
module dff8(clk , reset, d, q);
input clk;
input reset;
input [7:0] d;
output [7:0] q;
reg [7:0] q;
always @ (posedge clk or posedge reset)
if(reset)
q <= 0;
else
q <= d;
endmodule
33用D触发器实现2倍分频的Verilog描述?
module divide2( clk , clk_o, reset);
input clk , reset;
output clk_o;
wire in;
reg out ;
always @ ( posedge clk or posedge reset)
if ( reset)
out <= 0;
else
out <= in;
assign in = ~out;
assign clk_o = out;
endmodule
32 LATCH和DFF的概念和区别?
概念:
电平敏感的存储器件称为锁存器;分高电平锁存器和低电平锁存器,用于不同时钟间的同步。
有交叉耦合的门构成的双稳态存储器件称为触发器,分为上升沿触发和下降沿触发,可认为是两个不同电平敏感的锁存器串联而成,前一个锁存器决定了触发器的建立时间,后一个锁存器决定了触发器的保持时间。
区别:
1、latch由电平触发,非同步控制。在使能信号有效时latch相当于通路,在使能信号无效时latch保持输出状态。DFF由时钟沿触发,同步控制。
2、latch容易产生毛刺(glitch),DFF则不易产生毛刺。
3、如果使用门电路来搭建latch和DFF,则latch消耗的门资源比DFF要少,这是latch比DFF优越的地方。所以,在ASIC中使用 latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现。
4、latch将静态时序分析变得极为复杂。
一般的设计规则是:在绝大多数设计中避免产生latch。它会让您设计的时序完蛋,并且它的隐蔽性很强,非老手不能查出。latch最大的危害在于不能过滤毛刺。这对于下一级电路是极其危险的。所以,只要能用D触发器的地方,就不用latch。
有些地方没有时钟,也只能用latch了。比如现在用一个clk接到latch的使能端(假设是高电平使能),这样需要的setup时间,就是数据在时钟的下降沿之前需要的时间,但是如果是一个DFF,那么setup时间就是在时钟的上升沿需要的时间。这就说明如果数据晚于控制信号的情况下,只能用latch,这种情况就是,前面所提到的latch timing borrow。基本上相当于借了一个高电平时间。也就是说,latch借的时间也是有限的。
33 请画出用D触发器实现2倍分频的逻辑电路?
D触发器的输出端加非门接到D端,实现二分频
34 latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的?
Latch(锁存器)是电平触发,Register(寄存器)是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。
35 什么是锁相环(PLL)?锁相环的工作原理是什么?
锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。PLL通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的,在比较的过程中,锁相环电路会不断根据外部信号的相位来调整本地晶振的时钟相位,直到两个信号的相位同步。
在数据采集系统中,锁相环是一种非常有用的同步技术,因为通过锁相环,可以使得不同的数据采集板卡共享同一个采样时钟。因此,所有板卡上各自的本地80MHz和20MHz时基的相位都是同步的,从而采样时钟也是同步的。因为每块板卡的采样时钟都是同步的,所以都能严格地在同一时刻进行数据采集。
1. FPGA Field-Programmable Gate Array 现场可编程门阵列
2 . VHDL-- Very-High-Speed Integrated Circuit Hardware Description Language) 甚高速集成电路硬件描述语言
3 HDL Hardware Description Language硬件描述语言
4 EDA Electronic Design Automation 电子设计自动化
5 .CPLD Complex Programmable Logic Device复杂可编程逻辑器件
6 .PLD Programmable Logic Device 可编程逻辑器件
7 .GAL, generic array logic通用阵列逻辑
8. LAB Logic Array Block逻辑阵列块
9. CLB Configurable Logic Block 可配置逻辑模块
10. EAB Embedded Array Block 嵌入式阵列块
11 .SOPC System-on-a-Programmable-Chip 可编程片上系统
12 .LUT Look-Up Table 查找表
13. JTAG Joint Test Action Group 联合测试行为组织
14. IP Intellectual Property 知识产权
15 .ASIC Application Specific Integrated Circuits 专用集成电路
16 .ISP In System Programmable 在系统可编程
17 .ICR In Circuit Re-config 在电路可重构
18 .RTL Register Transfer Level 寄存器传输级
全部0条评论
快来发表一下你的评论吧 !