亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? median_filter.v

?? 3x3中值濾波 verilog
?? V
字號(hào):

// +FHDR------------------------------------------------------------------------
// Copyright (c) 2004, pudn ASIC.
// pudn ASIC Confidential Proprietary
// -----------------------------------------------------------------------------
// FILE NAME      :	median_filter.v
// TYPE           : parameter
// DEPARTMENT     :	pudn ASIC
// AUTHOR         : Liu Yuxuan
// AUTHOR' EMAIL  : liuyuxuan@pudn.com
// -----------------------------------------------------------------------------
// Release history
// VERSION Date AUTHOR DESCRIPTION
// 0.0  12 Jun 2006, Liu Yuxuan (Create)
// -----------------------------------------------------------------------------
// KEYWORDS : Digital Video Processer, Noise Reduction, Median Filter
// -----------------------------------------------------------------------------
// PURPOSE :   
//            This module is part of the median filter circuit. This file
//            generates the 3*3 median filter.
// -----------------------------------------------------------------------------
// PARAMETERS
// PARAM NAME RANGE : DESCRIPTION : DEFAULT : VA UNITS
// -----------------------------------------------------------------------------
// REUSE ISSUES
// Reset Strategy :
// Clock Domains : 
// Critical Timing :
// Test Features :
// Asynchronous I/F : 
// Scan Methodology :
// Instantiations :
// Other :
// -FHDR------------------------------------------------------------------------

`resetall
`timescale 1ns/1ps
module median_filter(
   clk,
   rst_n,
   hs,
   vs,
   hde,
   vde,
   edge_here,
   filter_sel,
   mdf_a11,
   mdf_a12,
   mdf_a13,
   mdf_a21,
   mdf_a22,
   mdf_a23,
   mdf_a31,
   mdf_a32,
   mdf_a33,
   
   des_data_y,
   des_data_uv,
   hs_out,
   vs_out,
   hde_out,
   vde_out
);


// Internal Declarations

input         clk;
input         rst_n;
input         hs;
input         vs;
input         hde;
input         vde;
input         edge_here;
input  [1:0]  filter_sel;
input  [15:0] mdf_a11;
input  [15:0] mdf_a12;
input  [15:0] mdf_a13;
input  [15:0] mdf_a21;
input  [15:0] mdf_a22;
input  [15:0] mdf_a23;
input  [15:0] mdf_a31;
input  [15:0] mdf_a32;
input  [15:0] mdf_a33;

output [7:0]  des_data_y;
output [7:0]  des_data_uv;
output        hs_out;
output        vs_out;
output        hde_out;
output        vde_out;


wire        clk;
wire        rst_n;
wire        hs;
wire        vs;
wire        hde;
wire        vde;
wire        edge_here;
wire [1:0]  filter_sel;
wire [15:0] mdf_a11;
wire [15:0] mdf_a12;
wire [15:0] mdf_a13;
wire [15:0] mdf_a21;
wire [15:0] mdf_a22;
wire [15:0] mdf_a23;
wire [15:0] mdf_a31;
wire [15:0] mdf_a32;
wire [15:0] mdf_a33;

wire [7:0]  des_data_y;
wire [7:0]  des_data_uv;
reg         hs_out;
reg         vs_out;
reg         hde_out;
reg         vde_out;

// ### Please start your Verilog code here ###

reg  [15:0] mdf_a22_d1, mdf_a22_d2, mdf_a22_d3;
reg  [15:0] mdf_a22_d4, mdf_a22_d5, mdf_a22_d6;
wire [7:0]  max_1_y, max_2_y, max_3_y;
wire [7:0]  min_1_y, min_2_y, min_3_y;
wire [7:0]  median_1_y, median_2_y, median_3_y;
wire [7:0]  max_1_uv, max_2_uv, max_3_uv;
wire [7:0]  min_1_uv, min_2_uv, min_3_uv;
wire [7:0]  median_1_uv, median_2_uv, median_3_uv;
wire [7:0]  max_y, min_y;
wire [7:0]  max_uv, min_uv;
wire [7:0]  des_data_y_tmp;
wire [7:0]  des_data_uv_tmp;
wire        noise_here_y;
wire        noise_here_uv;
reg         hs_d1, hs_d2, hs_d3, hs_d4, hs_d5;
reg         vs_d1, vs_d2, vs_d3, vs_d4, vs_d5;
reg         hde_d1, hde_d2, hde_d3, hde_d4, hde_d5;
reg         vde_d1, vde_d2, vde_d3, vde_d4, vde_d5;

