: .
reset 全局复位信号
enable 求值使能信号(来自顶层模块内部)
data_in [11:0] 待测波形
输出端口 端口简单说明
data_max_out [11:0] 最大值
data_min_out [11:0] 最小值
en 最大最小值求得,对下一模块使能
通过不为地比较前后的值来发现是递增状态还是递减状态,如果由递增状态变为递减状态,则
当前值即为最大值 ,如果由递减状态变为递增状态 ,则当前值为最小值 。另外,在此模块中先求出最大值,然后再求最小值。
在顶层模块内部产生一个宽度比较小的脉冲波 enable,当其为 0 时,比较处理求最大值是小值 ,
其为 1 时,与下述 en_max、en_min 共同控制最大值最小值的输出。
设置中间变量如下:
temp_max、temp_min:在比较中作为前一个值与当前输入值 data_in 进行比较;
max_keep、min_keep :当波形值由递增状态变为递减状态时,说明极大值求得,将其赋 予
max_keep;同样,当波形值由递减状态变为递增状态时,说明极小值获得,奖其赋予 min_keep;
en_max、en_min:当 max_keep 获得值的同时 ,en_max 置 1,说明当前最大值已保持 ;当 min_keep
获得值的同时, en_min 置 1,说明当前最小值已保持;
flag_max、flag_min:如果当前是递增状态,则变量 flag_max 被置 1;如果当前是递减状态 ,则
flag_min 被置 1;
当 en_max 被置 1 后,开始计算最小值。
当 en_max、en_min 均为 1 后,将对下一个模块的使能信号 ——en 置 1,说明最大值最小值已求得,则时将 max_keep、min_keep 保持的值赋 给 data_max_out 、data_min_ou t 输出,并在输出后 将 en_max、
en_min 等中间信号及时清零。
具体设计代码见附件 —— 。
3、整流模块
输入端口 端口简单说明
clk 全局时钟信号 clk_i
reset 全局复位信号
enable 来自上一模块的使能信号,为 1 时说明已求出最
大最小值
data_in [11:0] 待测波形,用于比较
data_max_in [11:0] 最大值
频率计实验报告 来自淘豆网www.taodocs.com转载请标明出处.