Это мой первый проект на плис, до этого с ним дело не имел.
Требуется отлавливать импульсы с АЦП выше определенной амплитуды и выдавать максимум импульса дальше...
Плис Altera Cyclone 4, ADC AD9218BSTZ-65, 10 бит, тактирование от генератора 50 МГц.
Кто мог бы объяснить в чем загвозка, огромное спасибо!!!
Код
module test3(clk, adc_clk, adc1_in, adc1_max);
input wire clk;
input wire [9:0] adc1_in; //входные данные с ацп
inout reg [9:0] adc1_max; // выход максимума импульса
output wire adc_clk; //PIN 85
reg [9:0] adc1_max_buff; //промежуточный буффер
reg [9:0] dis_adc1_low=10'b1000100111; //нижний порог импульса
assign adc_clk = clk; //тактирование ацп
initial begin
adc1_max_buff = 0;
adc1_max=0;
end
always @(negedge adc_clk) begin
if(adc1_in >= dis_adc1_low)
begin
if(adc1_in > adc1_max_buff)
begin
adc1_max_buff = adc1_in;
end
end
if(adc1_in < dis_adc1_low)
begin
if(adc1_max_buff != 0)
begin
adc1_max = adc1_max_buff;
end
if(adc1_max==adc1_max_buff)
begin
adc1_max_buff = 0;
end
end
end
endmodule
input wire clk;
input wire [9:0] adc1_in; //входные данные с ацп
inout reg [9:0] adc1_max; // выход максимума импульса
output wire adc_clk; //PIN 85
reg [9:0] adc1_max_buff; //промежуточный буффер
reg [9:0] dis_adc1_low=10'b1000100111; //нижний порог импульса
assign adc_clk = clk; //тактирование ацп
initial begin
adc1_max_buff = 0;
adc1_max=0;
end
always @(negedge adc_clk) begin
if(adc1_in >= dis_adc1_low)
begin
if(adc1_in > adc1_max_buff)
begin
adc1_max_buff = adc1_in;
end
end
if(adc1_in < dis_adc1_low)
begin
if(adc1_max_buff != 0)
begin
adc1_max = adc1_max_buff;
end
if(adc1_max==adc1_max_buff)
begin
adc1_max_buff = 0;
end
end
end
endmodule