直方图统计模块——RAM、adder1和控制模块集成仿真
对ram、adder1和控制模块进行了集成,原来的各个模块仿真结果集成后并不正确,主要是wren信号,对此进行了更改。另外为了避免读取和清零时出现0地址时间短的问题,将地址切换单独做成一个模块。RTL图如下:
CLK27为输入27M时钟,CLRRAM为ram清零信号,CPURD为读取ram信号,rst_n为复位信号,start为指示开始统计信号,pixel是输入的像素值,作为ram地址。ctrl_wren模块负责统计、读、清零时的wren信号的产生和读、清零地址的产生。addr_gen模块负责统计、读、清零状态的地址切换。
统计阶段波形图如下:
读取数据阶段波形图如下:
清零阶段波形:
清零后读取验证:
重新开始统计:
待改进:只有当CPURD信号有效时,QD才输出,否则输出高阻态。