serial_rw.v

来自「运用FPGA控制AD9957的操作」· Verilog 代码 · 共 82 行

V
82
字号
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date:    14:15:21 11/13/2007 // Design Name: // Module Name:    serial // Project Name: // Target Devices: // Tool versions: // Description: //// Dependencies: //// Revision: // Revision 0.01 - File Created// Additional Comments: ////////////////////////////////////////////////////////////////////////////////////module serial_rw(clk, nrst, start, addr, din, ncs, sclk, sdo, sdio, io_update, io_reset,dout,end_serial);    input clk;    input nrst;	input start;    input [7:0] addr;    input [7:0] din;    output ncs;    output sclk;    output sdo;    output sdio;    output io_update;    output io_reset;	output dout;	output end_serial;		////////////////////////////////////////////////////////////////////////	reg ncs;    reg sclk;    reg sdo;    reg sdio;    reg io_update;    reg io_reset;	reg dout;	reg end_serial;	////////////////////////////////////////////////////////////////////////////	//local varible//	wire start_rd,start_wr;
	////////////////////////////////////////////////////////////////////////////
	//assign
	wire ncs_wr,ncs_rd;
	assign ncs = (addr[7] == 0)? ncs_wr:ncs_rd;
	assign sclk = (addr[7] == 0)? sclk_wr:sclk_rd;
	assign end_serial = (addr[7] == 0)? gend_wr:gend_rd;
	assign start_wr = (addr[7] == 0)? start:1'b0;
	assign start_rd = (addr[7] == 1)? start:1'b0;
		serial_wr serial_wr_inst (		.clk(clk), 		.nrst(nrst), 		.addr(addr), 		.data(data), 		.start(start_wr), 		.sdo(sdo), 		.ncs(ncs_wr), 		.sclk(sclk_rd), 		.gend(gend_rd)	);
	serial_rd serial_rd_inst (		.clk(clk), 		.nrst(nrst), 		.addr(addr), 		.dout(dout), 		.start(start_rd), 		.ncs(ncs_rd), 		.sclk(sclk_rd), 		.sdio(sdio), 		.gend(gend_rd)	);
	endmodule

⌨️ 快捷键说明

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