1数字信号:指的是在时间上和数值上都是离散的信号;即信号在时间上不连续,总是发生在一序列离散的瞬间;在数值上量化,只能按有限多个增量或阶梯取值。(模拟信号:指在时间上和数值上都是连续的信号。)
2数字电路主要研究: 电路输入、输出状态之间的相互关系,即逻辑关系。分析和设计数字电路的数学工具是逻辑代数,由英国数学家布尔1849年提出,因此也称布尔代数。
3逻辑代数有三种最基本的运算:与、或、非。基本逻辑的简单组合称为复合逻辑。
4 逻辑代数三个基本规则:代入规则、反演规则和对偶规则。
5 化简电路是为了降低系统的成本,提高电路的可靠性,以便使用最少集成电路实现功能。
6 把若干个有源器件和无源器件及其导线,按照一定的功能要求制作在同一块半导体芯片上,这样的产品叫集成电路。最简单的数字集成电路就是集成逻辑门,以基本逻辑门为基础,可构成各种功能的组合逻辑电路和时序逻辑电路。
7TTL门电路:是目前双极型数字集成电路使用最多的一种,由于输入端和输出端的结构形成都采用了半导体三极管,所以也称晶体管-晶体管逻辑门电路。TTL与非门是TTL门电路的基本单元。最常用的集成逻辑门电路TTL门和CMOS门。
由上图可知,建立时间容限=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本来应该保持的数据。
29如图为统一采用一个时钟的同步设计中一个基本的模型。图中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所示。
30说说静态、动态时序模拟的优缺点.
静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过 对最大路径延时和最小路径延时的分析,找出违背时序约束的错误。它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计 进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中。
动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径。因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题。
31用逻辑门画出D触发器
32写异步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
34LATCH和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 借的时间也是有限的。
35请画出用D触发器实现2倍分频的逻辑电路?
D触发器的输出端加非门接到D端,实现二分频
36latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的.
Latch(锁存器)是电平触发,Register(寄存器)是边沿触发,register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。
37什么是锁相环(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 寄存器传输级
卧龙会,卧虎藏龙,IT高手汇聚!由多名十几年的IT技术设计师组成。欢迎关注!想学习请点击下面“了解更多”,