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

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

?? plback_adv7179.v

?? deinterlace的核心verilog
?? V
?? 第 1 頁 / 共 3 頁
字號:
// FileName     :   plback_adv7179.v
// Module Name  :   plback_adv7179
// Created      :   2006.07.26
// Last Updated :   2006.08.02
// Creator      :   wangyuelong
// Description  :
//      Pass reframe to adv7179 with ITU-R BT.656 pattern
// modify by zhangchi  2007.02.27
`timescale 1ns/1ns
module plback_adv7179(
    sys_clk,
    sys_rstn,
    
    dac_clk,
    dac_pa,
    dac_start,
    
    dac_cmd_req,
    dac_cmd_enb,
    dac_cmd_addr,
    dac_cmd_len,
    dac_cmd_rwn,
    
    mpu_cmd_grant,
    mpu_cmd_data,
    mpu_cmd_vld,
    
    dsp_ref_pic_max,
    dsp_ref_pic_lu,
    dsp_ref_pic_chm,
    dsp_ref_pic_base,
    dsp_ref_pic_ptr,
    
    hsync,
    vsync,
    test_port
    );
    
    input           sys_clk;
    input           sys_rstn;
    
    input           dac_clk;//27M
    input           dac_start;//reference frame is ready
    output  [7:0]   dac_pa;//output to DA
    
    output          dac_cmd_req;
    output          dac_cmd_enb;
    output   [22:0] dac_cmd_addr;    output   [1:0]  dac_cmd_len;
    output          dac_cmd_rwn;
    
    input           mpu_cmd_grant;
    input   [31:0]  mpu_cmd_data;
    input           mpu_cmd_vld;
    
    input   [1:0]   dsp_ref_pic_max;
    input           dsp_ref_pic_lu;
    input           dsp_ref_pic_chm;
    input   [1:0]   dsp_ref_pic_base;
    input   [1:0]   dsp_ref_pic_ptr;
    output          hsync;
    output          vsync;
    output  [31:0]  test_port;
    
    assign  hsync = 1'b0;
    assign  vsync = 1'b0;
    
    reg     [10:0]  col;
    reg     [9:0]   row;
    reg             dac_enb,dac_enb_p0,dac_enb_p1;
    reg             dac_enb_cnt;
    reg     [7:0]   dac_pa;
    
  //  reg     [1:0]   ref_pic;
    reg             dac_cmd_req;
    reg             dac_cmd_enb;
    reg     [22:0]  dac_cmd_addr;
    reg             dac_cmd_req_odd;
    reg             dac_cmd_enb_odd;
    reg     [22:0]  dac_cmd_addr_odd;
    
    reg             rd_buf_flag,rd_buf_flag_d,rd_buf_flag_p;
    reg             rd_buf_flag_dac;
    reg     [9:0]   dpr_rd_luma0_addr;
    reg     [9:0]   dpr_wr_luma0_addr;
    reg     [9:0]   dpr_rd_luma1_addr;
    reg     [9:0]   dpr_wr_luma1_addr;
    reg             dpr_wr_luma_enb0,dpr_wr_luma_enb1,dpr_wr_luma_enb2,dpr_wr_luma_enb3;
    reg     [31:0]  dpr_wr_data;
   
    
    reg     [15:0]  dpr_wr_lu0_data;
    reg     [15:0]  dpr_wr_lu1_data;
    
    reg     [8:0]   dpr_wr_chroma_u_addr;
    reg             dpr_wr_chroma_u_enb0;
    reg             dpr_wr_chroma_u_enb1;
    reg     [8:0]   dpr_rd_chroma_u_addr;
    
    reg     [8:0]   dpr_wr_chroma_v_addr;
    reg             dpr_wr_chroma_v_enb0;
    reg             dpr_wr_chroma_v_enb1;
    reg     [8:0]   dpr_rd_chroma_v_addr;
    
    reg     [2:0]   state,next_state;
    parameter   [2:0]   st_idle         = 3'd0,
                        st_wait         = 3'd1,
                        st_rd_luma      = 3'd2,
                        st_rd_chroma_u  = 3'd3,
                        st_rd_chroma_v  = 3'd4;
    
    reg     [7:0]   col_cnt;
    reg     [6:0]   row_cnt;
    reg             fill_odd_even;//0-even,1-odd
    reg             fill_buf01;
    reg             fill_luma_over,fill_chroma_u_over,fill_chroma_v_over;
    reg     [9:0]   fill_cnt;
    reg     [1:0]   pass_chroma_cnt;
    reg     [5:0]   mb_x,mb_y;
    reg     [7:0]   line_cnt;
    reg     [11:0]  time_cnt;
    
    reg             fill_odd_over;
    
    reg             de_start;
    wire[1:0]       de_row_flag;
    wire            de_luma_vld;
    wire            de_u_vld;
    wire            de_v_vld;
    wire            odd_play_end;
    wire[2:0]       de_write_st;
    
    
    wire            timeout;
             
    wire    [15:0]  luma0,luma1,luma2,luma3;
    wire    [31:0]  chroma_u0,chroma_u1; 
    wire    [31:0]  chroma_v0,chroma_v1;          
    reg     [7:0]   luma,chroma_u,chroma_v;
    wire            enc_start;
    reg             xy_f,xy_v,xy_h;
    wire            xy_p0,xy_p1,xy_p2,xy_p3;
    wire    [7:0]   xy;
    assign  xy_p3 = xy_v ^ xy_h;
    assign  xy_p2 = xy_f ^ xy_h;
    assign  xy_p1 = xy_f ^ xy_v;
    assign  xy_p0 = xy_f ^ xy_v ^ xy_h;
    assign  xy = {1'b1,xy_f,xy_v,xy_h,xy_p3,xy_p2,xy_p1,xy_p0};
    
    assign  enc_start = dac_start;
    assign  dac_cmd_len = 2'b11;
    assign  dac_cmd_rwn = 1'b1;//always read
    
    assign  timeout = time_cnt == 12'hfff;
   
    assign  test_port[31:13] = dac_cmd_addr_odd[18:0];
    assign  test_port[12:9]    =    mpu_cmd_data[31:28];
    assign  test_port[8]    = timeout;
    assign  test_port[7:5]  = state[2:0];
    assign  test_port[4:1]  = {mpu_cmd_vld,dac_cmd_enb_odd,mpu_cmd_grant,dac_cmd_req_odd};
    assign  test_port[0]    = fill_chroma_u_over;//dac_clk;//(state == st_wait) & (next_state == st_rd_luma);
    
    wire    deint_cmd_req_t;
    wire    deint_cmd_enb_t;
    wire[22:0]  deint_cmd_addr_t;
    wire[31:0]  de_out_lu_data;
    wire[31:0]  de_out_u_data;
    wire[31:0]  de_out_v_data;
    wire        de_out_luma_enb;
    wire        de_out_u_enb;
    wire        de_out_v_enb;
    
    wire        lowest_lu_enb; 
    wire        lowest_u_enb; 
    wire        lowest_v_enb; 
    
   
    
    always @ ( fill_odd_even,dac_cmd_req_odd,dac_cmd_enb_odd,dac_cmd_addr_odd,deint_cmd_req_t,deint_cmd_enb_t, deint_cmd_addr_t)
       begin
        
             if ( fill_odd_even == 1'b0 )
               begin
                  dac_cmd_req  <= dac_cmd_req_odd ;
                  dac_cmd_enb  <= dac_cmd_enb_odd;
                  dac_cmd_addr[22:0]  <= dac_cmd_addr_odd[22:0];
               end
             else
               begin
                  dac_cmd_req  <= deint_cmd_req_t ;
                  dac_cmd_enb  <= deint_cmd_enb_t;
                  dac_cmd_addr[22:0]  <= deint_cmd_addr_t[22:0];
               end 
       end
     
    // chipscope insert
    
//     wire [35:0] chipscope_icon_1_control0;//     wire [31:0] scope_data;
//   ila//    chipscope_ila (//      .control ( chipscope_icon_1_control0 ),//      .clk ( sys_clk ),//      .trig0 (scope_data ) //   ); ///icon //   chipscope_icon ( //     .control0 ( chipscope_icon_1_control0 )//    );
//    assign    scope_data[31:16] = de_out_lu_data[31:16];
//    assign    scope_data[15:8] = de_out_u_data[31:24];
//    assign    scope_data[7] = de_luma_vld;
//    assign    scope_data[6] = de_start;
//    assign    scope_data[5] = lowest_lu_enb;
 //   assign    scope_data[4] = fill_odd_even;
 //   assign    scope_data[3] = dac_cmd_req_odd;
    
     de_inter   de_inter (
              
               .sys_clk ( sys_clk ),
               .sys_rstn ( sys_rstn ),
               .mpu_cmd_grant( mpu_cmd_grant),
               .mpu_cmd_data ( mpu_cmd_data),
               .mpu_cmd_vld( mpu_cmd_vld),
               .deint_cmd_req( deint_cmd_req_t ),
               .deint_cmd_enb( deint_cmd_enb_t),
               .deint_cmd_addr( deint_cmd_addr_t),
               .de_start  ( de_start ),
               .de_luma_vld ( de_luma_vld),
               .de_u_vld ( de_u_vld ),
               .de_v_vld ( de_v_vld ),
               .de_row_flag ( de_row_flag ),
               .odd_play_end ( odd_play_end ),
               .de_out_lu_data ( de_out_lu_data),
               .de_out_u_data ( de_out_u_data ),
               .de_out_v_data ( de_out_v_data ),
               .de_out_luma_enb ( de_out_luma_enb ),
               .de_out_u_enb ( de_out_u_enb ),
               .de_out_v_enb ( de_out_v_enb ),
               .lowest_lu_enb ( lowest_lu_enb ),
               .lowest_u_enb ( lowest_u_enb ),
               .lowest_v_enb ( lowest_v_enb ),
               .rd_buf_flag ( rd_buf_flag),
               .rd_buf_flag_d ( rd_buf_flag_d )
               
               
     
                   );
     
 
    always @(row, luma0,luma1,luma2,luma3)
    begin
        if(row <= 10'd309) 
            case(row[2:0])
                3'b000: luma <= luma1[15:8];
                3'b001: luma <= luma1[7:0];
                3'b010: luma <= luma2[15:8];
                3'b011: luma <= luma2[7:0];
                
                3'b100: luma <= luma3[15:8];
                3'b101: luma <= luma3[7:0];
                3'b110: luma <= luma0[15:8];
                3'b111: luma <= luma0[7:0];
                
            endcase
        else
            case(row[2:0])
                3'b000: luma <= luma0[7:0];
                3'b001: luma <= luma1[15:8];
                3'b010: luma <= luma1[7:0];
                3'b011: luma <= luma2[15:8];
                
                3'b100: luma <= luma2[7:0];
                3'b101: luma <= luma3[15:8];
                3'b110: luma <= luma3[7:0];
                3'b111: luma <= luma0[15:8];
                
            endcase
    end
    
    always @(row, chroma_u0,chroma_u1)
    begin
        if(row <= 10'd309) 
            case(row[2:0])
                3'b000: chroma_u    <= chroma_u0[15:8];
                3'b001: chroma_u    <= chroma_u0[7:0];
                3'b010: chroma_u    <= chroma_u1[31:24];
                3'b011: chroma_u    <= chroma_u1[23:16];
                3'b100: chroma_u    <= chroma_u1[15:8];
                3'b101: chroma_u    <= chroma_u1[7:0];
                3'b110: chroma_u    <= chroma_u0[31:24];
                3'b111: chroma_u    <= chroma_u0[23:16];
            endcase
        else
            case(row[2:0])
                3'b000: chroma_u    <= chroma_u0[23:16];
                3'b001: chroma_u    <= chroma_u0[15:8];
                3'b010: chroma_u    <= chroma_u0[7:0];
                3'b011: chroma_u    <= chroma_u1[31:24];
                3'b100: chroma_u    <= chroma_u1[23:16];
                3'b101: chroma_u    <= chroma_u1[15:8];
                3'b110: chroma_u    <= chroma_u0[7:0];
                3'b111: chroma_u    <= chroma_u0[31:24];
            endcase
    end
    
    always @(row, chroma_v0,chroma_v1)
    begin
        if(row <= 10'd309) 
            case(row[2:0])
                3'b000: chroma_v    <= chroma_v0[15:8];
                3'b001: chroma_v    <= chroma_v0[7:0];
                3'b010: chroma_v    <= chroma_v1[31:24];
                3'b011: chroma_v    <= chroma_v1[23:16];
                3'b100: chroma_v    <= chroma_v1[15:8];
                3'b101: chroma_v    <= chroma_v1[7:0];
                3'b110: chroma_v    <= chroma_v0[31:24];
                3'b111: chroma_v    <= chroma_v0[23:16];
            endcase
        else
            case(row[2:0])
                3'b000: chroma_v    <= chroma_v0[23:16];
                3'b001: chroma_v    <= chroma_v0[15:8];
                3'b010: chroma_v    <= chroma_v0[7:0];
                3'b011: chroma_v    <= chroma_v1[31:24];
                3'b100: chroma_v    <= chroma_v1[23:16];
                3'b101: chroma_v    <= chroma_v1[15:8];
                3'b110: chroma_v    <= chroma_v0[7:0];
                3'b111: chroma_v    <= chroma_v0[31:24];
            endcase
    end
    
    always @(row)
    begin
        if(row < 10'd312)
            xy_f    <= 0;
        else
            xy_f    <= 1;
    end
    
    always @(row)
    begin
        if(((row >= 10'd22)&(row <= 10'd309)) | ((row >= 10'd335)&(row <= 10'd622)))
            xy_v    <= 0;
        else
            xy_v    <= 1;
    end
    
    always @(col)
    begin
        if(col < 11'd4)
            xy_h    <= 1;
        else
            xy_h    <= 0;
    end
    
    //output fsm
    always @(posedge dac_clk)
    begin
        dac_enb     <= dac_enb_p0;
        dac_enb_p0  <= dac_enb_p1;
    end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区不卡在线观看| 日韩一区二区三区观看| 中文字幕免费在线观看视频一区| 精品在线你懂的| 精品久久久久久久久久久久久久久久久 | 7777精品伊人久久久大香线蕉经典版下载 | 中文字幕亚洲视频| 91浏览器打开| 亚洲成人av一区二区| 9191成人精品久久| 精久久久久久久久久久| 26uuu欧美日本| 懂色av一区二区三区免费观看| 中文字幕在线免费不卡| 91高清在线观看| 水野朝阳av一区二区三区| 日韩欧美一级特黄在线播放| 国产一区二区精品在线观看| 中文字幕欧美区| 在线观看亚洲成人| 精品一区二区在线视频| 国产欧美视频一区二区三区| 色综合激情五月| 日本亚洲一区二区| 国产欧美一区二区精品性| 91国产成人在线| 久久99精品国产麻豆婷婷洗澡| 久久久久久免费网| 色狠狠av一区二区三区| 老司机精品视频一区二区三区| 国产精品理论片| 欧美老肥妇做.爰bbww视频| 精品无码三级在线观看视频 | 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 精品中文av资源站在线观看| 欧美国产成人在线| 欧美久久免费观看| 成人免费不卡视频| 日韩av电影免费观看高清完整版在线观看 | 91精品国产综合久久精品麻豆 | 91精品国产综合久久精品麻豆| 国产精品一区一区三区| 亚洲高清一区二区三区| 国产精品午夜在线观看| 欧美一级淫片007| 色先锋aa成人| 国产成人精品aa毛片| 日本人妖一区二区| 亚洲综合av网| 中文字幕在线观看不卡| 精品少妇一区二区三区日产乱码| 在线一区二区视频| 成人一级片在线观看| 老司机免费视频一区二区三区| 亚洲综合精品自拍| 国产精品久久毛片av大全日韩| 在线不卡欧美精品一区二区三区| 五月天久久比比资源色| 自拍偷拍国产精品| 国产午夜精品久久| 欧美变态凌虐bdsm| 欧美视频一区二区| 91在线观看视频| 国产成人精品免费看| 日韩精品一二三| 亚洲精品福利视频网站| 中文字幕高清不卡| 欧美一区二区在线观看| 色视频一区二区| 国产精品亚洲综合一区在线观看| 性欧美大战久久久久久久久| 亚洲天堂2016| 亚洲国产精品高清| www亚洲一区| 欧美日韩黄色一区二区| 岛国精品在线播放| 久久福利资源站| 婷婷丁香激情综合| 一个色在线综合| 亚洲精品视频一区| 中文字幕的久久| 国产午夜精品福利| 精品三级av在线| 一本色道久久综合亚洲精品按摩| 成人免费va视频| 丁香婷婷综合网| 国产精品主播直播| 狠狠色丁香久久婷婷综合丁香| 男女性色大片免费观看一区二区| 亚洲最大的成人av| 依依成人精品视频| 亚洲乱码国产乱码精品精的特点| 亚洲欧洲日产国产综合网| 亚洲国产精品v| 国产精品素人视频| 国产喷白浆一区二区三区| 中文字幕一区二区三区av| 中文子幕无线码一区tr| 国产午夜亚洲精品不卡| 久久久久9999亚洲精品| 久久这里都是精品| 久久久.com| 国产精品亲子乱子伦xxxx裸| 久久久国产一区二区三区四区小说 | 亚洲午夜三级在线| 亚洲国产精品久久艾草纯爱| 亚洲午夜成aⅴ人片| 天天操天天色综合| 蜜臀av性久久久久av蜜臀妖精| 秋霞午夜av一区二区三区| 亚洲精品免费一二三区| 日本欧美一区二区| 精品在线观看视频| 国产成人精品免费一区二区| 成人av网站免费| 日本电影亚洲天堂一区| 7777精品伊人久久久大香线蕉超级流畅| 欧美在线视频你懂得| 91精品国产欧美一区二区18| 337p粉嫩大胆色噜噜噜噜亚洲| www精品美女久久久tv| 亚洲免费资源在线播放| 无码av免费一区二区三区试看| 久久精品国产999大香线蕉| 成人黄色777网| 欧美精品自拍偷拍| 国产亚洲福利社区一区| 国产欧美一二三区| 性久久久久久久| 国产精品资源在线看| 日本黄色一区二区| 日韩免费观看高清完整版| 国产欧美久久久精品影院| 亚洲综合丁香婷婷六月香| 视频一区二区国产| 99在线精品一区二区三区| 欧美日韩精品一区二区在线播放| 精品国产亚洲一区二区三区在线观看| 国产精品你懂的| 日韩电影在线观看一区| av一区二区三区在线| 欧美日韩高清一区二区| 国产三级精品视频| 香蕉成人啪国产精品视频综合网| 国产呦萝稀缺另类资源| 一本久久a久久精品亚洲| 欧美videossexotv100| 一区二区三区四区高清精品免费观看 | 日韩av电影免费观看高清完整版| 国产成人在线观看| 欧美日韩电影一区| 国产精品夫妻自拍| 毛片av一区二区三区| 在线看国产一区| 精品久久99ma| 久久成人羞羞网站| 欧美日韩国产一级| 亚洲欧美怡红院| 国产老肥熟一区二区三区| 欧美日韩视频不卡| 久久五月婷婷丁香社区| 麻豆高清免费国产一区| 在线观看欧美精品| 国产精品嫩草99a| 国产乱子轮精品视频| 欧美一区二区私人影院日本| 亚洲人123区| 国产成人欧美日韩在线电影| www日韩大片| 狠狠色综合日日| 精品国产乱码久久久久久免费| 亚洲一二三四在线观看| 99久久精品国产一区| 久久欧美一区二区| 成人一区二区三区| 国产亚洲精品bt天堂精选| 久久精品av麻豆的观看方式| 日韩一卡二卡三卡国产欧美| 亚洲综合网站在线观看| 99re成人精品视频| 亚洲精品国产a久久久久久| 91美女在线观看| 一区二区在线观看视频在线观看| 成人成人成人在线视频| 国产精品视频一区二区三区不卡| 国产一区二区导航在线播放| 国产女人aaa级久久久级| 国产成人8x视频一区二区| 国产午夜精品一区二区| 国产成人av电影在线观看| 国产亚洲综合性久久久影院| 激情成人午夜视频| 9191久久久久久久久久久| 国产一区二区在线看| 久久久99精品免费观看不卡| 国产精品一级黄| 国产精品福利电影一区二区三区四区| 国产精品亚洲人在线观看| 欧美一级高清大全免费观看| 日韩电影网1区2区|