牛客Verilog语法刷题Day 1

  • 校验器的输入是由原始数据位和校验位组成
    对于奇偶校验,若合法编码中奇数位发生了错误,也就是编码中的1变成0或0变成1,则编码中1的个数的奇偶性就发生了变化,从而可以发现错误,但不能检测出是哪些位出错。
  • 对于一个设置为50MHz的移位寄存器,把16左移到128,需要()ns
A. 30        B. 40
C. 50        D. 60

本题答案选D,从16到128需要3位,50MHz的时钟为20ns,移动3位则为60ns
时间(s)=1/时钟频率(单位换算成HZ),50MHz的时钟为20ns;100MHz的时钟为10ns

  • FIFO (First In First Out) 先入先出的数据 Buffer,关于同步FIFO描述错误的是()
A. 同步FIFO是指读时钟和写时钟为同一个时钟。在时钟沿来临时同时发生读写操作
B. 如果不能准确判断fifo的空可能造成读出的数据错误
C. 同步FIFO可以随意访问任意地址,但只能顺序输出
D. 如果不能准确判断fifo的满状态可能造成写的数据被覆盖

本题选C,与普通存储器不同的是fifo没有外部读写地址的输入,因此fifo使用较为简单,同样这也造成无法无法随意访问任意地址,只能顺序输出

  • 关于Verilog的task任务说法错误的是()?
A. 任务内可包含延时语句、敏感事件控制语句等事件控制语句
B. 可以没有或可以有一个或多个输入、输出和双向端口
C. 没有返回值
D. 任务内不能出现 always 语句,但可出现initial语句

本题答案选D,任务内不能出现过程块语句,包括initial语句。

  • 系统任务 f i n i s h 的 作 用 是 退 出 仿 真 器 , 返 回 主 操 作 系 统 , 也 就 是 结 束 仿 真 过 程 。 任 务 finish的作用是退出仿真器,返回主操作系统,也就是结束仿真过程。任务 finish退仿仿finish可以带参数,根据参数的值输出不同的特征信息。如果不带参数,默认 f i n i s h 的 参 数 值 为 1 。 请 问 当 finish的参数值为1。请问当 finish1finish的参数值为2时,系统输出的特征信息是()
A. 不输出任何信息
B. 输出当前仿真时刻和位置
C. 输出当前仿真时刻、位置和在仿真过程中所用memory及CPU时间的统计。
  • 当参数值为0时,特征信息为:不输出任何信息
  • 当参数值为1时,特征信息为:输出当前仿真时刻和位置
  • 当参数值为2时,特征信息为:输出当前仿真时刻、位置和在仿真过程中所用memory及CPU时间的统计。

  • $display自动地输出后进行换行,$write则不是这样。如果想在一行里输出多个信息,可以使用$write.

  • 用户定义的原语是从英语User Defined Primitives直接翻译过来的,简称UDP。利用UDP用户可以定义自己设计的基本逻辑元件的功能。下面选项中,关于UDP正确的是()
A. UDP可以有多个输入端                            B. UDP可以有多个输出端
C. UDP的真值表中,可以出现高阻值状态Z。            D. 输入端和输出端都可以被定义为寄存器类型变量
  • UDP可以有多个输入端,最多允许有10个输入端。A选项正确。
  • UDP只能有一个输出端,而且必定是端口说明列表的第一项。B选项错误。
  • 在UDP的真值表项中,只允许出现0,1,X的三种逻辑值,高阻值状态Z是不允许出现的。所以C选项是错误的。
  • 只有输出端才可以被定义为寄存器类型变量。所以D选项是错误的。
  • UDP所有端口变量必须是标量,也就是必须是1位的-
  • initial语句用于为时序电路内部寄存器赋初值,只允许赋0,1,X的3种逻辑值,默认为X.

image.png

  • 由代码可以分析出,共3个输入信号,由assign语句可以分析出,e信号是使能信号;当输入信号a、b为不同的编码方式时,输出y相应的位会拉低,所以可以判断出,此电路是带有使能端的2-4译码器。

  • 在verilog语言中,关于函数(function)与任务(task)说法不正确的是:

A. 任务可以调用函数          B. 任务中可以包含任何时序控制语句
C. 函数不能单独作为一条语句出现,只能放在赋值语言的右端
D. 任务可以作为一条单独的语句出现语句块中

本题选B,函数只能调用函数,不能调用任务,但任务可以调用函数 是对的
B 任务定义结构中不允许出现过程块(initial和always过程块),但可以包含其他时序控制,如延时语句
函数不能单独作为一条语句出现,只能放在赋值语句的右端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值