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

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

?? tfsm.v

?? NANDFlashController.zip
?? V
字號:
//-------------------------------------------------------------------------
//  >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
//-------------------------------------------------------------------------
//  Copyright (c) 2006-2010 by Lattice Semiconductor Corporation      
// 
//-------------------------------------------------------------------------
// Permission:
//
//   Lattice Semiconductor grants permission to use this code for use
//   in synthesis for any Lattice programmable logic product.  Other
//   use of this code, including the selling or duplication of any
//   portion is strictly prohibited.
//
// Disclaimer:
//
//   This VHDL or Verilog source code is intended as a design reference
//   which illustrates how these types of functions can be implemented.
//   It is the user's responsibility to verify their design for
//   consistency and functionality through the use of formal
//   verification methods.  Lattice Semiconductor provides no warranty
//   regarding the use or functionality of this code.
//-------------------------------------------------------------------------
//
//    Lattice Semiconductor Corporation
//    5555 NE Moore Court
//    Hillsboro, OR 97124
//    U.S.A
//
//    TEL: 1-800-Lattice (USA and Canada)
//    503-268-8001 (other locations)
//
//    web: http://www.latticesemi.com/
//    email: techsupport@latticesemi.com
// 
//-------------------------------------------------------------------------
//
// Revision History :
// --------------------------------------------------------------------
//   Ver  :| Author :| Mod. Date :| Changes Made:
//   V01.0:| A.Y    :| 09/30/06  :| Initial ver
//   v01.1:| J.T    :| 06/21/09  :| just use one buffer
// --------------------------------------------------------------------
//
// 
//Description of module:
//--------------------------------------------------------------------------------
// Timing FSM creating all the necessary control signals for the nand-flash memory.
// --------------------------------------------------------------------
`timescale 1 ns / 1 fs

module TFSM(
  CLE ,
  ALE ,
  WE_n,
  RE_n,
  CE_n,
  DOS ,
  DIS ,
  cnt_en,
  TC3,
  TC2048,
  CLK,
  RES,
  start,
  cmd_code,
  ecc_en,
  Done 
)/*synthesis ugroup="mfsm_group" */;
  
  output reg CLE ; //-- CLE               
  output reg ALE ; //-- ALE               
  output reg WE_n; // -- ~WE              
  output reg RE_n; // -- ~RE              
  output reg CE_n; // -- ~CE              
  output reg DOS ; // -- data out strobe  
  output reg DIS ; //  -- data in strobe  
  output reg cnt_en; //-- ca counter ce   
  input TC3 ; //-- term counts         
  input TC2048;                     
  input CLK ;                        
  input RES ;                        
  input start;                       
  input [2:0] cmd_code; 
  output reg Done;                  
  output reg ecc_en;

// Command codes:
// 000 -Cmd Latch
// 001 -Addr latch
// 010 -Data Read 1 (1 cycle as status)
// 100 -Data Read multiple (w TC3)
// 101 -Data Read multiple (w TC2048)
// 110 -Data Write (w TC3)
// 111 -Data Write (w TC2048)
// others'll return to Init

parameter Init=0, S_Start=1, S_CE=2, 
S_CLE=3, S_CmdOut=4, S_WaitCmd=5, DoneCmd=6, Finish=7, // Cmd latch
S_ALE=8, S_ADout=9, WaitAd=10, DoneAd=11, // Addr latch
S_RE1=12, WaitR1=13, WaitR2=14, DoneR1=15,// -- Read data 1
S_RE=16, WaitR1m=17, WaitR2m=18, WaitR3m=19, S_DIS=20, FinishR=21,//  -- Read data TC
S_WE=22, WaitW=23, WaitW1=24, WaitW2=25, S_nWE=26, FinishW=27;//   -- write data

reg [5:0] NxST, CrST;
reg Done_i;//  -- muxed Term Cnt
wire TC;
reg [2:0] cmd_code_int;

assign TC = cmd_code_int[0]?TC2048:TC3;

always@(posedge CLK)
  if (RES)
    Done <=0;
  else
    Done <= Done_i;


always@(posedge CLK)
  cmd_code_int <= cmd_code;

//the State Machine
always@(posedge CLK)
  CrST <= NxST;


always@(RES or TC or cmd_code_int or start or CrST)
if (RES) begin
  NxST <= Init;
  DIS <= 0;
  DOS <= 0;
  Done_i <=0;
  ALE <= 0;
  CLE <= 0;
  WE_n <= 1;
  RE_n <= 1;
  CE_n <= 1;
  cnt_en <=0;
  ecc_en<=1'b0;
end else begin//            -- default values
   DIS <= 0;
   DOS <= 0;
   Done_i <=0;
   ALE <= 0;
   CLE <= 0;
   WE_n <= 1;
   RE_n <= 1;
   CE_n <= 1;
   cnt_en <=0;
   ecc_en<=1'b0;
  case (CrST)
    Init:begin
      if (start)
        NxST <= S_Start;
      else
        NxST <= Init;
    end
    S_Start:begin
      if (cmd_code_int==3'b011)//  -- nop
        NxST <= Init;
      else
        NxST <= S_CE;
    end
    S_CE:begin
      if (cmd_code_int==3'b000) begin
        NxST <= S_CLE;
        CE_n <= 0;
      end else if (cmd_code_int ==3'b001) begin
        NxST <= S_ALE;
        CE_n <= 0;        
      end else if (cmd_code_int ==3'b010) begin
        NxST <= S_RE1;
        CE_n <= 0;        
      end else if (cmd_code_int[2:1]==2'b10) begin
        NxST <= S_RE;
        CE_n <= 0;        
      end else if (cmd_code_int[2:1] ==2'b11) begin
        NxST <= S_WE;
        CE_n <= 0;        
      end else
        NxST <= Init;
    end 
    S_CLE:begin
      CE_n <=0;
      CLE <= 1;
      WE_n <=0;
      NxST <= S_CmdOut;
    end
    S_CmdOut:begin
      CE_n <=0;
      CLE <= 1;
      WE_n <= 0;
      DOS <= 1;
      NxST <= S_WaitCmd;
    end
    S_WaitCmd:begin
      CE_n <=0;
      CLE <= 1;
      WE_n <=0;
      DOS <= 1;
      NxST <= DoneCmd;
    end
    DoneCmd:begin
      Done_i <=1;      
      CE_n <= 0;
      CLE <= 1;
      DOS <= 1;
      NxST <= Finish;
    end  
    Finish:begin
      DIS <=1; // --1226
      if (start)
        NxST <= S_Start;
      else
        NxST <= Init;
    end
    S_ALE:begin
      CE_n <=0;
      ALE <= 1;
      WE_n <= 0;
      NxST <= S_ADout;
    end
    S_ADout:begin
      CE_n <= 0;
      ALE <= 1;
      WE_n <= 0;
      DOS <= 1;
      NxST <= WaitAd;
    end
    WaitAd:begin
      CE_n <= 0;
      ALE <= 1;
      WE_n <= 0;
      DOS <= 1;
      NxST <= DoneAd;
    end
    DoneAd:begin
      Done_i <= 1;
      CE_n <= 0;
      ALE <= 1;
      DOS <= 1;
      NxST <= Finish;
    end
    S_RE1:begin
      CE_n <= 0;
      RE_n <= 0;
      NxST <= WaitR1;
    end
    WaitR1:begin
      CE_n <= 0;
      RE_n <= 0;
      NxST <= WaitR2;
    end
    WaitR2:begin
      CE_n <= 0;
      RE_n <= 0;
      NxST <= DoneR1;
    end
    DoneR1:begin
      Done_i <= 1; 
      cnt_en <=1;   
      NxST <= Finish; // -- can set DIS there as there'll be no F_we in EBL case
    end  
    S_RE:begin
      CE_n <= 0;
      RE_n <= 0;
      NxST <= WaitR1m;
    end
    WaitR1m:begin
      CE_n <= 0;
      RE_n <= 0;
      NxST <= WaitR2m;
    end
    WaitR2m:begin
      CE_n <= 0;
      RE_n <= 0;
      NxST <= S_DIS;
    end
    S_DIS:begin
      CE_n <=0;
//--    DIS  <=1;
      if (TC ==0)
        NxST <= WaitR3m;
      else
        NxST <= FinishR;
    end
    WaitR3m:begin
      CE_n <=0;
      cnt_en <=1;
      DIS <=1; // --1226
      NxST <= S_RE;
    end
    FinishR:begin
      Done_i <=1;
      cnt_en <=1;  //--AY
      DIS <=1; //    --1226
      if (start)
        NxST <= S_Start;
      else
        NxST <= Init;
    end 
    S_WE:begin
      CE_n <=0;
      WE_n <=0;
      DOS <=1;
      NxST <= WaitW;
    end
    WaitW:begin
      ecc_en<=1'b1;
      CE_n <=0;
      WE_n <= 0;
      DOS <= 1;
      NxST <= WaitW1;
    end
    WaitW1:begin
      CE_n <=0;
      WE_n <=0;
      DOS <=1;
      NxST <= S_nWE;
    end
    S_nWE:begin
      CE_n <=0;
      DOS <= 1;
      if (TC ==0)
        NxST <= WaitW2;
      else
        NxST <= FinishW;
    end 
    WaitW2:begin
      CE_n <= 0;
      DOS <= 1;    
      cnt_en <= 1;
      NxST <= S_WE;
    end
    FinishW:begin
      Done_i <= 1;
      cnt_en <= 1;//  --AY
      DOS <= 1; //    --AY driving data for ECC
      if (start)
        NxST <= S_Start;
      else
        NxST <= Init;
    end 
    default:
       NxST <= Init;
  endcase
 end


endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区激情| 成人午夜视频网站| 国产高清亚洲一区| 色成人在线视频| 久久久综合视频| 亚洲电影第三页| 91蜜桃免费观看视频| 337p日本欧洲亚洲大胆色噜噜| 亚洲男人的天堂在线aⅴ视频| 麻豆成人91精品二区三区| 色偷偷久久人人79超碰人人澡 | 日本不卡一二三区黄网| 成人免费视频网站在线观看| 日韩色在线观看| 五月综合激情婷婷六月色窝| caoporen国产精品视频| 久久久久亚洲综合| 久久电影网电视剧免费观看| 欧美精品在线观看播放| 伊人色综合久久天天人手人婷| 国产99精品在线观看| 欧美精品一区二区三区久久久| 亚洲成人自拍一区| 欧美日韩综合不卡| 一区二区成人在线| 色综合天天综合网国产成人综合天| 久久久久久久综合色一本| 美女视频黄免费的久久| 欧美一区二区三区思思人| 午夜精品福利一区二区三区av| 色婷婷一区二区三区四区| 中文字幕在线不卡视频| 成人av在线观| 一色桃子久久精品亚洲| 99久久精品国产一区| 亚洲欧美在线观看| 99re这里只有精品首页| 1024成人网| 色综合色综合色综合 | 99热精品一区二区| 国产精品初高中害羞小美女文| 国产成人精品亚洲777人妖| 久久精品一区二区三区不卡牛牛| 精品无人区卡一卡二卡三乱码免费卡| 欧美一区二区三区在线电影| 日韩成人一区二区| 亚洲精品在线免费播放| 国产成人午夜精品影院观看视频| 国产三级久久久| 97se亚洲国产综合自在线| 亚洲男同1069视频| 91精品久久久久久久99蜜桃| 韩日精品视频一区| 国产精品高清亚洲| 欧美日韩黄视频| 久久精品国产一区二区三 | 欧美区一区二区三区| 丝袜a∨在线一区二区三区不卡| 欧美一区二区福利在线| 国产在线视频一区二区| 中文字幕一区日韩精品欧美| 欧美在线小视频| 精品午夜一区二区三区在线观看| 亚洲国产精品成人综合| 欧美优质美女网站| 韩国成人在线视频| 亚洲婷婷国产精品电影人久久| 欧美在线一二三| 国产一区二区女| 亚洲国产日韩a在线播放性色| 欧美大片免费久久精品三p| 成人爽a毛片一区二区免费| 亚洲国产你懂的| 久久综合久久鬼色中文字| 91在线观看下载| 青草av.久久免费一区| 国产精品久久久久久妇女6080 | 一区二区三区在线观看网站| 日韩欧美专区在线| 91视频国产资源| 九九在线精品视频| 亚洲国产欧美在线| 久久精品欧美日韩精品| 666欧美在线视频| 99免费精品在线| 国产一区二区精品久久99| 亚洲成av人片在www色猫咪| 中文字幕精品一区二区精品绿巨人| 欧美精品18+| 色婷婷国产精品综合在线观看| 国产一区二区三区四区在线观看| 午夜免费久久看| 亚洲欧美另类综合偷拍| 国产亚洲欧美色| 欧美男男青年gay1069videost| 99国产精品久久久| 成人精品高清在线| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲国产欧美日韩另类综合| 亚洲人精品一区| 国产精品人人做人人爽人人添| 精品美女在线播放| 日韩一区二区免费高清| 欧美色视频在线观看| 91国偷自产一区二区三区成为亚洲经典 | 欧美成人免费网站| 欧美日韩国产区一| 欧美在线一区二区| 一本久道久久综合中文字幕| 成人精品亚洲人成在线| 国产成人亚洲精品狼色在线| 国内成人精品2018免费看| 奇米精品一区二区三区在线观看 | youjizz久久| 国产高清无密码一区二区三区| 国产主播一区二区| 国产永久精品大片wwwapp| 久久精品免费看| 精品一区二区三区在线视频| 麻豆成人免费电影| 国产在线不卡一卡二卡三卡四卡| 精品影视av免费| 极品少妇xxxx精品少妇偷拍| 黑人精品欧美一区二区蜜桃| 国产不卡视频在线观看| 白白色亚洲国产精品| 色先锋久久av资源部| 欧美精品一级二级三级| 日韩视频一区在线观看| 精品国精品国产| 欧美激情一区二区三区蜜桃视频 | 欧美精品一区二区三区蜜臀| 精品国产91亚洲一区二区三区婷婷 | av在线不卡网| 欧美亚州韩日在线看免费版国语版| 欧美视频中文字幕| 精品久久久久久久久久久院品网| 久久久99久久精品欧美| 亚洲桃色在线一区| 视频一区二区国产| 极品少妇xxxx精品少妇| 99视频在线观看一区三区| 欧美三级三级三级| 久久精品在这里| 伊人性伊人情综合网| 久久精品国产亚洲一区二区三区| 国产美女娇喘av呻吟久久| av高清久久久| 在线综合视频播放| 欧美激情一区在线| 日韩国产精品久久| 国产999精品久久| 精品视频1区2区| 久久久久久久久蜜桃| 亚洲精品高清视频在线观看| 美女视频黄 久久| 91啪在线观看| 久久这里只有精品视频网| 一区二区三区自拍| 久久99精品久久久| 色综合久久综合中文综合网| 精品国产电影一区二区| 亚洲人吸女人奶水| 国产美女久久久久| 91精品国产综合久久久久久漫画| 亚洲国产激情av| 蜜桃一区二区三区在线观看| 色婷婷综合久久久| 亚洲国产精品ⅴa在线观看| 美女爽到高潮91| 欧美日韩中文字幕一区二区| 国产精品污污网站在线观看| 麻豆高清免费国产一区| 欧美日韩亚洲综合| 日韩理论电影院| 国产伦精一区二区三区| 7777精品伊人久久久大香线蕉最新版| 中文在线免费一区三区高中清不卡| 午夜精品爽啪视频| 欧美专区亚洲专区| 综合激情成人伊人| 成人免费av资源| 久久亚洲捆绑美女| 精品一区二区综合| 欧美一区二区三区免费| 亚洲h在线观看| 在线观看三级视频欧美| 日韩一区日韩二区| av中文字幕不卡| 中文字幕亚洲不卡| 成人黄色软件下载| 国产精品久久久久精k8| 成人晚上爱看视频| 欧美激情一区二区三区不卡| 国产一本一道久久香蕉| 久久久国产午夜精品| 精品一区二区精品| 精品国精品国产| 国产91精品在线观看| 欧美高清一级片在线观看|