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

📄 loadpw.v

📁 比较先进的直接数字频率合成器的设计。可用于频率的合成。
💻 V
字号:
/*******************************************************************************
****************************************************************************
 **                                                                             
 **                                                                             
 ** Project Name         : DDS                                            
 **                                                                             
 ** Author               : Daniel J. Morelli
 ** Creation Date        : 03/03/96 22:15:42                                              
 ** Version Number       : 1.0                                                 
 **                                                                             
 ** Revision History     :                                                      
 **                                                                             
 ** Date          Initials         Modification                                 
 **                                                                             
 **                                                                             
 ** Description          :                                                      
 **                                                                             
 ** This module will register the phase word and output a synchronous phase
 ** word to the phase modulator
 ** 
 **                                                                             
 *******************************************************************************/

 module loadpw(
	RESETN,				// global reset
	SYSCLK,				// system clock
	PHASEWORD,			// input phase word from external pins
	PWWRN,				// low asserted frequency word write strobe
	SYNCPHSWD);			// synchronous phase word

// Port types

input SYSCLK, RESETN, PWWRN;
input[7:0] PHASEWORD;

output[7:0] SYNCPHSWD;

reg[7:0] pwreg;				// input phase word registered
reg pwwrnm;				// meta-stable phase word write strobe
reg pwwrns;				// synchronous phase word write strobe
reg load;				// synchronous load strobes
reg[7:0] phswd;		// PW registered values

// design architecture
	assign SYNCPHSWD = phswd;

	// register the input phase word
	always@(posedge PWWRN or negedge RESETN)
	if (!RESETN)
		pwreg <= 8'h00;
	else
		pwreg <= PHASEWORD;

	// get a synchronous load strobe on the rising edge of PWWRN
	always@(posedge SYSCLK or negedge RESETN)
	if (!RESETN)
	begin
		pwwrnm <= 1;
		pwwrns <= 1;
		load <= 0;
	end
	else
	begin
		pwwrnm <= PWWRN;
		pwwrns <= pwwrnm;			// got a synchronous PWWRN
		if ((!pwwrns)&(pwwrnm))
			load <= 1;				// got rising edge
		else
			load <= 0;
	end

	// register the phase word
	always@(posedge SYSCLK or negedge RESETN)
	if (!RESETN)
		phswd <= 8'h00;
	else
		if (load)
			phswd <= pwreg;
		else
			phswd <= phswd;

endmodule

⌨️ 快捷键说明

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