comparator_mdf comparator_3x3_1_y(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (mdf_a11[15:8]),
   .input_2    (mdf_a12[15:8]),
   .input_3    (mdf_a13[15:8]),
   
   .max        (max_1_y),
   .min        (min_1_y),
   .median     (median_1_y)
);

comparator_mdf comparator_3x3_2_y(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (mdf_a21[15:8]),
   .input_2    (mdf_a22[15:8]),
   .input_3    (mdf_a23[15:8]),
   
   .max        (max_2_y),
   .min        (min_2_y),
   .median     (median_2_y)
);

comparator_mdf comparator_3x3_3_y(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (mdf_a31[15:8]),
   .input_2    (mdf_a32[15:8]),
   .input_3    (mdf_a33[15:8]),
   
   .max        (max_3_y),
   .min        (min_3_y),
   .median     (median_3_y)
);

comparator_mdf comparator_3x3_final_max_y(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (max_1_y),
   .input_2    (max_2_y),
   .input_3    (max_3_y),
   
   .max        (max_y),
   .min        (),
   .median     ()
);

comparator_mdf comparator_3x3_final_min_y(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (min_1_y),
   .input_2    (min_2_y),
   .input_3    (min_3_y),
   
   .max        (),
   .min        (min_y),
   .median     ()
);

comparator_mdf comparator_3x3_final_median_y(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (median_1_y),
   .input_2    (median_2_y),
   .input_3    (median_3_y),
   
   .max        (),
   .min        (),
   .median     (des_data_y_tmp)
);

comparator_mdf comparator_3x3_1_uv(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (mdf_a11[7:0]),
   .input_2    (mdf_a12[7:0]),
   .input_3    (mdf_a13[7:0]),
   
   .max        (max_1_uv),
   .min        (min_1_uv),
   .median     (median_1_uv)
);

comparator_mdf comparator_3x3_2_uv(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (mdf_a21[7:0]),
   .input_2    (mdf_a22[7:0]),
   .input_3    (mdf_a23[7:0]),
   
   .max        (max_2_uv),
   .min        (min_2_uv),
   .median     (median_2_uv)
);

comparator_mdf comparator_3x3_3_uv(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (mdf_a31[7:0]),
   .input_2    (mdf_a32[7:0]),
   .input_3    (mdf_a33[7:0]),
   
   .max        (max_3_uv),
   .min        (min_3_uv),
   .median     (median_3_uv)
);

comparator_mdf comparator_3x3_final_max_uv(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (max_1_uv),
   .input_2    (max_2_uv),
   .input_3    (max_3_uv),
   
   .max        (max_uv),
   .min        (),
   .median     ()
);

comparator_mdf comparator_3x3_final_min_uv(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (min_1_uv),
   .input_2    (min_2_uv),
   .input_3    (min_3_uv),
   
   .max        (),
   .min        (min_uv),
   .median     ()
);

comparator_mdf comparator_3x3_final_median_uv(
   .clk        (clk),
   .rst_n      (rst_n),
   .filter_sel (filter_sel),
   .input_1    (median_1_uv),
   .input_2    (median_2_uv),
   .input_3    (median_3_uv),
   
   .max        (),
   .min        (),
   .median     (des_data_uv_tmp)
);

assign noise_here_y=((mdf_a22_d6[15:8]==max_y)||(mdf_a22_d6[15:8]==min_y))&&(~edge_here);
assign noise_here_uv=((mdf_a22_d6[7:0]==max_uv)||(mdf_a22_d6[7:0]==min_uv))&&(~edge_here);
assign des_data_y=noise_here_y?des_data_y_tmp:mdf_a22_d6[15:8];
assign des_data_uv=noise_here_uv?des_data_uv_tmp:mdf_a22_d6[7:0];

//this always block initializes mdf_a22_d* and generates
//correct mdf_a22_d*
always @(posedge clk or negedge rst_n)
  begin
    if(!rst_n)
      begin
      	mdf_a22_d1<=16'b0;
      	mdf_a22_d2<=16'b0;
      	mdf_a22_d3<=16'b0;
      	mdf_a22_d4<=16'b0;
      	mdf_a22_d5<=16'b0;
      	mdf_a22_d6<=16'b0;
	    end
	  else
	    begin
	    	mdf_a22_d1<=mdf_a22;
	    	mdf_a22_d2<=mdf_a22_d1;
	    	mdf_a22_d3<=mdf_a22_d2;
	    	mdf_a22_d4<=mdf_a22_d3;
	    	mdf_a22_d5<=mdf_a22_d4;
	    	mdf_a22_d6<=mdf_a22_d5;
      end//else if !rst_n
  end//always

