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专题相关推荐

  1. 北邮数电实验三接球小游戏

    文章目录 前言 一.实验要求 二.设计思路 三.设计系统框图 四.源代码 五.遇到的问题和解决办法 六.总结 前言 北邮数电实验三"接球小游戏" 数电实验验收已经结束了,实验报告也 ...

  2. BUPT数电爱课堂概念题_易错点_错题 汇总

    脱单干嘛?数电ta不香嘛 第一周 第二周 第三周 第四周 第五周 第六周 第七周(待更新,还没写完,大家期中考试加油!) 第一周 在这里在这里https://blog.csdn.net/JCMLSY/ ...

  3. 北邮数电期末复习——第三章

    <数字电路与逻辑设计--组合电路的分析和设计> == 期末复习 == 1 与非.或非.与或表达式的转换: 根据状态表写出输出函数的方程,化简成为最小与或式或者或与式(可能用到对偶性质),根 ...

  4. 计算机远程控制相关考题,北邮远程计算机试题和答案.docx

    北邮远程计算机试题和答案 目前常用的保护计算机网络安全的技术性措施是防火墙防风墙KV300 JAVA 知识点:八.信息安全与网络道德学生答案:[A;]标准答案:A得分:[1]试题分值:1.0提示:?下 ...

  5. 【数电实验7】Verilog—外星萤火虫

    [2022.05西南交大数电实验] [本代码及波形已通过老师验收.仅供参考.] [参考博客:[数电实验]外星萤火虫设计_难凉oh的博客-CSDN博客] [建议:有些口语化的注释看完删掉比较好哈,怕老师 ...

  6. 北邮和西电真的厉害,看到许多985的喊0 offer,同时也看到一大堆北邮西电的人秀出高薪offer...

    有经历了今年校招的小朋友发出感叹:北邮和西电真的厉害,看到许多985的喊0offer,同时也看到一大堆北邮西电的人秀出高薪offer,985的牌子真的不一定就比211强. 这种现象,我是一点不吃惊的, ...

  7. (数电实验报告)用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 ...

  8. 软件项目管理MOOC(北邮)——第一章测试答案

    第一章 软件项目管理基本概念 第一章单元测试 1.下面选项中不属于项目管理核心要素的是? A.范围 B.进度 C.风险 D.成本 2.下面哪一个活动不是项目? A.野餐活动 B.集体婚礼 C.开发操作 ...

  9. 西电计算机学院有保研清华的吗,北邮西电保送清华人数进前10,不输双一流,哪些大学学生能读清华...

    清华大学是我国最好的大学之一,一直都和北京大学齐名,能考上清华大学的学生自然都是高考当中的佼佼者,人中龙凤,能到清华大学读研究生那更是许多优秀学生的梦想.那么都哪些大学的学生能够被保送到清华大学读研? ...

  10. 电分、模电、数电总复习之爱课堂题目概念整理

    本文模电数电部分转载自博客园_模电数电爱课堂概念题整理 模电.数电总复习之爱课堂题目概念整理 电分总复习之爱课堂题目概念整理(原创)(不定期更新) 模电总复习之爱课堂题目概念整理 Chapter 1 ...

最新文章

  1. boxFilter 滤波器实现
  2. linux 中解析命令行参数 (getopt_long用法)
  3. Spring Cloud Alibaba迁移指南(三):极简的 Config
  4. Stream anyMatch查找案例
  5. java中子类与父类中隐含的this引用的分析
  6. pytorch-----使用Module类来自定义模型
  7. 单片机 基于IIC通讯 驱动TM1640点亮LED灯
  8. 为游戏而生:第12代英特尔酷睿台式机处理器发布
  9. vue 调用移动录像_vue H5项目调用手机摄像头录像并上传
  10. 人工智能数学基础——相关分析
  11. 诺贝尔奖离中国还有多远
  12. 如何把无限循环小数转换成分数形式
  13. 前端js正则表达式2
  14. 手撸架构,Java基础 面试100问
  15. 计算机防火墙服务不能启动不了,Windows防火墙不能启动 服务也不能启动,怎么回事?...
  16. Unity_混合树实现三种动画的混合_070
  17. Autosar 网络管理总结
  18. wampServer:橙色变绿色
  19. 如何用echarts组件制作图表
  20. 2021湖南耒阳二中高考成绩查询,来自耒阳各校的高考喜报

热门文章

  1. 40岁才博士毕业,新任安徽省长的他写了篇句句戳心的博士论文后记
  2. [NOIP2013 提高组] 花匠
  3. 1、NoSQL数据库简介
  4. java web后台开发规范01
  5. 深入浅出 Python Descriptors / Properties
  6. 频率泄露以及加窗原理
  7. 国内银行卡BIN号速查简表
  8. 如何准备数学建模,那些数学建模中我们踩过的坑(万字自述国赛美赛经历)
  9. c++课设作业之课程信息管理系统
  10. Qt学习之路八——利用qt对数据库进行操作