EDA技术与Verilog_HDL(潘松)第四章课后习题答案.ppt

EDA技术与Verilog_HDL(潘松)第四章课后习题答案.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章  Verilog HDL设计初步 习 题 4-1 举例说明,Verilog HDL的操作符中,哪些操作符的运算结果总是一位的。 答: P74/74/80/92 4-2 wire型变量与reg型变量有什么本质区别,它们可用于什么类型语句中? 答:书上P261~262《9.2 Verilog HDL数据类型》 reg主要是用于定义特定类型的变量,即寄存器型(Register)变量(或称寄存器型数据类的变量)。如果没有在模块中显式地定义信号为网线型变量,Verilog综合器都会将其默认定义为wire型。过程语句always@引导的顺序语句中规定必须是reg型变量。 wire型变量不允许有多个驱动源 习 题 4-3 阻塞赋值和非阻塞赋值有何区别? 答:Verilog中,用普通等号“=”作为阻塞式赋值语句的赋值符号,如y=b。 Verilog中,用普通等号“=”作为非阻塞式赋值语句的赋值符号,如y=b。 阻塞式赋值的特点是,一旦执行完当前的赋值语句,赋值目标变量y即刻获得来自等号右侧表达式的计算值。如果在一个块语句中含有多条阻塞式赋值语句,则当执行到其中某条赋值语句时,其他语句将禁止执行,即如同被阻塞了一样。 非阻塞式赋值的特点是必须在块语句执行结束时才整体完成赋值操作。非阻塞的含义可以理解为在执行当前语句时,对于块中的其他语句的执行情况一律不加限制,不加阻塞。这也可以理解为,在begin_end块中的所有赋值语句都可以并行运行。 4-4 举例说明,为什么使用条件叙述不完整的条件句能导致产生时序模块的综合结果? 答:● 当CLK发生了电平变化,但是从1变到0。这时无论D是否变化,都将启动过程去执行if语句;但此时CLK=0,无法执行if语句,从而无法执行赋值语句Q=D,于是Q只能保持原值不变(这就意味着需要在设计模块中引入存储元件)。 ● 当CLK没有发生任何变化,且CLK一直为0,而敏感信号D发生了变化。这时也能启动过程,但由于CLK=0,无法执行if语句,从而也就无法执行赋值语句Q=D,导致Q只能保持原值(这也意味着需要在设计模块中引入存储元件)。 在以上两种情况中,由于if语句不满足条件,于是将跳过赋值表达式Q=D,不执行此赋值表达式而结束if语句和过程.对于这种语言现象,Velilog综合器解释为,对于不满足条件,跳过赋值语句Q=D不予执行,即意味着保持Q的原值不变(保持前一次满足if条件时Q被更新的值)。对于数字电路来说,当输入改变后试图保持一个值不变,就意味着使用具有存储功能的元件,就是必须引进时序元件来保存Q中的原值,直到满足if语句的判断条件后才能更新Q中的值,于是便产生了时序元件。 module LATCH1 (CLK, D, Q); output Q; input CLK, D; reg Q; always @(D or CLK) if(CLK)Q=D; //当CLK=1时D被锁入Q endmodule 4-5 用Verilog设计一个3-8译码器,要求分别用case语句和if_else语句。比较这两种方式。 4-5 用Verilog设计一个3-8译码器,要求分别用case语句和if_else语句。比较这两种方式。 module decoder3_8 ( G1 ,Y ,G2 ,A ,G3 ); input G1, G2, G3; wire G1, G2, G3; input [2:0] A ; wire [2:0] A ; output [7:0] Y ; reg [7:0] Y ; reg s; always @ ( A ,G1, G2, G3) begin s = G2 | G3 ; if (G1 == 0) Y = 8b1111_1111; else if (s) Y = 8b1111_1111; else case ( A ) 3b000: Y = 8 3b001: Y = 8 3b010: Y = 8 3b011: Y = 8 3b100: Y = 8 3b101: Y = 8 3b110: Y = 8 3b111: Y = 8b01111

文档评论(0)

jingpin + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档