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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? s5335.v

?? The PCI Local bus concept was developed to break the PC data I/O bottleneck and clearly opens the d
?? V
?? 第 1 頁 / 共 2 頁
字號:

//*****************************************************************************
//             The following will handle the S5335 FIFO Operation 
//*****************************************************************************

assign n_wrfifo = wrfull  | fifo_dis;
//assign n_rdfifo = rdempty | fifo_dis;
assign n_rdfifo = rdempty | nrdfifo;

// *********************** Sequential Logic begins here ***********************

//*****************************************************************************
//             The following will handle the S5335 Pass-Thru Operation 
//*****************************************************************************
reg [16:0] mad;
always @( posedge bpclk or negedge n_sysrst )  begin
  if      ( !n_sysrst )  mad  <= 0;
  else if ( !n_ptadr  )  mad  <= {ptnum[1:0],dq[16:2]}; // Pass-Thru Read/Write
//  else if ( !n_ptrdy | !fifo_req )  mad  <= mad + 1;    // Address incremented
  else if ( !n_ptrdy | !n_rdfifo | !n_wrfifo )  mad  <= mad + 1;    // Address incremented
end

////////////////////////////////////////////////////////////////////////////////
// S0: if Pass-Thru Attention asserted, goto S1 else stay in S0
// S1: negate n_ptadr and check for read (S2) or write (S4)
// S2: pass-thru read turn around cycle to avoid DQ bus contention then goto S3
// S3: negate signals for read and goto end (S5)
// S4: pass-thru write cycle and goto S5
// S5: terminate pass-thru cycle and goto S0

reg n_ptrdy;
reg n_ptadr;
reg [2:0] pt_ctrl;
always @( posedge bpclk or negedge n_sysrst )  begin
  if ( !n_sysrst ) begin
    pt_rd     <= 1;
    pt_wr     <= 1;
    n_ptrdy   <= 1;
    n_ptadr   <= 1;
    pt_ctrl   <= 0;
    pt_select <= 1;
  end
  else begin
    case ( pt_ctrl )
      4'd0:  begin
               if ( !n_ptatn ) begin
                 n_ptadr   <= 0;
                 pt_ctrl   <= 1;
                 pt_select <= 0;
               end
               else  pt_ctrl <= 0;
             end
      4'd1:  begin
               n_ptadr <= 1;
               if ( ptwr ) begin 
                 pt_ctrl <= 4;      // Check for Write Cycle
                 pt_rd   <= 0;  end
               else  pt_ctrl <= 2;  // Goto Read Cycle
             end
      4'd2:  begin
               pt_wr   <= 0;
               n_ptrdy <= 0;
               pt_ctrl <= 3;
             end
      4'd3:  begin
               pt_wr   <= 1;
               n_ptrdy <= 1;
               pt_ctrl <= 5;
             end
      4'd4:  begin                  // Write Cycle
               pt_rd   <= 1;
               n_ptrdy <= 0;
               pt_ctrl <= 5;
             end
      4'd5:  begin
               n_ptrdy   <= 1;
               pt_ctrl   <= 0;
               pt_select <= 1;
             end
      default: begin pt_ctrl <= 0; n_ptrdy <= 1;  end
    endcase
  end  // end else
end // end always@

////////////////////////////////////////////////////////////////////////////////
// S0: if  uC accessing Add-On goto S1 else stay at S0
// S1: Add-On access, assert signals and check for read or write
// S2: negate signals & wait for R/W to negate then goto S0