//this always block initializes hs_out, vs_out and generates
//hs_out, vs_out
always @(posedge clk or negedge rst_n)
  begin
    if(!rst_n)
      begin
      	hs_d1<=1'b0;
      	hs_d2<=1'b0;
      	hs_d3<=1'b0;
      	hs_d4<=1'b0;
      	hs_d5<=1'b0;
        hs_out<=1'b0;
        vs_d1<=1'b0;
      	vs_d2<=1'b0;
      	vs_d3<=1'b0;
      	vs_d4<=1'b0;
      	vs_d5<=1'b0;
		    vs_out<=1'b0;
	    end
	  else
	    begin
	    	hs_d1<=hs;
	    	hs_d2<=hs_d1;
	    	hs_d3<=hs_d2;
	    	hs_d4<=hs_d3;
	    	hs_d5<=hs_d4;
        hs_out<=hs_d5;
        vs_d1<=vs;
        vs_d2<=vs_d1;
        vs_d3<=vs_d2;
        vs_d4<=vs_d3;
        vs_d5<=vs_d4;
        vs_out<=vs_d5;
      end//else if !rst_n
  end//always
  
//this always block initializes hde_out, vde_out and generates
//correct hde_out, vde_out
always @(posedge clk or negedge rst_n)
  begin
    if(!rst_n)
      begin
      	hde_d1<=1'b0;
      	hde_d2<=1'b0;
      	hde_d3<=1'b0;
      	hde_d4<=1'b0;
      	hde_d5<=1'b0;
        hde_out<=1'b0;
        vde_d1<=1'b0;
      	vde_d2<=1'b0;
      	vde_d3<=1'b0;
      	vde_d4<=1'b0;
      	vde_d5<=1'b0;
        vde_out<=1'b0;
      end
    else
      begin
      	hde_d1<=hde;
      	hde_d2<=hde_d1;
      	hde_d3<=hde_d2;
      	hde_d4<=hde_d3;
      	hde_d5<=hde_d4;
        hde_out<=hde_d5;
        vde_d1<=vde;
      	vde_d2<=vde_d1;
      	vde_d3<=vde_d2;
      	vde_d4<=vde_d3;
      	vde_d5<=vde_d4;
        vde_out<=vde_d5;
      end//else if !rst_n
  end//always

