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

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

?? sdram.v

?? 基于NIOS的CF卡應用(包括了軟件和硬件),ALTERA的IP庫中只提供了底層的硬件寄存器描述頭文件.這是個基于IP核HAL的軟件,以及相應的硬件設計示例.
?? 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一区二区三区免费野_久草精品视频
奇米888四色在线精品| 久久精品人人做| 亚洲一区二区三区四区五区中文| caoporm超碰国产精品| 亚洲欧洲精品天堂一级| 97精品电影院| 亚洲一区精品在线| 欧美片网站yy| 激情五月播播久久久精品| 国产亚洲一区字幕| 色呦呦日韩精品| 日本特黄久久久高潮| 精品国偷自产国产一区| 国产sm精品调教视频网站| 亚洲欧洲av另类| 欧美日韩一区小说| 九九精品视频在线看| 国产情人综合久久777777| 91社区在线播放| 五月天激情小说综合| 久久综合五月天婷婷伊人| 不卡一区在线观看| 亚洲bt欧美bt精品| 国产亚洲欧美色| 在线一区二区三区做爰视频网站| 日本高清不卡aⅴ免费网站| 一区二区三区欧美亚洲| 欧美一级黄色录像| 成人av先锋影音| 午夜av一区二区三区| 国产日韩av一区| 欧美日本视频在线| 国产精品88av| 午夜在线电影亚洲一区| 国产人成亚洲第一网站在线播放| 欧美日韩一二三区| 成人av在线网| 国产尤物一区二区| 亚洲国产精品尤物yw在线观看| 精品免费国产二区三区| 在线精品国精品国产尤物884a| 老司机免费视频一区二区三区| 亚洲男人的天堂av| 久久久久久久久蜜桃| 欧美日韩一级视频| 国产99精品在线观看| 美国三级日本三级久久99| 亚洲精品videosex极品| 久久精品一区二区| 日韩欧美在线影院| 欧美精品一二三| 91香蕉视频在线| 大胆亚洲人体视频| 黑人巨大精品欧美一区| 日日夜夜免费精品视频| 怡红院av一区二区三区| 中文久久乱码一区二区| 精品三级在线看| 91精品中文字幕一区二区三区| 色综合天天狠狠| 成人av免费观看| 国产999精品久久久久久绿帽| 久久精品国产一区二区三区免费看| 亚洲欧美电影院| 久久99久久99精品免视看婷婷 | 一本色道综合亚洲| av午夜一区麻豆| 国产成人午夜精品5599| 久久精品国产久精国产| 日韩电影一区二区三区四区| 一区二区三区成人| 亚洲综合丝袜美腿| 亚洲一区二区三区国产| 一区二区三区久久| 亚洲一区精品在线| 亚洲成人免费av| 视频在线观看一区| 日韩1区2区日韩1区2区| 日韩激情av在线| 美国三级日本三级久久99 | 最新不卡av在线| 国产精品嫩草影院av蜜臀| 中文字幕欧美激情| 亚洲欧美在线另类| 亚洲猫色日本管| 一区二区不卡在线播放 | 亚洲精品视频一区二区| 国产精品麻豆网站| 国产精品拍天天在线| 亚洲日本在线观看| 一级精品视频在线观看宜春院 | 欧美日韩一二三区| 欧美一级专区免费大片| 日韩精品中午字幕| 国产情人综合久久777777| 中文字幕一区二区三区在线播放 | 亚洲视频图片小说| 一级日本不卡的影视| 日韩国产欧美三级| 国产一区二区三区四| 成人动漫一区二区| 日本精品裸体写真集在线观看| 欧美日韩精品是欧美日韩精品| 制服丝袜亚洲精品中文字幕| 精品国产伦一区二区三区观看方式 | 国产精品视频第一区| 一区二区三区自拍| 秋霞av亚洲一区二区三| 国产一区二区不卡在线| 91视频国产观看| 91精品国产黑色紧身裤美女| 久久精子c满五个校花| 亚洲精品美腿丝袜| 毛片不卡一区二区| 色欲综合视频天天天| 7878成人国产在线观看| 亚洲国产精品黑人久久久| 亚洲国产精品自拍| 国产精品77777竹菊影视小说| 欧洲av一区二区嗯嗯嗯啊| 日韩欧美另类在线| 亚洲欧美日韩综合aⅴ视频| 免费观看在线色综合| av动漫一区二区| 日韩精品一区二区三区在线观看 | 5月丁香婷婷综合| 欧美韩国日本综合| 日本视频一区二区三区| 99精品一区二区三区| 精品国产91久久久久久久妲己| 日韩毛片在线免费观看| 激情久久五月天| 在线看国产日韩| 日韩电影在线观看网站| 色综合久久久久综合| 久久午夜羞羞影院免费观看| 亚洲一区二区中文在线| 丁香啪啪综合成人亚洲小说| 在线电影国产精品| 亚洲精品成a人| 不卡av电影在线播放| 日韩美女天天操| 亚洲.国产.中文慕字在线| www.亚洲激情.com| 久久一区二区三区四区| 日韩综合一区二区| 色老汉一区二区三区| 亚洲欧洲在线观看av| 国产毛片精品国产一区二区三区| 欧美日韩免费一区二区三区视频 | 99久久久久久99| 久久久www成人免费毛片麻豆| 日韩精品一级中文字幕精品视频免费观看| 成人永久看片免费视频天堂| 精品国精品国产| 人人超碰91尤物精品国产| 色综合久久88色综合天天免费| 国产丝袜欧美中文另类| 裸体健美xxxx欧美裸体表演| 欧美日韩国产综合久久 | 欧美一区二区福利在线| 亚洲午夜视频在线| 欧美性大战久久| 亚洲综合男人的天堂| 色婷婷久久久综合中文字幕| 国产精品白丝在线| 成人99免费视频| 最好看的中文字幕久久| 92精品国产成人观看免费| 一区在线观看视频| 99久久婷婷国产| 亚洲精品视频在线观看网站| 91久久精品一区二区二区| 亚洲乱码中文字幕| 欧美在线看片a免费观看| 亚洲综合偷拍欧美一区色| 欧美性色欧美a在线播放| 亚洲福利视频一区二区| 欧美精品123区| 蜜臀久久久久久久| 26uuu成人网一区二区三区| 激情小说亚洲一区| 国产精品三级视频| 91麻豆.com| 亚洲成人动漫av| 欧美一区二区三区爱爱| 久久国产乱子精品免费女| 欧美国产日本视频| 色综合久久综合网欧美综合网| 亚洲午夜久久久久久久久久久 | 亚洲美女一区二区三区| 欧美日韩视频在线观看一区二区三区| 香港成人在线视频| 亚洲精品一线二线三线无人区| 国产传媒久久文化传媒| 亚洲精品国产精华液| 日韩欧美在线影院| av在线播放一区二区三区| 亚洲第一福利一区| 欧美精品一区二区三区久久久|