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

📄 adc.v

📁 模数转换器AD976采样控制器程序Verilog实现
💻 V
字号:
module ADC(Din,clk,R_nC,nCS,Dout,trans);
				//Din:AD输出的16位数据,即FPGA接收到的数据
				//clk:时钟信号
				//R_nC:读/转换信号
				//nCS:片选信号
				//Dout:输出的数据
				//trans:数据输出信号,下降沿数据有效
	
input clk;      
input [3:0] Din; //16位并行数据输入

output R_nC,nCS,trans;  //R_nC为读_转换信号,nCS为片选信号,低有效
output [3:0] Dout;//16位数据输出

reg [3:0] Dout;
reg R_nC,nCS,trans;
reg [3:0] current_state;
reg [15:0] count1;
reg [15:0] count2;
//定义状态
parameter delay=9;
parameter n_CS_low=49; 
parameter n_CS_high=1999;
parameter R_nC_low=59; 
parameter R_nC_high=3999;

always @(posedge clk)
begin
	if(count1>=R_nC_low)
	begin
		if(count1<=R_nC_high)
			begin
			R_nC<=1;
			count1<=count1+1;
			end
		else
			begin
			count1<=0; 
			end
	end

	else
	begin
	R_nC<=0;
	count1<=count1+1;
	end
	//nCS信号
	if(count2>=delay)
	begin
		if(count2<=n_CS_low)
			begin
			nCS<=0;
			count2<=count2+1;
			end
		else
			if(count2<=n_CS_high)
			begin
			nCS<=1;
			count2<=count2+1;
			end
			else
			begin
			count2<=0;
			end
	end
	else
	begin
	nCS<=1;
	count2<=count2+1;
	end	
end	
endmodule

⌨️ 快捷键说明

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