《Verilog数字系统设计教程》夏宇闻 第四版思考题答案(第14章)

本文探讨了Verilog中阻塞和非阻塞赋值的使用场景及区别,包括在组合逻辑中的应用、避免竞争冒险的策略、以及仿真处理方式。重点讲解了为何在多个always块中避免对同一变量赋值,以及display和strobe系统任务在显示变量值时的不同。
摘要由CSDN通过智能技术生成

第14章 深入理解阻塞和非阻塞赋值的不同

1.用带电平敏感列表触发条件的always块表示组合逻辑时,应该用哪一种赋值?
答:阻塞赋值
2.用带时钟沿触发条件的always块表示组合逻辑时,应该用哪一种赋值?
答:非阻塞赋值。
3.为什么不能在多个always块中为同一变量赋值?
答:多个always块中为同一变量赋值可能会导致竞争冒险即使使用非阻塞赋值也可能产生竞争冒险。
4.为什么不能用 d i s p l a y 系 统 任 务 来 显 示 用 非 阻 塞 赋 值 的 变 量 值 ? 答 : 因 为 非 阻 塞 赋 值 语 句 的 赋 值 在 所 有 的 display系统任务来显示用非阻塞赋值的变量值? 答:因为非阻塞赋值语句的赋值在所有的 displaydisplay命令执行以后才更新数据。
5. s t r o b e 和 strobe和 strobedisplay这两个显示用系统任务有什么不同?各用于什么场合?
答: d i s p l a y 命 令 的 执 行 是 安 排 在 活 动 时 间 队 列 中 , 但 排 在 非 阻 塞 赋 值 数 据 更 新 事 件 之 前 ; display命令的执行是安排在活动时间队列中,但排在非阻塞赋值数据更新事件之前; displaystrobe命令的执行在排在非阻塞赋值数据更新事件之后。 d i s p l a y 适 合 用 来 显 示 阻 塞 语 句 的 赋 值 , display适合用来显示阻塞语句的赋值, displaystrobe适合用来显示非阻塞语句的赋值。
6.仿真器在处理阻塞和非阻塞赋值操作队列过程中有什么不同?
答:阻塞赋值是由动态事件队列调度的,而非阻塞赋值不是由动态事件队列调度的。
7.为什么可综合Verilog模块的设计中,必须注意并遵守本章的8条原则?
答:因为遵循本章的8条原则有助于正确的编写可综合硬件,并且可以消除90%-100%在仿真时可能产生的竞争冒险现象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值