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

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

?? mfsm.v

?? NANDFlashController.zip
?? V
?? 第 1 頁 / 共 2 頁
字號:
//-------------------------------------------------------------------------
//  >>>>>>>>>>>>>>>>>>>>>>>>> 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:
//--------------------------------------------------------------------------------
//This module interprets commands from the Host, passes control to TFSM to execute 
//repeating regular tasks with strict timing requirements.
// --------------------------------------------------------------------
`timescale 1 ns / 1 fs
module MFSM(
  CLK,
  RES,
  start,
  command,
  setDone,
  R_nB,
  BF_sel,
//  TBF,
//  RBF,//  -- tx & rx buffer rd flags
//  ResTBF,
//  SetRBF,
  mBF_sel,
  BF_we,
  io_0,
  t_start,
  t_cmd,
  t_done,
  WrECC,
  EnEcc,
//  ecc2flash,
//  byteSelCntEn,
//  byteSelCntRes,
  AMX_sel,
  cmd_reg,
  cmd_reg_we,
  RAR_we,
//  ADS,
  set835,
  cnt_res,
  tc8,
  tc4,// -- term counts fm Wait counter
  wCntRes,
  wCntCE,//  -- wait conter ctrl
  SetPrErr,
  SetErErr,
//  SetBFerr,
  ADC_sel// -- ad/dat/cmd mux ctrl
)/*synthesis ugroup="mfsm_group" */;  
 input CLK;
 input RES;    
 input start;
 input [2:0] command;  
 input R_nB;         
 input BF_sel;       
// input TBF;          
// input RBF;//  -- tx 
 input io_0; 
 input t_done; 
 input tc8;          
 input tc4;// -- term
   
 output reg setDone;
// output reg ResTBF;       
// output reg SetRBF;
 output mBF_sel;
 output reg BF_we;       
 output reg t_start;      
 output reg [2:0] t_cmd;
 output reg WrECC;
 output reg EnEcc;
// output reg ecc2flash; 
// output reg byteSelCntEn;
// output reg byteSelCntRes;
 output reg [1:0] AMX_sel;      
 output reg [7:0] cmd_reg;      
 output reg cmd_reg_we; 
 output reg RAR_we;
// output reg ADS;       
 output reg set835;       
 output reg cnt_res;      
 output reg wCntRes;      
 output reg wCntCE;//  -- 
 output reg SetPrErr;     
 output reg SetErErr;     
// output reg SetBFerr;
 output reg [1:0] ADC_sel;// -- a
 
 parameter Init=0,S_ADS=1, S_RAR=2, 
S_CmdL0=3,S_CmdL1=4,S_adL0=5,S_adL1=6, S_CmdL2=7, S_CmdL3=8,//-- EBL
S_WC0=9, S_WC1=10, S_wait=11, S_CmdL4=12, S_CmdL5=13, S_WC3=14, S_WC4=15, S_DR1=16, S_Done=17,
Sr_RAR=18, Sr_DnErr=19, Sr_CmdL0=20, Sr_CmdL1=21, Sr_AdL0=22, Sr_AdL1=23, Sr_AdL2=24,// -- RPA
Sr_AdL3=25, Sr_CmdL2=26, Sr_CmdL3=27, Sr_WC0=28, Sr_WC1=29, Sr_wait=30, Sr_RPA0=31,
Sr_CmdL4=32, Sr_CmdL5=33, Sr_AdL4=34, Sr_AdL5=35, Sr_CmdL6=36, Sr_CmdL7=37, Sr_WC2=38,Sr_RPA1=39,
Sr_wait1=40, Sr_wait2=41, Sr_WC3=42, Sr_Done=43,
Sw_RAR=44, Sw_CmdL0=45, Sw_CmdL1=46, Sw_AdL0=47, Sw_AdL1=48, Sw_AdL2=49, Sw_AdL3=50,Sw_WPA0=51,// -- WPA
Sw_CmdL2=52, Sw_CmdL3=53,  Sw_AdL4=54, Sw_AdL5=55, Sw_WPA1=56, 
Swait3=57, Sw_CmdL4=58, Sw_CmdL5=59, Sw_WC1=60, Sw_WC2=61, Sw_CmdL6=62,
Sw_CmdL7=63, Sw_DR1=64, Sw_Wait4=65, Sw_Wait5=66, Sw_done=67,
Srst_RAR=68, Srst_CmdL0=69, Srst_CmdL1=70,Srst_done=71,
Srid_RAR=72, Srid_CmdL0=73, Srid_CmdL1=74, Srid_AdL0=75,
Srid_Wait=76, Srid_DR1=78, Srid_DR2=79, Srid_DR3=80, Srid_DR4=81, Srid_done=82;


reg [7:0] NxST,CrST;
reg BF_sel_int;

parameter C0=4'b0000,          C1=4'b0001,          C3=4'b0011,          C5=4'b0101,          C6=4'b0110,          C7=4'b0111,          C8=4'b1000,          CD=4'b1101,          CE=4'b1110,
          CF=4'b1111,
          C9=4'b1001;
          
assign mBF_sel=BF_sel_int;// buff clock enable

always@(posedge CLK)
 if(start)
  BF_sel_int<=BF_sel;  
  
always@(posedge CLK)
 CrST<=NxST;
 
//always@(RES or command or start or R_nB or TBF or RBF or t_done or tc4 or tc8 or io_0 or CrST)
always@(RES or command or start or R_nB or t_done or tc4 or tc8 or io_0 or CrST)
 if(RES) begin
  NxST <= Init;
  setDone <= 0;
//  ResTBF <= 1;
//  SetRBF <= 0;
  BF_we <= 0;
  t_start <= 0;
  t_cmd <= 3'b011; // nop
  WrECC <= 0;
  EnEcc <= 0;
//  ecc2flash <= 0;
//  byteSelCntEn <= 0;
//  byteSelCntRes <= 1;  
  AMX_sel <= 2'b00;
  cmd_reg <= 8'b00000000;
  cmd_reg_we <= 0;
//  ADS <= 0;
  set835 <= 0;
  cnt_res <= 0;
  wCntRes <= 0;
  wCntCE <= 0;
  ADC_sel <=2'b11;  // cmd to out
  SetPrErr <= 0;
  SetErErr <= 0;
//  SetBFerr <= 0;
  RAR_we <= 0;
  
end else begin           // default values
    setDone <= 0;
//    ResTBF <= 0;
//    SetRBF <= 0;
    BF_we <= 0;
    t_start <=0;
    t_cmd <= 3'b011; // nop
    WrECC <= 0;
    EnEcc <= 0;
//    ecc2flash <= 0;
//    byteSelCntEn <= 0;
//    byteSelCntRes <= 0;  
    AMX_sel <= 2'b00;
    cmd_reg <= 8'b00000000;
    cmd_reg_we <= 0;
//    ADS <= 0;
    set835 <= 0;
    cnt_res <= 0;
    wCntRes <= 0;
    wCntCE <= 0;
    ADC_sel <= 2'b11;
    SetPrErr <= 0;
    SetErErr <= 0;
//    SetBFerr <= 0;
    RAR_we <= 0; 

  case(CrST)
    Init:begin
      if (start)
        NxST <=S_ADS;
      else
        NxST <=Init;
    end
    S_ADS:begin
//      ADS <= 1;
      cnt_res <= 1;
      if (command ==3'b100) //EBL
        NxST <= S_RAR;
      else if (command==3'b010) //RPA
        NxST <= Sr_RAR;
      else if (command==3'b001) //WPA
        NxST <= Sw_RAR;
      else if (command==3'b011)
        NxST <= Srst_RAR; 
      else if (command==3'b101)
        NxST <= Srid_RAR;   
      else begin
        setDone <= 1;       // nop
        NxST <= Init;
        SetPrErr <=1;
        SetErErr <= 1;
      end
    end
    S_RAR:begin //          --EBL
      RAR_we <= 1;//--strobe the row address from the host
      NxST <= S_CmdL0;
    end
    S_CmdL0:begin
      cmd_reg <= {C6,C0};
      cmd_reg_we <= 1;
      NxST <= S_CmdL1;
    end
    S_CmdL1:begin
      t_start <= 1;
      t_cmd <= 3'b000; //-- cmd_latch
      if (t_done == 1)
        NxST <= S_adL0;
      else
        NxST <= S_CmdL1;
    end
    S_adL0:begin
      t_start <= 1;
      t_cmd <= 3'b001;// -- ad_latch
      ADC_sel <= 2'b10;// -- addr to out
      AMX_sel <= 2'b10;// -- ra1
      if (t_done == 1)
        NxST <= S_adL1;
      else
        NxST <= S_adL0;
    end
    S_adL1:begin
      t_start <=1;
      t_cmd <= 3'b001;// -- ad_latch
      ADC_sel <=2'b10;// -- addr to out      
      AMX_sel <=2'b11;// -- ra2
      if (t_done ==1)
        NxST <= S_CmdL2;
      else
        NxST <= S_adL1;
    end 
    S_CmdL2:begin
      cmd_reg <= {CD,C0};
      cmd_reg_we <= 1;
      NxST <= S_CmdL3;
    end
    S_CmdL3:begin
      t_start <= 1;
      t_cmd <=3'b000;// -- cmd_latch
      if (t_done ==1) 
        NxST <= S_WC0;
      else
        NxST <= S_CmdL3;
    end
    S_WC0:begin
      wCntRes <=1;
      NxST <= S_WC1;
    end
    S_WC1:begin
      wCntCE <=1;
      if (tc8 == 1)
        NxST <= S_wait;
      else
        NxST <= S_WC1;
    end
    S_wait:begin
      if (R_nB ==1)
        NxST <= S_CmdL4;
      else
        NxST <= S_wait;
    end 
    S_CmdL4:begin
      cmd_reg <= {C7,C0};
      cmd_reg_we <= 1;
      NxST <= S_CmdL5;
    end
    S_CmdL5:begin
      t_start <= 1;
      t_cmd <= 3'b000;// -- cmd_latch
      if (t_done ==1)
        NxST <= S_WC3;
      else
        NxST <= S_CmdL5;
    end
    S_WC3:begin
      wCntRes <= 1;
      NxST <= S_WC4;
    end
    S_WC4:begin
      wCntCE <=1;
      if (tc4 ==1)
        NxST <= S_DR1;
      else
        NxST <= S_WC4;
    end 
    S_DR1:begin
      t_start <= 1;
      t_cmd <= 3'b010;// -- data read 1 (status)
      if (t_done ==1)
        NxST <= S_Done;
      else
        NxST <= S_DR1;      
    end 
    S_Done:begin
      setDone <=1;
      NxST <= Init;
      if (io_0 == 1)
        SetErErr <= 1;
      else
        SetErErr <= 0;
    end    
    Sr_RAR:begin
      RAR_we <= 1;
  //    if (RBF==0)
        NxST <= Sr_CmdL0;
  //    else begin
  //      NxST <= Init;
  //      SetBFerr <=1;
  //      setDone <=1;
  //    end 
    end
    Sr_CmdL0:begin
      cmd_reg <= {C0,C0};
      cmd_reg_we <= 1;
      NxST <= Sr_CmdL1;
    end
    Sr_CmdL1:begin
      t_start <= 1;
      t_cmd <= 3'b000;// -- cmd_latch
      if (t_done ==1)
        NxST <= Sr_AdL0;
      else
        NxST <= Sr_CmdL1;
    end 
    Sr_AdL0:begin
      t_start <= 1;
      t_cmd <= 3'b001;// -- ad_latch
      ADC_sel <= 2'b10; //-- addr to out      
      AMX_sel <= 2'b00;// -- ca1
      if (t_done ==1)
        NxST <= Sr_AdL1;
      else
        NxST <= Sr_AdL0;
    end 
    Sr_AdL1:begin
      t_start <= 1;
      t_cmd <= 3'b001;// -- ad_latch
      ADC_sel <= 2'b10; //-- addr to out      
      AMX_sel <= 2'b01;// -- ca2
      if (t_done==1)
        NxST <= Sr_AdL2;
      else
        NxST <= Sr_AdL1;
    end
    Sr_AdL2:begin
      t_start <= 1;
      t_cmd <= 3'b001;// -- ad_latch
      ADC_sel <= 2'b10; //-- addr to out      
      AMX_sel <= 2'b10;// -- ra1
      if (t_done ==1)
        NxST <= Sr_AdL3;
      else
        NxST <= Sr_AdL2;
    end 
    Sr_AdL3:begin
      t_start <= 1;
      t_cmd <= 3'b001;// -- ad_latch
      ADC_sel <= 2'b10;// -- addr to out      
      AMX_sel <= 2'b11;// -- ra2
      if (t_done ==1)
        NxST <= Sr_CmdL2;
      else
        NxST <= Sr_AdL3;
    end
    Sr_CmdL2:begin
      cmd_reg <= {C3,C0};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久夜色精品国产欧美乱极品| 香蕉加勒比综合久久| 久久久国产一区二区三区四区小说| 777午夜精品视频在线播放| 精品视频在线免费观看| 欧美丰满一区二区免费视频| 欧美精三区欧美精三区| 欧美日韩成人在线一区| 欧美一级欧美三级在线观看| 欧美一区二区三区思思人| 日韩一区二区三区精品视频| 欧美videofree性高清杂交| 亚洲精品在线一区二区| 国产无一区二区| 国产精品久久久久久久裸模| 亚洲欧美日韩综合aⅴ视频| 一区二区三区电影在线播| 亚洲在线中文字幕| 免费成人av在线| 国产麻豆一精品一av一免费 | 成人美女视频在线观看| 成人免费看的视频| 色老汉av一区二区三区| 5月丁香婷婷综合| 久久久亚洲午夜电影| 国产精品免费看片| 亚洲亚洲人成综合网络| 日韩和欧美的一区| 国产精品综合网| 一本在线高清不卡dvd| 欧美一区二区在线观看| 亚洲国产激情av| 亚洲午夜在线电影| 麻豆成人91精品二区三区| 岛国精品在线观看| 色美美综合视频| 日韩一本二本av| 国产三级久久久| 一区二区久久久| 国内外成人在线视频| 99久久久久久| 日韩免费看的电影| 一区在线观看免费| 日本va欧美va欧美va精品| 国产电影一区在线| 欧美裸体bbwbbwbbw| 2020国产精品自拍| 一区二区三区久久| 国产资源精品在线观看| 在线观看亚洲精品视频| 精品欧美一区二区在线观看| 亚洲日本在线天堂| 国产资源在线一区| 欧美日韩国产在线观看| 中文字幕精品一区| 免费日韩伦理电影| 91福利资源站| 欧美国产一区二区| 免费人成精品欧美精品| 91免费精品国自产拍在线不卡| 日韩一级大片在线观看| 亚洲一区av在线| 成人午夜av影视| 欧美成人一区二区三区在线观看 | 亚洲日本在线天堂| 韩国在线一区二区| 欧美系列亚洲系列| 亚洲欧美在线高清| 国内精品免费**视频| 欧美另类videos死尸| 亚洲精品久久久蜜桃| 成人免费va视频| 久久综合av免费| 男男视频亚洲欧美| 制服丝袜中文字幕亚洲| 亚洲免费在线视频一区 二区| 国产乱码字幕精品高清av| 在线不卡欧美精品一区二区三区| 日韩毛片高清在线播放| 国产99久久久国产精品免费看| 日韩视频123| 亚洲1区2区3区视频| 色8久久人人97超碰香蕉987| 国产精品入口麻豆原神| 国产精品资源站在线| 欧美成人女星排行榜| 青青草国产成人av片免费| 欧美精品日日鲁夜夜添| 亚洲bdsm女犯bdsm网站| 欧美日韩在线播放一区| 夜色激情一区二区| 99re热视频这里只精品| 综合久久久久久| 91丨porny丨国产| 亚洲视频电影在线| 色综合欧美在线| 亚洲欧美电影一区二区| 色综合网色综合| 亚洲精选免费视频| 色婷婷久久综合| 亚洲成在线观看| 欧美日高清视频| 午夜久久久久久电影| 3d动漫精品啪啪一区二区竹菊| 日韩av不卡一区二区| 欧美精品高清视频| 欧美aⅴ一区二区三区视频| 日韩一区二区三区电影| 久草热8精品视频在线观看| xf在线a精品一区二区视频网站| 国产一区二区三区最好精华液| 久久亚洲精精品中文字幕早川悠里| 精品综合久久久久久8888| 久久久精品天堂| 99久久99久久久精品齐齐| 亚洲精品免费视频| 欧美视频完全免费看| 日韩不卡免费视频| 精品国产第一区二区三区观看体验| 国精产品一区一区三区mba视频| 国产欧美视频一区二区| 91影院在线免费观看| 亚洲一区在线观看视频| 日韩片之四级片| 国产精品一二三| 亚洲男同1069视频| 欧美精品精品一区| 国产经典欧美精品| ㊣最新国产の精品bt伙计久久| 色94色欧美sute亚洲线路二| 欧美aaa在线| 国产精品色在线观看| 91在线视频在线| 天天操天天干天天综合网| 久久久亚洲综合| 91麻豆.com| 美脚の诱脚舐め脚责91| 国产日韩av一区二区| 日本黄色一区二区| 韩国女主播一区二区三区| 中文字幕亚洲不卡| 91精品国产丝袜白色高跟鞋| 国产1区2区3区精品美女| 亚洲主播在线观看| 精品国产乱码久久| 在线观看视频一区二区欧美日韩| 免费人成精品欧美精品| 国产精品国产三级国产专播品爱网| 欧美日韩免费视频| 国产99久久久精品| 男女性色大片免费观看一区二区| 国产精品无码永久免费888| 欧美日韩久久一区| 成人黄色在线网站| 日韩精品乱码av一区二区| 欧美国产激情二区三区 | 国产精品色噜噜| 欧美色图片你懂的| 懂色av中文一区二区三区| 亚洲成人av在线电影| 国产色综合一区| 69堂成人精品免费视频| 成人免费的视频| 韩日精品视频一区| 日韩在线一区二区三区| 中文字幕一区二区三区四区| 日韩免费看的电影| 欧美日韩午夜在线视频| 成人激情小说乱人伦| 日本aⅴ亚洲精品中文乱码| 亚洲色图都市小说| 精品国内二区三区| 欧美日韩国产大片| 91在线免费视频观看| 国产在线不卡一区| 日本成人在线不卡视频| 一区二区三区日韩欧美| 国产精品欧美极品| 久久理论电影网| 欧美大度的电影原声| 日韩三级精品电影久久久| 亚洲精品ww久久久久久p站| 4438x成人网最大色成网站| 99精品视频在线观看免费| 日本不卡的三区四区五区| 国产精品小仙女| 91福利精品视频| 欧美精品一区二区蜜臀亚洲| 一区视频在线播放| 免费欧美高清视频| 色哟哟欧美精品| 日韩精品中文字幕在线不卡尤物| 国产精品亲子乱子伦xxxx裸| 亚洲成av人综合在线观看| 国产高清精品在线| 欧美一区日韩一区| 亚洲图片你懂的| 国产一区 二区 三区一级| 欧美色成人综合| 亚洲视频网在线直播|