芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 3059|回复: 0

电平信号转单脉冲触发信号的正确操作

[复制链接]
  • TA的每日心情
    开心
    2021-12-31 09:03
  • 71

    主题

    78

    帖子

    976

    积分

    高级会员

    Rank: 6Rank: 6

    积分
    976
    发表于 2021-8-16 10:35:32 | 显示全部楼层 |阅读模式
    实际verilog设计中,很多情况下模块设计有向下一个模块发送一个脉冲作为下一个模块的启动信号的设计需求。
    单脉冲产生很简单:
    1、 输入信号signal_in延迟1个周期得到delay_reg1;
    2、 输入信号signal_in延迟2个周期得到delay_reg2;
    3、 delay_reg1取反然后与delay_reg2相与产生单周期脉冲pluse_out。

    将电平触发信号转为单脉冲触发信号的代码如下:



    1. module single_pluse ( clk,rst_n, signal_in, pluse_out);
    2.   input    clk        ;
    3.   input    rst_n      ;
    4.   input    signal_in  ;
    5.   output   pluse_out  ;

    6.   reg delay_reg1;
    7.   reg delay_reg2;
    8.   
    9.   always@(posedge clk or negedge rst_n)
    10.   if(!rst_n)begin
    11.   delay_reg1  <=  0;
    12.   delay_reg2  <=  0;
    13.   end
    14.   else
    15.     begin
    16.       delay_reg1  <= signal_in  ;
    17.       delay_reg2  <= delay_reg1 ;
    18.     end
    19. assign pluse_out= (!delay_reg1)&delay_reg2;

    20. endmodule
    复制代码

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-11-21 19:34 , Processed in 0.105112 second(s), 30 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表