?
理论知识复习题
基本概念
Verilog HDL
一、 判断题(将判断结果填入括号中。正确的填“√”,错误的填“×”):
1. 硬件描述语言HDL的发展至今仅仅10多年历史,但成功地应用于设计的各个阶段:
建模、仿真、验证和综合等。??
?
?
?
?
?
?
?
???????(?)?
标准。????????????
3. Verilog的模块由两部分组成,一部分描述接口,另一部分描述逻辑功能。???(?)?4. Verilog模块的端口定义时不可同时进行I/O说明。??
?
?
?
?
???(?)????(?)?
6. 在引用Verilog模块时,必须严格按照模块定义的端口顺序来连接,并且标明原模
块定义时规定的端口名。??
?
?
?
?
?
?
?
?
?
???(?)?
7. Verilog?HDL中的标识符可以是任意组字母、数字、$符号和_(下划线)符号的组合,
但标识符的第一个字符必须是字母或者下划线。??
?
?
?
?
???(?)?
以扩展至多行注释。??
式?
?
??
8. 在Verilog?HDL语言中有两种形式的注释,“/*....*/”是指注释在本行结束,“//”可
?
?
?
?
?
?
??
???(?)????(?)?
9. Verilog?HDL中逻辑数值区分大小写,“0x1z”和“0X1Z”不同。??
10. 在Verilog?HDL语言中有三类常量:整型、实数型、字符串型,下划线符号“_”可
以随意用在整数或实数中,没有限制。??
?
?
?
?
?
?
???(?)?
FPGA嵌11. 在Verilog?HDL语言中参数型常数经常用于定义延迟时间和变量宽度,在模块或实
例引用时,可通过参数传递改变在被引用模块或实例中已定义的参数。??????(?)?
???(?)?
12. 在Verilog?HDL语言中有两大类数据类型:线网类型、寄存器类型。??
13. 在Verilog?HDL语言中wire型数据常用来表示以assign关键字指定的组合逻辑信号,
Verilog程序模块中输入、输出信号类型默认时自动定义为wire型。??
???(?)?
14. 在Verilog?HDL语言中reg型数据常用来表示“always”模块内的指定信号,常代表
触发器,在“always”块内,被赋值的信号也可以是wire型数据。??
???(?)?
15. 在Verilog?HDL语言中非阻塞赋值符“<=”与小于等于符“<=”意义完全不同,小
于等于符是关系运算符,用于比较大小,而非阻塞赋值符用于赋值操作。???(?)?
16. 在进行算术运算操作时,如果某一个操作数有不确定的值x,则整个结果为0。(?)?17. 在Verilog?HDL语言中“&&”和“|”都属于逻辑运算符。??
?
?
???(?)?
18. Verilog?HDL语言中的所有关系运算符有着相同的优先级别,关系运算符的优先级别
低于算术运算符的优先级别。??
?
入应?
?
?
用?
?
5. Verilog模块的内容包括I/O说明、内部信号声明和功能定义。??
3级?
?
???
?
2. Verilog?HDL和VHDL都是用于逻辑设计的硬件描述语言,但只有VHDL语言成为IEEE
???(?)?
???(?)?
?
19. 在Verilog?HDL语言中条件运算符“?:”属于二目运算符。???????(?)?
20. 在Verilog?HDL语言的位运算符中除了“~”是单目运算符以外,均为二目运算符,
即要求运算符两侧各有一个操作数。?
?
?
?
?
?
?
?
???(?)?
21. 在Verilog?HDL位拼接表达式中不允许存在没有指明位数的信号,这是因为在计算
拼接信号的位宽的大小时必须知道其中每个信号的位宽。??
?
?
???(?)?
22. 在Verilog?HDL中有两种移位运算符:“<<”和“>>”,表达式“a>>n”表示将操作
数n右移a位。??
?
?
?
?
?
?
?
?
?
?
?
???(?)?
24. 在电平敏感事件控制中,过程语句一直延迟到条件变为真后才执行,形式为:wait?
(condition)?procedural_statement。?
?
?
?
?
?
?
?
???(?)?
25. 信号跳变沿事件控制中,过程语句的执行,需等到指定事件发生,否则不能继续执
26. 在Verilog?HDL的条件语句中if和else后面可以包含一个内嵌的操作语句,也可以
利用begin和end关键词包含多个操作语句。??
?
?
?
?
?
???(?)?
27. 在Verilog?HDL语言中执行完case分项后的语句,则继续执行下面语句,直到endcase
语句。??
?
?
?
?
?
?
?
?
?
??
??
??
??
???(?)????(?)?
29. 在Verilog?HDL中repeat语句可以连续执行一条语句n次,格式为:repeat(表达式)
语句;,表达式通常为常量表达式。??
?
?
?
?
?
?
??
???(?)????(?)?
30. Verilog?HDL语言的while循环语句包含的语句至少被执行一次。??
31. 在Verilog?HDL中for语句的一般形式为:for(表达式1,表达式2,表达式3)语
FPGA嵌句。??
入???
式?
?
??
?
?
?
28. 在Verilog?HDL的case语句中必须存在default项。??
应?
?
?
?
?
?
?
?
?
?
?
?
用?
??
??
??
?
行。????????????
32. Verilog?HDL语言中for循环语句实际上相当于采用while循环语句,但语句更简练。?
(?)?
?
??
???(?)????(?)?
33. 任务可以启动其它的任务和函数,而函数则不能启动任务。?
34. 函数可以没有输入变量,只能与主模块共用同一个仿真时间单位。??
35. 任务和函数往往是在大的程序模块中且在不同地点多次用到的相同的程序段。(?)?36. 监控任务$monitor连续监控指定的参数,只要参数表中的参数值发生变化,整个参
数表就在时间步结束时显示。??
?
?
???(?)?
37. 系统函数$time可以返回一个32位的整数来表示当前的仿真时刻值,该时刻值是
以模块的仿真时间尺度为基准的。??
?
?
???(?)?
38. 系统任务$finish的作用是结束仿真过程,$finish可以带参数也可以省略,默认的参
数值为0。?
?
?
?
?
?
???(?)?
39. 系统任务$stop任务的作用是把EDK工具置成暂停模式,这个任务不可以带参数表
?
3级?
?
??
?
23. Verilog?HDL的缩减运算符运算结果为一位二进制数,与操作数位数无关。???(?)?
???(?)?
???(?)?
?
达式。??????????????????(?)?
40. 在Verilog?HDL程序中有两个系统任务$readmemb和$readmemh用来从文件中读取
数据到存储器中。?
?
?
?
?
?
?
?
?
?
?
?
???(?)?
41. 在Verilog?HDL程序中系统任务$random可用来产生随机数,函数被调用时返回一
个32位的无符号整数。?
?
?
?
?
?
?
?
?
?
?
???(?)?
42. `define命令只能出现在模块定义外面,宏名的有效范围为定义命令之后到源文件
结束。??
?
?
?
?
?
?
?
?
?
?
?
?
?
???(?)?
一部分。???????????
44. 在Verilog?HDL语句中,`include命令可以出现在源程序的任何地方,一个`include
命令可以指定多个被包含的文件。??
?
?
?
?
?
?
?
???(?)?
???????????
用?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
45. 在Verilog?HDL语句中,`timescale命令的格式为:`timescale<时间精度>/<时间单位>。
?
?
???(?)?
46. 十六位的二进制超前进位加法电路可以用两个四位二进制超前进位加法电路再加
上超前进位形成逻辑来构成。??
应?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
47. 八位的二进制超前进位乘法电路可用两个四位二进制超前进位乘法电路再加上超
48. 用逻辑图或门级结构的Verilog模块来表示比较器比利用Verilog?HDL语言来设计更
容易。??
?
?
?
?
?
?
?
???(?)?
49. 多路选择器简称多路器,它是一个单输入,多输出的组合逻辑电路,在数字系统中
有着广泛的应用。?
?
?
?
?
?
???(?)?
FPGA嵌50. 在硬线逻辑构成的运算电路中只要电路的规模允许,我们可以比较自由地来确定总
线位宽,因此可以大大提高数据流通的速度。?
?
?
???(?)?
51. 流水线设计实际上是把规模较大,层次较多的组合逻辑电路分为几个级,在每一级
插入寄存器组并暂存中间数据。?
?
?
???(?)?
52. 状态机的编码方式有多种,典型的编码方式有状态位直接输出型编码、顺序编码和
一位热码编码。??
?
?
?
?
?
???(?)?
53. 一段式状态机描述方法就是将状态的同步转移,状态输出和状态的输入条件都写在
一个always模块中。??
?
?
?
?
???(?)?
54. 两段式状态机描述方法采用两个模块,采用同步时序描述状态转移,采用组合逻辑
判断状态转移条件。??
?
?
?
?
???(?)?
55. 在三段式FSM描述方法中判断状态转移的always模块的case语句判断的是下一状
态“ns”,同步时序FSM输出的always模块的case语句判断的条件是当前状态“cs”。?
???(?)?
?
入式前进位形成逻辑来构成。???
3级?
?
??
??
?
43. 条件编译是指当满足一定条件时对一组语句进行编译,而当条件不满足时则编译另
???(?)?
???(?)?
???(?)?
?
56. Johnson计数器的特点是每次状态变化时仅有一个触发器改变状态,译码电路简单,
译码时存在竞争冒险现象。?
?
?
?
?
?
?
?
?
?
???(?)?
57. 格雷码计数器(Gray?counter)是为了在异步时钟域之间传递计数结果而用到的计数
器,因为格雷码计数器计数时相邻的数之间只有一个bit发生了变化。?
???(?)?
58. 通用移位寄存器是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右
移。?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???(?)????(?)?
59. 桶型移位寄存器的移位是通过对数据字的指定位左移或右移实现的。?
致,RTL模型与逻辑门级模型不可同时进行仿真。??61. 形式化验证也需要测试平台和测试矢量。?62. 在进行仿真时,功能正确性可以不考虑。?
??
??
???
64. 定时验证利用器件的模型和电路互连关系来分析电路的时序,判断在实际设计中是
否能达到硬件定时约束条件和输入输出定时特性的要求。??
?
?
???(?)?
65. 若一款FPGA其可运行的最大时钟频率为50MHZ,则以0.2ns为周期的时钟源可用。?
???(?)?
发器就不能正常工作。?
式?
?
?
?
?
?
?
?
?
?
?
?
66. 如果在时钟边沿前后输入端的数据不能在足够的时间内保持稳定,则边沿触发的触
?
?
?
?
?
?
?
???(?)?
67. 为了使触发器能正确工作,触发器输入端的数据必须在时钟有效沿之后足够长的时
间内保持稳定。??
入?
应?
?
?
?
?
?
?
?
?
用?
??
??
?
63. Verilog?HDL语句“always?#5?clk?=?~clk;”产生的时钟周期为5个时间单位。???(?)?
68. 时钟输出延时是指从时钟定义点到不同的触发器时钟引脚的延时差。?
FPGA嵌69. 引脚到引脚延时是指输入引脚处的信号经过时序逻辑进行传输,出现在外部引脚上
时所需的时间。??
?
?
?
???(?)?
70. 在定时验证中,完成定时验证内置的系统任务都有检查Verilog?HDL语法错误的功
能。?
?
?
?
?
?
?
???(?)?
二、 单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中):
1. 目前应用最广泛的硬件描述语言是(???)。?
A. VHDL??????
B. Verilog?HDL??C. 汇编语言???D. C语言?
2. HDL语言的英文全称是(???)。?
A. Hard??Design?Language?B. Hard??Description?Language?
?
3级?
?
?
?
?
?
?
?
??
?
60. 基于仿真的验证的目的是来检验RTL模型与门级网表之间在功能上仿真是否相一
???(?)?
???(?)????(?)?
???(?)????(?)?
?
C. Hard?ware??Description?Language?D. Hardware??Design?Language?
3. Verilog?HDL与VHDL相比,其最大优点是(???)。?
A. 容易掌握??????B. 资源丰富??
C. 易于理解和设计重用??????????D. 便于文档管理?
(???)。?A. Verilog?HDL?B. VHDL?C. 汇编语言?D. C语言?
5. 下列关于Verilog?HDL语言模块的结构说法错误的是(???)。?
A. Verilog?HDL的基本设计单元是模块?
B. 一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能?
D. Verilog?HDL结构位于module和endmodule声明语句之间?6. 下列有关于Verilog?HDL模块的说法错误的是(???)。?
A. 模块的内容可以存在于module和endmodule两个语句之外?
B. 模块可以分为两种类型:一种是为了让模块最终能生成电路的结构,两一种只
FPGA嵌是为了测试设计电路的逻辑功能是否正确?
C. 每个模块要进行端口定义,并说明它是输出口还是输入口,然后对模块的功能
进行描述?
D. Verilog?HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写
多行?
7. 一模块的I/O端口说明:“input?[7:0]?a;”,则关于该端口说法正确的是(???)。?
A. 输入端口,位宽为8????B. 输出端口,位宽为8?C. 输入端口,位宽为7????D. 输出端口,位宽为7?
8. 下列关于Verilog?HDL语言模块的端口定义说法错误的是(???)。?
A. 模块的端口表示的是模块的输入还是输出口名?B. 在端口的声明语句中可以进行I/O说明?
?
入式C. 每个Verilog?HDL程序包括3个主要部分:端口定义,I/O声明和功能定义?
应用3级4. 对于特大型(千万门级以上)的系统级数字电路设计,下列设计语言更为合适的是