news 2026/7/23 19:17:19

verilog HDLBits刷题[Latches and Flip-Flops]“Edgedetect”---Detect an edge(边沿检测)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
verilog HDLBits刷题[Latches and Flip-Flops]“Edgedetect”---Detect an edge(边沿检测)

一、题目

For each bit in an 8-bit vector, detect when the input signal changes from 0 in one clock cycle to 1 the next (similar to positive edge detection). The output bit should be set the cycle after a 0 to 1 transition occurs.

Here are some examples. For clarity, in[1] and pedge[1] are shown separately.

Module Declaration

module top_module ( input clk, input [7:0] in, output [7:0] pedge );

二、分析

输入的某一位从0变为1时,对应一个上升沿。可先对输入进行打一拍,相当于将数据向右移动一个时钟周期;当移动前为1,移动后为0可判断数据在某个时钟延出现上升沿。画出每个变量的时序便可理解。

三、代码实现

注意:!的结果是一位,~是按位取反

module top_module ( input clk, input [7:0] in, output [7:0] pedge ); reg [7:0]in_1; wire [7:0]pedge_temp; always@(posedge clk) in_1<=in; assign pedge_temp=in&(~in_1); always@(posedge clk) pedge<=pedge_temp; endmodule
module top_module ( input clk, input [7:0] in, output [7:0] pedge ); reg [7:0]in_1; always@(posedge clk) in_1<=in; integer i; always@(posedge clk) for(i=0;i<8;i=i+1) if(in[i]&(~in_1[i])) pedge[i]<=1; else pedge[i]<=0; endmodule 或者 module top_module ( input clk, input [7:0] in, output [7:0] pedge ); wire [7:0]in_1; always@(posedge clk)begin in_1<=in; end always@(posedge clk)begin for(int i=0;i<=7;i++)begin if ((in[i]==1'b1)&(in_1[i]==1'b0)) pedge[i]<=1'b1; else pedge[i]<=1'b0; end end endmodule

四、时序

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/23 19:16:59

推荐4款学习实用宝藏安卓软件APP

聊一聊今天给大家分享几款学习辅助小工具。软件介绍1.掌上高中工具提供了一些英语、语文、历史和政地等电子复习教材。每个模块里面都提供了选修和必修的电子复习教材。2.万能计算器这是一款可以解决很多问题的计算器工具。点击右上角的三个点&#xff0c;可以调出科学功能。点…

作者头像 李华
网站建设 2026/7/23 19:15:17

Rust 安全编码清单:从输入验证到输出编码的完整防护链指南

Rust 安全编码清单&#xff1a;从输入验证到输出编码的完整防护链指南 一、输入验证&#xff1a;第一道防线也是最容易被忽略的 输入验证是安全编码的第一关&#xff0c;但它往往因为"看起来太简单"而被忽略——结果就是命令注入、SQL 注入、路径遍历全都从这里进来…

作者头像 李华
网站建设 2026/7/23 19:10:28

汽车电子面试问题记录

1.CAN如何实现仲裁 2.错误帧的类型 3.C语言基础 结构体&#xff0c;指针&#xff0c;指针函数&#xff0c;函数指针的区别 4.使用硬件IIC会有什么问题&#xff0c;硬件IIIC和软件IIC对比 5.CAN OTA的流程 6.静态变量如何实现跨文件使用&#xff1a;通过函数间接调用。 h…

作者头像 李华
网站建设 2026/7/23 19:10:01

RDK x5使用

1.系统镜像 Index of /downloads/os_images/rdk_x5/ 采用3.1.1的镜像文件&#xff0c;3.1.0系统有问题 2.烧录后进行配置 RDK Configuration中 Interface Options 开启SSH和VNC 3.中文环境 RDK Configuration中 Localisation Options -> Locale选中zh_CN.UTF-8 UTF-8回…

作者头像 李华