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

📄 sys_ctrl.v

📁 sdram读写
💻 V
字号:
`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company		: 
// Engineer		: 
// Create Date	: 
// Design Name	: 
// Module Name	: sys_ctrl
// Project Name	: 
// Target Device: Cyclone EP1C3T144C8 
// Tool versions: Quartus II 8.1
// Description	: 系统复位信号和PLL控制模块
//				
// Revision		: V1.0
// Additional Comments	:  
// 
////////////////////////////////////////////////////////////////////////////////
module sys_ctrl(
				clk,rst_n,sys_rst_n,
				clk_25m,clk_100m,sdram_clk
			);

input clk;		//FPAG输入时钟信号25MHz
input rst_n;	//FPGA输入复位信号

output sys_rst_n;	//系统复位信号,低有效

output clk_25m;		//PLL输出25MHz时钟
output clk_100m;	//PLL输出100MHz时钟
output sdram_clk;	//用于外部SDAM的时钟100M

wire locked;		//PLL输出有效标志位,高表示PLL输出有效

//----------------------------------------------
//PLL复位信号产生,高有效
//异步复位,同步释放
wire pll_rst;	//PLL复位信号,高有效

reg rst_r1,rst_r2;

always @(posedge clk or negedge rst_n)
	if(!rst_n) rst_r1 <= 1'b1;
	else rst_r1 <= 1'b0;

always @(posedge clk or negedge rst_n)
	if(!rst_n) rst_r2 <= 1'b1;
	else rst_r2 <= rst_r1;

assign pll_rst = rst_r2;

//----------------------------------------------
//系统复位信号产生,低有效
//异步复位,同步释放
wire sys_rst_n;	//系统复位信号,低有效
wire sysrst_nr0;
reg sysrst_nr1,sysrst_nr2;

assign sysrst_nr0 = rst_n & locked;	//系统复位直到PLL有效输出

always @(posedge clk_100m or negedge sysrst_nr0)
	if(!sysrst_nr0) sysrst_nr1 <= 1'b0;
	else sysrst_nr1 <= 1'b1;

always @(posedge clk_100m or negedge sysrst_nr0)
	if(!sysrst_nr0) sysrst_nr2 <= 1'b0;
	else sysrst_nr2 <= sysrst_nr1;

assign sys_rst_n = sysrst_nr2;

//----------------------------------------------
//例化PLL产生模块
PLL_ctrl 		uut_PLL_ctrl(
					.areset(pll_rst),	//PLL复位信号,高电平复位
					.inclk0(clk),		//PLL输入时钟,25MHz
					.c0(clk_25m),		//PLL输出25MHz时钟			
					.c1(clk_100m),		//PLL输出100MHz时钟
					.e0(sdram_clk),		//用于外部SDAM的时钟100M
					.locked(locked)		//PLL输出有效标志位,高表示PLL输出有效
				);
				

endmodule

⌨️ 快捷键说明

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