数字电子技术第4章.pptVIP

  • 10
  • 0
  • 约4.06万字
  • 约 10页
  • 2020-01-29 发布于辽宁
  • 举报
module blk_nonblk(out_a, out_b, out_c, out_d, data_in, clock); input data_in, clock; output out_a, out_b, out_c, out_d; reg out_a, out_b, out_c, out_d; always@(posedge clock) begin out_a=data_in; //block assignment out_b=out_a; //block assignment end always@(posedge clock) begin out_c =data_in; //nonblock assignment out_d =out_c; //nonblock assignment end endmodule 例:阻塞型赋值语句与非阻塞型赋值语句的比较 章目录 节目录 module test_blk_nonblk; reg data_in,clock; wire out_a, out_b, out_c, out_d; blk_nonblk blk_nonblk(out_a, out_b, out_c, out_d, data_in, clock); initial begin clock=0; data_in=0; #40 data_in=1; end always #50 clock=~clock; always #100 data_in=~data_in; initial begin #1000 $stop; #20 $finish; end endmodule 测试程序: out_a、out_b和out_c的波形一致,但out_d比out_c晚一个时钟周期 章目录 节目录 非阻塞型赋值语句的综合结果 两种赋值语句的综合结果 阻塞型赋值语句的综合结果 章目录 节目录 4.3.2 条件语句 if语句使用方法有以下3种: (1)if(条件1) 语句块1; (2)if(条件1) 语句块1;   else 语句块2; (3)if(条件1) 语句块1;   else if(条件2) 语句块2; … else if (条件n) 语句块n;   else 语句块n+1; 1. if语句 “条件”一般为逻辑表达式或者关系表达式,也可以是一位的变量。若表达式的值出现0、x、z,则按“假”处理;若为1,则按“真”处理; 在多重if语句嵌套时,语句块要用“begin end”块括起来,便于检查if与else的匹配; 在应用中,尽量保持if语句分支的完整性。 章目录 节目录 【例】一个4路数据选择器的设计。 module sel_4(sel_in, data_a_in, data_b_in, data_c_in, data_d_in, data_out); input [1:0] sel_in; input [4:0] data_a_in, data_b_in, data_c_in, data_d_in; output [4:0] data_out; reg [4:0] data_out; always@( data_a_in or data_b_in or data_c_in or data_d_in or sel_in) begin if(sel_in==2b00) begin data_out =data_a_in; end else if(sel_in==2b01) begin data_out =data_b_in;

文档评论(0)

1亿VIP精品文档

相关文档