reg [1:0] ao_ctrl;
always @( posedge bpclk or negedge n_sysrst )  begin
  if ( !n_sysrst ) begin
    ao_rd     <= 1;
    ao_wr     <= 1;
    ao_be     <= 1;
    ao_ctrl   <= 0;
    ao_select <= 1;
  end
  else begin
    case ( ao_ctrl )
      2'd0:  begin
               if ( ( !uc_wr | !uc_rd ) & !uc_addr[7] ) ao_ctrl <= 1;
               else                                     ao_ctrl <= 0;
             end
      2'd1:  begin
               ao_select <= 0;
               ao_be     <= 0;
               ao_ctrl   <= 2;
               if ( uc_wr ) ao_rd <= 0;
               else         ao_wr <= 0;
             end
      2'd2:  begin
                 ao_rd     <= 1;
                 ao_wr     <= 1;
                 ao_be     <= 1;
                 ao_select <= 1;
                 ao_ctrl   <= 3;
               if ( uc_wr & uc_rd ) ao_ctrl <= 0;
               else                 ao_ctrl <= 2;
             end
      default: begin ao_ctrl <= 0;  end
    endcase
  end  // end else
end // end always@

// ********** BE[3:0] needs 3ns hold time ***************
always @( negedge bpclk or negedge n_sysrst ) begin
  if ( !n_sysrst ) aobe <= 1;
  else             aobe <= ao_be;
end

// ********** latch data from Add-On interface ***************
reg [15:0] ao_rd_data;
always @( posedge bpclk or negedge n_sysrst ) begin
  if      ( !n_sysrst ) ao_rd_data <= 0;
  else if ( !ao_rd )    ao_rd_data <= dq[15:0];
end

///////////////////////////////////////////////////////////////////////////////
// Add-On Outgoing Mailbox, Byte 3 Access
// latch EA[7:0] into AOMB[4] when EA8 (LOAD) is sampled low to high by BPCLK

wire [7:0] mb3_wr_data;

assign ea8 = wr_mb3 & !uc_wr;
assign ea  = ( !ea8 ) ? mb3_wr_data : 8'hzz;

// ****************************************************************************
// Atmel microcontroller interface section
// ****************************************************************************

// Drive Data out of CPLD when read is asserted, read is active low
wire [7:0] uc_ad = ( !uc_rd ) ? uc_rd_data : 8'hzz;

///////////////////////////////////////////////////////////////////////////////
//
reg [2:0] ale_cntr;
always @( posedge bpclk or negedge n_sysrst)  begin
  if      ( !n_sysrst ) ale_cntr <= 0;
  else if ( uc_ale )    ale_cntr <= ale_cntr + 1;
  else                  ale_cntr <= 0;
end

///////////////////////////////////////////////////////////////////////////////
// valid addr on multiplexed addr/data bus when ALE goes high
// uC has a multiplexed addr/data bus, need to capture the addr on 1st cycle
always @( posedge bpclk or negedge n_sysrst)  begin
  if      ( !n_sysrst )                  uc_addr <= 8'h80;
  else if ( !ale_cntr[1] & ale_cntr[2] ) uc_addr <= uc_ad;
end

///////////////////////////////////////////////////////////////////////////////
//reg rd_dly1, rd_dly2, uc_read, rd_edge;
reg rd_dly1, rd_dly2, uc_read;
always @( posedge bpclk or negedge n_sysrst ) begin
  if ( !n_sysrst ) begin
    rd_dly1 <= 0; 
    rd_dly2 <= 0; 
    uc_read <= 0; 
    rd_edge <= 0;
    nrdfifo <= 0;
  end
  else begin
    nrdfifo <= rdempty | fifo_dis;
    rd_dly1 <= uc_rd; 
    rd_dly2 <= rd_dly1; 
    uc_read <= rd_dly2;
    if ( uc_read && !rd_dly2 ) rd_edge <= 1;
    else                       rd_edge <= 0;
  end
end

reg wr_dly1, uc_write;
always @( posedge bpclk or negedge n_sysrst ) begin
  if ( !n_sysrst ) begin
    wr_dly1  <= 0; 
    uc_write <= 0; 
    wr_edge  <= 0;
  end
  else begin
    wr_dly1  <= uc_wr; 
    uc_write <= wr_dly1;
    if ( uc_write && !wr_dly1 ) wr_edge <= 1;
    else                        wr_edge <= 0;
  end
