⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 async_cmp.v

📁 RS(204,188)译码器的设计 异步FIFO设计 伪随即序列应用设计 CORDIC数字计算机的设计 CIC的设计 除法器的设计 加罗华域的乘法器设计
💻 V
字号:
// 异步比较器
module async_cmp (aempty_n, afull_n, wptr, rptr, wrst_n);
	parameter ADDR_WIDTH = 4;		
	parameter N = ADDR_WIDTH-1;
	output aempty_n, afull_n;
	input [N:0] wptr, rptr;
	input wrst_n;
	reg direction;
	wire high = 1'b1;
	wire dirset_n = ~( (wptr[N]^rptr[N-1]) & ~(wptr[N-1]^rptr[N]));
	wire dirclr_n = ~((~(wptr[N]^rptr[N-1])&(wptr[N-1]^rptr[N]))|~wrst_n);
	
	always @(posedge high or negedge dirset_n or negedge dirclr_n)
		if (!dirclr_n) direction <= 1'b0;
		else if (!dirset_n) direction <= 1'b1;
		else direction <= high;

	assign aempty_n = ~((wptr == rptr) && !direction);	// "接近空"标志
	assign afull_n = ~((wptr == rptr) && direction);	// "接近满"标志
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -