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

📄 config_ad9957.v

📁 运用FPGA控制AD9957的操作
💻 V
字号:
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date:    13:51:30 12/05/2007 // Design Name: // Module Name:    config_ad9957 // Project Name: // Target Devices: // Tool versions: // Description: //// Dependencies: //// Revision: // Revision 0.01 - File Created// Additional Comments: ////////////////////////////////////////////////////////////////////////////////////module config_ad9957(clk, nrst, start, ncs, sclk, sdio, sdo, io_update, io_reset, profile);    input clk;    input nrst;    input start;    output ncs;    output sclk;    output sdio;    input sdo;    output io_update;    output io_reset;    output [2:0] profile;	////////////////////////////////////////////////////////////////////////////////	reg ncs;    reg sclk;    reg sdio;    reg io_update;    reg io_reset;    reg [2:0] profile;	//////////////////////////////////////////////////////////////////////////////////	////AD9957 REGTISTER	reg[31:0] ad9957_cfr1;				//0x00	reg[31:0] ad9957_cfr2;				//0x01	reg[31:0] ad9957_cfr3;				//0x02	reg[31:0] ad9957_aux_dac;			//0x03	reg[31:0] ad9957_ioupdate_rate;		//0x04	reg[47:0] ad9957_ram_seg0;			//0x05	reg[47:0] ad9957_ram_seg1;			//0x06	reg[31:0] ad9957_saf;				//0x09	reg[31:0] ad9957_multichip_sync;	//0x0a	reg[63:0] ad9957_profile0;			//0x0e	reg[63:0] ad9957_profile1;			//0x0f	reg[63:0] ad9957_profile2;			//0x10	reg[63:0] ad9957_profile3;			//0x11	reg[63:0] ad9957_profile4;			//0x12	reg[63:0] ad9957_profile5;			//0x13	reg[63:0] ad9957_profile6;			//0x14	reg[63:0] ad9957_profile7;			//0x15	reg[31:0] ad9957_ram;				//0x16	reg[15:0] ad9957_gpio_config;		//0x18	reg[15:0] ad9957_gpio_data;			//0x19
	//////////////////////////////////////////////////////////////////////////////////
	// parameter setting
	parameter IDLE = "IDLE";	parameter CFG1 = "cfr1";	parameter CFG2 = "cfr2";	parameter CFG3 = "cfr3";	parameter AUX_DAC = "ioupdate_rate";	parameter SEG0 = "ram_seg0";	parameter SEG01 = "ram_seg1";	parameter SAF = "saf";	parameter PRF0 = "profile0";	parameter PRF1 = "profile1";	parameter PRF2 = "profile2";	parameter PRF3 = "profile3";	parameter PRF4 = "profile4";	parameter PRF5 = "profile5";	parameter PRF6 = "profile6";	parameter PRF7 = "profile7";
	parameter  = "ram";
	parameter GPIO_C = "gpio_cfg";
	parameter GPIO_D = "gpio_dat";	//////////////////////////////////////////////////////////////////////////////////	//single tone mode 	reg[3:0] state_sigle_cur,state_sigle_nxt;	//fsm1	always@(posedge clk)	begin		if(!nrst)		begin			state_sigle_cur <= IDLE;		end		else		begin			state_sigle_cur <= state_sigle_nxt; 		end	end
	//fsm2
	always@(posedge clk)	begin		if(!nrst)		begin			state_sigle_nxt <= IDLE;		end		else		begin			case(state_sigle_nxt)
				IDLE:
				begin
					//
				end
				CFG1:
				begin
					//				end
				CFG2:				begin
					//				end
				CFG3:				begin
					//				end		end	end
	//fsm3
	always@(posedge clk)	begin		if(!nrst)		begin			state_sigle_cur <= IDLE;		end		else		begin			state_sigle_cur <= state_sigle_nxt; 		end	end	//////////////////////////////////////////////////////////////////////////////////	//DAC mode 	reg[3:0] state_idac_cur,state_idac_nxt;	
	always@(posedge clk)	begin		if(!nrst)		begin					end		else		begin					end	end
	//////////////////////////////////////////////////////////////////////////////////	//QUDC mode 	reg[3:0] state_qudc_cur,state_qudc_nxt;		always@(posedge clk)	begin		if(!nrst)		begin					end		else		begin					end	end
	////////////////////////////////////////////////////////////////////////////////	//serial interface	serial serl (		.clk(clk), 		.nrst(nrst), 		.start(start),		.addr(addr),		.din(data_in), 		.ncs(ncs), 		.sclk(sclk), 		.sdo(sdo), 		.sdi(sdio), 		.io_update(io_update), 		.io_reset(io_reset),		.dout(data_out),		.end_serial(end_serial)	);endmodule

⌨️ 快捷键说明

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