verilog 如何循环比较数据大小?
连续脉冲输出,AD采集输出,寻每个峰值,脉冲信号:2~3us,12位并行ad40MHz。我的思路是这样的;将AD输出进行比较,每一个输出值和它前后的数进行比较,比如ad连...
连续脉冲输出,AD采集输出,寻每个峰值,
脉冲信号:2~3us,12位并行ad40MHz。我的思路是这样的;将AD输出进行比较,每一个输出值和它前后的数进行比较,比如ad连续输出A、B、C、D、···,将A和B比较,A(假设A>B)再与C比较,这样循环比较,并记录最大值。我现在碰到的问题是,怎么实现循环比较, 展开
脉冲信号:2~3us,12位并行ad40MHz。我的思路是这样的;将AD输出进行比较,每一个输出值和它前后的数进行比较,比如ad连续输出A、B、C、D、···,将A和B比较,A(假设A>B)再与C比较,这样循环比较,并记录最大值。我现在碰到的问题是,怎么实现循环比较, 展开
展开全部
1.用一个寄存器存最大数,如果输入的数比寄存器里的数大,就替换,如果小于,就不变,然后寄存器里的数就是最大值了
input [11:0] digital_out; //AD的输出数据
reg [11:0]max_num; //如果是多位的,就声明多位的reg
always @(posedge clk or negedge reset_n)begin
if(!reset_n)
max_num <= 12'b0;
else if(digital_out > max_num)
max_num <= digital_out;
end
input [11:0] digital_out; //AD的输出数据
reg [11:0]max_num; //如果是多位的,就声明多位的reg
always @(posedge clk or negedge reset_n)begin
if(!reset_n)
max_num <= 12'b0;
else if(digital_out > max_num)
max_num <= digital_out;
end
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询