北邮数电 爱课堂答案 Verilog专题
1.在以下的集成电路元件中,无法用Verilog HDL语言描述的是______。
A.四或非门CD4001
B.单片机8051
C.译码器74138
D.集成运放uA741
E.电压比较器LM311
集成电路可分为模拟IC和数字IC。模拟IC:处理连续性的声、光、电、电磁波、速度和温度等自然模拟信号的集成电路为通常意义上的模拟IC。
Verilog HDL是一种用于数字电路设计的硬件描述语言(Hardware Description Language,HDL) ,可以进行数字电路的仿真验证、时序分析、逻辑综合等。
Verilog只能描述数字电路,无法描述模拟电路IC。
2.在Verilog HDL中,已知“a=1b'1; b=3b'001;”,那么{a,b}=____.
{a, b}意思是将a与b相连接,因此{a,b}的结果为4b'1001.
3.在Verilog HDL中,不属于并行语句的是____。
在Verilog HDL语言中, case 语句是一种多分支选择语句。
4. 在begn…end中的变量只能被声明为reg类型。
5. 在Verilog HDL语言中,若a=4b'1011,则&a=____.
&作为单目运算符使用时,表示的是缩减运算符(reduction operator)中的一种,计算过程为: &a=1&0&1&1=0, 故答案为D选项。
6.若P、Q、R都是4bit的输入矢量,下面哪一种表达形式是正确的_
A. input P[3:0],Q,R;
B. input P,Q,R[3:0];
C. input P[3:0],Q[3:0],R[3:0];
D. input [3:0]P,Q,R;
解析:
I/O说明的格式为:
(1)输入口: input [信号位宽-1:0] 端口名;
(2)输出口: output[信号位宽-1:0] 端口名;
7. Verilog HDL中,b被赋成新值a的操作并不是立刻完成,而是在块结束时才完成,且块内多条赋值语句在块结束时同时赋值的形式,被称为 非阻塞赋值方式 ,赋值语句为 b<=a 。
非阻塞赋值(b <= a)的赋值方式:
(1)在语句块中,上面语句所赋予的变量值不能立即就为下面的语句使用;
(2)块结束后才能完成这次赋值操作,而所赋的变量值是上一次赋值所得到的;
(3)在编写可综合的时序逻辑模块时,这是最常用的赋值方法。
8. always块与assign语句是并发执行的,assign语句一定要放在always块之外。(对)
9.在Verilog HDL中,“a=4'b1001, b=4'bx110"选出正确的运算结果:
A. a&b = 0
B. a&&b = 1
C. b&a = x
D. b&&a = x
在Verilog HDL语言中, &代表的是按位与, &&代表的是逻辑与。
故本题中,a&b 的结果为4'bx000 (x与1逻辑与运算结果为x),
a&&b的结果为逻辑1 (只要不为0,均视为逻辑1),
综上B为正确选项。
10. 串口通信中可以使用偶校验检错,方法是在要发送的字节中加入校验位,使输出的9位数据中出现1的次数永远为偶数。可以实现该校验的Verilog 描述为____.
A. assign output[8:0] = {1'b1, input[7:0]}; .
B. assign output[8:0] = {1'b0, input[7:0]};
C. assign output[8:0] = {~input[7:0], input[7:0]};
D. assign output[8:0] = {^input[7:0], input[7:0]};
由题描述,偶校验验错是指:当输出数据中有奇数个1时校验码为1,
而当输出数据中有偶数个1时校验码为0,
其中校验码加在数据末尾。
显然A、B选项的描述是有失偏颇的。
对于C,~是取反操作,拼接之后会形成16位数,赋值操作将报错。
对于D,^为缩减运算符(异或操作):偶数个1异或为0,奇数个1异或为1,与题目描述功能符合.
11. 数据发送端使用偶校验发送9位数据字段,在该字段中,若1的出现次数是偶数次,则数据有效,valid信号输出1,则判断数据是否有效的正确Verilog实现是___。
A. assign valid = ~&input[8:0];
B. assign valid = ~input[8:0];
C. assign valid = ^input[8:0];
D. assign valid = ~^input[8:0];
本题答案选D。此题在问题10的基础上需要着重注意操作符顺序选取。
对于A,&为缩减运算符(与操作)。只要input中存在一个0则valid就被赋值为1。
而B中右端是一个九位二进制数,赋值操作会出错。
D中~^并不是指同或,而是先对input缩减运算异或运算,再取反。
12. 低密度FPGA常使用四输入查找表实现可编程组合逻辑,其原理用Verilog描述如下:
module lut4(in, table, out)
input [3:0] in;
input [15:0] table;
output out;
assign out = table[in];
endmodule
若想实现四输入与门,in 为输入,out 为输出,则table 应该输入
A.16'b000000000000001
B.16'd1024
C.16'hF000
D.16'h8000
四输入查找表实现的功能是通过4为input输入,通过一定映射关系在table表中输出查找值。要想实现四输入与门,即有:当且仅当输入全为1时table值为1,即table[15]=1。
故table应输入2'b1000_0000_0000_0000=16'd32768=16'h8000。
13.以下Verilog代码可实现USB传输中的循环冗余校验,其生成多项式为: x^16+x^15+x^2+1。
module crc16(data, crc, newcrc);
input data;
input [15:0] crc.
output [15:0] newcrc;
wire d = data;
wire c = crc;
assign newcrc[15:0]= {d^c[14]^c[15],c[13:2],d^c[1]^c[15], c[0],d^c[15]};
endmodule
对于该模块,以下理解中正确的是
A.该模块输入数据data是以字节为单位的
B.该模块是组合逻辑,不需要时钟信号驱动即可输出结果
C.newcrc是输出信号,默认是reg类型
D.该模块复杂冗余,不可综合
A选项错误,1字节=8bit,1bit代表的是一位二进制数,数据data是以比特为单位的。
B项正确,任意时刻输出只与对应时刻的输入有关。
C选项错误,newcrc默认是wire类型,只有在always等模块中变量赋值需要定义为reg类型。
14.用组合逻辑可实现一位半加器. a,b为输入,c为输出,不正确的Verilog描述是
A. assign = a + b;
B. assign = a ^ b;
C. assign ={a ,b};
D. always @(*)c=a+b;
A为或运算符,B为异或运算符,C为拼接运算符,
D为一always模块,其中*代表所有变量,
显然c若是作为a、b的拼接输出是错误的。
15. 以下Verilog代码可以实现全加器的功能: assign {m,n}= a + b + cin;
对该代码理解不正确的是___.
A. m为进位输出,n是全加器的和
B. m和n一定是wire型变量
C. m == a & b & cin
D. n == a ^ b ^ cin
如题所示,assign 实现的是连续赋值语句,
其中m代表进位cout,n代表全加器加法结果sum,即A正确。
assign是对wire型变量赋值,即B正确。
C错误,逻辑不正确。
若a、b、cin中有奇数个1则n输出为1,即为异或关系,D正确。
16. 在Verilog HDL中,非阻塞赋值是指在过程块内当前赋值语句不会阻断其后的语句,该操作只能用于"initial"块和"always"块等过程块中reg型变量赋值。(对)
在"initial"和"always"等模块中给变量赋值,变量类型应为reg型,即寄存器类型;
非阻塞赋值就是指赋值会在模块运行结束之后再进行,不会阻断其后的语句。
17. 下面的Verilog代码实现了___功能。
A.半加器 B.全减器 C.乘法器 D.以上都不对
module SomeModule(a, b, C1, C2, S);
input a,b,C1;
output C2,S;
wire x, y, z;-
xor xor1(x, a, b);
xor2(S, x, C1);-
and andl(y, a, b);
and2(z, C1, x);
or or1(C2, y, z);
endmodule
本题首先要明确输入输出变量:其中a、b、C1是输入,C2、s是输出变量。
事实上,输入输出变量的命名就给我们提供了很大的提示,可以联想到可能是全加器.
接下来进行具体功能分析:
S输出的是三个变量的异或运算结果,
C2输出的是输入中两个及两个以上为高电平的情况,
功能与全加器符合!
18. 以下Verilog代码是按键消抖程序的一部分,实现了按键信号的跨时钟域同步,其中PB为按键信号输入,在以下理解中,正确的是___.
A.在数字电路中按键消抖只是一种传说,无法实现
B.按键消抖完全可以使用组合逻辑实现
C.PB_sync_1 永远比PB_sync_0滞后一个clk周期
D.可以使用event信号识别按键信号PB的下降沿
reg PB_sync_0, PB_sync_1;
always @(posedge clk)
begin
PB_sync_0 <= PB;
PB_sync_1 <= PB_sync_0;
end
wire event = PB_sync_0 & ~PB_sync_1
A选项,按键消抖不是传说,相信很多同学都通过小脚丫实现了按键消抖!
B选项,按键消抖通过时序逻辑实现;
C选项,注意到是非阻塞赋值,即该赋值语句不会影响下面语句执行,在模块结束后再执行赋值操作,故在PB输入后PB_sync_1永远比PB_sync_0滞后一个clk周期。
D选项,识别的目的在于若输入信号在clk一个周期后保持不变,则确认为按键按下。若用event来识别下降沿,假设PB_sync_0先变为低电平,此时PB_sync_1还为高电平,则输出为低电平;当一个clk周期后PB_sync_1 变为低电平时,输出仍不变为低电平(无论PB_sync_1变不变,输出均为低电平)。
19. 在进行逻辑仿真时,某同学使用Verilog HDL实现了模块"testbench0",用来测试现有模块"blackbox"的逻辑功能,对该代码正确的理解是___。
A.模块testbench0可用于仿真,不可综合
B.模块testbench0描述了或门,其中a和b为输入,c为输出
C.仿真时,clk 信号的频率为100MHz
D.仿真条件过于理想,与现实情况不符,没有必要进行仿真
`timescale 10ns/1ns
module testbench0;
reg a, b, clk;
wire c;
initial begin
a=0;b= 0;
#10 a= 1;
#10 a=0;b= 1;
#10 a= 1;
#10 $finish;
end
always #1 clk = ~clk;
blackbox bb(clk, a, b, c);
endmodule
选项A,与可综合Verilog代码所不同的是,testbench是在计算机主机.上的仿真器中执行的,其只能用于仿真,而不能综合。
选项B,别人都是blackbox 了,实现什么功能我们无从得知。
选项C,对于timescale 10ns/1ns而言,前面的10ns描述的单位时间延迟,即#1 进行时延的单位是10ns,而后面的1ns是指时间精度,可达到1ns, clk信号是01、01不断变化,周期为2*10ns,频率为50MHz。
选项D,对于一个问题的研究往往是由浅入深,从理想到复杂,大跃进般的思想在数电学习中一定是行不通的!
20. 某Verilog HDL代码如下,则该模块的逻辑功能为___.
A.比较器 B.数据选择器 C.译码器 D.以上都不对
module ex02 (out, a, b, sel);
output out;
input a, b, sel;
reg out;
always @(a or b or sel )
begin
case (sel)
1'b0: out = a;
1'bl: out = b;
default: out = 'bx;
endcase
end
endmodule
由Verilog代码所示功能,当sel为0时,out=a;
当sel=1时,out=b。
实质上代表的是一个数据选择器。
© 2020 北邮学习部,All rights reserved.
笔者编辑整理
北邮数电 爱课堂答案 Verilog专题相关推荐
- 北邮数电实验三接球小游戏
文章目录 前言 一.实验要求 二.设计思路 三.设计系统框图 四.源代码 五.遇到的问题和解决办法 六.总结 前言 北邮数电实验三"接球小游戏" 数电实验验收已经结束了,实验报告也 ...
- BUPT数电爱课堂概念题_易错点_错题 汇总
脱单干嘛?数电ta不香嘛 第一周 第二周 第三周 第四周 第五周 第六周 第七周(待更新,还没写完,大家期中考试加油!) 第一周 在这里在这里https://blog.csdn.net/JCMLSY/ ...
- 北邮数电期末复习——第三章
<数字电路与逻辑设计--组合电路的分析和设计> == 期末复习 == 1 与非.或非.与或表达式的转换: 根据状态表写出输出函数的方程,化简成为最小与或式或者或与式(可能用到对偶性质),根 ...
- 计算机远程控制相关考题,北邮远程计算机试题和答案.docx
北邮远程计算机试题和答案 目前常用的保护计算机网络安全的技术性措施是防火墙防风墙KV300 JAVA 知识点:八.信息安全与网络道德学生答案:[A;]标准答案:A得分:[1]试题分值:1.0提示:?下 ...
- 【数电实验7】Verilog—外星萤火虫
[2022.05西南交大数电实验] [本代码及波形已通过老师验收.仅供参考.] [参考博客:[数电实验]外星萤火虫设计_难凉oh的博客-CSDN博客] [建议:有些口语化的注释看完删掉比较好哈,怕老师 ...
- 北邮和西电真的厉害,看到许多985的喊0 offer,同时也看到一大堆北邮西电的人秀出高薪offer...
有经历了今年校招的小朋友发出感叹:北邮和西电真的厉害,看到许多985的喊0offer,同时也看到一大堆北邮西电的人秀出高薪offer,985的牌子真的不一定就比211强. 这种现象,我是一点不吃惊的, ...
- (数电实验报告)用Verilog–HDL语言设计一个8线3线优先编码器
`module encoder8_3(S,I7,I6,I5,I4,I3,I2,I1,I0,Y2,Y1,Y0,YS,YEX); input S,I7,I6,I5,I4,I3,I2,I1,I0; outp ...
- 软件项目管理MOOC(北邮)——第一章测试答案
第一章 软件项目管理基本概念 第一章单元测试 1.下面选项中不属于项目管理核心要素的是? A.范围 B.进度 C.风险 D.成本 2.下面哪一个活动不是项目? A.野餐活动 B.集体婚礼 C.开发操作 ...
- 西电计算机学院有保研清华的吗,北邮西电保送清华人数进前10,不输双一流,哪些大学学生能读清华...
清华大学是我国最好的大学之一,一直都和北京大学齐名,能考上清华大学的学生自然都是高考当中的佼佼者,人中龙凤,能到清华大学读研究生那更是许多优秀学生的梦想.那么都哪些大学的学生能够被保送到清华大学读研? ...
- 电分、模电、数电总复习之爱课堂题目概念整理
本文模电数电部分转载自博客园_模电数电爱课堂概念题整理 模电.数电总复习之爱课堂题目概念整理 电分总复习之爱课堂题目概念整理(原创)(不定期更新) 模电总复习之爱课堂题目概念整理 Chapter 1 ...
最新文章
- boxFilter 滤波器实现
- linux 中解析命令行参数 (getopt_long用法)
- Spring Cloud Alibaba迁移指南(三):极简的 Config
- Stream anyMatch查找案例
- java中子类与父类中隐含的this引用的分析
- pytorch-----使用Module类来自定义模型
- 单片机 基于IIC通讯 驱动TM1640点亮LED灯
- 为游戏而生:第12代英特尔酷睿台式机处理器发布
- vue 调用移动录像_vue H5项目调用手机摄像头录像并上传
- 人工智能数学基础——相关分析
- 诺贝尔奖离中国还有多远
- 如何把无限循环小数转换成分数形式
- 前端js正则表达式2
- 手撸架构,Java基础 面试100问
- 计算机防火墙服务不能启动不了,Windows防火墙不能启动 服务也不能启动,怎么回事?...
- Unity_混合树实现三种动画的混合_070
- Autosar 网络管理总结
- wampServer:橙色变绿色
- 如何用echarts组件制作图表
- 2021湖南耒阳二中高考成绩查询,来自耒阳各校的高考喜报