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

📄 clockout.v

📁 通过VERILOG编程
💻 V
字号:
//ClockOut.v	 	时钟变换模块		2006-8-28	version:1.5		作者:田世坤
//输入:
//		
//		
//输出:

module ClockOut(ClkIn10mhz, Reset,
				ClkOut1, ClkOut2, ClkOut3);
	input ClkIn10mhz;
	input Reset; 
	output ClkOut1, ClkOut2, ClkOut3;
	reg ClkOut1, ClkOut2, ClkOut3;
		
	parameter p1 = 14'd10;	//参数p1为分频的次数,改变这个参数来改变输出时钟ClkOut1, ClkOut1=10Mhz/p1.
	parameter p2 = 14'd100;	//参数p2为分频的次数,改变这个参数来改变输出时钟ClkOut2, ClkOut2=10Mhz/p2.
	parameter p3 = 14'd1000;//参数p3为分频的次数,改变这个参数来改变输出时钟ClkOut3, ClkOut3=10Mhz/p3.
	
	integer i1 = 1;
	integer i2 = 1;
	integer i3 = 1;	
	
	
always @ (posedge ClkIn10mhz)
	if(!Reset)
	begin
		ClkOut1 <= 1'b0;
		ClkOut2 <= 1'b0;
		ClkOut3 <= 1'b0;
	end
	else
	begin
		i1 <= i1 + 1;
		i2 <= i2 + 1;
		i3 <= i3 + 1;
	
		if(i1 == (p1>>1))
		begin
			ClkOut1 <= 1'b1;
		end
		else if(i1 == p1)
		begin
			ClkOut1 <= 1'b0;
			i1 <= 1;
		end		
		
		
		if(i2 == (p2>>1))
		begin
			ClkOut2 <= 1'b1;
		end
		else if(i2 == p2)
		begin
			ClkOut2 <= 1'b0;
			i2 <= 1;
		end
		
		if(i3 == (p3>>1))
		begin
			ClkOut3 <= 1'b1;
		end
		else if(i3 == p3)
		begin
			ClkOut3 <= 1'b0;
			i3 <= 1;
		end				
	end	
endmodule

⌨️ 快捷键说明

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