题解 | #边沿检测#

边沿检测

http://www.nowcoder.com/practice/fed4247d5ef64ac68c20283ebace11f4

看了其他的题解发现没人用全等号(===)来做的,我来写一个题解,答案如下:

`timescale 1ns/1ns
module edge_detect(
	input clk,
	input rst_n,
	input a,
	
	output reg rise,
	output reg down
);
    reg q;
    always@(posedge clk or negedge rst_n)begin 
        if(!rst_n) begin rise <= 0; down <= 0; q<=0;end
        else  q<=a;
        rise <=  ((a & ~q)===1)?1:0;  
        down <=  ((~a & q)===1)?1:0;  
    end
  endmodule   
全部评论
rise <= ((a & ~q)===1)?1:0; 这里为什么不能写成:rise <= (a & ~q);
1 回复 分享
发布于 2023-03-28 15:51 四川
你好,为啥写全等就过了,不写就过不了。。。
点赞 回复 分享
发布于 2022-09-02 16:35 江苏

相关推荐

09-25 16:00
门头沟学院 Java
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
15
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务