第4章 赋值语句、块语句及程序控制语句.pdfVIP

  • 2
  • 0
  • 约3.87千字
  • 约 20页
  • 2017-06-13 发布于湖北
  • 举报

第4章 赋值语句、块语句及程序控制语句.pdf

第4章赋值语句、块语句和程 序控制语句 4.1 赋值语句 1、非阻塞赋值 非阻塞赋值符:= 例如:f=a; 说明:块结束后才完成赋值(因此f不是立 即被赋值),在always块描述的时序电路 中应使用非阻塞赋值。 例4-1 例4-1 always @ (posedge clk) begin b=a; c=b; end 赋值在always 块结束后执行,其功能是移 位寄存器: b c a D Q D Q clk CLK CLK 例4-2 例4-2 always @ (posedge clk) begin b=a; c=b; end b=a立即执行,然后c=b执行,即c等于a 。得到的 电路为: a D Q b clk CLK c 2 、阻塞赋值 阻塞赋值符:= 例如:f=a; 说明:赋值完成后块才结束;f立即被赋 值;在always块描述的时序电路中使用 阻塞赋值可能产生错误;一般用在组合 逻辑电路中。 如参数声明、 4.2 块语句 reg 、integer 、 1、顺序块 real型变量声 格式:begin :块名 明 块内声明语句 语句1; 语句2 ; …… 语句n; end 特点:块内语句顺序执行 例如: begin a=b; c=a; end 2 、并行块 格式:fork :块名 块内声明语句 语句1; 语句2 ; …… 语句n; join 特点:块内语句并行执行,块内各语句的 顺序是任意的。 3、块名—为块取一个名字 ♦可以在块内定义局部变量 ♦可以被其它语句调用 4.3 条件语句 1、if-else语句 例如:if(a= =1) out=a; 例如:if(a=b) q0=0; else begin q0=0; q1=1; end 例如:if(x==5) a=b else if(x==3) a=

文档评论(0)

1亿VIP精品文档

相关文档