信号上升沿检测

1、单比特信号上升沿检测

 

复制代码
module pos_detect(
    input   wire    clk     ,
    input   wire    rst     ,
    input   wire    in_a    ,
    output  reg     in_pos );

reg     reg_in_a    ;

always@(posedge clk or posedge rst) begin
    if(rst) begin
        reg_in_a <= 1'b0    ;
    end
    else begin
        reg_in_a <= in_a    ;
    end
end

always@(posedge clk or posedge rst) begin
    if(rst) beginin_pos <= 1'b0    ;
    end
    else begin
        in_pos <= ~reg_in_a && in_a    ;
    end
end

endmodule   
复制代码

 

2、8bit信号上升沿检测

复制代码
module top_module(
    input   clk,
    input [7:0] in,
    output reg [7:0] Pedge
);
// answer
reg [7:0] R_in;

always @(posedge clk)
begin
    R_in <= in;
end

always @(posedge clk)
begin
    Pedge <= (~R_in) & in; // 注意这里要用按位反而不是逻辑反。  
end


endmodule
复制代码

 

posted @   super_sweet  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示