【题目精刷】2022紫光展锐-数字IC设计
时间:2023-06-12 20:37:00
为了能够在做题目的过程中学习到需要的知识,对每道题知识参考或者知识详情都做了详细的说明。方便后续复习。欢迎对文中的解答批评指正。
文章目录
-
-
-
- 1.[单选题]Verilog语言和C语言的区别是()
- 2.[单选题]数据位宽8bit,地址位宽13bit的RAM,它的大小是多少?
- 3.[单选题]第三代移动通信标准是什么?
- 4.[单选题]linux下面,删除文件命令
- 5.[单选题]在verilog以下不属于分支语句的是()
- 6.一个八位D/A转换器最小电压为0.01V,输出电压为()V。
- 7.[单选题]在verilog HDL的always如何执行块句中的句子()
- 8.以下哪一种不是异步处理的通用方法
- 9.[单选题]Verilog HDL当中信号没有定义数据类型时,为什么缺少数据类型?
- 10.[单选题]项目后仿阶段不需要哪个文件?
- 11.[单选题]How many logic gates(only NAND and NOT gate)used in a D latch?
- 12.[单选题]以下对hold timing有帮助的是
- 13.【单选题】以下哪项工作需要手工设计门级?
- 14.[单选题]At which level is STA usually done?
- 15.[单选题]In Verilog_hdl,a=4'b1011,so &a=?
- 16.[单选题]timescale 1ns/1ps
- 17.[单选题]下列语句()不能在module中独立存在
- 18.[单选题]CMOS工艺中,PMOS衬底连接;
- 19.[单选题]A=(0.8125)10,十进制转二进制,则A=
- 20.[单选题]运算assign SUM=a[7:0] b[7:0] c[7:0] d[7:0] e为了SUM没有溢出,SUM最小位宽是多少?
- 21.时钟正在触发下列描述中的[单选题]reset异步下降沿复位的代码描述是
- 22.组合逻辑电路通常由()组成
- 23.以下哪一个不是[单选题]Verilog的keyword?
- 24.[单选题]APR给出最终输出的数据Foundary?
- 25.假设在CRC验证中使用的生成多项式是G(X)=X^3+X+1,4位原始报文为1010,求编码后的报文
- 26.[单选题]AXI不包括以下接口信号
- 1.[多选题]以下哪些?AHB的特性
- 2.[多选题]请选择以下内容burst片内传输总线
- 3.以下同步逻辑电路和异步逻辑电路描述正确
- 4.[多选题]请在以下总线中找出串行总线
- 5.在超大规模集成电路设计中,采取以下措施进行高速设计
- 6.[多选题]Verilog其他编程语言有哪些接口机制?
- 7.[多选题]UPF描述以下信息()?
- 8.[多选题]芯片设计注重PPA具体指哪些方面?
- 9.以下哪些方法可以减少亚稳态问题的影响
- 10.实现低功耗电路的方法有很多
- 11.代码覆盖率主要包括[多选题]
- 12.[多选题]以下关于Setup/Hold Time说得对吗?
- 13.[多选题]在验证中,以下关于代码覆盖率的描述是错误的
- 14.[多选题]EDA在验证中,以下哪种方法可以检查时间顺序?
- 15.[多选题]以下哪些?power special cell ()?
- 16.[多选题]关于时序逻辑电路Pipeline正确的设计说法是()?
-
-
单选题(共26题,每题2分,共52分)
1.[单选题]Verilog语言和C语言的区别是()
- A.Verilog并行计算语言,C语言只是串行计算;
- B.Verilog语言可以描述电路结构,C语言只描述算法;
- C.Verilog语言来自C语言,包括其逻辑和延迟;
- D. Verilog语言可以编写测试向量进行模拟和测试。
语法结构相似 和 源于 差别还是挺大的。
2.[单选题]数据位宽8bit,地址位宽13bit的RAM,它的大小是多少?
- A.4KB
- B.8KB
- C.16KB
8bit * 2^13 depth / 8(bit/Byte) = 8192Byte = 8KB
3.[单选题]第三代移动通信标准是什么?
- A.EDGE
- B.TD-SCDMA
- C.LTE
- D.WiFi
A:2.5G/2.75G
C: 4G
D: 无线局域网技术
4.[单选题]linux下面,删除文件命令
- A.mkdir
- B.rm/li>
- C.mv
- D.del
Linux命令大全
A:mkdir: make directory
B:rm:remove
C: mv: move
D: del: 好像没这个命令
5.[单选题]在verilog中,以下不属于分支语句的是()
- A.case
- B.if-else
- C.repeat
- D.casaz
repeat: 循环语句。按固定次数执行一条语句。如果表达式的计算结果为未知或高阻抗,则应将其视为零,并且不应执行任何语句。
6.[单选题]一个八位D/A转换器最小电压增量为0.01V,当输入10011100时,输出电压为()V。
- A.1.28
- B.1.45
- C.1.54
- D.1.56
8’b10011100 * 0.01V = 1.56V
7.[单选题]在verilog HDL的always块语句中的语句是如何执行的()
- A.顺序
- B.并行
- C.顺序或并行
- D.不一定
always 块还是可以包含并行块 fork…join 的,虽然不可综合。
8.[单选题]以下哪个不是异步处理的通用方法
- A.synchronizer
- B.fifo
- C.handshake protocol
- D.sampling by DFF
A: 脉冲同步器,也是有一定适用条件的,输入脉冲最小间隔为两个同步器时钟周期,如果输入脉冲间隔过近导致同步器不能检测到每个脉冲。相对D来说还是更通用一些。
B:FIFO,异步FIFO处理是较为通用的。
C: 握手协议。
D:打两拍采样的方式只适用于慢到快。
9.[单选题]Verilog HDL中信号没有定义数据类型时,缺省为什么数据类型
- A.reg
- B.wire
- C.tri
- D.Z
未显示定义的信号默认为 单bit wire。
10.[单选题]项目后仿阶段,不需要哪个文件?
- A.标准单元库
- B.网表
- C.SDF
- D.RTL
- RTL行为级仿真
综合前仿真。来检查代码中的语法错误以及代码行为的正确性,其中不包括延时信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。 - 综合后门级功能仿真(前仿真)
综合工具除了可以输出一个标准网表文件以外,还可以输出Verilog或者VHDL网表,其中标准网表文件是用来在各个工具之间传递设计数据的,并不能用来做仿真使用,而输出的Verilog或者VHDL网表可以用来仿真,之所以叫门级仿真是因为综合工具给出的仿真网表已经是与生产厂家的器件的底层元件模型对应起来了,所以为了进行综合后仿真必须在仿真过程中加入厂家的器件库,对仿真器进行一些必要的配置,不然仿真器并不认识其中的底层元件,无法进行仿真。 - 时序仿真(后仿真)
设计布局布线完成以后可以提供一个时序仿真模型,这种模型中也包括了器件的一些信息,同时还会提供一个SDF时序标注文件(Standard Delay format Timing Anotation)。
11.[单选题]How many logic gates(only NAND and NOT gate)used in a D latch?
- A.4
- B.5
- C.6
- D.7
12.[单选题]以下对hold timing有帮助的是
- A.提高时钟频率
- B.降低时钟频率
- C.提高工作电压
- D.降低工作电压
保持关系:
t l a u n c h + t c l k 2 q + t l o g i c < t c a p t u r e + t h o l d t_{launch} + t_{clk2q} + t_{logic} < t_{capture} + t_{hold} tlaunch+tclk2q+tlogic<tcapture+thold
参考《Static timing analysis for nanometer designs_ a practical approach》2.10 Operating Conditions
对于电压,升压电流大 时延小,降压电流小 时延大。
setup问题是时序关键路径总时延过大,而hold问题则是总时延过小。
A、B: 从上述保持关系可知,与时钟频率无关
C、D: 对hold有帮助,环境对于专用时钟网络影响不大,而需要逻辑时延增大,所以需要降压。
13.[单选题]以下哪项工作需要手工进行门级设计?
- A.行为级描述
- B.综合
- C.ECO
- D.验证
工程变更(Engineering Change Order):
在芯片设计中,ECO是在经过自动化工具处理后直接将逻辑变更插入到网表(netlist)的过程。ECO通常在制作芯片掩膜之前完成,以避免和节省完全ASIC逻辑综合、技术映射、布局、布线、布局提取和时序验证的时间。EDA工具通常提供促成此种类型ECO的增量操作模式。
ASIC设计中最常见的ECO是门级网表ECO(gate-level netlist ECO)。在此流程中,工程师手动编辑门级网表,而不是重新运行逻辑综合。
14.[单选题]At which level is STA usually done?
- A.Behavior Level
- B.Register Transfer Level
- C.Gate Level
行为级作为RTL的更高层次抽象,主要描述的是算法层面的内容。
STA很少在RTL级别上完成,因为在这一层级上,更重要的是验证设计的功能,而不是时序。此外,并非所有的时间信息都可用,因为块的描述是在行为层面上。一旦RTL级的设计被综合到门级,就可以使用STA验证设计的时序。STA也可以在执行逻辑优化之前运行-目标是确定最差或关键的时序路径。在逻辑优化之后,可以重新运行STA,以查看是否仍有需要优化的故障路径,或者确定关键路径。
15.[单选题]In Verilog_hdl,a=4’b1011,so &a=?
- A.4’b1011
- B.4’B1111
- C.1’b1
- D.1’b0
此处的 & 作为 缩减运算符,一元缩减运算符对单个操作数进行按位运算,产生单位结果。
16.[单选题]'timescale 1ns/1ps
fork
begin #1; end
begin #2; end
join_none
$display($time);
上述代码中需要等待多长时间?
- A.1ns
- B.2ns
- C.3ns
- D.4ns
time unit = 1ns
Fork…join 控制选项:
选项 | 描述 |
---|---|
join | 父进程会一直阻塞,直到这个fork派生的所有进程完成为止。 |
join_any | 父进程会一直阻塞下去,直到这个fork派生的任何一个进程完成为止。 |
join_none | 父进程继续与fork派生的所有进程并发执行。在父线程执行阻塞语句之前,派生的进程不会开始执行。 |
所以父进程下的 $display 与 fork中的派生进程 begin…end 并发执行。等待2ns后,第二个begin…end进程执行完成。
注意 $display 输出的是0;
17.[单选题]下列语句()不能在module中独立存在
- A.task
- B.initial
- C.always
- D.forever
Verilog行为模型包含过程语句,用于控制模拟和操作前面描述的数据类型的变量。这些语句包含在过程中。每个过程都有一个与其相关联的活动流。
forever 作为一个语句,必须在过程块中。
18.[单选题]CMOS工艺中,PMOS的衬底连接;
- A.VDD
- B.GND
- C.Source
- D.Drain
反相器 CMOS制造(Fabrication)与布局(Layout)
衬底必须被绑定到一个低电位,以避免p型衬底和n+ nMOS源或漏之间的p-n结的正向偏置。
同样地,n阱必须与一个高电位相连接。通过添加大量掺杂的衬底和阱 contact 或 tap ,将GND和VDD分别连接到衬底和n阱。
PMOS的衬底是n阱。
19.[单选题]A=(0.8125)10,十进制转二进制,则A=
- A.(0.1101)2
- B.(0.0101)2
- C.(0.1011)2
- D.(0.1111)2
除了普通的转换外,有一种简便的方法就是先移位后转换。
0.8125 * 2^4 = 13 = 4’b1101
20.[单选题]运算assign SUM=a[7:0]+b[7:0] +c[7:0] +d[7:0]+e[8:0],为了SUM没有溢出,SUM的位宽最小为多少
- A.10
- B.11
- C.12
- D.13
5个数,向上取整为8 ,需要拓展 3bit
21.[单选题]下列描述中采用时钟正沿触发目reset异步下降沿复位的代码描述是
- A.always@(posedge clk or negedge reset) if(reset)
- B.always@(posedge clk or reset) if(!reset)
- C.always@(posedge clk or negedge reset) if(!reset)
- D.always@(negedge clk or posedge reset) if(reset)
无
22.[单选题]组合逻辑电路通常由()组合而成
- A.记忆元件
- B.门电路
- C.计数器
- D.以上都对
组合逻辑电路:任何时刻产生的稳定输出信号都仅取决于该时刻电路的输入信号。
时序逻辑电路:任何时刻的输出稳态值,不仅与该时刻的输入信号有关,而且与该时刻以前的输入信号也有关,即时序逻辑电路有记忆功能。
判断的时候看有没有时序器件就行。
23.[单选题]以下哪个不是Verilog的keyword?
- A.input
- B.assign
- C.write
- D.module
以Vivado synthesis支持的Verilog结构来学习 Verilog语句可综合性 7 Verilog 保留的关键词
24.[单选题]APR最终输出什么数据给Foundary?
- A.GDS
- B.DEF
- C.Verilog
- D.SPEF
Auto place and route 自动布局布线,是数字后端版图实现的主要流程。
EDA设计工具进行布局布线和物理验证,最终产生供制造用的图形数据系统(Graphic Data System ,GDSII)
DEF(design exchange format),叫设计交换格式,它描述的是实际的设计,对库单元及它们的位置和连接关系进⾏了列表,使⽤DEF来在不同的设计系统间传
递设计,同时⼜可以保持设计的内容不变。DEF与只传递⼏何信息的GDSII不⼀样。它还给出了器件的物理位置关系和时序限制等信息。
SPEF(standard parasitic exchange format),叫标准寄⽣交换格式,属于IEEE国际标准⽂件格式。是从⽹表中提取出来的表⽰RC值信息,是在提取⼯具与时序验证⼯具之间传递RC信息的⽂件格式。
25.[单选题]假设在CRC校验中使用的生成多项式是G(X)=X^3+X+1,4位的原始报文为1010,求编码后的报文
- A.1010 011
- B.1010 000
- C.1011 011
- D.1011 000
从选项看,校验位的宽度为3bit。
生成多项式是G(X)对应除数4’b1011,原始报文 模2除 生成多项式,得到的余数就是校验码。
得到计算校验结果为3’b011
所以编码后为 7’b1010 011
26.[单选题]AXI4不包括下面哪个接口信号
- A.AWID
- B.ARID
- C.WID
- D.RID
AXI4协议学习:架构、信号定义、工作时序和握手机制
AXI4和AXI4 Lite都包含五个不同的通道:
- 读地址通道(Read Address Channel)
- 写地址通道(Write Address Channel)
- 读数据通道(Read Data Channel)
- 写数据通道(Write Data Channel)
- 写响应通道(Write Response Channel)
多选题(共15题,共48分)
1.[多选题]下面哪些是AHB的特性
- A.split transaction
- B.burst transfer
- C.non-tristate implementation
- D.out-of-order data transmission
A: 分段传输,split transcation 是指slave不能立即完成传输,slave先通知arbiter停止此次传输,直到其决定能完成此次传输时再通知arbiter可以恢复传输。
B: 突发传输,burst transfer 是指master连续发送几个传输,数目的个数由控制信号决定。
C: 非3态实现
D: 无序的数据传输。
《IHI0033C_amba_ahb_protocol_spec》 Glossary 描述了AMBA AHB文档中使用的一些技术术语:AMBA AHB支持高时钟频率,单时钟边缘操作,突发传输和非三态实现。它可以支持广泛的数据总线配置。
A:暂时存在疑问
B: AXI和AHB都支持突发传输,AHB协议需要一次突发传输的所有地址,AXI只需要一次突发的首地址。APB不支持突发传输
C: 暂时存在疑问
D: AXI 支持 Out-of-order transaction。不是通过事务顺序传输,而是通过ID传输。
2.[多选题]请选出以下能实现burst传输的片内总线
- A.APB
- B.AHB
- C.SPI
- D.AXI
无
3.[多选题]以下同步逻辑电路和异步逻辑电路描述正确的是
- A. 同步逻辑电路是时钟之间没有固定的因果关系,异步逻辑电路是各时钟之间有固定的因果关系
- B. 同步逻辑是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有的操作都是在严格的时钟控制下完成的。
- C. 异步逻辑电路不同时钟域之间不需要进行时钟同步
- D. 异步逻辑可能存在多个时钟信号,或者不存在时钟信号,电路中一个逻辑的变化就会引起整个电路逻辑的变化。
组合逻辑电路:任何时刻产生的稳定输出信号都仅取决于该时刻电路的输入信号。
时序逻辑电路:任何时刻的输出稳态值,不仅与该时刻的输入信号有关,而且与该时刻以前的输入信号也有关,即时序逻辑电路有记忆功能。
同步时序电路:驱动各个时序单元(例如寄存器、RAM甚至锁存器等)进行寄存动作的时钟信号处于同一时钟域。
异步时序电路:如果时序逻辑电路存在至少一个这样的组合逻辑功能块——它的输入、输出端口不全来自同一时钟域,那么该电路为异步时序逻辑电路。
时钟域取决于时钟源点。
同一个PLL产生的相位和倍数可控的不同时钟是同步时钟。
不同PLL即使产生同频时钟也是异步时钟。因为相位关系无法控制。
4.[多选题]请找出以下总线中的串行总线
- A.AXI
- B.SDIO
- C.UART
- D.IIC
简单理解就是完成单向的数据传输时只有一根数据线路。
AXI,数据总线,可以是8、16、32、64、128、256、512或1024位宽。
安全数字输入输出 SDIO(Secure Digital Input and Output),SDIO是可以有多跟数据线的,一般是4bit,比如我们的SD卡。
通用异步收发器 UART(Universal Asynchronous Receiver/Transmitter)
集成电路总线 IIC(Inter-Integrated Circuit)
5.[多选题]超大规模集成电路设计中,为了高速设计,采取以下哪些措施
- A.流水线设计
- B.并行化设计
- C.资源共享
- D.串行化设计
流水线,并行化是典型的面积换速度。
资源共享和串行化设计是速度换面积。
6.[多选题]Verilog与其他编程语言有哪几种接口机制?
- A.PLI
- B.DPI
- C.NPI
Verilog-2005
编程语言接口 Programming language interface (PLI)
直接编程接口 Direct programming interface (DPI):这是SystemVerilog-2005引入的。
验证程序接口 Verification Procedural Interface (VPI)
编程语言接口(PLI)是一种过程接口,允许外语函数访问SystemVerilog仿真的内部数据结构。SystemVerilog验证程序接口(VPI)是PLI的一部分。VPI提供了一个C语言函数库和一种将外语函数与SystemVerilog用户定义的系统任务和系统函数名称关联的机制。
7.[多选题]UPF描述了以下哪些信息()?
- A.power distribution architecture
- B.power data
- C.power strategy
- D.usage of special cell
UPF的全称是统一功耗格式(Unified Power Format),其主要是由Synopsys推出的专门用于描述电路电源功耗意图的一种语言标准,它是Tcl语言的扩展,并且现在被三大EDA厂商支持。
UPF描述了芯片电源管理的供电网络、isolation cell、level shifter的插入,电源开关的各个方面,它指定如何设计电源网络的一些行为。
不太会,网上找的。
8.[多选题]芯片设计关注的PPA具体指哪几个方面?
- A.Performance
- B.POWER
- C.Architecture
- D.Area
无
9.[多选题]下列哪些方式可以减少亚稳态问题的影响
- A.提升系统时钟频率
- B.用反应更快的FF
- C.架构上增加data toggle rate
- D.改善时钟质量
深扒“亚稳态”的底裤,从MOS管到CMOS门电路,再到亚稳态分析
MTBF用以下公式和参数计算:
M T B F = e t M E T / C 2 C 1 f C L K f D A T A MTBF=\frac{e^{t_{MET}/C_2}}{C_1f_{CLK}f_{DATA}} MTBF=C1fCLKfDATAetMET/C2
C1和C2常数取决于器件过程和操作条件。
f C L K f_{CLK} fCLK和 f D A T A f_{DATA} fDATA参数取决于设计规范: f C L K f_{CLK} fCLK是接收异步信号的时钟域的时钟频率, f D A T A f_{DATA} fDATA是异步输入数据信号的切换频率。更快的时钟频率和更快的切换数据会减少(或恶化)MTBF。
t M E T t_{MET} tMET参数是可获得的亚稳稳定时间,或超出寄存器的 t C O t_{CO} tCO可用的时间裕量,用于将潜在的亚稳信号解析为一个已知值。同步链的 t M E T t_{MET} tMET是链中每个寄存器的输出时序松弛的总和。
总体设计的MTBF可以通过设计中各同步器链的MTBF来确定。同步器的故障率为1/MTBF,整个设计的故障率是通过添加每个同步器链的故障率来计算的,如下所示:
故 障 率 d e s i g n = 1 M T B F d e s i g n = ∑ i = 1 寄 存 器 数 1 M T B F i 故障率_{design}=\frac{1}{MTBF_{design}}=\sum_{i=1}^{寄存器数}\frac{1}{MTBF_i} 故障率design=MTBFdesign1=