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

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

?? sdram.v

?? Altera公司開發(fā)板2s60 CF卡通用例程(初始化、讀、寫、測試等)
?? V
?? 第 1 頁 / 共 2 頁
字號:
              end // 3'b000 
          
              3'b001: begin
                  i_state <= 3'b011;
                  i_cmd <= {{1{1'b0}},3'h2};
                  i_count <= 0;
                  i_next <= 3'b010;
              end // 3'b001 
          
              3'b010: begin
                  i_cmd <= {{1{1'b0}},3'h1};
                  i_refs <= i_refs + 1'b1;
                  i_state <= 3'b011;
                  i_count <= 3;
                  // Count up init_refresh_commands
                  if (i_refs == 3'h1)
                      i_next <= 3'b111;
                  else 
                    i_next <= 3'b010;
              end // 3'b010 
          
              3'b011: begin
                  i_cmd <= {{1{1'b0}},3'h7};
                  //WAIT til safe to Proceed...
                  if (i_count > 1)
                      i_count <= i_count - 1'b1;
                  else 
                    i_state <= i_next;
              end // 3'b011 
          
              3'b101: begin
                  i_state <= 3'b101;
              end // 3'b101 
          
              3'b111: begin
                  i_state <= 3'b011;
                  i_cmd <= {{1{1'b0}},3'h0};
                  i_addr <= {{2{1'b0}},1'b0,2'b00,3'h3,4'h0};
                  i_count <= 4;
                  i_next <= 3'b101;
              end // 3'b111 
          
              default: begin
                  i_state <= 3'b000;
              end // default
          
          endcase // i_state
        end
    end


  assign active_bank = {active_addr[21],active_addr[8]};
  assign csn_match = active_cs_n == f_cs_n;
  assign rnw_match = active_rnw == f_rnw;
  assign bank_match = active_bank == f_bank;
  assign row_match = {active_addr[20 : 9]} == {f_addr[20 : 9]};
  assign pending = csn_match && rnw_match && bank_match && row_match && !f_empty;
  assign cas_addr = f_select ? { {4{1'b0}},f_addr[7 : 0] } : { {4{1'b0}},active_addr[7 : 0] };
  // **** Main FSM ****
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
        begin
          m_state <= 9'b000000001;
          m_next <= 9'b000000001;
          m_cmd <= 4'b1111;
          m_bank <= 2'b00;
          m_addr <= 12'b000000000000;
          m_data <= 32'b00000000000000000000000000000000;
          m_dqm <= 4'b0000;
          m_count <= 3'b000;
          ack_refresh_request <= 1'b0;
          f_pop <= 1'b0;
          oe <= 1'b0;
        end
      else 
        begin
          f_pop <= 1'b0;
          oe <= 1'b0;
          case (m_state) // synthesis parallel_case full_case
          
              9'b000000001: begin
                  //Wait for init-fsm to be done...
                  if (init_done)
                    begin
                      //Hold bus if another cycle ended to arf.
                      if (refresh_request)
                          m_cmd <= {{1{1'b0}},3'h7};
                      else 
                        m_cmd <= 4'b1111;
                      ack_refresh_request <= 1'b0;
                      //Wait for a read/write request.
                      if (refresh_request)
                        begin
                          m_state <= 9'b001000000;
                          m_next <= 9'b010000000;
                          m_count <= 0;
                          active_cs_n <= 1'b1;
                        end
                      else if (!f_empty)
                        begin
                          f_pop <= 1'b1;
                          active_cs_n <= f_cs_n;
                          active_rnw <= f_rnw;
                          active_addr <= f_addr;
                          active_data <= f_data;
                          active_dqm <= f_dqm;
                          m_state <= 9'b000000010;
                        end
                    end
                  else 
                    begin
                      m_addr <= i_addr;
                      m_state <= 9'b000000001;
                      m_next <= 9'b000000001;
                      m_cmd <= i_cmd;
                    end
              end // 9'b000000001 
          
              9'b000000010: begin
                  m_state <= 9'b000000100;
                  m_cmd <= {csn_decode,3'h3};
                  m_bank <= active_bank;
                  m_addr <= active_addr[20 : 9];
                  m_data <= active_data;
                  m_dqm <= active_dqm;
                  m_count <= 1;
                  m_next <= active_rnw ? 9'b000001000 : 9'b000010000;
              end // 9'b000000010 
          
              9'b000000100: begin
                  // precharge all if arf, else precharge csn_decode
                  if (m_next == 9'b010000000)
                      m_cmd <= {{1{1'b0}},3'h7};
                  else 
                    m_cmd <= {csn_decode,3'h7};
                  //Count down til safe to Proceed...
                  if (m_count > 1)
                      m_count <= m_count - 1'b1;
                  else 
                    m_state <= m_next;
              end // 9'b000000100 
          
              9'b000001000: begin
                  m_cmd <= {csn_decode,3'h5};
                  m_bank <= f_select ? f_bank : active_bank;
                  m_dqm <= f_select ? f_dqm  : active_dqm;
                  m_addr <= cas_addr;
                  //Do we have a transaction pending?
                  if (pending)
                    begin
                      //if we need to ARF, bail, else spin
                      if (refresh_request)
                        begin
                          m_state <= 9'b000000100;
                          m_next <= 9'b000000001;
                          m_count <= 2;
                        end
                      else 
                        begin
                          f_pop <= 1'b1;
                          active_cs_n <= f_cs_n;
                          active_rnw <= f_rnw;
                          active_addr <= f_addr;
                          active_data <= f_data;
                          active_dqm <= f_dqm;
                        end
                    end
                  else 
                    begin
                      //correctly end RD spin cycle if fifo mt
                      if (~pending & f_pop)
                          m_cmd <= {csn_decode,3'h7};
                      m_state <= 9'b100000000;
                    end
              end // 9'b000001000 
          
              9'b000010000: begin
                  m_cmd <= {csn_decode,3'h4};
                  oe <= 1'b1;
                  m_data <= f_select ? f_data : active_data;
                  m_dqm <= f_select ? f_dqm  : active_dqm;
                  m_bank <= f_select ? f_bank : active_bank;
                  m_addr <= cas_addr;
                  //Do we have a transaction pending?
                  if (pending)
                    begin
                      //if we need to ARF, bail, else spin
                      if (refresh_request)
                        begin
                          m_state <= 9'b000000100;
                          m_next <= 9'b000000001;
                          m_count <= 1;
                        end
                      else 
                        begin
                          f_pop <= 1'b1;
                          active_cs_n <= f_cs_n;
                          active_rnw <= f_rnw;
                          active_addr <= f_addr;
                          active_data <= f_data;
                          active_dqm <= f_dqm;
                        end
                    end
                  else 
                    begin
                      //correctly end WR spin cycle if fifo empty
                      if (~pending & f_pop)
                        begin
                          m_cmd <= {csn_decode,3'h7};
                          oe <= 1'b0;
                        end
                      m_state <= 9'b100000000;
                    end
              end // 9'b000010000 
          
              9'b000100000: begin
                  m_cmd <= {csn_decode,3'h7};
                  //Count down til safe to Proceed...
                  if (m_count > 1)
                      m_count <= m_count - 1'b1;
                  else 
                    begin
                      m_state <= 9'b001000000;
                      m_count <= 0;
                    end
              end // 9'b000100000 
          
              9'b001000000: begin
                  m_state <= 9'b000000100;
                  m_addr <= {12{1'b1}};
                  // precharge all if arf, else precharge csn_decode
                  if (refresh_request)
                      m_cmd <= {{1{1'b0}},3'h2};
                  else 
                    m_cmd <= {csn_decode,3'h2};
              end // 9'b001000000 
          
              9'b010000000: begin
                  ack_refresh_request <= 1'b1;
                  m_state <= 9'b000000100;
                  m_cmd <= {{1{1'b0}},3'h1};
                  m_count <= 3;
                  m_next <= 9'b000000001;
              end // 9'b010000000 
          
              9'b100000000: begin
                  m_cmd <= {csn_decode,3'h7};
                  //if we need to ARF, bail, else spin
                  if (refresh_request)
                    begin
                      m_state <= 9'b000000100;
                      m_next <= 9'b000000001;
                      m_count <= 1;
                    end
                  else //wait for fifo to have contents
                  if (!f_empty)
                      //Are we 'pending' yet?
                      if (csn_match && rnw_match && bank_match && row_match)
                        begin
                          m_state <= f_rnw ? 9'b000001000 : 9'b000010000;
                          f_pop <= 1'b1;
                          active_cs_n <= f_cs_n;
                          active_rnw <= f_rnw;
                          active_addr <= f_addr;
                          active_data <= f_data;
                          active_dqm <= f_dqm;
                        end
                      else 
                        begin
                          m_state <= 9'b000100000;
                          m_next <= 9'b000000001;
                          m_count <= 1;
                        end
              end // 9'b100000000 
          
              // synthesis translate_off
          
              default: begin
                  m_state <= m_state;
                  m_cmd <= 4'b1111;
                  f_pop <= 1'b0;
                  oe <= 1'b0;
              end // default
          
              // synthesis translate_on
          endcase // m_state
        end
    end


  assign rd_strobe = m_cmd[2 : 0] == 3'h5;
  //Track RD Req's based on cas_latency w/shift reg
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          rd_valid <= {3{1'b0}};
      else 
        rd_valid <= (rd_valid << 1) | { {2{1'b0}}, rd_strobe };
    end


  // Register dq data.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          za_data <= 0;
      else if (1)
          za_data <= zs_dq;
    end


  // Delay za_valid to match registered data.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          za_valid <= 0;
      else if (1)
          za_valid <= rd_valid[2];
    end


  assign cmd_code = m_cmd[2 : 0];
  assign cmd_all = m_cmd;

//synthesis translate_off
//////////////// SIMULATION-ONLY CONTENTS
  assign txt_code = (cmd_code == 3'h0)? 24'h4c4d52 :
    (cmd_code == 3'h1)? 24'h415246 :
    (cmd_code == 3'h2)? 24'h505245 :
    (cmd_code == 3'h3)? 24'h414354 :
    (cmd_code == 3'h4)? 24'h205752 :
    (cmd_code == 3'h5)? 24'h205244 :
    (cmd_code == 3'h6)? 24'h425354 :
    (cmd_code == 3'h7)? 24'h4e4f50 :
    24'h424144;

  assign CODE = &(cmd_all|4'h7) ? 24'h494e48 : txt_code;

//////////////// END SIMULATION-ONLY CONTENTS

//synthesis translate_on


endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日韩欧美一区二区| 亚洲一区二区三区四区中文字幕| 国产精品国产馆在线真实露脸| 亚洲电影在线播放| 国产91精品一区二区| 欧美区在线观看| 亚洲欧美日韩在线播放| 国产综合成人久久大片91| 欧美在线观看一区| 亚洲视频 欧洲视频| 国产成人精品免费看| 日韩欧美在线观看一区二区三区| 日韩理论片在线| 成人免费视频一区| 久久亚洲一区二区三区明星换脸| 日本欧美韩国一区三区| 欧美午夜精品一区| 一区二区三区在线看| 99久久精品国产一区二区三区| 国产色一区二区| 精品在线播放免费| 日韩欧美亚洲国产另类| 日韩精彩视频在线观看| 欧美午夜精品免费| 亚洲福利视频导航| 欧美日韩免费一区二区三区| 玉米视频成人免费看| 色综合久久综合网欧美综合网| 亚洲欧美在线视频观看| 成人av免费在线观看| 国产精品免费网站在线观看| 懂色一区二区三区免费观看| 国产亚洲美州欧州综合国| 懂色av中文字幕一区二区三区| 国产亚洲制服色| 成人少妇影院yyyy| 亚洲免费av在线| 在线观看精品一区| 日韩精品午夜视频| 精品av综合导航| 丰满少妇在线播放bd日韩电影| 国产亚洲成年网址在线观看| 成人免费视频caoporn| 国产精品免费aⅴ片在线观看| av日韩在线网站| 一区二区免费视频| 91.成人天堂一区| 久久成人免费网站| 国产女主播在线一区二区| 成人黄色网址在线观看| 亚洲欧美一区二区三区极速播放 | 国产精品久久久久影院色老大| 粉嫩13p一区二区三区| 一区二区在线观看免费视频播放| 欧美在线看片a免费观看| 久久精品国产第一区二区三区| 精品成a人在线观看| 91免费精品国自产拍在线不卡 | 99国产精品一区| 亚洲制服丝袜在线| 精品久久一区二区| 成人性生交大片免费看视频在线| 一区二区三区久久| 精品久久久久久久久久久久包黑料 | 国产ts人妖一区二区| 亚洲欧美日韩成人高清在线一区| 欧美另类一区二区三区| 国产一区二区精品久久99| 亚洲欧美国产77777| 日韩一区二区三区四区| 成人激情av网| 免费看精品久久片| 亚洲人妖av一区二区| 欧美一区二区日韩一区二区| 不卡av在线网| 精品影院一区二区久久久| 成人欧美一区二区三区小说| 欧美一级xxx| 色婷婷久久一区二区三区麻豆| 麻豆精品在线播放| 一区二区三区在线免费视频| 国产午夜亚洲精品不卡| 91精品久久久久久久91蜜桃| 成人福利在线看| 国产一区久久久| 婷婷开心久久网| 亚洲一区av在线| 亚洲欧洲三级电影| 久久久电影一区二区三区| 91精品在线麻豆| 日本高清免费不卡视频| 粉嫩绯色av一区二区在线观看| 蜜桃久久久久久久| 天堂成人免费av电影一区| 亚洲精品视频免费看| 国产精品看片你懂得| 久久视频一区二区| 日韩精品一区二| 日韩欧美一级片| 欧美精品电影在线播放| 欧洲人成人精品| 日本精品一区二区三区四区的功能| 国产乱国产乱300精品| 久久99国产精品麻豆| 精品中文av资源站在线观看| 青青草97国产精品免费观看 | 亚洲男人电影天堂| 国产精品视频你懂的| 国产三级欧美三级| 久久尤物电影视频在线观看| 精品国产一二三| 久久婷婷久久一区二区三区| 日韩精品一区二区三区视频播放| 日韩视频中午一区| 精品奇米国产一区二区三区| 欧美不卡一二三| www欧美成人18+| 久久一区二区三区四区| 国产亚洲欧洲997久久综合| 久久久久久久久久久电影| 久久久久久久久久久久久女国产乱 | 亚洲第四色夜色| 午夜av一区二区| 奇米影视在线99精品| 免费在线观看精品| 精品夜夜嗨av一区二区三区| 国产九色sp调教91| 春色校园综合激情亚洲| 91香蕉视频在线| 欧美日韩在线播放三区四区| 欧美视频中文一区二区三区在线观看| 欧美系列在线观看| 欧美videos大乳护士334| 久久这里只有精品6| 最新国产成人在线观看| 一级做a爱片久久| 日韩二区三区在线观看| 国产一区二区美女诱惑| 99国产精品国产精品毛片| 在线观看一区日韩| 日韩免费高清av| 日韩一区在线看| 日本成人中文字幕| 国产91精品久久久久久久网曝门 | 国产精品亚洲综合一区在线观看| 成人动漫视频在线| 欧美色电影在线| 欧美精品一区二区三区视频| 国产精品久久777777| 天天操天天色综合| 不卡一区二区三区四区| 欧美日韩精品三区| 中文欧美字幕免费| 天堂va蜜桃一区二区三区漫画版| 国产风韵犹存在线视精品| 欧美私人免费视频| 国产目拍亚洲精品99久久精品| 亚洲成人手机在线| 成人性生交大片免费看中文| 5月丁香婷婷综合| 国产精品久久久久精k8| 蜜臀91精品一区二区三区| 成人黄页在线观看| 欧美草草影院在线视频| 亚洲精选在线视频| 国产成人福利片| 欧美xxxx在线观看| 亚洲午夜免费电影| 波多野结衣视频一区| 日韩欧美成人一区| 亚洲大片精品永久免费| 风流少妇一区二区| www久久久久| 麻豆成人久久精品二区三区红 | 国产麻豆精品一区二区| 欧美日本在线播放| 亚洲天天做日日做天天谢日日欢 | 在线电影国产精品| ...中文天堂在线一区| 国产伦精品一区二区三区免费迷| 欧美午夜理伦三级在线观看| 中文字幕在线一区二区三区| 国产一区999| 日韩欧美国产精品一区| 性做久久久久久免费观看欧美| 成人激情午夜影院| 久久久亚洲国产美女国产盗摄| 日韩电影一二三区| 欧美日韩国产一二三| 亚洲成人你懂的| 欧美午夜精品免费| 亚洲成人激情社区| 欧美性大战xxxxx久久久| 国产性天天综合网| 福利一区福利二区| 国产精品乱人伦一区二区| 国产美女在线精品| 国产午夜一区二区三区| 国产一区二区三区免费| 日韩小视频在线观看专区|