verilog学习|《Verilog数字系统设计教程》夏宇闻 第三版思考题答案(第十三章)

《Verilog数字系统设计教程》夏宇闻 第三版思考题
答案合集 : Verilog学习系列 第三部分

1.是不是只要符合Verilog语法仿真行为正确的模块都可以综合成电路结构?

  不是,异步状态机不能够综合成电路结构。

2.为什么在用Verilog 设计方法时不采用异步的状态机,采用异步状态机有什么问题不好解决?

  因为大多数综合器不能综合采用Verilog HDL描述的异步状态机转换为电路网表。异步状态机是没有确定时间的状态机,它的状态转移不是由唯一的时钟跳变沿所触发,采用异步状态机不容易判别触发脉冲是正常的触发还是冒险竞争产生的毛刺。

3.用always块语句如何编写纯组合逻辑电路?在哪些情况下会生成不想要的锁存器?

  用always块设计纯组合逻辑电路时,在生成组合逻辑的always块中参与赋值的所有信号都必须有明确地值,然后只要在 always块中进行赋值就可以了。如果在赋值表达式右端引用了敏感电平列表中没有列出的信号,那么在综合时将会为该没有列出的信号隐含的产生一个透明锁存器。

4.请用清晰的语句把标准的可综合的带同步复位端的同步状态机的样板模块表达出来。

always @ (posedge clk)
	begin
		if(reset)
			begin
			/*置输出为0*/
			end
		else
			begin
			/*与时钟同步的逻辑*/
			end
	end

5.请用清晰的语句把标准的可综合的带异步复位端的同步状态机的样板模块表达出来。

always @ (posedge clk or posedge reset)
	begin
		if(reset)
			begin
			/*置输出为0*/
			end
		else
			begin
			/*与时钟同步的逻辑*/
			end
	end

6.这两种不同的同步状态机有什么不同?如果输入的复位脉冲很窄,哪种状态机不能可靠复位?

  异步复位端的同步状态机的复位与时钟无关。当复位时他们立即置触发器的输出为0,不需要等到时钟沿到来才复位。带同步复位端的同步状态机的复位只有在时钟的有效跳变沿时刻复位,信号才能使触发器复位。如果输入的复位脉冲很窄,同步复位端的同步状态机不能可靠复位。

7.为什么说,掌握数字电路基础和计算机体系结构这两门学科的真谛是Verilog数字系统设计的基础?

  当系统比较复杂时,需要通过仔细的分析,把一个具体的系统分解为数据流和控制流,构想哪些部分用组合逻辑,哪些部分的资源可以共享而不影响系统的性能,需要设置哪些开关逻辑来控制数据的流动,需要一个或几个同步有限状态机来正确有序地控制这些开关逻辑,以便有效地利用有限的硬件资源,才能编写出真正有价值的RTL 级源代码,从而综合出有实用价值的高性能的数字逻辑电路系统。因此,认真的学习并掌握数字电路基础和计算机体系结构这两门学科的真谛是Verilog 数字系统设计的基础。

8.如果一定要设计异步触发的计数电路,用Verilog 描述有什么办法?能否综合?仿具时安注息什么问题?

  编写另一个模块,在那个模块中使用另外一个时钟:然后用实例引用的方法在另一个模块中把它连接起来。能够综合。仿真时应尽量使这两个状态机的时钟有一定的联系。

9.把本章中的例题编写完整。没有编写测试模块的编写相应的测试模块,并在 verilog仿真环境下运行,以全面验证设计的正确。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值