HDL—Verilog Language—Procedures—Always blocks(clocked)

always块也有两种

always@(*)

always@(posedge )

就是电平触发和沿触发

在verilog中赋值语句也有三种

连续赋值        (assign x = y;)。        不能在过程中使用(“always块”)。

阻塞赋值:        (x = y;)。        只能在过程中使用。

非阻塞赋值:        (x <= y;)。        只能在过程中使用。

Build an XOR gate three ways, using an assign statement, a combinational always block, and a clocked always block.  Note that the clocked always block produces a different circuit from the other two: There is a flip-flop so the output is delayed.

用三种方式构建异或门:使用assign语句、组合always语句块和时钟always语句块。请注意,时钟always块产生的电路与其他两个不同:有一个触发器,因此输出被延迟。

// synthesis verilog_input_version verilog_2001
module top_module(
    input clk,
    input a,
    input b,
    output wire out_assign,
    output reg out_always_comb,
    output reg out_always_ff   );
    assign out_assign = a ^ b;
    always@(*) out_always_comb = a ^ b;
    always@(posedge clk) out_always_ff <= a ^ b;
endmodule

注意在上升沿触发的过程中会产生一定的延迟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值