数字IC常见问题系列--1(50题)
//来自微信公众号 「数字晶元实验室」
如何将XOR门转换为 buffer和 inverter(仅使用一个XOR门)?
Buffer
Inverter
2.使用2x1 MUX实现2输入AND门。
3.什么是多路复用器(mux)?
多路复用器是一种组合电路,它从许多输入信号中选择一个作为输出。
4、什么是环形振荡器?
环形计数器是一种由循环移位寄存器组成的计数器。 最后一个移位寄存器的输出被馈送到第一个寄存器的输入。 例如,在4寄存器计数器中,初始寄存器值为1100,重复模式为:1100,0110,0011,1001,1100,依此类推。
5.比较同步和非同步复位。
同步复位逻辑将综合较小的触发器,但是组合逻辑门数会增加。时钟可以滤除复位信号的毛刺,但是如果这些毛刺发生在有效时钟边沿附近,则触发器可能会变成亚稳态。在某些设计中,复位必须由一组内部逻辑生成的。建议对这些类型的设计进行同步复位,因为它会过滤时钟之间的毛刺。
同步复位的问题在于综合工具不能容易地将复位信号与任何其他数据信号区分开。同步复位需要在数据路径中增加额外的逻辑和延迟以处理同步复位。
非同步复位:使用非同步复位,不会在数据路径增加额外的逻辑门。非同步复位的主要问题是复位释放。如果复位的释放发生在时钟边沿或者接近时钟边沿,则触发器可能进入亚稳态。
6.什么是Johnson 计数器?
Johnson 计数器将最后一个移位寄存器的输出反相连接到它的输入。 例如,在包含4个寄存器Johnson 计数器中,重复模式是:
0000,1000,1100,1110,1111,0111,0011,0001,依此类推。
7.在4位Johnson计数器中有多少未使用的状态?
4位Johnson计数器:0000,1000,1100,1110,1111,0111,0011,0001,0000。
存在8个未使用的状态。
8.使用最少数量的2个输入与非门设计3输入与非门。
9.如何将JK触发器转换为D触发器?
10.触发器和锁存器之间有什么区别?
触发器是边沿敏感,锁存器是电平敏感。
触发器不受毛刺的影响,锁存器对毛刺很敏感。
锁存器比触发器需要更少数量的门,功耗更低。
锁存器比触发器快。
11. Mealy型状态机和Moore 型状态机有什么区别?
Mealy型状态机输出取决于输入和状态。
Moore 型状态机输出仅取决于状态。
12.什么是状态编码技术? 解释一下。
One-Hot encoding:每个状态由1位触发器表示。 如果有四种状态,那么它需要四个触发器来表示当前状态。 有效状态值为1000,0100,0010和0001.如果值为0100,则表示第二个状态是当前状态。
One-Cold encoding::与One-Hot encoding:相同,只是0是有效值。 如果有四种状态,那么它需要四个触发器来表示当前状态。 有效状态值是0111,1011,1101和1110。
Binary encoding:每个状态由二进位代码表示。 具有「2^N」状态的有限状态机仅需要N个触发器。
Gray encoding: 每个状态由格雷码表示。 具有「2^N」状态的有限状态机仅需要N个触发器。
13、什么是时钟偏移(Clock skew) ,负时钟偏移,正时钟偏移?
时钟偏移是同步电路中的一种现象,时钟信号在不同时间到达不同的时序器件。 这可能是由许多不同的因素造成的,例如导线互连长度,温度变化,电容耦合等。
时钟偏差有两种类型:负偏斜和正偏斜。 当时钟到达接收寄存器比到达发送寄存器时,会发生正偏移。 负偏斜是相反的:接收寄存器比发送寄存器更早地获得时钟触发。
14.给出CMOS NAND门的晶体管级电路。
15、什么是亚稳态( Metastability)。
如果在任何时序电路中存在建立 (setup time)和保持时间(hold time)违例,则输出会进入不可预测的状态,该状态称为亚稳状态。在亚稳状态结束时,触发器稳定至逻辑高或逻辑低。
16、什么是setup时间和hold时间约束
setup时间是时钟边沿到达之前的数据需要稳定的时间。
hold时间是在时钟边沿到达之后数据需要稳定的时间。
当触发器中存在setup和hold时间违例时,它就进入输出不可预测的状态,这被称为亚稳状态。
17、画出二分频电路
18、给出两种将两输入NAND门转换为反相器的方法。
19、使用2x1多路复用器实现D锁存器。
20、如果A * B = C且C * A = B那么,布尔运算符*是什么?
* is 异或21、使用PLA实现功能:X = ABC + ABC + ABC和Y = ABC + ABC。
可编程互连线
22、什么是LUT?
LUT - 查找表。查找表可以用多路复用器实现,其选择是LUT的输入。 LUT可以通过真值表来编码任何布尔函数。 LUT实际上是现代FPGA的关键组件。
23、FPGA在现代电子产品中的重要意义是什么?
一、ASIC原型设计:由于ASIC晶元的高成本,首先在FPGA中验证。
二、数字信号处理
24、什么是bus?
汇流排是一组承载数据,地址和控制信号的线。
25、什么是三态逻辑?
使用三个逻辑电平,它们是高,低和高阻抗状态。 高和低是逻辑1和零电平。 高阻抗状态是电气开路状态。 三态逻辑有 enable 端。
26、什么是冯·诺依曼架构?
冯·诺依曼体系结构是一种计算机设计模型,它使用单独的存储结构来保存指令和数据。 从存储器读取指令/数据并由处理单元执行。
27、function 和 task有什么区别?
function
可以调用其他function ,但是不能调用其他 task
消耗0模拟时间
不得包含任何延迟和时序控制语句。
必须至少有一个输入参数。
函数始终返回单个值。 他们不能有output或inout参数。
task
可以调用其他function 和 task
消耗非0模拟时间
可以包含任何延迟和时序控制语句。
可以有零个或多个类型为input,output或inout参数。
他们不能有output或inout参数。 任务不返回值,但可以通过output或inout参数传递多个值。
28、$ display和$ monitor有什么区别?
$ monitor持续监视参数列表中指定的变数或信号的值,并在任何一个变数/参数的值发生变化时执行该语句。
与$ display不同,$ monitor只需要调用一次。
29、wire和reg有什么区别?
Wire是一种net数据类型,表示硬体元素之间的连接。 它的默认值是z。 reg是寄存器数据类型,表示数据存储元素。 寄存器保留值,直到将另一个值放在它们上面。 它的默认值是x。
30、阻塞赋值和非阻塞赋值有什么区别?
阻塞赋值语句按顺序块中指定的顺序执行。 阻塞赋值不会阻止并行块中的语句执行。 「=」运算符用于指定阻塞赋值。
非阻塞赋值不阻止顺序块中的语句。 「<=」运算符用于指定非阻塞赋值。
31、使用和不使用临时寄存器写一个verilog代码来交换两个寄存器的内容。
With a temporary register:
always @ (posedge clock)
begin
temp_reg=b;
b=a;
a=temp_reg;
end
Without using a temporary register:
always @ (posedge clock)
begin
a < = b;
b < = a;
end
32、`timescale 1 ns / 1 ps 在verilog代码中表示什么?
这意味著时间单位为1ns,精度最高可达1ps。
33、在纯组合电路中,是否有必要在敏感列表中的列入所有输入?为什么?
是的,在组合电路中,如果其中一个输入发生变化,则输出重新计算。 因此,必须将所有输入信号放在敏感列表中。
34、如何使用verilog编码生成正弦波?
使用CORDIC演算法。
35、如何在Verilog中描述同步和非同步复位?
Synchronous reset:
always @(posedge clk)
begin
--
if(reset)
--
end
Asynchronous reset:
always @(posedge clk or posedge reset)
begin
--
if(reset)
--
end
36、是否可以优化Verilog代码,以便实现低功耗设计?
是。 尝试优化代码,以减少数据转换和filp-flops的时钟切换。
37、为什么现有的VLSI电路使用MOSFET而不是BJT
与BJT相比,MOSFET可以面积更小并且制造相对简单。
38、什么是阈值电压?
栅极和源极之间的电压值,即VGS,其中足够数量的移动电子在沟道区域中累积以形成导电沟道被称为阈值电压(Vt对于NMOS是正的而对于PMOS是负的)。
39、给出CMOS开关功耗的表达式。
Pswitching = (1/2)CVdd2/f
Pswitching = Switching power.C = Load capacitance.Vdd = Supply voltage.f = Operating frequency.40、VLSI优化的重要方面是什么?
Power, Area, and Speed.
41、功耗的来源是什么?
+动态功耗,逻辑转换导致逻辑门负载电容充电/放电。
+短路电流,在逻辑转换期间短路(一段时间)时发生。
+泄露功耗,由泄漏电流引起的。
42、为什么需要减少功耗?
低功耗可延长电池寿命,降低冷却和封装成本。
43、提供一些低功耗设计技术。
电压调节,晶体管尺寸调整,电源管理模式等。
44、逻辑电路中的毛刺是否会导致功耗泄露?
是的,因为它们会导致逻辑门的转换。
45、SRAM中功耗浪费的主要来源是什么?
要读写数据,需要激活字线,这会导致行中的所有列都处于激活状态,即使我们只需要一个字数据。 这消耗了大量的功耗。
46、在CMOS数字设计中,为什么PMOS的尺寸通常高于NMOS的尺寸?
在PMOS中,载流子是空穴,其迁移率小于NMOS中的载流子,电子。 这意味著PMOS比NMOS慢。 在CMOS技术中,NMOS将输出下拉至地,PMOS将输出上拉至Vdd。 如果PMOS和NMOS的大小相同,则PMOS需要很长时间才能对输出节点充电。 如果我们有更大的PMOS,那么充电更快。 所有这些都是为了输出节点的上升时间和下降时间相等。
47、什么是slack?
slack是特定路径中要求延迟与实际延迟的时间差。 Slack可以是正的也可以是负的。
48、如果负载电容增加,延迟会发生什么?
延迟增加。
49、为什么逻辑综合最好读入floorplan信息?
提高逻辑综合和物理实现的时序相关性
50、在设计中,有多少种时序路径?
reg2reg、input2reg、reg2output、input2output
推荐阅读: