期中考试【Verilog】

news2024/11/25 18:44:07

期中考试【Verilog】

  • 前言
  • 推荐
  • 期中考试
    • 一. 单选题(共10题)
    • 二. 填空题(共5题)
    • 三. 简答题(共3题)
    • 四. 其它(共4题)
  • 最后

前言

编写于2022/11/30 13:30

以下内容源自Verilog期中试题
仅供学习交流使用


考试时间 8:40~10:00

首次做:不翻书 9:20左右做完
再次检查:翻书 9:50左右做完
题目难度:不是很难,尽量不翻书


推荐

第四章 数字逻辑电路设计方法【Verilog】

期中考试

题量:22满分:100
作答时间: 11-30 08:41至11-30 10:00

一. 单选题(共10题)

1.(单选题)门级建模的类型有( )
A. or和AND
B. OR和and
C. and和or
D. A、B、C都正确

我的答案: C 必须是小写
正确答案: C

2.(单选题)
VerilogHDL使用的逻辑是( )
A. 二值逻辑
B. 四值逻辑
C. 三值逻辑
D. 八种强度

我的答案: B 0、1、x、z
正确答案: B

3.(单选题)具有多个输出端口的门是( )
A. and
B. or
C. nor
D. not

我的答案: D 基本门电路这个not很特殊,多输出门 另外还有缓存器buf
正确答案: D

4.(单选题)reg[15:0] mem[127:0] 正确的赋值是( )
A. mem[5]=16’ d0;
B. mem=16’ d0;
C. mem[15][127]=1’ b1;
D. mem[5][3:0]=16’ d1

我的答案: A 位宽 个数
正确答案: A

5.(单选题)
下列标识符中那个是合法的( )
A. \din
B. ALWAYS
C. _out*
D. $abc

我的答案: D 我就这个没有检查,以为自己肯定对
正确答案: B 结果,就这个错了
合法标识符只能有数字、字母、下划线、美元符组成
区分大小写
第一个字符只能是字母或下划线

6.(单选题)在verilog语言中,a=4’b1011,那么 &a=( )
A. 4’b1011
B. 4’b1111
C. 1’b1
D. 1’b0

我的答案: D 归约与
正确答案: D

7 (单选题)在verilog语言中整型数据与( )位寄存器数据在实际意义上是相同的。
A. 8
B. 16
C. 32
D. 64

我的答案: C 整型数据4个字节
正确答案: C

8.(单选题)assign连续赋值语句主要用于对( )类型变量赋值。
A. wire
B. reg
C. integer
D. time

我的答案: A
正确答案: A

9.(单选题)
verilog语言内部已使用的词称为关键字或保留字,( )不是关键字。
A. output
B. tri
C. Module
D. begin

我的答案: C
正确答案: C

10.(单选题)
过程赋值语句,多用于对( )类型语句赋值。
A. reg
B. wire
C. net
D. integer

我的答案: A
正确答案: A

二. 填空题(共5题)

11.(填空题)
verilog语言规定的两种主要物理数据类型分别是____________和_____________,程序模块中输入输出信号的缺省类型为___________________。

我的答案:
(1) 连线型
(2) 寄存器型
(3) wire
正确答案:
(1) 连线类型;寄存器类型
(2) 寄存器类型;连线类型
(3) wire

12.(填空题)
块语句有两种,一种是begin-end语句,通常用来标志________________执行的语句;另一种是fork-join语句,通常用来标志________________执行的语句。

我的答案:
(1) 串行
(2) 并行
正确答案:
(1) 顺序
(2) 并行

13.(填空题)
写出表达式以实现对应电路的逻辑功能

assign F=__________________________________。

在这里插入图片描述

我的答案:
(1) (A&B)|(C与非D)异或E 我的想法是写成(AB+(–CD))⊕E ,数字电路的表达式有点符号打不出来,用了汉字代替
正确答案:
(1) ((A&B)|(~ (C&D)))^ E;(A&B|(~ (C&D)))^E

  1. (填空题)
    根据图中输入输出关系将verilog模块定义补充完整,其中信号A为5比特宽度,其余信号为1比特宽度。
    在这里插入图片描述

我的答案:
(1) output[4:0] A
(2) input B
(3) inout C
正确答案:
(1) input B;
(2) inout C ;
(3) output [4:0] A;

15.(填空题)
1、 假设某4比特位宽的变量a的值为4’b1010,计算下列运算表达式的结果:

&a=_______________________;

{3{a}}=____________________;

!a=_______________________。

我的答案:
(1) 1’b0 归约与
(2) 12’b101010101010 复制
(3) 0 逻辑非
正确答案:
(1) 0;1’b0
(2) 12’b101010101010
(3) 0;1’b0

三. 简答题(共3题)

16.(简答题)请解释下列名词:HDL,EDA,FPGA,IP,RTL。

看书

HDL:是一种高级程序设计语言,通过对数字电路和系统的语言描述,可以对数字集成电路进行设计和验证
EDA:一些公司提供功能强大的电子设计自动化工具
FPGA:现场可编程门阵列
IP核:具有知识产权核的集成电路芯核的总称
RTL:数字电路设计和代码编码阶段   

17.(简答题)always语句和initial语句的关键区别是什么?能否相互嵌套?

initial:在时刻0开始,只能执行一次
always:在触发条件下,便可执行
不能相互嵌套

18.(简答题)
分别画出下面两个程序综合出的电路图(其中d为输入)。

阻塞赋值=和非阻塞赋值<=的区别

① 
	input d,clk;
    output q0,q1,q2; 
    reg  q0,q1,q2;
	always@(posedge  clk)
               begin
                 q0<=d;
                 q1<= q0;
                 q2<= q1;
             end

 ② 

	input d,clk;
	output q0,q1,q2; 
	reg  q0,q1,q2; 
    always@(posedge  clk)
           begin
                 q0= d;
                 q1= q0;
                 q2= q1;
           end

我的答案:
在这里插入图片描述

我少画了一个D触发器输出q0
在这里插入图片描述

在这里插入图片描述

测试

module test1(q0,q1,q2,clk,d);
	input d,clk;
    output q0,q1,q2; 
    reg  q0,q1,q2;
	always@(posedge  clk)
               begin
                 q0<=d;
                 q1<= q0;
                 q2<= q1;
             end
endmodule
module test2(q0,q1,q2,clk,d);
	input d,clk;
    output q0,q1,q2; 
    reg  q0,q1,q2;
	always@(posedge  clk)
               begin
                 q0 = d;
                 q1 = q0;
                 q2 = q1;
             end
endmodule
module test_tb;
	reg d,clk;
    wire q0,q1,q2; 

	test1 u1(q0,q1,q2,clk,d);
	test2 u2(q0,q1,q2,clk,d);

	always 
		#5 clk = ~clk;
	initial
		begin
			clk=0;
			#10 d=0;
			#50 d=1; 	
		end
endmodule

在这里插入图片描述

四. 其它(共4题)

19.(其它)
设计一个带复位端且对输入时钟clk进行八分频的电路模块。并设计相应的测试电路。
设计要求:复位信号为同步、高电平有效,时钟的下降沿触发。

module dclk8(out, clk, clr); 
	output [2:0] out; 
	input clk,clr;  
	reg [3:0] out;//少了
	always @ (negedge clk)   //negedge
		if (clr)	
			out<=3'b000;  
		else 
			if (out==3'b111) 
				out<=3'b000; 
			else 
				out<=out+1; 
endmodule
module dclk8_tb; 
	wire[2:0] out; 
	reg clk,clr;  

	dclk8 u1(out, clk, clr); 

	always 
		#5 clk = ~clk;
	initial
		begin
			clk=0;
			clr=1;
			#10 clr=0;
			#15 clr=1;
			#10 clr=0;//应该再补个clr=0		
		end
endmodule

仿真结果:如下
在这里插入图片描述

只有计数器,不能实现分频

修改

//设计一个带复位端且对输入时钟clk进行八分频的电路模块。并设计相应的测试电路。
//设计要求:复位信号为同步、高电平有效,时钟的下降沿触发。
/*
module dclk8(out, clk, clr); 
	output[3:0] out; 
	input clk,clr;  
	reg [3:0] out;
	always @ (negedge clk)   //negedge
		if (clr)	
			out<=3'b000;  
		else 
			if (out==3'b111) 
				out<=3'b000; 
			else 
				out<=out+1; 
  
endmodule
*/

module dclk8(clk8, clk, clr); 
	output clk8; 
	input clk,clr; 
	reg  clk8;
	reg [3:0] out;
	always @ (negedge clk)   //negedge
		if (clr)	
			out<=3'b000;  
		else 
			if (out==3'b111) 
				out<=3'b000; 
			else 
				out<=out+1; 

	 always @ (out)  
		if (clr)	
			clk8<=0;  
 		else 
			if (out==3'b111) 
				clk8=~clk8;
		
  
endmodule
/*
module dclk8_tb; 
	wire[2:0] out; 
	reg clk,clr;  

	dclk8 u1(out, clk, clr); 

	always 
		#5 clk = ~clk;
	initial
		begin
			clk=0;
			clr=1;
			#10 clr=0;
			#15 clr=1;
			#10 clr=0;//应该再补个clr=0		
		end
endmodule
*/

module dclk8_tb; 
	wire clk8; 
	reg clk,clr;  

	dclk8 u1(clk8, clk, clr); 

	always 
		#5 clk = ~clk;
	initial
		begin
			clk=0;
			clr=1;
			#10 clr=0;
			#15 clr=1;
			#10 clr=0;//应该再补个clr=0		
		end
endmodule

在这里插入图片描述

20.(其它)
试用Verilog HdL描述一个4位的全加器,并编写测试代码。(端口A、B为加数,CI为进位输入,SUM为和,CO为进位输出。)

module adder4(sum, co, a, b, ci);
	output[3:0] 	sum;
	output co;
	input[3:0] 	a, b;
	input ci;
	assign	 {co,sum}=a+b+ci;
endmodule 
module adder4_tb;
	wire[3:0] 	sum;
	wire 	co;
	reg[3:0]  	a,b;
	reg ci;
	
	adder4 u4(sum, co, a, b, ci);//我把实例化忘了

	initial
		begin
			    a=4'b0000;b=4'b0000;ci=0;
			#10 a=4'b0001;b=4'b0001;ci=1;
			#10 a=4'b0011;b=4'b0011;ci=0;
			#10 a=4'b0111;b=4'b0111;ci=1;		
			#10 a=4'b1111;b=4'b1111;ci=0;	
		end
endmodule

在这里插入图片描述

21.(其它)
设计一奇偶校验位生成电路,输入八位总线信号bus,输出奇校验位odd,偶校验位even。并设计相应的测试电路。

module checker8 (odd,even,bus); 
	output odd,even;
	input [7:0] bus; 
	assign even=^bus; 
	assign odd=~even; 
endmodule
module checker8_tb; 
	wire odd,even;
	reg [7:0] bus; 
	
	checker8 u8(odd,even,bus);//我把实例化忘了

	initial 
		begin
			    bus=8'b00000000;
			#10 bus=8'b00000001;
			#10 bus=8'b10000000;
			#10 bus=8'b11111111;
		end
endmodule

在这里插入图片描述

22.(其它)
请用Verilog Hdl设计一个十进制的同步减法计数器,要求具有复位和置数功能,并编写测试代码。

module counter10(count, clk, reset,load,d); 
	output [3:0] count; 
	input clk,reset,load;  
	input [3:0] d; 
	reg [3:0] count;
	always @ (posedge clk)
		if (!reset)	count<=4'b0000; 
		else if (load)	count<=d;  //这个又少了if
		else     
			if (count==4'b0000)       count<=4'b1001;     
			else       count<=count-1; 
endmodule

module counter10_tb; 
	wire [3:0] count; 
	reg clk,reset,load;  
	reg [3:0] d; 
	
	counter10 c10(count, clk, reset,load,d);//这个没有忘

	always 
		#5 clk = ~clk;

	initial
		begin
			clk=0;
			reset=1;
			load=1;
			d=4'b1001
			#5 load=0;		
			#50 reset=0;
			#50 load=1;d=4'b0000;
			# 5 load=0;		
		end //又忘了个end

endmodule

修改测试代码

module counter10_tb; 
	wire [3:0] count; 
	reg clk,reset,load;  
	reg [3:0] d; 
	
	counter10 c10(count, clk, reset,load,d);

	always 
		#5 clk = ~clk;


	initial
		begin
			clk=0;
			reset=1;
			load=1;
			d=4'b1001;
			#10 load=0;		
			#50 reset=0;
			#10 reset=1;load=1;d=4'b0000;
			#10 load=0;		
		end //又忘了个end

	/*
	initial
		begin
			clk=0;
			reset=0;
			load=0;
			#10 
			reset=1;
			load=1;
			d=4'b1001;
			#10
			load=0;
			
		end //又忘了个e
*/
endmodule

在这里插入图片描述

最后

总结:
不够细心
本来应该能答对的
有可能是手跟不上脑子吧


2022-11-30 15:39


这篇博客能写好的原因是:站在巨人的肩膀上

这篇博客要写好的目的是:做别人的肩膀

开源:为爱发电

学习:为我而行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/48497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows访问centOS的Tomcat

首先&#xff0c;先准备好jdk1.8和Tomcat的文件 点击此处获取jdk1.8和Tomcat的文件&#xff08;提取码&#xff1a;xxrc&#xff09; 配置IP地址 打开终端输入ifconfig&#xff0c;检查centOS的ip地址 根据要求&#xff0c;是要把ip地址最后一位改为自己的学号&#xff08;前…

手把手教你做智能合约开源|多文件合约开源|引用文件开源

本文手把手教你使用 区块链浏览器 验证智能合约的三种方式。 验证单一 Solidity 文件 在开始验证之前&#xff0c;我们需要首先部署智能合约。进入 Remix IDE&#xff0c;创建一个合约新文件。复制粘贴下面的代码&#xff1a; // SPDX-License-Identifier: MITpragma solidit…

夜曲编程Python体验课

目录 day1 编程中的“文本” 代码规范 打印数字 打印字符串 注释 总结思维导图 day2 变量与赋值 变量 常量 赋值 格式化输出 转义字符&#xff1a; 总结思维导图 day3 编程中的“数字” 整形 浮点型 运算符 四种常见的四则运算符&#xff08; - * / &…

【软件测试】测试人的我们,咋做一个如鱼得水的测试员?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 一千个人&#xff0…

短视频创作,主动变现和被动变现方式详解,建议收藏反复阅读-下

同样先说纲要&#xff0c;有兴趣可以继续看下去&#xff0c;上一篇讨论了抖音变现的有三个建议&#xff0c;①变现标准低、②变现天花板高、③可主动变现。 这一篇的内容只要是抖音上被动和主动两类变现方式&#xff0c;涉及了直播打赏&#xff0c;广告接单&#xff0c;视频带货…

小啊呜产品读书笔记001:《邱岳的产品手记-15》第28讲 产品分析的套路(上):谁是利益相关者? 29讲产品分析的套路(中):解决什么问题?

小啊呜产品读书笔记001&#xff1a;《邱岳的产品手记-15》第28讲 产品分析的套路&#xff08;上&#xff09;&#xff1a;谁是利益相关者&#xff1f;& 29讲产品分析的套路&#xff08;中&#xff09;&#xff1a;解决什么问题&#xff1f; 一、今日阅读计划二、泛读&知…

【Big Data】Hadoop--MapReduce经典题型实战(单词统计+成绩排序+文档倒插序列+每月Top3温度)

&#x1f34a;本文使用了4个经典案例进行MapReduce实战 &#x1f34a;参考官方源码&#xff0c;代码风格较为优雅 &#x1f34a;解析详细 一、Introduction MapReduce是一个分布式运算程序的编程框架&#xff0c;核心功能是将用户写的业务逻辑代码和自身默认代码整合成一个完整…

vue+videojs视频播放、视频切换、视频断点分段上传

“本次需求是做一个视频列表&#xff0c;点击视频列表播放对应视频&#xff1b;同时要求实现断点分段上传大文件&#xff08;视频&#xff09;的功能 。 videojs文档&#xff1a;Getting Started with Video.js - Video.js: The Player Framework | Video.js 断点续传组件地址…

WebRTC学习笔记六 兼容性 adapter.js

一、adapter.js发展背景 adapter.js自2012年底或者2013年初WebRTC早期的时候就已经出现了。它最初是Google的apprtc demo的一部分。原始版本仍可在Chrome tree中找到。它是一个非常小的项目&#xff0c;还没有150行。主要功能是隐藏像webkitRTCPeerConnection和mozRTCPeerConne…

Spring Boot+Mybatis:实现数据库登录注册与两种properties配置参数读取

〇、参考资料 1、hutool介绍 https://blog.csdn.net/abst122/article/details/124091375 2、Spring BootMybatis实现登录注册 https://www.cnblogs.com/wiki918/p/16221758.html 3、Spring Boot读取自定义配置文件 https://www.yisu.com/zixun/366877.html 4、Spring Boot读取p…

医院用故障电弧探测器AAFD 安科瑞 时丽花

摘 要&#xff1a; 医院运行中对于用电方面的要求越来越高&#xff0c;为了更好地体现用电价值&#xff0c;首先应该确保用电的安全性&#xff0c;尤其是对 于越来越繁杂的医院用电系统。基于此&#xff0c;在未来医院用电过程中应该加大关注力度&#xff0c;切实做好相关管理工…

Compose学习-> Text()

设置文本&#xff1a;text xxx 直接设置 Text(text "我是一个Text")引用资源文件&#xff1a;stringResource Text(text stringResource(id R.string.string_text))设置字体颜色&#xff1a;color xxx 引用系统自带的颜色 Text(text "我是一个Text"…

【技术分享】NB860+Lierda云平台=上电即上云——云管端协作让万物互联更简单(二)

随着物联网行业的快速发展&#xff0c;越来越多的物联网云服务平台涌现。如何快速实现应用开发&#xff0c;如何管理&#xff0c;如何让设备快速上云&#xff0c;成为关注的焦点。 第一期中我们介绍了基于MQTT协议快速接入利尔达物联网全连接云平台&#xff0c;本期我们将介绍如…

ManageEngine 第六次入选 Gartner® 安全信息和事件管理魔力象限™!

今天&#xff0c;我们很高兴地宣布&#xff0c;ManageEngine 已在2022年 Gartner 安全信息和事件管理 (SIEM) 魔力象限中获得认可&#xff0c;今年已经是其连续第六次出现在Gartner中。ManageEngine非常高兴再次获得这一认可。 在过去两年中&#xff0c;互联网向云计算的转变不…

svn的常规使用

svn的常规使用svn的常规使用1 客户端2 svn server3 qt使用svn4 svn项目迁移svn的常规使用 1 客户端 下载地址&#xff1a;官网&#xff0c;中文简体语言包在其下方 分别安装客户端可语言包&#xff0c;在安装语言包的时候勾选应用&#xff0c;svn便可变成中文了&#xff0c;或…

改革后IB数学该如何选?

IB数学&#xff0c;作为一个IB课程里必选科目&#xff0c;让无数IB学霸为之自豪&#xff0c;他们能解出外教都不会做的题。另一方面&#xff0c;也让很多同学&#xff08;自称“学渣”&#xff09;避之不及。 从2019年起&#xff0c;IB数学教学大纲发生重大改革。▲图源&#x…

Android -- 每日一问:如何理解 Android 中的 Context,它有什么用?

经典回答 官方文档对于 Context 的解释&#xff1a; Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and cla…

[附源码]SSM计算机毕业设计学生宿舍设备报修JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

光格科技将于12月6日上会:拟募资6亿元,姜明武为实控人

近日&#xff0c;苏州光格科技股份有限公司&#xff08;下称“光格科技”&#xff09;在上海证券交易所科创板递交招股书&#xff08;上会稿&#xff09;。据贝多财经了解&#xff0c;光格科技将于2022年12月6日接受科创板上市委的现场审议。 公开信息显示&#xff0c;光格科技…

微信小程序开发笔记

微信小程序开发笔记html条件渲染列表渲染按钮组件 buttoncss单位 rpx、px、vw、vh、rem定位方法设置图片为页面的背景自定义按钮的图标js全局变量底部导航栏 tabBar其他配置config.js带参数跳转页面云数据库的使用初始化查找地图组件 map从云数据库中调用经纬度&#xff0c;并且…