我是靠谱客的博主 幸福网络,最近开发中收集的这篇文章主要介绍always块的边沿触发与电平触发,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

电平触发与边沿触发

always块可以使用电平触发也可以使用边沿触发,电平触发往往对应组合逻辑,边沿触发往往对应时序逻辑

举例

在这个例子中,timing变量通过边沿触发来赋值,comb通过电平触发来赋值

`timescale 1ns / 1ps

module test(
    input       clk,
    input [2:0] a,
    output reg  timing,
    output reg  comb
);

                                             
always@(posedge clk )begin
    if(a>2'd2)
    timing<=1;
    else
    timing<=0;
end    
    
always@(a)begin
    if(a>2'd2)
    comb=1;
    else
    comb=0;
end    
   
endmodule

原理图

在这里插入图片描述
在原理图中可以看到,输入a经过LUT后分别给到了comb和timing_reg

真值表

在这里插入图片描述
真值表满足代码中所要求电路实现的功能,在a>0时输出1,否则输出0

时序

在这里插入图片描述
根据时序图,comb比timing早一拍变化,这与原理图中comb的赋值是组合逻辑,timing的赋值是时序逻辑是相对应的

最后

以上就是幸福网络为你收集整理的always块的边沿触发与电平触发的全部内容,希望文章能够帮你解决always块的边沿触发与电平触发所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部