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

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

?? mem_interface_top_tap_ctrl_0.txt

?? DDR SRAM控制器的verilog完整設計文檔(包含有完整的verilog源代碼)
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
      if (reset_int == 1'b1)
        second_edge_tap_count[5:0]  <= 6'b000000;
      else if ((transition[1:0] == 2'b10) && (second_edge == 1'b0))
        second_edge_tap_count[5:0]  <= tap_counter[5:0];
   end

   always @ (posedge CLK) begin
      if (reset_int == 1'b1)
        pulse_width_tap_count[5:0] <= 6'b000000;
      else if (second_edge_r1 == 1'b1)
        pulse_width_tap_count[5:0] <= (second_edge_tap_count[5:0] -
                                       first_edge_tap_count[5:0]);
   end

   always @ (posedge CLK) begin
      if (reset_int == 1'b1)
        pulse_center_tap_count[5:0] <= 6'b000000;
      else if (second_edge_r2 == 1'b1)
        pulse_center_tap_count[5:0] <= pulse_width_tap_count[5:0] >> 1;
                        // Shift right to divide by 2 and find pulse center
   end

   always @ (posedge CLK) begin
      if (reset_int == 1'b1)
        data_bit_tap_count[5:0]     <= 6'b000000;
      else if (second_edge_r3 == 1'b1)  // 2 edges detected
        data_bit_tap_count[5:0]  <= first_edge_tap_count[5:0] +
                               pulse_center_tap_count[5:0];
      else if ((transition[1:0] == 2'b01) && ((tap_counter[5:0] == 6'b111111)))
                                        // Only 1 edge detected
        if (first_edge_tap_count[5] == 1'b0)
          data_bit_tap_count[5:0]  <= first_edge_tap_count[5:0] + 6'b010000;
        else
          data_bit_tap_count[5:0]  <= first_edge_tap_count[5:0] - 6'b010000;
      else if ((transition[1:0] == 2'b00) && ((tap_counter[5:0] == 6'b111111)))
                                         // No edges detected
        data_bit_tap_count[5:0]  <= 6'b100000;
   end


   // Logic required to determine whether the registered DQS is on the edge of
   //  meeting setup time in the FPGA clock domain. If DQS is on the edge, then
   // the vector 'flag' will not be "1111" or "0000" and edge detection will not
   //  be executed.
   // If DQS is not on the edge, then the vector 'flag' will be "1111" or "0000"
   //  and edge detection will be executed.

   always @ (posedge CLK) begin
      if (reset_int == 1'b1) begin
         flag[3:0] <= 4'b0000;
      end
      else if (detect_edge_idle_r3 == 1'b1 || idelay_inc_idle_r3 == 1'b1 ||
               idelay_rst_idle_r3 == 1'b1) begin
         if (curr_dqs_level != prev_dqs_level)
           flag[0] <= 1'b0;
         else
           flag[0] <= 1'b1;
      end
      else if (detect_edge_idle_r4 == 1'b1 || idelay_inc_idle_r4 == 1'b1 ||
               idelay_rst_idle_r4 == 1'b1) begin
         if (curr_dqs_level != prev_dqs_level)
           flag[1] <= 1'b0;
         else
           flag[1] <= 1'b1;
      end
      else if (detect_edge_idle_r5 == 1'b1 || idelay_inc_idle_r5 == 1'b1  ||
               idelay_rst_idle_r5 == 1'b1) begin
         if (curr_dqs_level != prev_dqs_level)
           flag[2] <= 1'b0;
         else
           flag[2] <= 1'b1;
      end
      else if (detect_edge_idle_r6 == 1'b1 || idelay_inc_idle_r6 == 1'b1 ||
               idelay_rst_idle_r6 == 1'b1) begin
         if (curr_dqs_level != prev_dqs_level)
           flag[3] <= 1'b0;
         else
           flag[3] <= 1'b1;
      end
   end

   // First and second edge detection logic
   always @ (posedge CLK) begin
      if (reset_int == 1'b1) begin
         transition[1:0] <= 2'b00;
      end
      else if ((dly_after_first_cnt == 4'b0000) && (state[2:0] == detect_edge)&&
               ((flag[3:0] == 4'h0) || (flag[3:0] == 4'hF))) begin
         if ((curr_dqs_level != prev_dqs_level) && (transition_rst == 1'b0) &&
             (tap_counter > 6'b000000) ) begin
            transition[1:0] <= transition[1:0] + 1'b1;
         end
      end
      else if (transition_rst == 1'b1)
        transition[1:0] <= 2'b00;
      else
        transition[1:0] <= transition[1:0];
   end

   always @ (posedge CLK) begin
      if (reset_int == 1'b1) begin
         transition_rst  <= 1'b0;
         first_edge      <= 1'b0;
         second_edge     <= 1'b0;
      end
      else begin
         case (transition[1:0])
           2'b01: begin
              first_edge <= 1'b1;
           end
           2'b10: begin
              if (transition_rst == 1'b1)
                begin
                   second_edge <= 1'b0;
                   transition_rst <= 1'b0;
                end
              else
                begin
                   second_edge    <= 1'b1;
                   transition_rst <= 1'b1;
                end
           end
           default: begin
              first_edge     <= 1'b0;
              second_edge    <= 1'b0;
           end
         endcase
      end
   end

   // State Machine for edge detection and midpoint determination
   always @ (posedge CLK) begin
      if (reset_int == 1'b1) begin   // DQS IDELAY in reset
         dly_rst           <= 1'b1;
         dly_ce            <= 1'b0;
         dly_inc           <= 1'b0;
         idelay_rst_idle   <= 1'b0;
         detect_edge_idle  <= 1'b0;
         idelay_inc_idle   <= 1'b0;
         prev_dqs_level    <= curr_dqs_level;
         state[2:0]        <= idelay_rst;
      end
      else if ((CTRL_DUMMYREAD_START == 1'b1) && (sel_complete == 1'b0)) begin
         case (state[2:0])
           3'b000: begin // idelay_rst
              dly_rst         <= 1'b1;
              dly_ce          <= 1'b0;
              dly_inc         <= 1'b0;
              idelay_rst_idle <= 1'b1;
              state[2:0]      <= idle;
           end
           3'b001: begin // idle
              dly_rst          <= 1'b0;
              dly_ce           <= 1'b0;
              dly_inc          <= 1'b0;
              idelay_rst_idle  <= 1'b0;
              detect_edge_idle <= 1'b0;
              idelay_inc_idle  <= 1'b0;
              if (idelay_rst_idle_r5 == 1'b1)
                state[2:0] <= idelay_inc;
              else if ((idelay_inc_idle_r6 == 1'b1) ||
                       ((detect_edge_idle_r6 == 1'b1) && (second_edge_r2== 1'b0)
                && (tap_counter[5:0] != 6'b111111)))//changed from _r5 to _r6
              state[2:0] <= detect_edge;
              else
                state[2:0] <= idle;
           end
           3'b010: begin // idelay_inc
              dly_rst         <= 1'b0;
              dly_ce          <= 1'b1;
              dly_inc         <= 1'b1;
              idelay_inc_idle <= 1'b1;
              state[2:0]      <= idle;
              if((flag[3:0] == 4'h0) || (flag[3:0] == 4'hF))
                prev_dqs_level   <= curr_dqs_level;
              else
                prev_dqs_level   <= prev_dqs_level;
           end
           3'b011: begin // detect_edge
              dly_rst          <= 1'b0;
              dly_ce           <= 1'b1;
              dly_inc          <= 1'b1;
              detect_edge_idle <= 1'b1;
              state[2:0]       <= idle;
              if((flag[3:0] == 4'h0) || (flag[3:0] == 4'hF))
                prev_dqs_level   <= curr_dqs_level;
              else
                prev_dqs_level   <= prev_dqs_level;
           end
           default: begin
              dly_rst          <= 1'b0;
              dly_ce           <= 1'b0;
              dly_inc          <= 1'b0;
              idelay_rst_idle  <= 1'b0;
              detect_edge_idle <= 1'b0;
              idelay_inc_idle  <= 1'b0;
              prev_dqs_level   <= curr_dqs_level;
              state[2:0]       <= idle;
           end
         endcase
      end
      else
        begin
           dly_rst          <= 1'b0;
           dly_ce           <= 1'b0;
           dly_inc          <= 1'b0;
           idelay_rst_idle  <= 1'b0;
           detect_edge_idle <= 1'b0;
           idelay_inc_idle  <= 1'b0;
           prev_dqs_level   <= curr_dqs_level;
           state[2:0]       <= idelay_rst;
        end
   end


endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产寡妇亲子伦一区二区| 国产一区二区日韩精品| 精品三级av在线| 久久久国产午夜精品 | 午夜精品久久久久久| 8x8x8国产精品| 91视频在线观看免费| 久久成人综合网| 亚洲国产欧美在线人成| 欧美激情一区二区三区四区| 9191成人精品久久| 色婷婷久久久亚洲一区二区三区 | 精品国产91亚洲一区二区三区婷婷| 99re66热这里只有精品3直播| 三级欧美韩日大片在线看| 欧美日韩情趣电影| 懂色中文一区二区在线播放| 亚洲综合av网| 久久久99免费| 欧美精品丝袜久久久中文字幕| 色网站国产精品| 免费在线观看不卡| 亚洲五码中文字幕| 亚洲免费观看高清| 国产精品丝袜一区| 6080午夜不卡| 欧美高清hd18日本| 欧美无人高清视频在线观看| 日本久久精品电影| 国产福利91精品一区二区三区| 亚洲一区二区av在线| 中文一区二区在线观看| 精品捆绑美女sm三区| 在线中文字幕一区| 欧美亚洲精品一区| 色综合欧美在线| 高清久久久久久| 风间由美性色一区二区三区| 亚洲国产综合色| 精品处破学生在线二十三| 欧美成人精品3d动漫h| 成人av网址在线| 成人午夜av电影| 成人一级片网址| 成人国产亚洲欧美成人综合网| 美国三级日本三级久久99| 日本不卡1234视频| 视频一区二区三区中文字幕| 亚洲一二三区在线观看| 亚洲国产精品欧美一二99 | 国内外成人在线| 国产寡妇亲子伦一区二区| 成人黄动漫网站免费app| 国产精品一区二区91| 国产一区二区三区在线观看精品| 久久精品国产第一区二区三区 | 一本一道综合狠狠老| 色婷婷久久久久swag精品| 欧美色偷偷大香| 欧美变态口味重另类| 亚洲精品一区二区三区福利| 国产精品美女久久久久久| 亚洲欧洲国产专区| 夜夜精品视频一区二区| 偷拍一区二区三区| 久久99精品久久只有精品| 国产盗摄一区二区| 91丝袜高跟美女视频| 欧美日韩在线三级| 精品国产一区二区三区忘忧草| 日本一区二区三区dvd视频在线| 亚洲欧美在线观看| 午夜精品福利一区二区蜜股av| 精品一区二区三区视频在线观看| 成人a级免费电影| 欧美日韩免费一区二区三区 | 777精品伊人久久久久大香线蕉| 久久色在线观看| 亚洲色图.com| 蜜臀精品一区二区三区在线观看| 国产不卡视频一区二区三区| 欧美午夜精品免费| 久久一区二区三区四区| 一区二区在线观看免费| 美女在线一区二区| 99国产精品久久久久久久久久| 51精品视频一区二区三区| 中文字幕免费一区| 日本午夜精品视频在线观看| 成人激情视频网站| 3751色影院一区二区三区| 欧美高清在线精品一区| 日本在线不卡一区| 成人午夜免费电影| 欧美一区二区三区视频免费| 国产精品私房写真福利视频| 日本免费新一区视频| 成人美女视频在线观看18| 日韩欧美卡一卡二| 久久久久国产精品麻豆| 亚洲人成伊人成综合网小说| 国产精品 日产精品 欧美精品| 欧洲一区在线观看| 久久久久久久久久久久电影 | 久久先锋影音av鲁色资源| 亚洲色图欧洲色图婷婷| 国模娜娜一区二区三区| 欧美日韩高清一区二区三区| 亚洲国产岛国毛片在线| 日本中文在线一区| 欧美日韩在线观看一区二区 | 老色鬼精品视频在线观看播放| 91女神在线视频| 久久亚洲精精品中文字幕早川悠里| 亚洲午夜视频在线| 成人黄页毛片网站| 国产日韩三级在线| 蜜桃视频免费观看一区| 欧美专区日韩专区| 亚洲欧洲日韩在线| 国产91丝袜在线观看| 欧美成人精品二区三区99精品| 一级精品视频在线观看宜春院| 99re6这里只有精品视频在线观看| 久久久久成人黄色影片| 蜜臀av一区二区在线观看 | 亚洲国产经典视频| 极品尤物av久久免费看| 欧美精品丝袜久久久中文字幕| 一区二区三区在线观看网站| heyzo一本久久综合| 国产亚洲精品福利| 欧美三级日本三级少妇99| 中文字幕亚洲一区二区av在线| 懂色av一区二区三区免费观看| 久久亚洲精品小早川怜子| 久久精品国产亚洲5555| 日韩精品在线一区二区| 日韩av一区二| 这里是久久伊人| 蜜桃av噜噜一区| 久久影院午夜论| 成人听书哪个软件好| 国产女主播一区| 99精品视频在线观看| 亚洲视频免费看| 色哟哟国产精品| 日韩av中文在线观看| 日韩精品一区二区三区中文不卡| 免费在线观看日韩欧美| 久久综合色综合88| 国产成人午夜视频| 国产精品视频第一区| 91视频在线观看免费| 亚洲综合色在线| 91精品久久久久久蜜臀| 捆绑变态av一区二区三区| 精品美女一区二区| 丁香婷婷综合网| 一区二区三区高清| 欧美日韩一区 二区 三区 久久精品 | 欧美亚洲丝袜传媒另类| 天堂蜜桃一区二区三区| 日韩一级免费观看| 国产精品88av| 亚洲免费观看视频| 欧美另类变人与禽xxxxx| 激情久久久久久久久久久久久久久久| ww久久中文字幕| 91免费视频网址| 婷婷丁香激情综合| 欧美成人a∨高清免费观看| 国产精品一级在线| 亚洲欧洲制服丝袜| 欧美高清性hdvideosex| 国产一区激情在线| 亚洲激情六月丁香| 日韩三区在线观看| 成人久久视频在线观看| 亚洲va国产va欧美va观看| 精品国产三级电影在线观看| www.99精品| 蜜桃av一区二区| 亚洲色图清纯唯美| 欧美电影免费观看高清完整版在线 | 国产精品美日韩| 精品视频一区三区九区| 国产精品综合av一区二区国产馆| 亚洲欧美区自拍先锋| 日韩欧美色综合| 欧美特级限制片免费在线观看| 久久99国产精品麻豆| 亚洲婷婷国产精品电影人久久| 日韩一区二区精品在线观看| a级精品国产片在线观看| 亚洲成人中文在线| 国产精品久久三区| 精品欧美乱码久久久久久| 色婷婷国产精品综合在线观看| 国产成人在线免费|