基于Verilog HDL设计的自动数据采集系统
一个时钟的上升沿,RD信号变为高电平,在RD的上升沿数据被锁存进FIFO。RD信号回到高电平后,WR信号变为低电平,于是又开始下一次转换。
3系统的VerilogHDL描述
电子系统设计中一般遵循自上而下的设计思路,对系统进行设计、描述与仿真。考虑到模块的通用性和可移植性,常常使用HDL语言来描述数字系统,如VerilogHDL、VHDL、AHDL语言等。其中VerilogHDL语言具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点,被近90%的半导体公司使用,成为一种强大的设计工具。
3.1用VerilogHDL语言描述MAX196
用VerilogHDL程序描述MAX196模块,可以把模块用于采集系统的仿真,以验证状态机设计的正确性。该模块主要有三个输入信号和一个输出信号,与芯片的控制信号是一致的。程序说明如下:
moduleadc(reset,rd_adc,wr_adc,int_adc);
inputreset,rd_adc,wr_adc;
outputint_adc;
regint_adc;
always@(posedgewr_adcornegedgerd_adcornegedgereset
begin
if(!reset)int_adc=1;
elseif(rd_adc==0)beginint_adc=1;end
elsebegin#10int_adc=0;end
end
endmodule
3.2用VerilogHDL语言描述自动状态机
自动状态机有三个输入信号和两个输出信号,输入信号中clk由DSP系统输出以控制采样速度,reset信号复位自动状态机,int_adc是A/D芯片转换结束的响应信号;输出信号rd_adc、wr_adc控制A/D芯片的转换开始和数据的读出,以及控制FIFO将数据写入FIFO。程序说明如下:
modulefsm(int_adc,clk,reset,rd_adc,wr_adc);
outputrd_adc,wr_adc;
inputint_adc,clk,reset;
regrd_adc,wr_adc;
reg[1:0]present;
parameterreset_ad=2'h0,start_ad=2'h1,wait_ad=2'h2,read_ad=2'h3;
always@(posedgeclkornegedgereset
if(reset)beginpresent=reset_ad;rd_adc=1;wr_adc=0;end
else
begin
3系统的VerilogHDL描述
电子系统设计中一般遵循自上而下的设计思路,对系统进行设计、描述与仿真。考虑到模块的通用性和可移植性,常常使用HDL语言来描述数字系统,如VerilogHDL、VHDL、AHDL语言等。其中VerilogHDL语言具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点,被近90%的半导体公司使用,成为一种强大的设计工具。
3.1用VerilogHDL语言描述MAX196
用VerilogHDL程序描述MAX196模块,可以把模块用于采集系统的仿真,以验证状态机设计的正确性。该模块主要有三个输入信号和一个输出信号,与芯片的控制信号是一致的。程序说明如下:
moduleadc(reset,rd_adc,wr_adc,int_adc);
inputreset,rd_adc,wr_adc;
outputint_adc;
regint_adc;
always@(posedgewr_adcornegedgerd_adcornegedgereset
begin
if(!reset)int_adc=1;
elseif(rd_adc==0)beginint_adc=1;end
elsebegin#10int_adc=0;end
end
endmodule
3.2用VerilogHDL语言描述自动状态机
自动状态机有三个输入信号和两个输出信号,输入信号中clk由DSP系统输出以控制采样速度,reset信号复位自动状态机,int_adc是A/D芯片转换结束的响应信号;输出信号rd_adc、wr_adc控制A/D芯片的转换开始和数据的读出,以及控制FIFO将数据写入FIFO。程序说明如下:
modulefsm(int_adc,clk,reset,rd_adc,wr_adc);
outputrd_adc,wr_adc;
inputint_adc,clk,reset;
regrd_adc,wr_adc;
reg[1:0]present;
parameterreset_ad=2'h0,start_ad=2'h1,wait_ad=2'h2,read_ad=2'h3;
always@(posedgeclkornegedgereset
if(reset)beginpresent=reset_ad;rd_adc=1;wr_adc=0;end
else
begin
- 上一篇论文: 基于GAL器件的步进电机控制器的研究与设计
- 下一篇论文: 数字签名算法SHA-1的FPGA高速实现