为了能够在做题目的过程中学习到需要的知识,对每道题知识参考或者知识详情都做了详细的说明。方便后续复习。欢迎对文中的解答批评指正。
- 1.[单选题]下列电路中属于时序逻辑电路的是()
- 2.[单选题]关于同步设计描述错误的是()
- 3.[单选题]下面哪种措施不能减少亚稳态影响()
- 4.[单选题]状态机没有冗余状态时,可以不写default状态。
- 5.[单选题]状态机如果状态未列全,不需要使用default状态。
- 6.[单选题]#UDLY语句可以被综合成延时电路
- 7.[单选题]下列关于实现不符合低功耗设计规范要求的是()
- 8.[单选题]下列说法错误的是()
- 9.[单选题]下列说法正确的是()
- 10.[单选题]我们通常所说的时序逻辑电路是指()
- 11.[单选题]中断指示寄存器由实时告警的状态触发,是只读寄存器()
- 12.[单选题]对于信号定义语句:reg [0:4] always, a; 说法正确的是:()
- 13.[单选题]如果两个时钟的频率不同,则两个时钟为异步时钟()
- 14.[单选题]格雷码(gray code)比二进制码(binary code)有什么优势?
- 15.[单选题]用于逻辑的真假判断,结果为单比特,0或1。!用于数据按位取反,结果是单个或多个比特()
- 16.[单选题]以下哪个阶段的仿真可以真实的模拟实际的环境()
- 17.[单选题]形式验证可以判断()
- 18.[单选题]哪些情况下不会产生latch电路?()
- 19.[单选题]SystemVerilog中,下面那种数组在使用前需要先执行new操作。()
- 20.[单选题]下面两端代码中in,q1、q2和q3的初值分别为0,1,2,3,那么经过1个时钟周期后,左侧q3的值和右侧q3的值分别变成了()
- 21.[单选题]下面那些模块划分方式是不合理的()
- 22.[单选题]如下图,对时钟到输出时间分析正确的是()
- 23.[单选题]关于verilog代码风格,以下说法错误的有:()
- 24.[单选题]异步电路都不需要STA进行约束检查。
- 25.[单选题]完全消除亚稳态的方法正确的是()
- 26.[单选题]下列不属于异步时序电路设计特征的是:
- 27.[单选题]以下哪一项对于提高系统处理能力没有帮助()
- 28.[单选题]同步电路设计中出现setup time不满足、不可以采样下面哪种措施解决()
- 29.[单选题]单bit电平信号使用级联三触发器电路跨异步时钟城可以消除亚稳态。
- 30.[单选题]对于initial语句,说法错误的是:()
- 31.[单选题]时序逻辑电路按照其触发器是否有统一的时钟控制分为同步时序电路和异步时序电路。
- 32.异步时钟数据采样的方法错误的是()
- 33.[单选题]Verilog语言的层次高低对应()
- 34.[单选题]设计异步FIFO时,FIFO深度必须是2的整数次幕,才能使用格雷码
- 35.[单选题]表示任意两位无符号十进制数需要()位二进制数
- 36.[单选题]模块端口的输入信号,如果没有进行赋值,其值是()。
- 37.[单选题]基于Verilog HDL,时钟或复位信号可以出现在赋值表达式中。
- 38.线型信号必须显示定义()
- 39.[单选题]编码中可以使用显式端口映射,也可以使用位置端口映射,位置端口映射方式更好。
- 40 [单选题]常说的7nm工艺,7nm指的是晶体管的()
- A.编码器
- B.计数器
- C.数据选择器
- D.译码器
组合逻辑电路:任何时刻产生的稳定输出信号都仅取决于该时刻电路的输入信号。 时序逻辑电路:任何时刻的输出稳态值,不仅与该时刻的输入信号有关,而且与该时刻以前的输入信号也有关,即时序逻辑电路有记忆功能。
判断的时候看有没有时序器件就行。
2.[单选题]关于同步设计描述错误的是()- A.时钟上未叠加任何用户功能逻辑
- B.所有寄存器的异步置位及异步复位端口上未叠加任何用户功能逻辑
- C.同步设计便于静态时序分析
- D.所有寄存器均采用同一时钟
同步设计指工作在同一时钟域。
时钟域取决于时钟源点。
- 同一个PLL产生的相位和倍数可控的不同时钟是同步时钟。
- 不同PLL即使产生同频时钟也是异步时钟。因为相位关系无法控制。
- A.用反应更快的FF
- B.引入同步机制,防止亚稳态传播
- C.改善时钟质量,用边沿变化平缓的时钟信号
- 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=i=1∑寄存器数MTBFi1
A: 如果输入的数据不满足建立时间或保持时间,寄存器的输出就会进入亚稳态。
所以减小亚稳态影响一方面通过提高时序减小亚稳态产生的概率。
B: 寄存器处于亚稳态之后,形成稳定输出所需的时间 t s t a b t_{stab} tstab 要大于clock-to-output延时时间 t C O t_{CO} tCO。至于到底延迟多少取决于用于制造该设备的工艺技术和操作条件。如果第二个采样时钟到来时还没稳定,就会导致亚稳态的传递。同理,亚稳态可能一直传递。但一般认为经过同步寄存后发生发生亚稳态的概率会大大较小。
所以减小亚稳态影响另一方面通过减小亚稳态的传播。
C: 改善时钟质量,应该是用边沿变化快速的时钟信号
D: 让建立关系更严格,增加亚稳态发生的概率。
4.[单选题]状态机没有冗余状态时,可以不写default状态。- A.正确
- B.错误
除了正常工作状态,状态机还需要考虑出现异常状态(亚稳态,毛刺)时不出现死锁。所以需要default。
5.[单选题]状态机如果状态未列全,不需要使用default状态。- A.正确
- B.错误
同上
6.[单选题]#UDLY语句可以被综合成延时电路- A.正确
- B.错误
以Vivado synthesis支持的Verilog结构来学习 Verilog语句可综合性 3.3 过程性语句
#UDLY 是延时控制语句,综合过程会忽略。
7.[单选题]下列关于实现不符合低功耗设计规范要求的是()- A.在不进行算术、逻辑运算的时候,使这些模块的输入保持“0”,不让操作数进来,输出结果不会翻转;而如果进行这方面的运算时,再将它们打开
- B.FPGA全功能版本在产品适用温度范围内,结温不超过阀值的90%
- C.接口电平如果可选,选择高电平模式
- D.在满足性能要求时,尽量采用低的系统时钟
CMOS 电路功耗类型:
- 动态功耗:负载电容充放电引起的功耗。
- 静态功耗:漏电流引起的功耗。
P = 1 2 ⋅ C ⋅ V D D 2 ⋅ f ⋅ N S W ⏟ 翻 转 功 耗 + Q S C ⋅ V D D ⋅ f ⋅ N S W ⏟ 短 路 功 耗 ⏞ 动 态 功 耗 + I l e a k ⋅ V D D ⏟ 漏 电 流 功 耗 ⏞ 静 态 功 耗 P=\overbrace{\underbrace{ \frac{1}{2}·C·V^2_{DD}·f·N_{SW}}_{翻转功耗} + \underbrace{Q_{SC}·V_{DD}·f·N_{SW}}_{短路功耗}}^{动态功耗} + \overbrace{\underbrace{I_{leak}·V_{DD}}_{漏电流功耗}}^{静态功耗} P=翻转功耗 21⋅C⋅VDD2⋅f⋅NSW+短路功耗 QSC⋅VDD⋅f⋅NSW 动态功耗+漏电流功耗 Ileak⋅VDD 静态功耗
- C C C:结电容。
- N S W N_{SW} NSW:单周期内翻转晶体管数目。
- f f f:系统工作时钟频率。
- V D D V_{DD} VDD:供电电压。
- Q S C Q_{SC} QSC:翻转过程中的短路电量。
- I l e a k I_{leak} Ileak:漏电流。
A:↓翻转功耗 B: 结温(Junction Temperature)是电子设备中半导体的实际工作温度。 我们知道,PVT对功耗的影响:温度影响数字IC芯片的阈值电压Vt,温度升高导致Vt下降。晶体管阈值降低,漏电流变大,静态功耗变大。 Xilinx wp221 中说到随着结温上升,静态功耗呈指数级上升。 当工艺到达 90nm 或更小时,静态功耗开始超越动态功耗。
C:↑ V D D V_{DD} VDD D: ↓动态功耗
8.[单选题]下列说法错误的是()- A.两个向量进行比较操作或加减操作或赋值操作时,两个向量的位宽要相等,避免隐式扩展;
- B.if/else语句配对使用,case语句加default项;组合逻辑中在所有条件下都要对信号赋值,如果要保持不变用a=a的方式赋值;
- C.可综合代码中,除了for语句中的循环变量可以定义为integer型外,所有变量和信号都只能为wire或reg型,不能定义为整型、实数型、无符号型、realtime型和time型;
- D.条件语句,如果无优先级关系,尽量采用case,避免多级else if影响时序;
B:避免latch C: 以Vivado synthesis支持的Verilog结构来学习 Verilog语句可综合性 8.5 数据类型 integer 是支持的。
D:理论上,case综合成并行选择分支,而if…else综合成串行选择分支。不过实际上现在的编译器都会进行优化,有些if…else也会优化成并行选择分支。
9.[单选题]下列说法正确的是()- A.在always语句中赋值的变量,可以是wire也可以是reg
- B.reg变量一定被综合为寄存器
- C.always块只能用来描述组合逻辑
- D.在assign语句中赋值的变量要定义为wire
认真学习了一下关于Verilog的赋值
赋值分为连续赋值和过程赋值。
- 连续赋值(continuous assignment):给net赋值。
- 过程赋值( procedural assignment):给变量赋值。
线网net类型:wire tri tri0 supply0 wand triand tri1 supply1 wor trior trireg uwire 变量类型:reg, integer, time, real, realtime
A: always 中发生的是过程赋值。过程赋值给变量赋值而不是线网。
B: reg根据触发条件的不同,过程赋值语句可以建模不同的硬件结构:如果这个条件是时钟的上升沿或下降沿,那么这个硬件模型就是一个触发器;如果这个条件是某一信号的高电平或低电平,那么这个硬件模型就是一个锁存器;如果这个条件是赋值语句右侧任意操作数的变化,那么这个硬件模型就是一个组合逻辑。
也就是 Verilog-2005 中说的,连续赋值提供了一种不用指定gate的互连来对组合逻辑建模的方法。
C: 错。
D:assign语句完成net的连续赋值,net类型很多。
综上,题目表达有问题。不过我们只要学会其中的知识就行。
10.[单选题]我们通常所说的时序逻辑电路是指()- A.锁存器
- B.D触发器
- C.RS触发器
- D.触发器
无
11.[单选题]中断指示寄存器由实时告警的状态触发,是只读寄存器()- A.正确
- B.错误
无
12.[单选题]对于信号定义语句:reg [0:4] always, a; 说法正确的是:()- A.bit定义顺序应该从高到低;
- B.信号定义为reg型,只能使用在时序电路的赋值中;
- C.每个信号应单独用一行来声明;
- D.不能使用关键字定义信号名;
A: 从高到低或者从低到高都可以。但是要注意,永远是[MSB:LSB],也就是说
reg [0:4] a;
reg [4:0] ba;
initial begin
a = 5'b00011;
b = a; // a = 5'b00011
end
B: reg型变量也可以建模成组合逻辑。
C、D: 关键词作为变量名用错,语句没错。
13.[单选题]如果两个时钟的频率不同,则两个时钟为异步时钟()- A.正确
- B.错误
时钟域取决于时钟源点,或者说取决于是否有固定相位关系。
- 同一个PLL产生的相位和倍数可控的不同时钟是同步时钟。
- 不同PLL即使产生同频时钟也是异步时钟。因为相位关系无法控制。
- A.编码实现电路更小;
- B.实现电路速度更快;
- C.更容易判断不同的编码是否相等
- D.相邻的两个编码只有一比特发生跳变;
无
15.[单选题]用于逻辑的真假判断,结果为单比特,0或1。!用于数据按位取反,结果是单个或多个比特()- A.正确
- B.错误
Verilog-2005 5.1 Operators ! 是一元逻辑取反运算符,~是按位(bitwise)取反。
16.[单选题]以下哪个阶段的仿真可以真实的模拟实际的环境()- A.综合后仿真
- B.布局布线后仿真
- C.编译后仿真
- D.综合前仿真
- RTL行为级仿真 综合前仿真。来检查代码中的语法错误以及代码行为的正确性,其中不包括延时信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。
- 综合后门级功能仿真(前仿真) 综合工具除了可以输出一个标准网表文件以外,还可以输出Verilog或者VHDL网表,其中标准网表文件是用来在各个工具之间传递设计数据的,并不能用来做仿真使用,而输出的Verilog或者VHDL网表可以用来仿真,之所以叫门级仿真是因为综合工具给出的仿真网表已经是与生产厂家的器件的底层元件模型对应起来了,所以为了进行综合后仿真必须在仿真过程中加入厂家的器件库,对仿真器进行一些必要的配置,不然仿真器并不认识其中的底层元件,无法进行仿真。
- 时序仿真(后仿真) 设计布局布线完成以后可以提供一个时序仿真模型,这种模型中也包括了器件的一些信息,同时还会提供一个SDF时序标注文件(Standard Delay format Timing Anotation)。
- A.两个设计是否等价
- B.设计时序是否满足
- C.其他均不能保证
- D.设计功能是否正确
形式验证技术通过证明两个设计的结构和功能时逻辑等价的来验证设计。形式验证的目标:
- RTL与RTL:确认新的RTL与原来RTL在功能上是否一致。
- 门级网表与RTL:确定DC综合的逻辑是正确的。
- 两个门级网表之间:确认版图输入信息与版图输出信息。
- A.使用if选择语句的组合逻辑没有e1se部分表达;
- B.使用case选择语句的组合逻辑没有else表达
- C.时序逻辑中if选择语句,没有else部分表达。
- D.组合逻辑中条件不全的case语句没有default赋值;
在组合逻辑过程中,如果一个信号没有在if或case语句的所有分支中显式赋值,综合生成一个Latch来保存最后一个值。
- 组合逻辑
- 没有在if或case语句的所有分支中显式赋值
- A.动态数组
- B.联合数组
- C.多维数组
- D.压缩数组
SystemVerilog-2005 5.6 Dynamic arrays
动态数组是可在运行时设置或更改其大小的未打包数组的任何维度。在运行时显式创建数组之前,动态数组的空间是不存在的。
20.[单选题]下面两端代码中in,q1、q2和q3的初值分别为0,1,2,3,那么经过1个时钟周期后,左侧q3的值和右侧q3的值分别变成了()always @(posedge clk)
begin
q1=in;
q2=q1;
q3=q2;
end
always @(posedge clk)
begin
q1
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?