⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 collection_buffer.v

📁 该系统是一个实现图像数据采集以及对图像数据的插值处理
💻 V
字号:
//  模块collection_buffer声明
module collection_buffer
(
	// 接口列表
	frameValid, lineValid, iPixClk, iData, interClk, interData, XMax, YMax, 
	x, y
);
	parameter pixSize = "32";//声明常量确定象素的最大可输入列数和行数
	input frameValid,lineValid,iPixClk;
	input [7:0] iData;
	output interClk;
	output [7:0] interData;
	output [4:0] XMax,YMax,x,y;
	
    reg [7:0] interData;
    reg [4:0] x,y,XMax,YMax;
    reg [5:0] tempx;
    wire interClk;
    
    always @( negedge        frameValid)
    begin
         YMax=y;    //根据帧有效信号确定输入最大行数
         
    end

    always @(posedge  lineValid)
    begin
         if(frameValid==0||y==YMax)//如果下一帧信号到来就重置行数
         y=0;
         y=y+1;      //根据行有效信号计算当前象素所在行坐标
         
    end

    always @( negedge        lineValid)
    begin
         XMax=x;    //根据行有效信号确定输入最大列数
         
    end
    assign interClk= iPixClk;// 将本时钟输出供下个模块使用
    always  @(posedge  iPixClk)
    begin
         //当前象素的坐标不能超过最大坐标,且必须在行和列有效下
         if(lineValid==1 &&frameValid==1&& x<pixSize&&y<pixSize)
         begin 
              interData=iData;//传输有效数据
              x=x+1;          //计算当前列坐标
         end
         if(lineValid==0)
              x=0;           //在行无效时将列坐标置为0
    end
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -