谁帮我看看这个Verilog代码是否正确?FPGA采样方面的 采样芯片:TLC5510 FPGA芯片:EP2C8Q208 20
moduleADC_TLC5510(clk,Res,AD_d,ADclk,ADOE,data,data_lock);inputclk;//采样时钟输入inputRes;/...
module ADC_TLC5510(clk,Res,AD_d,ADclk,ADOE,data,data_lock);
input clk;//采样时钟输入
input Res;//复位
input [7:0]AD_d;//8位AD数据
output ADclk;//到TCL5510的CLK
output ADOE;//到TCL5510的OE(使能)
output [7:0]data;//8位数据
output data_lock;//数据输出锁存信号
reg ADclk;//到TCL5510的CLK
reg ADOE;//到TCL5510的OE(使能)
reg [7:0]data;//8位数据
reg data_lock;//数据输出锁存信号
reg lock;
reg [1:0]State;
parameter S0=2'b00,
S1=2'b01;
always@(posedge clk or negedge Res)
begin
if(!Res)
begin
State<=S0;
ADOE<=1'b1;
end
else
begin
Do_ADC;
if(lock)
begin
data<=AD_d;
end
end
end
task Do_ADC;
begin
case(State)
S0:
begin
ADclk<=1'b1;
lock<=1'b1;
data_lock<=1'b0;
ADOE<=1'b0;
State<=S1;
end
S1:
begin
ADclk<=1'b0;
lock<=1'b0;
data_lock<=1'b1;
ADOE<=1'b0;
State<=S0;
end
default:
begin
ADclk<=1'b0;
lock<=1'b0;
data_lock<=1'b1;
ADOE<=1'b1;
State<=S0;
end
endcase
end
endtask
endmodule
是在没有悬赏币了,谢谢大家了 展开
input clk;//采样时钟输入
input Res;//复位
input [7:0]AD_d;//8位AD数据
output ADclk;//到TCL5510的CLK
output ADOE;//到TCL5510的OE(使能)
output [7:0]data;//8位数据
output data_lock;//数据输出锁存信号
reg ADclk;//到TCL5510的CLK
reg ADOE;//到TCL5510的OE(使能)
reg [7:0]data;//8位数据
reg data_lock;//数据输出锁存信号
reg lock;
reg [1:0]State;
parameter S0=2'b00,
S1=2'b01;
always@(posedge clk or negedge Res)
begin
if(!Res)
begin
State<=S0;
ADOE<=1'b1;
end
else
begin
Do_ADC;
if(lock)
begin
data<=AD_d;
end
end
end
task Do_ADC;
begin
case(State)
S0:
begin
ADclk<=1'b1;
lock<=1'b1;
data_lock<=1'b0;
ADOE<=1'b0;
State<=S1;
end
S1:
begin
ADclk<=1'b0;
lock<=1'b0;
data_lock<=1'b1;
ADOE<=1'b0;
State<=S0;
end
default:
begin
ADclk<=1'b0;
lock<=1'b0;
data_lock<=1'b1;
ADOE<=1'b1;
State<=S0;
end
endcase
end
endtask
endmodule
是在没有悬赏币了,谢谢大家了 展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询