关于信号的延迟---verilog
`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: chensimin // // Create Date: 2018/02/08 11:39:20 // Design Name: // Module Name: signal_detect // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module signal_detect( input wire clk, input wire rst, input wire signal_en //input wire signal //output wire signal_existence ); reg signal; always @(posedge clk or posedge rst) begin if(rst) signal <= 1'b0; else if(signal_en) signal <= 1'b1; else signal <= 1'b0; end reg signal_delay; wire signal_rise; always @(posedge clk or posedge rst) begin if(rst) signal_delay <= 1'b0; else signal_delay <= signal; end assign signal_rise = !signal_delay && signal; endmodule /* add_force {/signal_detect/clk} -radix hex {1 0ns} {0 50000ps} -repeat_every 100000ps add_force {/signal_detect/rst} -radix hex {1 0ns} {0 150ns} add_force {/signal_detect/signal_en} -radix hex {0 0ns} {1 300ns} {0 400ns} */
仿真波形:
容易犯下这样一种错误:
module signal_detect( input wire clk, input wire rst, input wire signal //input wire signal //output wire signal_existence ); reg signal_delay; wire signal_rise; always @(posedge clk or posedge rst) begin if(rst) signal_delay <= 1'b0; else signal_delay <= signal; end assign signal_rise = !signal_delay && signal; endmodule /* add_force {/signal_detect/clk} -radix hex {1 0ns} {0 50000ps} -repeat_every 100000ps add_force {/signal_detect/rst} -radix hex {1 0ns} {0 150ns} add_force {/signal_detect/signal} -radix hex {0 0ns} {1 300ns} {0 400ns} */
仿真波形:
像这种写法,根本就起不到边沿检测的作用,只是对外部信号进行一次采集。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架