endmodule

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩不卡视频| 一本大道久久a久久精品综合| 中文av一区二区| 欧美一区三区二区| youjizz国产精品| 国产一区二区三区日韩| 亚洲成人av电影在线| 亚洲三级在线免费| 亚洲国产精品高清| 久久品道一品道久久精品| 欧美一级精品在线| 99久久综合99久久综合网站| 久久国内精品视频| 亚洲一区中文在线| 综合久久久久久久| 久久久亚洲精华液精华液精华液| 欧美精品色综合| 91激情五月电影| 99国产精品久久久久久久久久久| 韩国理伦片一区二区三区在线播放 | 亚洲国产精品影院| 国产精品国产馆在线真实露脸| 精品日韩欧美在线| 欧美一级午夜免费电影| 欧美日韩大陆一区二区| 91麻豆免费在线观看| 不卡视频一二三| 国产成人亚洲精品狼色在线| 久久国产福利国产秒拍| 日韩高清不卡在线| 日本 国产 欧美色综合| 香蕉av福利精品导航| 亚洲国产婷婷综合在线精品| 亚洲精品成人精品456| 国产精品对白交换视频| 亚洲电影激情视频网站| 久久精品人人做人人爽人人| 欧美大片免费久久精品三p| 欧美一区二区在线视频| 欧美一区二区三区小说| 日韩一区二区电影| 欧美大片一区二区| 国产亚洲一本大道中文在线| 久久精品视频在线看| 中文一区在线播放 | 亚洲成人av在线电影| 亚洲成国产人片在线观看| 偷窥少妇高潮呻吟av久久免费| 视频一区国产视频| 激情图区综合网| 高清av一区二区| 97se亚洲国产综合自在线观| 色噜噜狠狠成人中文综合| 欧美日韩在线播放三区| 日韩一级二级三级| 国产亚洲综合av| 中文字幕中文乱码欧美一区二区| 一区二区三区四区在线播放| 日韩电影一区二区三区四区| 国产美女娇喘av呻吟久久| aaa亚洲精品| 亚洲免费观看高清完整| 亚洲手机成人高清视频| 亚洲va国产天堂va久久en| 欧美aⅴ一区二区三区视频| 国产精品一区二区男女羞羞无遮挡| 成人黄色软件下载| 精品视频在线免费| 久久亚洲精华国产精华液| 最新不卡av在线| 日韩av中文字幕一区二区三区| 国产在线视视频有精品| 成人av影视在线观看| 欧美日韩美少妇| 2023国产精华国产精品| 亚洲视频网在线直播| 蜜桃视频一区二区| 不卡的av在线| 日韩欧美成人激情| 亚洲视频在线观看一区| 久色婷婷小香蕉久久| 99精品视频在线观看免费| 欧美精品tushy高清| 欧美国产97人人爽人人喊| 亚洲国产毛片aaaaa无费看 | 高清beeg欧美| 7777女厕盗摄久久久| 国产精品视频一二| 香蕉成人啪国产精品视频综合网| 成人午夜精品一区二区三区| 欧美高清一级片在线| 欧美激情综合五月色丁香小说| 亚洲国产视频一区二区| 成人福利视频网站| 欧美一区三区四区| 亚洲自拍偷拍欧美| 成人av资源站| 欧美tickle裸体挠脚心vk| 亚洲精品国产a久久久久久| 国产自产2019最新不卡| 欧美日本在线看| 亚洲私人黄色宅男| 国产jizzjizz一区二区| 欧美刺激脚交jootjob| 午夜一区二区三区在线观看| 国产a精品视频| 2024国产精品视频| 欧美aⅴ一区二区三区视频| 欧美在线三级电影| 中文字幕在线不卡| 成人精品国产一区二区4080| 欧美成人vps| 蜜桃久久久久久| 欧美日韩免费视频| 亚洲一区二区三区国产| 色综合夜色一区| 国产精品久久久久久久久果冻传媒| 久久国产三级精品| 欧美一区二区三区成人| 五月婷婷综合网| 欧美三级三级三级爽爽爽| 亚洲青青青在线视频| 成人av在线一区二区三区| 久久精品一区二区三区av| 国产自产视频一区二区三区| 精品欧美乱码久久久久久 | 国产一区二区三区四区在线观看| 日韩欧美国产综合| 日韩成人一级片| 5月丁香婷婷综合| 丝袜脚交一区二区| 69久久夜色精品国产69蝌蚪网| 亚洲大片一区二区三区| 欧美精品第一页| 国产精品热久久久久夜色精品三区 | 国产一区啦啦啦在线观看| 日韩视频一区在线观看| 婷婷中文字幕综合| 91精品国产高清一区二区三区蜜臀 | 中文字幕一区免费在线观看| 91网站在线播放| 一区二区三区欧美| 欧美日韩另类一区| 青青草91视频| 久久精品一二三| 成人激情黄色小说| 中文字幕视频一区| 欧美视频中文字幕| 秋霞影院一区二区| 欧美精品一区二区三区很污很色的 | 丁香天五香天堂综合| 国产精品久久久久久久久晋中| 色婷婷国产精品久久包臀| 亚洲免费在线视频一区 二区| 91久久一区二区| 日韩精品亚洲一区二区三区免费| 日韩精品一区二区三区中文不卡 | 成人免费视频视频| 中文字幕亚洲不卡| 欧美人伦禁忌dvd放荡欲情| 美女久久久精品| 中文字幕欧美日本乱码一线二线| 91在线观看高清| 日韩专区中文字幕一区二区| 精品捆绑美女sm三区| 成人av资源网站| 亚洲gay无套男同| 婷婷综合五月天| 久久久久久麻豆| 日本久久一区二区| 喷水一区二区三区| 亚洲欧美综合在线精品| 欧美精选在线播放| 国产成人三级在线观看| 一区二区欧美精品| 精品国产123| 色www精品视频在线观看| 男人的j进女人的j一区| 亚洲欧洲av一区二区三区久久| 777精品伊人久久久久大香线蕉| 国产精品正在播放| 亚洲成av人综合在线观看| 久久精品人人爽人人爽| 欧美日韩和欧美的一区二区| 国产伦理精品不卡| 亚洲成人av一区| 国产精品丝袜久久久久久app| 91麻豆精品国产91久久久久久| 福利一区福利二区| 秋霞影院一区二区| 亚洲精品美国一| 国产亚洲一区二区三区在线观看| 欧美日韩在线播放一区| 不卡区在线中文字幕| 精品在线观看免费| 一区二区三区丝袜| 国产精品丝袜一区| 精品国产乱码久久| 欧美日韩精品一区二区天天拍小说| 国产成人精品免费|