FPGA的边沿检测
来源:互联网 发布:linux启动5938端口 编辑:程序博客网 时间:2024/05/15 07:30
以前我曾一度傻乎乎的使用
这样的代码去检测signal的上升沿,闹出了很多问题。
当受实验室的一同学指教后,再也不会傻乎乎的这样干了。当然,你看完下文也不会这样干了。
检测上升沿的原理:使用高频的时钟对信号进行采样,因此要实现上升沿检测,时钟频率至少要在信号最高频率的2倍以上,否则就可能出现漏检测。具体请参见下面代码。
module edge_check(clk, rst_n, signal, pos_edge, neg_edge, both_edge);input clk;input rst_n;input signal;output pos_edge;output neg_edge;output both_edge;reg sig_r0, sig_r1; // 状态寄存器always @ (posedge clk or negedge rst_n) if (!rst_n) begin sig_r0 <= 1'b0; sig_r1 <= 1'b0; end else begin sig_r0 <= signal; sig_r1 <= sig_r0; end assign pos_edge = (~sig_r1) & (sig_r0);assign neg_edge = sig_r1 & (~sig_r0); assign both_edge = sig_r1 ^ sig_r0; // 双边沿检测,或pos_edge|neg_edgeendmodule
从RTL视图中可以看出,电路是通过一个异步复位的D触发器实现的。
ModelSim的仿真视图如下,从中可看出已检测出上升和下降沿,但存在一个延时,这是因为使用了时钟同步的检测。
或者上面的Verilog代码还可以换一种写法,效率上差不了太多;
0 0
- FPGA的边沿检测
- FPGA的边沿检测
- FPGA的边沿检测
- FPGA的边沿检测
- 边沿检测方法-FPGA入门教程
- FPGA学习之边沿检测电路
- 信号的边沿检测(ZT)
- FPGA基础之脉冲边沿检测原理verilog版本
- FPGA 学习之路(五)边沿检测技术
- 边沿检测
- 边沿检测
- 实现图像的边沿检测算法设计
- 脉冲边沿检测的亚稳态处理
- FPGA-边沿检测器
- FPGA中边沿提取的verilog代…
- 边沿检测(转)
- 边沿检测(转)
- 边沿检测技术
- 初级_获取MySQL数据分页查询显示在前端
- ffmpeg (四):ffmpeg, ffplay, ffprobe用法
- 6个变态的C语言
- BZOJ2800/POI2012 Leveling Ground
- Android——百度语音识别
- FPGA的边沿检测
- 01_eclipse安装步骤
- Eclipse搭建Strust2框架
- 读入一系列整数,统计出正整数个数及负整数个数,读入0就结束
- 经验分享:CSS浮动(float,clear)通俗讲解
- 可重入锁
- 2016"京胜杯"- YZK的大别墅
- ffmpeg(5):SDL相关学习
- RaspberryPi 扫描周边wifi