「Verilog学习笔记」 脉冲同步器(快到慢)

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

`timescale 100ps/100ps

module pulse_detect(
	input 				clka	, 
	input 				clkb	,   
	input 				rst_n		,
	input				sig_a		,

	output  		 	sig_b
);
    reg Q_sig_a ; 
	reg Q_buff0, Q_buff1, Q_buff2 ;  

	always @ (posedge clka or negedge rst_n) 
		if (!rst_n) Q_sig_a <= 0 ; 
		else if (sig_a) Q_sig_a <= ~Q_sig_a ; 
		else Q_sig_a <= Q_sig_a ; 
	
	always @ (posedge clkb or negedge rst_n) 
		if (!rst_n) begin 
			Q_buff0 <= 0 ; 
			Q_buff1 <= 0 ; 
			Q_buff2 <= 0 ; 
		end
		else begin 
			Q_buff0 <= Q_sig_a ; 
			Q_buff1 <= Q_buff0 ; 
			Q_buff2 <= Q_buff1 ; 
		end

	assign sig_b = Q_buff2 ^ Q_buff1 ; 

endmodule

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 16:34:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 16:34:04       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 16:34:04       87 阅读
  4. Python语言-面向对象

    2023-12-30 16:34:04       96 阅读

热门阅读

  1. 深入浅出理解Web认证:Session、Cookie与Token

    2023-12-30 16:34:04       59 阅读
  2. 二、计算机软件及其使用-文字处理软件 Word 2016

    2023-12-30 16:34:04       64 阅读
  3. Windows自动化之UIautomation(一)

    2023-12-30 16:34:04       50 阅读
  4. 前端网络面试:浏览器输入地址后发生了什么?

    2023-12-30 16:34:04       55 阅读
  5. C语言计算三阶行列式

    2023-12-30 16:34:04       67 阅读
  6. 20世纪40年代是指哪一年

    2023-12-30 16:34:04       235 阅读
  7. uniapp的touchstart与click

    2023-12-30 16:34:04       54 阅读
  8. 如何利用ChatGPT来提高编程效率

    2023-12-30 16:34:04       71 阅读