end


// ****************************************************************************
// ***************************  BEGIN INSTANTIATIONS **************************
// ****************************************************************************

uc_if   uc_if (
  .uc_clk            ( bpclk ),
  .resetn            ( n_sysrst ),
  .uc_rd             ( rd_edge ),
  .uc_wr             ( wr_edge ),
  .uc_addr           ( uc_addr ),
  .uc_wr_data        ( uc_ad ),
  .uc_rd_data        ( uc_rd_data ),
  .wrfull            ( wrfull ),
  .rdempty           ( rdempty ),
  .fwe               ( fwe ),
  .frf               ( frf ),
  .n_frc             ( n_frc ),
  .n_fwc             ( n_fwc ),
  .wr_mb3            ( wr_mb3 ),
  .amwen             ( amwen ),
  .amren             ( amren ),
  .mode              ( mode ),
  .fifo_dis          ( fifo_dis ),
  .mb3_wr_data       ( mb3_wr_data ),
  .ao_wr_data        ( ao_wr_data ),
  .ao_rd_data        ( ao_rd_data )
);

///////////////////////////////////////////////////////////////////////////////

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区欧美在线观看| 国产电影精品久久禁18| 麻豆精品视频在线| 成人免费视频视频在线观看免费| 91精品福利视频| 久久久久一区二区三区四区| 伊人色综合久久天天人手人婷| 国产自产v一区二区三区c| 日本韩国一区二区| 中文字幕欧美国产| 激情综合色播激情啊| 欧美变态凌虐bdsm| 一区二区国产视频| 丁香桃色午夜亚洲一区二区三区| 538prom精品视频线放| 亚洲天堂免费看| 国产ts人妖一区二区| 日韩欧美美女一区二区三区| 亚洲国产综合91精品麻豆| 成人18视频日本| 久久综合九色综合欧美98| 五月天中文字幕一区二区| 91女厕偷拍女厕偷拍高清| 久久久不卡网国产精品二区 | 99视频在线观看一区三区| 日韩一级片网址| 三级在线观看一区二区| 欧美影院一区二区三区| 亚洲激情欧美激情| 91天堂素人约啪| 欧美国产精品劲爆| 国产成人h网站| 国产女主播在线一区二区| 精品一区精品二区高清| 精品嫩草影院久久| 韩国女主播成人在线| 久久综合九色综合欧美亚洲| 国产精品一区一区| 国产喂奶挤奶一区二区三区| 国产激情91久久精品导航| 久久久久久日产精品| 韩国精品一区二区| 欧美国产成人在线| av一区二区三区在线| 综合欧美亚洲日本| 欧美自拍偷拍一区| 日韩电影一二三区| 欧美大尺度电影在线| 国产精品66部| 一区免费观看视频| 欧美亚洲国产一区二区三区va| 亚洲无人区一区| 日韩欧美在线1卡| 91蜜桃网址入口| 亚洲黄色小说网站| 欧美一区二区视频网站| 精品一区中文字幕| 国产精品网曝门| 欧美亚洲动漫制服丝袜| 日韩精品一卡二卡三卡四卡无卡| 7777女厕盗摄久久久| 国产麻豆日韩欧美久久| **欧美大码日韩| 欧美美女一区二区| 国产一区二区三区蝌蚪| 亚洲免费三区一区二区| 555夜色666亚洲国产免| 国产精品一区二区男女羞羞无遮挡| 国产欧美日韩在线| 欧美日韩精品一区二区三区蜜桃| 久久成人精品无人区| 国产精品久久免费看| 6080yy午夜一二三区久久| 国产精品一线二线三线精华| 亚洲欧美日韩一区二区| 欧美一区二区大片| 97精品超碰一区二区三区| 日本欧美一区二区三区乱码| 国产日韩欧美精品一区| 欧美精品自拍偷拍| 成人深夜在线观看| 免费看黄色91| 亚洲女同一区二区| 久久久99免费| 欧美日韩欧美一区二区| 国产91清纯白嫩初高中在线观看 | 国产91精品一区二区麻豆网站| 亚洲欧美日韩人成在线播放| 欧美mv日韩mv| 欧美在线不卡一区| 成人av网址在线| 国产一区视频导航| 日韩精品电影一区亚洲| 亚洲精品综合在线| 久久久久久久久久久电影| 678五月天丁香亚洲综合网| 91免费看`日韩一区二区| 国内精品免费**视频| 日韩精品91亚洲二区在线观看| 亚洲视频免费观看| 日本一区二区电影| 久久精品夜色噜噜亚洲aⅴ| 9191国产精品| 欧美男女性生活在线直播观看| av一二三不卡影片| 成人深夜福利app| 国产成人aaa| 国产精品88av| 国产高清久久久久| 国产精品原创巨作av| 国产自产视频一区二区三区| 捆绑紧缚一区二区三区视频| 日韩av在线发布| 日本va欧美va精品| 肉丝袜脚交视频一区二区| 亚洲成人在线观看视频| 一区二区三区中文在线| 亚洲精品成a人| 亚洲乱码精品一二三四区日韩在线| 国产精品免费久久久久| 国产精品污污网站在线观看| 国产精品久久久久影院老司| 亚洲国产精品成人综合| 中文久久乱码一区二区| 国产精品青草综合久久久久99| 国产精品无人区| 亚洲欧美一区二区三区国产精品| 亚洲婷婷国产精品电影人久久| 国产精品久久久久精k8| 亚洲美女电影在线| 亚洲黄色av一区| 天天操天天色综合| 美女网站视频久久| 欧美制服丝袜第一页| 在线视频亚洲一区| 337p亚洲精品色噜噜狠狠| 精品国产人成亚洲区| 久久品道一品道久久精品| 国产精品伦理在线| 一区二区视频在线| 无吗不卡中文字幕| 国产在线视视频有精品| 丁香啪啪综合成人亚洲小说 | 欧美国产亚洲另类动漫| 亚洲人午夜精品天堂一二香蕉| 一区二区成人在线| 免费xxxx性欧美18vr| 成年人网站91| 欧美精品乱人伦久久久久久| 久久夜色精品国产噜噜av| 最新不卡av在线| 日本怡春院一区二区| 成人午夜电影久久影院| 欧美最猛性xxxxx直播| 欧美成人video| 亚洲女子a中天字幕| 久久精品久久99精品久久| 91最新地址在线播放| 日韩一级二级三级| 亚洲视频你懂的| 国产原创一区二区| 欧美在线观看视频一区二区| 久久综合999| 亚洲一区二区三区影院| 国产精品一二三四| 欧美精品三级在线观看| 中文字幕一区二区日韩精品绯色| 奇米一区二区三区av| 99久久伊人网影院| 亚洲精品一线二线三线| 亚洲午夜电影网| 不卡区在线中文字幕| 精品卡一卡二卡三卡四在线| 亚洲一区二区不卡免费| 成人免费不卡视频| 日韩三级电影网址| 亚洲一二三四在线| 91在线国产福利| 国产视频一区二区在线观看| 免费一级欧美片在线观看| 91国产福利在线| 亚洲欧洲国产日本综合| 国产麻豆视频一区| 精品久久久久久久一区二区蜜臀| 亚洲国产精品久久艾草纯爱 | 制服丝袜亚洲色图| 亚洲欧美另类在线| www.亚洲激情.com| 国产喷白浆一区二区三区| 日韩精品一区第一页| 欧美日韩亚洲丝袜制服| 亚洲精品老司机| 色综合久久久久久久| 国产精品久久久久久久久晋中| 国产传媒久久文化传媒| 精品奇米国产一区二区三区| 美女精品一区二区| 日韩欧美一级精品久久| 麻豆久久久久久久| 日韩欧美国产成人一区二区|