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

📄 qep.v

📁 一个QEP电路的verilog代码。输入信号是光电编码器的A相和B相信号和一个处理时钟
💻 V
字号:
module qep(   rst,ina,inb,clkin,clkout,dirout						);input rst,ina,inb;//复们信号,光电编码器A相和B输入信号input clkin;//处理时钟输入信号output clkout,dirout;//输出时钟和方向信号reg dirout;reg ina1,ina2;always @(negedge rst or posedge clkin)begin	if(!rst)begin		ina1 <= 1'b0;		ina2 <= 1'b0;	end	else begin		ina1 <= ina;		ina2 <= ina1;	endendwire ina_edge = ina1 ^ ina2;reg inb1,inb2;always @(negedge rst or posedge clkin)begin	if(!rst)begin		inb1 <= 1'b0;		inb2 <= 1'b0;	end	else begin		inb1 <= inb;		inb2 <= inb1;	endendwire inb_edge = inb1 ^ inb2;reg inb_new;wire ab = ina ^ inb;always @(negedge rst or negedge ina_edge)begin	if(!rst)begin		inb_new <= 1'b0;		dirout <= 1'b0;   end	else begin		inb_new <= inb;		dirout <= ab;	endendreg ina_new;always @(negedge rst or negedge inb_edge)begin	if(!rst)		ina_new <= 1'b0;	else		ina_new <= ina;endwire clk_temp1 = ina_new ^ inb_new;reg clk_temp2;always @(negedge rst or posedge clkin)begin	if(!rst)begin		clk_temp2 <= 1'b0;	end	else begin		clk_temp2 <= clk_temp1;	endendassign clkout = clk_temp1 ^ clk_temp2;endmodule

⌨️ 快捷键说明

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