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

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

?? mem_interface_top_ddr_controller_0.txt

?? DDR SDRAM的veilog hdl程序
?? TXT
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
      else
        dummy_read_en <= dummy_read_en;
   end

   // ctrl_Dummyread_Start signal generation to the data path module
   always @ (posedge clk_0) begin
      if (rst_r)
        ctrl_Dummyread_Start_r1 <= 1'b0;
      else if ((dummy_read_en == 1'b1) && (cas_count == 3'b000))
        ctrl_Dummyread_Start_r1 <= 1'b1;
      else if (phy_Dly_Slct_Done == 1'b1)
        ctrl_Dummyread_Start_r1 <= 1'b0;
      else
        ctrl_Dummyread_Start_r1 <= ctrl_Dummyread_Start_r1;
   end

   // register ctrl_Dummyread_Start signal
   always @ (posedge clk_0) begin
      if (rst_r) begin
         ctrl_Dummyread_Start_r2 <= 1'b0;
         ctrl_Dummyread_Start_r3 <= 1'b0;
         ctrl_Dummyread_Start_r4 <= 1'b0;
         ctrl_Dummyread_Start <= 1'b0;
      end
      else begin
         ctrl_Dummyread_Start_r2 <=  ctrl_Dummyread_Start_r1;
         ctrl_Dummyread_Start_r3 <=  ctrl_Dummyread_Start_r2;
         ctrl_Dummyread_Start_r4 <=  ctrl_Dummyread_Start_r3;
         ctrl_Dummyread_Start <=  ctrl_Dummyread_Start_r4;
      end
   end // always @ (posedge clk_0)

   // read_wait/write_wait to idle count
   // the state machine waits for 15 clock cycles in the write wait state for
   //  any wr/rd commands to be issued. If no commands are issued in 15 clock
   // cycles, the statemachine issues enters the idle state and stays in the
   // idle state until an auto refresh is required.

   always @ (posedge clk_0) begin
      if (rst_r)
        idle_cnt[3:0] <= 4'b0000;
      else if (read_write_state)
        idle_cnt[3:0] <= 4'b1111 ;
      else if (idle_cnt[3:0] != 4'b0000)
        idle_cnt[3:0] <= idle_cnt[3:0] - 1;
      else
        idle_cnt[3:0] <= 4'b0000;
   end

   always @ (posedge clk_0) begin
      if (rst_r)
        cas_check_count[3:0] <= 4'b0000;
      else if (first_read_state_r2 || pattern_read_state_1_r2)
        cas_check_count[3:0] <= (CAS_LATENCY_VALUE - 1);
      else if (cas_check_count[3:0] != 4'b0000)
        cas_check_count[3:0] <= cas_check_count[3:0] - 1;
      else
        cas_check_count[3:0] <= 4'b0000;
   end

   always @ (posedge clk_0) begin
      if (rst_r) begin
         rdburst_cnt[2:0] <= 3'b000;
         ctrl_RdEn_r <= 1'b0;
      end
      else if ((cas_check_count == 4'b0001) && (!burst_read_state_r3)) begin
         rdburst_cnt[2:0] <= burst_cnt[2:0];
         ctrl_RdEn_r <= 1'b1;
      end
      else if(burst_read_state_r3 || pattern_read_state_r3) begin
        if(burst_cnt == 3'd4)
          rdburst_cnt[2:0] <= CAS_LATENCY_VALUE + burst_cnt/2;
        else if (burst_cnt == 3'd2)
          rdburst_cnt[2:0] <= CAS_LATENCY_VALUE;
        else
          rdburst_cnt[2:0] <= CAS_LATENCY_VALUE - burst_cnt;
      if(burst_read_state_r3)
        ctrl_RdEn_r <= 1'b1;
      end
      else if (rdburst_cnt[2:0] != 3'b000) begin
         rdburst_cnt[2:0] <= rdburst_cnt[2:0] - 1'b1;
         if(rdburst_cnt == 3'd1)
           ctrl_RdEn_r <= 1'b0;
      end
      else
         rdburst_cnt[2:0] <= 3'b000;
   end

   always@(posedge clk_0) begin
      if(rst_r)
        ctrl_RdEn_r1 <= 1'b0;
      else
        ctrl_RdEn_r1 <= ctrl_RdEn_r;
   end

   assign ctrl_RdEn = (registered_dimm) ? ctrl_RdEn_r1 : ctrl_RdEn_r;


   // write address FIFO read enable signals

   assign af_rden = (read_write_state || ((state == MODE_REGISTER_WAIT) & LMR_r &
                                          !mrd_count) ||((state == PRECHARGE )&&
                                                         PRE_r) ||
                     ((state == AUTO_REFRESH) && REF_r) || ((state == ACTIVE )&& ACT_r));


   // write data fifo read enable
   always @ (posedge clk_0) begin
      if (rst_r)
        wdf_rden_r  <= 1'b0;
      else if (write_state )
        wdf_rden_r  <= 1'b1;
      else
        wdf_rden_r  <= 1'b0;
   end

   always @ (posedge clk_0) begin
      if (rst_r) begin
         wdf_rden_r2 <= 1'b0;
         wdf_rden_r3 <= 1'b0;
         wdf_rden_r4 <= 1'b0;
      end
      else begin
         wdf_rden_r2 <= wdf_rden_r;
         wdf_rden_r3 <= wdf_rden_r2;
         wdf_rden_r4 <= wdf_rden_r3;
      end // else: !if(rst_r)
   end // always @ (posedge clk_0)

   // Read enable to the data fifo
   always @ (burst_cnt or wdf_rden_r or wdf_rden_r2 or wdf_rden_r3 or wdf_rden_r4 ) begin
      if (burst_cnt == 3'b001)
        ctrl_Wdf_RdEn_r <= (wdf_rden_r ) ;
      else if (burst_cnt == 3'b010)
        ctrl_Wdf_RdEn_r <= (wdf_rden_r | wdf_rden_r2) ;
      else if (burst_cnt == 3'b100)
             ctrl_Wdf_RdEn_r <= (wdf_rden_r | wdf_rden_r2 | wdf_rden_r3 | wdf_rden_r4) ;
      else ctrl_Wdf_RdEn_r <= 1'b0;
   end

   always@(posedge clk_0) begin
      if(rst_r)
        ctrl_Wdf_RdEn_r1 <= 1'b0;
      else
        ctrl_Wdf_RdEn_r1 <= ctrl_Wdf_RdEn_r;
   end

   assign ctrl_Wdf_RdEn = (registered_dimm) ? ctrl_Wdf_RdEn_r1 : ctrl_Wdf_RdEn_r;

   always @ (posedge clk_0) begin
      if(rst_r)
        dummy_write_flag <= 1'b0;
      else
        dummy_write_flag <= phy_Dly_Slct_Done && ~(comp_done);
   end

   always @ (posedge clk_0) begin
      if (rst_r)
        state <= IDLE;
      else
        state <= next_state;
   end

   always @ (posedge clk_0) begin
      if (rst_r)
        init_state <= INIT_IDLE;
      else
        init_state <= init_next_state;
   end

   always@(posedge clk_0) begin
      if(rst_r)
        count5 <= 5'b00000;
      else begin
         case (init_state)
           INIT_PRECHARGE_WAIT, INIT_MODE_REGISTER_WAIT, INIT_AUTO_REFRESH_WAIT,
           INIT_DUMMY_WRITE_READ, INIT_PATTERN_READ_WAIT,INIT_DUMMY_READ_WAIT,
           INIT_DUMMY_ACTIVE_WAIT :
             begin
                count5 <= count5 + 1;
             end

           default:
             count5 <= 5'b00000;
         endcase
      end
   end

   //Initialization state machine
   always @ (*) begin
      init_next_state = init_state;
      case (init_state)
        INIT_IDLE : begin
           if (init_memory && done_200us == 1'b1) begin
              case (init_count )
                4'h0 : init_next_state = INIT_INITCOUNT_200;
                4'h1 : init_next_state = INIT_PRECHARGE;
                4'h2 :init_next_state = INIT_LOAD_MODE_REG_ST;
                4'h3 :init_next_state = INIT_LOAD_MODE_REG_ST;
                4'h4 :init_next_state = INIT_INITCOUNT_200;
                4'h5 :init_next_state = INIT_PRECHARGE;
                4'h6 :init_next_state = INIT_AUTO_REFRESH;
                4'h7 :init_next_state = INIT_AUTO_REFRESH;
                4'h8 :init_next_state = INIT_LOAD_MODE_REG_ST;
                4'h9 :  begin
                   if( (chip_cnt < `no_of_cs-1))
                     init_next_state = INIT_DEEP_MEMORY_ST;
                   else  if (`Phy_Mode  && count_200cycle_done_r)
                     init_next_state = INIT_DUMMY_READ_CYCLES;
                   else
                     init_next_state = INIT_IDLE;
                end
                4'hA :  begin
                   if (phy_Dly_Slct_Done) begin
                      init_next_state = INIT_IDLE;
                   end
                end
                default: init_next_state = INIT_IDLE;

              endcase // case(init_count )
           end
        end // case: `idle

        INIT_DEEP_MEMORY_ST :    init_next_state = INIT_IDLE;

        INIT_INITCOUNT_200 : init_next_state = INIT_INITCOUNT_200_WAIT;

        INIT_INITCOUNT_200_WAIT     : begin
           if (count_200cycle_done_r)
             init_next_state = INIT_IDLE;
           else
             init_next_state = INIT_INITCOUNT_200_WAIT;
        end

        INIT_DUMMY_READ_CYCLES  : init_next_state = INIT_DUMMY_ACTIVE;


        INIT_DUMMY_ACTIVE       : init_next_state = INIT_DUMMY_ACTIVE_WAIT;

        INIT_DUMMY_ACTIVE_WAIT  : begin
           if (count5 == cntnext)
             if(dummy_write_flag)
               init_next_state = INIT_DUMMY_WRITE1;
             else
               init_next_state = INIT_DUMMY_FIRST_READ;
           else
             init_next_state = INIT_DUMMY_ACTIVE_WAIT;
        end

        INIT_DUMMY_FIRST_READ  :
           init_next_state = INIT_DUMMY_READ_WAIT;

        INIT_DUMMY_READ        : begin
           if((burst_cnt == 3'd1) && (~phy_Dly_Slct_Done))
             init_next_state = INIT_DUMMY_READ;
           else
             init_next_state = INIT_DUMMY_READ_WAIT;
        end

        INIT_DUMMY_READ_WAIT    : begin
           if (phy_Dly_Slct_Done) begin
              if(count5 == cntnext)
                if(auto_ref == 1'b1)
                  init_next_state = INIT_PRECHARGE;
                else
                  init_next_state = INIT_DUMMY_WRITE1;
              else
                init_next_state = INIT_DUMMY_READ_WAIT;
           end
           else
             init_next_state = INIT_DUMMY_READ;
        end

        INIT_DUMMY_WRITE1 :
          begin
             if ( burst_cnt == 3'd1 )
               init_next_state = INIT_DUMMY_WRITE2;
             else
               init_next_state = INIT_DUMMY_WRITE_READ;
          end

        INIT_DUMMY_WRITE2 : init_next_state = INIT_DUMMY_WRITE_READ;

        INIT_DUMMY_WRITE_READ:
          begin
             if (count5 == cntnext)
               init_next_state = INIT_PATTERN_READ1;
             else
               init_next_state = INIT_DUMMY_WRITE_READ;
          end

        INIT_PATTERN_READ1 :
          begin
             if ( burst_cnt == 3'd1 )
               init_next_state = INIT_PATTERN_READ2;
             else
               init_next_state = INIT_PATTERN_READ_WAIT;
          end

        INIT_PATTERN_READ2 :
          init_next_state = INIT_PATTERN_READ_WAIT;

        INIT_PATTERN_READ_WAIT:
          begin
             if(comp_done)
               init_next_state = INIT_PRECHARGE;
             else
               init_next_state = INIT_PATTERN_READ_WAIT;
          end

        INIT_PRECHARGE  :init_next_state = INIT_PRECHARGE_WAIT;


        INIT_PRECHARGE_WAIT     : begin
           if (count5 == cntnext)
             if (auto_ref && dummy_write_flag)
               init_next_state = INIT_AUTO_REFRESH;
             else
               init_next_state = INIT_IDLE;
           else
             init_next_state = INIT_PRECHARGE_WAIT;
        end // case

        INIT_LOAD_MODE_REG_ST      : init_next_state = INIT_MODE_REGISTER_WAIT;

        INIT_MODE_REGISTER_WAIT : begin
           if (count5 == cntnext)
             init_next_state = INIT_IDLE;
           else
             init_next_state = INIT_MODE_REGISTER_WAIT;

        end

        INIT_AUTO_REFRESH       :init_next_state = INIT_AUTO_REFRESH_WAIT;

        INIT_AUTO_REFRESH_WAIT  : begin
           if ((count5 == cntnext) && (phy_Dly_Slct_Done))
             init_next_state = INIT_DUMMY_ACTIVE;
           else if (count5 == cntnext)
             init_next_state = INIT_IDLE;
           else
             init_next_state = INIT_AUTO_REFRESH_WAIT;
        end
      endcase
   end

   //main controller state machine
   always @ (*) begin
      next_state = state;
      case (state)
        IDLE : begin
           if ((conflict_detect_r || LMR_PRE_REF_ACT_cmd_r || auto_ref) &&
               ras_count == 4'b0000 && init_done_int)
             next_state = PRECHARGE;
           else if ((WR_r  || RD_r ) && (ras_count == 4'b0000)) begin
              next_state = ACTIVE;
           end
        end

        LOAD_MODE_REG_ST      : next_state = MODE_REGISTER_WAIT;

        MODE_REGISTER_WAIT : begin
           if (mrd_count == 1'b0)
             next_state = IDLE;
           else
             next_state = MODE_REGISTER_WAIT;
        end

        PRECHARGE          :next_state = PRECHARGE_WAIT;

        PRECHARGE_WAIT     : begin
           if (rp_count == 3'b000) begin
              if (auto_ref || REF_r) begin
                 next_state = AUTO_REFRESH;
              end else if (LMR_r) begin
                 next_state = LOAD_MODE_REG_ST;
              end else if (conflict_detect_r || ACT_r) begin
                 next_state = ACTIVE;
              end else  begin
                 next_state = IDLE;
              end
           end else begin
              next_state = PRECHARGE_WAIT;
           end
        end

        AUTO_REFRESH       :next_state = AUTO_REFRESH_WAIT;

        AUTO_REFRESH_WAIT  : begin

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区不卡在线播放 | 在线成人小视频| 成人性色生活片| 国产91色综合久久免费分享| 激情欧美日韩一区二区| 日本欧美肥老太交大片| 青青草国产成人99久久| 奇米影视一区二区三区| 久久99蜜桃精品| 国产精品一卡二| 不卡一区二区中文字幕| 色哟哟一区二区在线观看| 色欲综合视频天天天| 欧美私人免费视频| 欧美精三区欧美精三区| 日韩精品中文字幕在线一区| 日韩欧美在线一区二区三区| 日韩精品一区二区三区在线观看| 日韩欧美激情在线| 精品日韩一区二区| 久久久久亚洲综合| 国产精品视频第一区| 国产精品不卡一区二区三区| 自拍偷拍欧美精品| 亚洲日本欧美天堂| 视频一区二区不卡| 大桥未久av一区二区三区中文| 99re这里只有精品视频首页| 欧亚一区二区三区| 欧美成人一区二区三区在线观看| 国产精品私房写真福利视频| 亚洲高清视频的网址| 久草在线在线精品观看| 99久久综合国产精品| 日韩亚洲欧美综合| 日韩理论片在线| 看国产成人h片视频| 不卡的av中国片| 91精品国产综合久久小美女| 中文字幕视频一区二区三区久| 亚洲综合丁香婷婷六月香| 国内偷窥港台综合视频在线播放| 91蜜桃网址入口| 久久这里都是精品| 五月婷婷欧美视频| 99精品国产99久久久久久白柏| 欧美一区二区高清| 亚洲裸体在线观看| 高潮精品一区videoshd| 欧美日韩午夜在线视频| 国产欧美va欧美不卡在线| 亚洲一级电影视频| 91色婷婷久久久久合中文| 欧美一级日韩免费不卡| 亚洲精选免费视频| 国产精品一二三四区| 91精品国产色综合久久| 五月婷婷色综合| 国产精品一区二区在线播放| 欧美精品第1页| 亚洲网友自拍偷拍| 91免费国产在线观看| 国产精品久久久久国产精品日日 | 国产偷国产偷精品高清尤物| 亚洲大型综合色站| 99久久伊人精品| 欧美激情在线看| 国产成人av电影在线观看| 欧美日韩在线免费视频| 亚洲人成精品久久久久久 | 亚洲激情第一区| 黑人精品欧美一区二区蜜桃| 欧美一级欧美一级在线播放| 午夜精品福利一区二区三区av| 欧美伊人精品成人久久综合97| 亚洲欧洲日本在线| 99re这里只有精品首页| 亚洲裸体xxx| 在线一区二区三区四区五区 | 亚洲国产乱码最新视频| 色婷婷综合中文久久一本| 亚洲男同1069视频| 91电影在线观看| 亚洲高清不卡在线观看| 欧美精品视频www在线观看| 午夜电影久久久| 精品少妇一区二区三区日产乱码 | 欧美精品一卡二卡| 麻豆精品视频在线观看| 欧美大片日本大片免费观看| 国产一区二区三区免费在线观看| 国产性做久久久久久| 成人免费三级在线| 亚洲免费资源在线播放| 欧美丝袜丝交足nylons图片| 日韩精品一卡二卡三卡四卡无卡| 这里只有精品免费| 国内不卡的二区三区中文字幕 | 国产精品中文欧美| 中文字幕第一区二区| 99久久99久久精品免费观看 | 日韩视频免费观看高清完整版| 六月丁香婷婷久久| 国产日韩欧美精品在线| 91看片淫黄大片一级在线观看| 亚洲综合色噜噜狠狠| 久久伊99综合婷婷久久伊| 成人av影院在线| 亚洲综合久久久久| 国产亚洲污的网站| 91蝌蚪porny| 国产一区二区三区观看| 亚洲女人的天堂| 久久女同精品一区二区| 91亚洲精品久久久蜜桃网站| 日韩影院免费视频| 中文字幕一区av| 日韩视频在线永久播放| 99久久国产综合色|国产精品| 婷婷综合另类小说色区| 中文字幕二三区不卡| 在线成人av影院| 91一区二区三区在线观看| 日本午夜精品视频在线观看 | 亚洲特级片在线| 欧美精品粉嫩高潮一区二区| 99视频精品在线| 精品一区二区在线免费观看| 一区二区三区在线观看欧美| 亚洲国产精品成人综合色在线婷婷 | 色又黄又爽网站www久久| 蜜臀av亚洲一区中文字幕| 综合激情网...| 国产女人aaa级久久久级 | 中文字幕免费不卡| 日韩一区二区在线观看视频播放| 91在线免费看| jizzjizzjizz欧美| 国产在线播放一区二区三区| 五月天久久比比资源色| 亚洲一区二区综合| 亚洲日本中文字幕区| 综合分类小说区另类春色亚洲小说欧美| 国产美女久久久久| 日本最新不卡在线| 亚洲电影在线播放| 亚洲区小说区图片区qvod| 26uuu精品一区二区| 精品免费99久久| 制服丝袜日韩国产| 91精品国产综合久久婷婷香蕉| 色菇凉天天综合网| 在线观看视频一区| 在线观看视频欧美| 久久精品国产99久久6| 婷婷综合在线观看| 免费视频最近日韩| 日本欧美在线观看| 91久久精品一区二区三区| 成人黄色av电影| 97久久精品人人澡人人爽| 成人性生交大合| av激情成人网| 日本伦理一区二区| 99re在线精品| 色狠狠av一区二区三区| 色哟哟一区二区在线观看 | 亚洲综合一二三区| 亚洲午夜羞羞片| 天堂在线一区二区| 午夜不卡在线视频| 三级久久三级久久久| 精品一区二区日韩| 丁香一区二区三区| 成av人片一区二区| 91原创在线视频| 91麻豆精品国产91久久久| 日韩午夜激情免费电影| 欧美激情一区二区三区四区 | 欧洲另类一二三四区| 91精品国产综合久久精品性色| 日韩一卡二卡三卡| 国产精品国产自产拍在线| 亚洲视频在线一区观看| 亚洲国产精品久久不卡毛片| 日韩高清一级片| 成人动漫av在线| 欧美三级视频在线| 国产日韩成人精品| 亚洲国产视频一区| 丁香激情综合五月| 欧美高清hd18日本| 中文字幕一区av| 美女精品自拍一二三四| 91污在线观看| 4hu四虎永久在线影院成人| 国产精品免费久久| 久久99这里只有精品| 色婷婷国产精品| 国产亚洲精品aa|