已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
理论知识复习题 理论知识复习题 基本概念 基本概念 Verilog HDL 一、 判断题(将判断结果填入括号中。正确的填“” ,错误的填“” ) : 一、 判断题(将判断结果填入括号中。正确的填“” ,错误的填“” ) : 1. 硬件描述语言 HDL 的发展至今仅仅 10 多年历史, 但成功地应用于设计的各个阶段: 建模、仿真、验证和综合等。 ( ) 2. Verilog HDL和VHDL都是用于逻辑设计的硬件描述语言, 但只有VHDL语言成为IEEE 标准。 ( ) 3. Verilog 的模块由两部分组成,一部分描述接口,另一部分描述逻辑功能。 ( ) 4. Verilog 模块的端口定义时不可同时进行 I/O 说明。 ( ) 5. Verilog 模块的内容包括 I/O 说明、内部信号声明和功能定义。 ( ) 6. 在引用 Verilog 模块时,必须严格按照模块定义的端口顺序来连接,并且标明原模 块定义时规定的端口名。 ( ) 7. Verilog HDL 中的标识符可以是任意组字母、数字、$符号和_(下划线)符号的组合, 但标识符的第一个字符必须是字母或者下划线。 ( ) 8. 在 Verilog HDL 语言中有两种形式的注释, “/*/”是指注释在本行结束, “/”可 以扩展至多行注释。 ( ) 9. Verilog HDL 中逻辑数值区分大小写, “0x1z”和“0X1Z”不同。 ( ) 10. 在 Verilog HDL 语言中有三类常量:整型、实数型、字符串型,下划线符号“_”可 以随意用在整数或实数中,没有限制。 ( ) 11. 在 Verilog HDL 语言中参数型常数经常用于定义延迟时间和变量宽度,在模块或实 例引用时,可通过参数传递改变在被引用模块或实例中已定义的参数。 ( ) 12. 在 Verilog HDL 语言中有两大类数据类型:线网类型、寄存器类型。 ( ) 13. 在Verilog HDL语言中wire型数据常用来表示以assign关键字指定的组合逻辑信号, Verilog 程序模块中输入、输出信号类型默认时自动定义为 wire 型。 ( ) 14. 在 Verilog HDL 语言中 reg 型数据常用来表示“always”模块内的指定信号,常代表 触发器,在“always”块内,被赋值的信号也可以是 wire 型数据。 ( ) 15. 在 Verilog HDL 语言中非阻塞赋值符“” ,表达式“an”表示将操作 数 n 右移 a 位。 ( ) 23. Verilog HDL 的缩减运算符运算结果为一位二进制数,与操作数位数无关。 ( ) 24. 在电平敏感事件控制中,过程语句一直延迟到条件变为真后才执行,形式为:wait (condition) procedural_statement。 ( ) 25. 信号跳变沿事件控制中,过程语句的执行,需等到指定事件发生,否则不能继续执 行。 ( ) 26. 在 Verilog HDL 的条件语句中 if 和 else 后面可以包含一个内嵌的操作语句,也可以 利用 begin 和 end 关键词包含多个操作语句。 ( ) 27. 在Verilog HDL语言中执行完case分项后的语句, 则继续执行下面语句, 直到endcase 语句。 ( ) 28. 在 Verilog HDL 的 case 语句中必须存在 default 项。 ( ) 29. 在 Verilog HDL 中 repeat 语句可以连续执行一条语句 n 次, 格式为: repeat (表达式) 语句;,表达式通常为常量表达式。 ( ) 30. Verilog HDL 语言的 while 循环语句包含的语句至少被执行一次。 ( ) 31. 在 Verilog HDL 中 for 语句的一般形式为:for(表达式 1,表达式 2,表达式 3)语 句。 ( ) 32. Verilog HDL 语言中 for 循环语句实际上相当于采用 while 循环语句, 但语句更简练。 ( ) 33. 任务可以启动其它的任务和函数,而函数则不能启动任务。 ( ) 34. 函数可以没有输入变量,只能与主模块共用同一个仿真时间单位。 ( ) 35. 任务和函数往往是在大的程序模块中且在不同地点多次用到的相同的程序段。 ( ) 36. 监控任务$monitor 连续监控指定的参数, 只要参数表中的参数值发生变化, 整个参 数表就在时间步结束时显示。 ( ) 37. 系统函数$time 可以返回一个 32 位的整数来表示当前的仿真时刻值,该时刻值是 以模块的仿真时间尺度为基准的。 ( ) 38. 系统任务$finish 的作用是结束仿真过程,$finish 可以带参数也可以省略,默认的参 数值为 0。 ( ) 39. 系统任务$stop 任务的作用是把 EDK 工具置成暂停模式,这个任务不可以带参数表 FPGA嵌入式应用3级 达式。 ( ) 40. 在 Verilog HDL 程序中有两个系统任务$readmemb 和$readmemh 用来从文件中读取 数据到存储器中。 ( ) 41. 在 Verilog HDL 程序中系统任务$random 可用来产生随机数,函数被调用时返回一 个 32 位的无符号整数。 ( ) 42. define 命令只能出现在模块定义外面,宏名的有效范围为定义命令之后到源文件 结束。 ( ) 43. 条件编译是指当满足一定条件时对一组语句进行编译, 而当条件不满足时则编译另 一部分。 ( ) 44. 在 Verilog HDL 语句中,include 命令可以出现在源程序的任何地方,一个include 命令可以指定多个被包含的文件。 ( ) 45. 在 Verilog HDL 语句中, timescale 命令的格式为: timescale/。 ( ) 46. 十六位的二进制超前进位加法电路可以用两个四位二进制超前进位加法电路再加 上超前进位形成逻辑来构成。 ( ) 47. 八位的二进制超前进位乘法电路可用两个四位二进制超前进位乘法电路再加上超 前进位形成逻辑来构成。 ( ) 48. 用逻辑图或门级结构的 Verilog 模块来表示比较器比利用 Verilog HDL 语言来设计更 容易。 ( ) 49. 多路选择器简称多路器,它是一个单输入,多输出的组合逻辑电路,在数字系统中 有着广泛的应用。 ( ) 50. 在硬线逻辑构成的运算电路中只要电路的规模允许, 我们可以比较自由地来确定总 线位宽,因此可以大大提高数据流通的速度。 ( ) 51. 流水线设计实际上是把规模较大, 层次较多的组合逻辑电路分为几个级, 在每一级 插入寄存器组并暂存中间数据。 ( ) 52. 状态机的编码方式有多种, 典型的编码方式有状态位直接输出型编码、 顺序编码和 一位热码编码。 ( ) 53. 一段式状态机描述方法就是将状态的同步转移, 状态输出和状态的输入条件都写在 一个 always 模块中。 ( ) 54. 两段式状态机描述方法采用两个模块, 采用同步时序描述状态转移, 采用组合逻辑 判断状态转移条件。 ( ) 55. 在三段式 FSM 描述方法中判断状态转移的 always 模块的 case 语句判断的是下一状 态 “ns” , 同步时序 FSM 输出的 always 模块的 case 语句判断的条件是当前状态 “cs” 。 ( ) FPGA嵌入式应用3级 56. Johnson 计数器的特点是每次状态变化时仅有一个触发器改变状态,译码电路简单, 译码时存在竞争冒险现象。 ( ) 57. 格雷码计数器(Gray counter)是为了在异步时钟域之间传递计数结果而用到的计数 器,因为格雷码计数器计数时相邻的数之间只有一个 bit 发生了变化。 ( ) 58. 通用移位寄存器是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右 移。 ( ) 59. 桶型移位寄存器的移位是通过对数据字的指定位左移或右移实现的。 ( ) 60. 基于仿真的验证的目的是来检验 RTL 模型与门级网表之间在功能上仿真是否相一 致,RTL 模型与逻辑门级模型不可同时进行仿真。 ( ) 61. 形式化验证也需要测试平台和测试矢量。 ( ) 62. 在进行仿真时,功能正确性可以不考虑。 ( ) 63. Verilog HDL 语句“always #5 clk = clk;”产生的时钟周期为 5 个时间单位。 ( ) 64. 定时验证利用器件的模型和电路互连关系来分析电路的时序, 判断在实际设计中是 否能达到硬件定时约束条件和输入输出定时特性的要求。 ( ) 65. 若一款 FPGA 其可运行的最大时钟频率为 50MHZ, 则以 0.2ns 为周期的时钟源可用。 ( ) 66. 如果在时钟边沿前后输入端的数据不能在足够的时间内保持稳定, 则边沿触发的触 发器就不能正常工作。 ( ) 67. 为了使触发器能正确工作, 触发器输入端的数据必须在时钟有效沿之后足够长的时 间内保持稳定。 ( ) 68. 时钟输出延时是指从时钟定义点到不同的触发器时钟引脚的延时差。 ( ) 69. 引脚到引脚延时是指输入引脚处的信号经过时序逻辑进行传输, 出现在外部引脚上 时所需的时间。 ( ) 70. 在定时验证中,完成定时验证内置的系统任务都有检查 Verilog HDL 语法错误的功 能。 ( ) 二、 单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中) : 二、 单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中) : 1. 目前应用最广泛的硬件描述语言是( ) 。 A. VHDL B. Verilog HDL C. 汇编语言 D. C 语言 2. HDL 语言的英文全称是( ) 。 A. Hard Design Language B. Hard Description Language FPGA嵌入式应用3级 C. Hard ware Description Language D. Hardware Design Language 3. Verilog HDL 与 VHDL 相比,其最大优点是( ) 。 A. 容易掌握 B. 资源丰富 C. 易于理解和设计重用 D. 便于文档管理 4. 对于特大型(千万门级以上)的系统级数字电路设计,下列设计语言更为合适的是 ( ) 。 A. Verilog HDL B. VHDL C. 汇编语言 D. C 语言 5. 下列关于 Verilog HDL 语言模块的结构说法错误的是( ) 。 A. Verilog HDL 的基本设计单元是模块 B. 一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能 C. 每个 Verilog HDL 程序包括 3 个主要部分:端口定义,I/O 声明和功能定义 D. Verilog HDL 结构位于 module 和 endmodule 声明语句之间 6. 下列有关于 Verilog HDL 模块的说法错误的是( ) 。 A. 模块的内容可以存在于 module 和 endmodule 两个语句之外 B. 模块可以分为两种类型: 一种是为了让模块最终能生成电路的结构, 两一种只 是为了测试设计电路的逻辑功能是否正确 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 说明 FPGA嵌入式应用3级 C. 模块端口声明了模块的输入输出口,格式为:module 模块名(port1; port 2; port3); D. 模块的端口是它与其它模块联系端口的标识 9. 下列关于 Verilog HDL 语言模块的内容说法错误的是( ) 。 A. 模块的内容包括:I/O 说明,内部信号声明和功能定义 B. I/O 说明也可以写在端口声明语句里 C. 内部信号声明是在模块内用到的和端口有关的 wire 类型变量的声明 D. 模块内最重要的部分是逻辑功能定义部分,有 3 种方法可在模块内产生逻辑 10. 下列不属于在模块中产生逻辑的方法是( ) 。 A. 用“assign”声明语句 B. 用实例元件 C. 用“always”块 D. 用“initial”块 11. 下列模块的例化正确的是( ) 。 A. Mydesign design(sin(sin), sout(sout); B. Mydesign design(.sin(sin), .sout(sout); C. Mydesign design(.sin(sin), .sout(sout);); D. Mydesign design(.sin(sin); .sout(sout); 12. 下列关于 Verilog HDL 语言中模块的例化说法错误的是( ) 。 A. 在引用模块时, 有些信号要被输入到引用模块中, 有些信号要从引用模块中输 出 B. 在引用模块时,必须严格按照模块定义的端口顺序来连接 C. 在引用模块时可以用“.”符号,表明原模块是定义时规定的端口名,用端口 名和被引用模块的端口相对应,提高程序的可读性和可移植性 D. 在语句“Mydesign design( .port1( port1), .port2 (port2);”中,被引用的模块为 Mydesign 模块 13. 不属于 Verilog HDL 中合法标识符的是( ) 。 A. 1_count B. _count C. count D. count_1 14. 下列 Verilog HDL 的标识符无语法错误的是( ) 。 A. 1_R1_R2 B. COUNT FPGA嵌入式应用3级 C. 5five$ D. $54RS 15. 下列符号中属于 Verilog HDL 语言中可以扩展至多行的注释符是( ) 。 A. /./ B. /./ C. /*.*/ D. #.# 16. 下列 Verlag HDL 程序块中,对功能实现不起作用的语句是( ) 。 begin: reg7:0 tem; /*count = 0; tem = rega;*/ while(tem) begin if(tem0) count = count +1; tem = tem 1; end end A. reg7:0 tem; B. count = 0; C. tem=rega; D. count = 0; tem = rega; 17. 下列关于 Verilog HDL 语言中逻辑数值的说法错误的是( ) 。 A. Verilog HDL 语言中有下列四种基本的值:0、1、X、Z。 B. 在门的输入或一个表达式中的为“Z”的值通常解释成“X” ,且 x 值和 z 值区 分大小写。 C. Verilog HDL 中的四种基本值的解释都内置于语言中, 如一个为 z 的值总是意味 着高阻抗,一个为 0 的值通常是指逻辑 0。 D. Verilog HDL 中的常量是由四种基本值组成的。 18. 下列关于 Verilog HDL 语言中逻辑数值“x”和“z”的说法错误的是( ) 。 A. 在数字电路中,x 代表不定值,z 代表高阻值。 B. x 可以用来定义十六进制数的 4 位二进制数的状态,八进制数的 3 位,二进制 数的 1 位。 C. z 的表示方式同 x 类似,z 还有一种表达方式是可以写作“?” 。 FPGA嵌入式应用3级 D. “4 b101z”表示位宽为 4 的二进制数,从低位数起第 4 位为高阻值。 19. 下列关于 Verilog HDL 语言中常量说法错误的是( ) 。 A. 当常量不说明位数时,默认值是 16 位,每个字母用 8 位的 ASCII 值表示。 B. Verilog HDL 中有三种类型的常量:整型、实数型、字符串型。 C. 下划线符号“_”可以用在整数或实数中,它们就数量本身没有意义,但下划 线符号不能用作首字符。 D. 字符串是双引号内的字符序列,字符串不能分成多行书写。 20. 下列 Verilog HDL 常量说法正确的是( ) 。 A. 4D2 4 位十进制数 B. 4D4 4 位十进制数 C. (2+3)b10 五位二进制数 D. 32 十六进制数 21. 下列关于 Verilog HDL 语言中参数型说法错误的是( ) 。 A. 在 Verilog HDL 中用 parameter 来定义常量,即用 parameter 来定义一个标识符 代表一个常量,称为符号常量。 B. 采用一个标识符代表一个常量可以提高程序的可读性和可维护性。 C. parameter 是参数型数据的确认符,确认符后跟着一个用逗号分隔开的赋值语 句表,在每一赋值语句的左边必须是一个常数表达式。 D. parameter 型数据是一种常数型的数据,其说明格式为:parameter 参数名 1= 表达式, 参数名 2= 表达式, . ., 参数名 n= 表达式。 22. 下列 Verilog HDL 语言中参数型数据定义错误的是( ) 。 A. parameter msb=7; /定义参数 msb 为常量 7 B. parameter e=25, f=29; /定义两个常数参数 C. parameter byte_size=8, byte_size 1 = byte_msb; /用常数表达式赋值 D. parameter average_delay = (r+f)/2; /用常数表达式赋值 23. 下列关于 Verilog HDL 语言中数据类型综述,说法错误的是( ) 。 A. Verilog HDL 有两大类数据类型:线网类型、寄存器类型。 B. 线网数据类型表示结构实体之间的物理连接,线网类型的变量不能存储值。 C. 寄存器数据类型的关键字是 reg,通过赋值语句可以改变寄存器存储的值,其 作用与改变触发器存储的值相当。 D. 如果没有驱动元件连接到线网,线网的缺省值为 X。 24. 下列关于 Verilog HDL 语言中数据类型说法错误的是( ) 。 A. 线网类型数据表示 Verilog 结构化元件间的物理连线,它的值由驱动元件的值 决定。 FPGA嵌入式应用3级 B. 寄存器数据类型表示一个抽象的数据存储单元,它只能在 always 语句中被赋 值。 C. 线网类型数据包含不同种类的线网子类型,如:wire 型、tri 型等。 D. Verilog HDL 中存在 5 种不同的寄存器类型:reg 型、integer 型、time 型、real 型和 realtime 型 25. 下列关于 Verilog HDL 语言中线网类型数据说法错误的是( ) 。 A. 线网类型数据表示 Verilog 结构化元件间的物理连线,它的值由驱动元件的值 决定,如果没有驱动元件连接到线网,线网缺省值为 z。 B. 简单的线网类型说明语法为:net_kind msb:lsb net1, net2, . ,netn; 其中 net_kind 是线网类型名,msb 和 lsb 是用于定义线网范围的常量表达式。 C. 当一个线网有多个驱动器时, 即对一个线网有多个赋值时, 不同的线网产生的 行为相同。 D. wire 型数据常用来表示以 assign 关键字指定的组合逻辑信号,Verilog 程序模 块中输入、输出信号类型默认时自动定义为 wire 型。 26. 下列关于 Verilog HDL 语言中线网类型数据说法错误的是( ) 。 A. 在进行线网类型数据说明时,如果没有定义线网的范围,缺省的线网类型为 1 位。 B. 在 Verilog HDL 中,有可能不必声明某种线网类型,在这种情况下,缺省线网 类型为 8 位线网。 C. 用于连接单元的连线是最常见的线网类型,连线与三态线网语法和语义一致, 三态线可以用于描述多个驱动源驱动同一根线的线网类型。 D. 线网数据类型包含不同种类的线网子类型,如:wire、tri、wor、trior 等。 27. 下列关于 Verilog HDL 语言中寄存器类型数据说法错误的是( ) 。 A. 寄存器类型数据表示一个抽象的数据存储单元,它只能在 always 语句中被赋 值,寄存器类型的变量具有 X 的缺省值。 B. 寄存器类型数据有 5 种不同的寄存器类型:reg 型、integer 型、time 型、real 型和 realtime 型。 C. 寄存器可以取任意长度,寄存器中的值通常被解释为无符号数。 D. 寄存器数据类型 reg 是最常见的数据类型,使用保留字 reg 加以说明。 28. 下列 Verilog HDL 语言中寄存器类型数据定义与注释矛盾的是( ) 。 A. reg 3:0 sat /sat 为 4 位寄存器 B. reg cnt /cnt 为 1 位寄存器 C. reg 0:3 mymem 0:63 /mymem 为 64 个 4 位寄存器的数组 D. reg 1:5 dig /dig 为 4 位寄存器 FPGA嵌入式应用3级 29. 下列关于非阻塞赋值运算方式(如 b” , “=” B. 进行关系运算时,返回值只能是 1 或 0 C. 所有关系运算符优先级相同,均低于算术运算符的优先级 D. 语句“a=2 ) ? 1 : (a FPGA嵌入式应用3级 C. ( ) D. 42. 下列关于 Verilog HDL 语言中拼接运算符说法错误的是( ) 。 A. 拼接运算符可以将两个或多个数的某些位拼接起来进行运算操作 B. 拼接运算符的使用方法为:信号 1 的某几位,信号 2 的某几位,信号 n 的 某几位 C. 拼接表达式 “a, b3:0, w, 3 b101” 等同于拼接表达式 “a, b3, b2, b1, b0, w, 1b1, 1b0, 1b1” D. 拼接表达式中可以存在没有指明位数的信号 43. 有如下的模块: module shift; reg3:0 start, result; initial; begin; start = 1; result = (start” (右 移位运算符) B. 移位运算符的使用方法是: “an”或“a1”的值为“5 b01001” 45. 程序段如下:wire 3:0 B; reg C; assign B = 4 b1010; C= FPGA嵌入式应用3级 则 C 的值是( ) 。 A. 4 b1010 B. 4 b0000 C. 1 b1 D. 1 b0 46. 一元运算符是( ) 。 A. 单目运算符 B. 双目运算符 C. 三目运算符 D. 无操作数 47. 下列关于信号电平事件的控制说法错误的是( ) 。 A. 在电平敏感事件控制中,过程语句一直延迟到条件变为真后才执行。 B. 电平敏感事件控制的形式为:wait (condition) procedural_statement。 C. 过称语句只有在条件为真时才执行,否则执行后续语句。 D. 过程语句是可选的。 48. Verilog HDL 程序段如下,说法错误的是( ) 。 wait (sum 22) sum = 0; wait(dataready) data = bus; wait (preset); A. 在第一条语句中,只有当 sum 的值大于 22 时,才对 sum 清零。 B. 在第二条语句中,只有当 dataready 为真,即 dataready 值为 1 时,将 bus 赋 给 data。 C. 最后一条语句表示延迟至 preset 变为真(值为 1)时,其后续语句方可继续执 行。 D. 三条 wait 语句为顺序执行。 49. 下列关于信号跳变沿事件的控制说法错误的是( ) 。 A. 带有事件控制的过程语句的执行,需等到指定事件发生。 B. 跳变沿触发事件的控制方式可以为: event procedural_statement,例如: “always (posedge clock) curr_state = next_state;” 。 C. 如果指定的事件未发生,则跳过过程语句,执行后续语句。 D. 事件之间也能够相或以表明“如果有任何事件发生” ,例如:(posedge clear or negedge reset) 。 FPGA嵌入式应用3级 50. Verilog HDL 程序块如下,说法错误的是( ) 。 begin (negedge reset ) count = 0; cla zoo = foo; end A. 在第二条语句中,赋值语句只在 reset 上的负沿执行。 B. 第三条语句中,当 cla 上有事件发生时,foo 的值被赋给 zoo。 C. 当 cla 的值发生变化时,foo 的值被赋给 zoo。 D. 第一次执行程序时,如果 negedge reset 事件未发生,则跳过“count = 0”执行 后续语句。 51. 下列程序段无语法错误的是( ) 。 A. if ( ab) out1 = int1 else out1 = int2 B. if (ab) out1 = int1; else out1 = int2 C. if (ab) out1= int1; else if ( a=b ) ; out1 = int 2; else out1 = int 3; D. if(ab) begin out110) a 15) FPGA嵌入式应用3级 a 1; end end 如果 rega 的值为 8 b10101011,则程序结束后,count 的值是( ) 。 A. 4 B. 5 C. 6 D. 7 60. 下列关于 Verilog HDL 中 while 语句的说法错误的是( ) 。 A. while 循环语句的语法为:while(condition) procedural_statement。 B. while 循环语句循环执行过程赋值语句直到指定的条件为假。 C. while 循环语句中的过程语句至少会被执行一次。 D. 如果条件表达式为 x 或 z,它同样按 0(假)处理。 FPGA嵌入式应用3级 61. 在 Verilog HDL 语言中,循环语句 for(_;_;_)中三个参数依次是( ) 。 A. 循环变量赋初值;循环变量增值;循环结束条件 B. 循环变量赋初值;循环结束条件;循环变量增值 C. 循环变量增值;循环变量赋初值;循环结束条件 D. 循环结束条件;循环变量赋初值;循环变量增值 62. 下列关于 Verilog HDL 中 for 语句的说法错误的是( ) 。 A. for 循环语句的形式为:for( initial_assignment; condition; step_assignment) procedural_statement。 B. 如上所列的 for 循环语句的语法,condition 条件表达式指定循环结束的情况, 只要条件为真,则跳出循环。 C. 如上所列的 for 循环语句的语法,step_assignment 给出要修改的赋值,通常为 增大或减小循环变量计数。 D. 循环语句按照指定的次数重复执行过程赋值语句若干次。 63. 下列有关 Verilog HDL 语言中循环语句的说法,错误的是( ) 。 A. forever 循环语句常用于产生周期性波形,与 always 语句相同,可以独立写在 程序中。 B. repeat 语句可连续执行一条语句 n 次,格式为:repeat(表达式) 语句; 或 repeat(表达式) begin 多条语句 end。 C. while 语句可以执行一条语句直到某个条件不满足,此语句也可能一次不被执 行。 D. for 语句的一般形式为:for(表达式 1; 表达式 2; 表达式 3)语句。 64. 下列 Verilog HDL 语言中 for 循环语句的执行步骤正确的是( ) 。 a 给控制循环次数的变量赋初值。 b 执行一条赋值语句来修正控制循环变量次数的变量的值,然后返回上一步。 c 判定控制循环的表达式的值,如为假则跳出循环语句,如为真则执行指定的语句后, 转入下一步。 A. a b c B. a c b C. c b a D. c a b 65. 下列有关任务(task)语句的说法,错误的是( ) 。 A. 任务可以支持多种目的, 也可以计算多个结果值, 这些结果值通过被调用的任 务的输出或总线端口送出。 B. 如果传给任务的变量值和任务完成后接受结果的变量已定义, 就可以用一条语 FPGA嵌入式应用3级 句启动任务,任务完成后控制就传回启动过程。 C. 任务可以启动其他的任务, 其他的任务又可以启动别的任务, 可以启动的任务 数没有限制。 D. 如果任务内部有定时控制,则启动的时间必须与控制返回的时间相同。 66. 下列有关任务(task)语句的说法,错误的是( ) 。 A. 任务定义的形式是:task task_id; declarations procedural_statement endtask。 B. 任务必须存在参数,值通过参数传入和传出任务。 C. 任务的输入和输出在任务开始处声明, 这些输入和输出的顺序决定了它们在任 务调用中的顺序。 D. 任务调用语句中参数列表必须与任务定义中的输入、 输出和输入输出参数说明 的顺序匹配。 67. 下列有关函数(FUNCTION)语句的说法,错误的是( ) 。 A. 函数只能返回一个值,内部可以包含时延和时序控制。 B. 函数不可调用其他任务,但可以调用其他函数。 C. 函数必须带有至少一个输入,在函数中允许没有输出或输入输出说明。 D. 函数定义中声明的所有局部寄存器都是静态的, 函数中局部寄存器在函数的多 个调用之间保持它们的值。 68. 在 Verilog HDL 语言中,下列有关函数(FUNCTION)语句的说法,错误的是( ) 。 A. 函数的说明部分可以在模块说明中的任何位置出现, 函数的输入是由输入说明 指定。 B. 如果函数说明部分中没有指定函数的取值范围, 则其缺省的函数值为 1 位二进 制数。 C. 函数的定义蕴含声明了与函数同名的, 函数内部的寄存器, 函数的定义把函数 返回值所赋值寄存器的名称初始化为与函数同名的内部变量。 D. 函数中必须有输出或输入输出说明。 69. 下列有关 Verilog HDL 语言中 task 和 function 说明语句的比较, 说法错误的是 ( ) 。 A. 函数只能与主模块共用同一个仿真时间单位, 而任务可以定义自己的仿真时间 单位。 B. 函数不能启动任务,而任务能启动其他任务和函数。 C. 函数和任务都至少要有一个输入变量。 D. 函数返回一个值,而任务则不返回值。 70. Verilog HDL 语言中 task 和 function 说明语句的使用语法如下,错误的是( ) 。 A. 任务的定义语法:task ; . endtask FPGA嵌入式应用3级 B. 任务的调用语法: (端口 1; 端口 2; .;端口 n); C. 函数定义的语法:function (函数名); begin . end endfunction D. 函数调用语法:(expr1, expr2, ., exprn) 71. 下列关于 Verilog HDL 语言的系统任务$monitor 的说法,错误的是( ) 。 A. 在任意时刻对于特定的变量可以有多个监控任务被激活。 B. $monitoroff 和$monitoron 分别可以禁止和使能所有监控任务。 C. 任务$monitor 提供了监控和输出参数列表中的表达式或变量值的功能。 D. 参数列表中输出控制格式字符串和输出表列的规则和$display 中的一样。 72. Verilog HDL 程序段如下,则输出样本格式正确的是( ) 。 initial $monitor(“At %t, D = %d, clk = %d“, $time, D, clk); A. D = x, clk = x B. At 24, D = x, clk = 1 C. At %t, D = %d, clk = %d D. At35D=xclk=1 73. 下列关于 Verilog HDL 语言中时间度量系统函数$time 的说法错误的是( ) 。 A. $time 可以返回一个以 64 位的整数来表示当前的仿真时刻值。 B. $time 显示时刻不受时间尺度比例的影响。 C. 因为$time 总是输出整数,所以在输出经过尺度比例变换的数字输出时,要先 进行取整。 D. 仿真时刻值是以模块的仿真时间尺度为基准的。 74. 在 Verilog HDL 语言中,有下列程序块,则输出是( ) 。 time scale 10ns/1ns module test; reg set; parameter p=1.6; initial begin $monitor($time, ,“set=“,set); #p set = 0; #p set = 1; end endmodule FPGA嵌入式应用3级 A. 0 set = x 1.6 set = 0 3.2 set = 1 B. 0 set = x 2 set = 0 3 set = 1 C. 0 set = 0 1.6 set = 0 3.2 set = 1 D. 0 set = 0 2 set = 0 3 set = 1 75. 下列关于 Verilog HDL 语言中系统任务$finish 的说法错误的是( ) 。 A. 系统任务$finish 的作用是退出仿真器,返回主操作系统,结束仿真过程。 B. $finish 可以带参数,根据参数的值输出不同的特征信息。 C. 如果$finish 不带参数,默认$finish 的参数为 0。 D. $finish 的参数值 1 可以使系统输出当前仿真时刻和位置。 76. 下列关于 Verilog HDL 语言中系统任务$finish 的说法错误的是( ) 。 A. $finish 的作用是退出仿真器,可以带参数或者省略参数。 B. 参数 0 使系统不输出任何信息。 C. 参数 1 使系统输出当前仿真时刻和位置。 D. 参数 2 使系统输出当前仿真时刻,位置及 cpu 时间的统计。 77. 下列关于 Verilog HDL 语言中系统任务$stop 的说法错误的是( ) 。 A. $stop 任务的作用是把 EDK 工具(例如仿真器)置成暂停模式。 B. 使用此任务, 在仿真环境下给出一个交互式的命令提示符, 将控制权交给用户。 C. 这个任务可以带有参数表达式。 D. 任务带的参数值越大,输出的信息越少。 78. 下列关于 Verilog HDL 语言中系统任务$stop 的说法错误的是( ) 。 A. 该任务的作用是把仿真器置成暂停模式,在仿真环境下将控制权交给用户。 B. 该任务使用是必须带有参数,否则任务调用失败。 C. 该任务根据参数值给出不同的信息。 D. 该任务带的参数值越大,输出的信息越多。 79. 下列关于 Verilog HDL 语言中系统任务$readmemb 和$readmemh 的说法错误的是 ( ) 。 FPGA嵌入式应用3级 A. $readmemb 和$readmemh 用来从文件中读取数据到存储器中。 B. 这两个任务只能在仿真开始时刻被执行。 C. 被读取的数据文件中的数字不能包含位宽说明和格式说明。 D. 被读取的数据文件的内容只能包含:空白位置、注释行、二进制或十六进制的 数字。 80. 下列关于 Verilog HDL 语言中系统任务$readmemb 和$readmemh 的说法错误的是 ( ) 。 A. 对于$readmemb 系统任务,每个数字必须是十六进制,对于$readmemh 系统 任务,每个数字必须是二进制数字。 B. 文件中的数字必须用空白位置或注释行来分隔开。 C. 数字中不定值 x、高阻值 z,和下划线“_”的使用方法及代表的意义与一般 Verilog HDL 程序中的用法及意义相同。 D. 当数据文件被读取时, 每个被读取的数字都被存放到地址连续的存储器单元中 去。 81. 下列关于 Verilog HDL 语言中系统任务$random 的说法错误的是( ) 。 A. 此系统函数提供了一个产生随机数的手段。 B. 当函数被调用时返回一个 32 位的无符号的整型数。 C. 利用这个系统函数可以产生随机脉冲序列或宽度随机的脉冲序列, 以用于电路 测试。 D. $random 一般的用法是:$ random % b , 其中 b0。 82. Verilog HDL 语句“reg23 : 0 rand ; rand = $ random % 60;” ,则产生的随机数范围是 ( ) 。 A. 5959 B. 059 C. 6060 D. 060 83. 下列关于 Verilog HDL 语言中宏定义define 语句的说法错误的是( ) 。 A. 宏定义define 语句的作用是用一个指定的标识符(即名字)来代表一个字符 串。 B. 一般形式为:define 标识符(宏名) 字符串(宏内容) 。 C. 宏名只能使用大写字母来表示。 D. define 命令可以出现在模块定义里面,也可以出现在模块定义外面。 84. 下列 Verilog HDL 程序块,进过宏展开后,assign 语句是( )。 module test; FPGA嵌入式应用3级 reg a, b, c; wire out; define aa a+b define cc c+aa assign out = cc; A. assign out = c +a+b; B. assign out = c +aa; C. assign out = cc; D. assign out = c+aa; 85. 下列关于 Verilog HDL 语言中条件编译命令if 语句的说法错误的是( ) 。 A. 条件编译指当满足一定条件时对一组语句进行编译, 而当条件不满足时则编译 另一部分。 B. 当选择一个模块的不同代表部分、选择不同的时序或结构信息以及对不同的 EDA 工具选择不同激励时,会用到条件编译命令。 C. Verilog HDL 程序中用到的条件编译命令有ifdef、else、elseif、endif。 D. 被忽略掉不进行编译的程序段部分也要符合 Verilog HDL 程序的语法规则。 86. 下列 Verilog HDL 语言中条件编译命令格式正确的是( ) 。 A. ifdef 宏名(标识符): 程序段 1 else 程序段 2 B. ifdef 宏名(标识符): 程序段 1 elseif 程序段 2 endif C. ifdef 宏名(标识符): 程序段 1 elseif 程序段 2 D. ifdef 宏名(标识符): 程序段 1 87. 下列关于 Verilog HDL 语言中文件包含include 语句的说法错误的是( ) 。 A. 所谓 “文件包含” 处理是一个源文件可以将另外一个源文件的全部内容包含进 FPGA嵌入式应用3级 来。 B. include 命令的一般形式为:include “文件名” 。 C. include 命令可以出现在 Verilog HDL 源程序的任何地方。 D. 被包含的文件只能是绝对路径。 88. 下列关于 Verilog HDL 语言中文件包含include 语句的说法错误的是( ) 。 A. 一个include 命令只能指定一个被包含的文件,如果要包含 n 个文件,要用 n 个include 命令。 B. 可以将多个include 命令写在一行, 在include 命令行, 只可以出现空格和注释 行。 C. 在一个被包含的文件中不能包含另一个文件,即文件包含不可以嵌套。 D. 在编译预处理时,要对include 命令进行“文件包含”预处理。 89. 下列关于 Verilog HDL 语言中时间尺度timescale 语句的说法错误的是( ) 。 A. timescale 命令用来说明跟在该命令后的模块的时间单位和时间精度。 B. timescale 命令的格式为:timescale/。 C. 在timescale 命令中,时间单位参量是用来定义模块中仿真时间和延迟时间的 基准单位的。 D. 如果在同一个程序设计里,存在多个timescal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年设计院面试宝题集设计理念与创新能力考察
- 2026年IT项目经理面试问题与答案参考
- 教育领域生成式AI应用中的知识产权保护与教育创新驱动教学研究课题报告
- 2026年三管轮面试题集
- 2026广东茂名市信宜市选聘市外教师21人备考题库及完整答案详解1套
- 2026天津市部分区社区工作者招聘241人备考题库及答案详解(易错题)
- 未来五年新形势下冻干精制B型肉毒抗毒素行业顺势崛起战略制定与实施分析研究报告
- 未来五年一号铋企业数字化转型与智慧升级战略分析研究报告
- 未来五年LED发光器件测量仪器企业县域市场拓展与下沉战略分析研究报告
- 2026宁夏警官职业学院自主招聘31人备考题库及参考答案详解
- 维修事故协议书
- 2025ESC+EAS血脂管理指南要点解读课件
- 2025至2030外周静脉血栓切除装置行业调研及市场前景预测评估报告
- DB34∕T 5176-2025 城市轨道交通智能运维系统建设指南
- 2025年贵州省凯里市辅警考试真题及答案
- 2026年全国烟花爆竹经营单位主要负责人考试题库(含答案)
- 2026年人力资源共享服务中心建设方案
- JJG(交通) 141-2017 沥青路面无核密度仪
- DGTJ08-2198-2019 装配式建筑评价标准
- 2026年中国前列腺电切镜项目经营分析报告
- 2025年国家开放大学《社会研究方法》期末考试复习试题及答案解析
评论
0/150
提交评论