亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲国产日产av| 国产精品久久久久久久久动漫| 亚洲第一会所有码转帖| 欧洲色大大久久| 日一区二区三区| 91精品国产91热久久久做人人| 免费观看一级特黄欧美大片| 亚洲精品一线二线三线| 国产精品一级在线| 亚洲日本欧美天堂| 欧美精品一二三| 黄网站免费久久| 亚洲天堂成人在线观看| 欧美精品日日鲁夜夜添| 蜜臀a∨国产成人精品| 国产亚洲午夜高清国产拍精品 | 在线免费观看日韩欧美| 性做久久久久久免费观看欧美| 欧美mv日韩mv| 亚洲一区二区高清| 欧美写真视频网站| 捆绑调教美女网站视频一区| 欧美精品一区二区三| 99精品视频中文字幕| 午夜久久久久久电影| 国产欧美日韩亚州综合| 欧美性大战xxxxx久久久| 国内一区二区在线| 国产精品午夜免费| 51午夜精品国产| 成人午夜大片免费观看| 午夜日韩在线电影| 国产欧美日韩在线| 欧美一区二区视频在线观看| 国产成人高清在线| 奇米色一区二区三区四区| 国产精品久久久久久久午夜片| 欧美一区二区在线看| 成人av在线影院| 美女脱光内衣内裤视频久久影院| 国产精品久久久久9999吃药| 日韩欧美的一区| 欧美在线免费播放| 波多野结衣在线aⅴ中文字幕不卡| 亚洲1区2区3区4区| 中文字幕综合网| 26uuu久久天堂性欧美| 欧美日韩一区二区欧美激情| 成人午夜av电影| 蜜臀久久99精品久久久画质超高清 | 视频一区中文字幕国产| 中文字幕视频一区二区三区久| 日韩色视频在线观看| 欧洲精品在线观看| av福利精品导航| 久久不见久久见免费视频1| 亚洲午夜久久久久久久久电影网| 国产精品天干天干在观线| 2023国产精品| 日韩精品一区二区三区在线观看 | 中文字幕二三区不卡| 精品人在线二区三区| 欧美精选在线播放| 色欧美片视频在线观看在线视频| 成人免费的视频| 国产91在线看| 国产高清亚洲一区| 国产在线一区观看| 韩国v欧美v亚洲v日本v| 美女一区二区在线观看| 视频在线在亚洲| 视频一区二区三区在线| 午夜久久电影网| 午夜精彩视频在线观看不卡| 亚洲国产精品影院| 亚洲成人激情av| 亚洲一区在线观看免费观看电影高清 | 同产精品九九九| 婷婷开心久久网| 视频一区在线视频| 免费观看在线色综合| 免费视频一区二区| 久久机这里只有精品| 国产一区二区三区久久悠悠色av| 另类成人小视频在线| 韩国在线一区二区| 国产酒店精品激情| www.日韩av| 日本精品一区二区三区四区的功能| 色婷婷久久久亚洲一区二区三区| 91麻豆蜜桃一区二区三区| 91精品91久久久中77777| 在线影院国内精品| 91精品国产综合久久国产大片| 欧美一级在线免费| 久久九九国产精品| 日韩理论电影院| 日韩精品视频网| 国产一区二区精品久久91| av男人天堂一区| 欧美日韩一区小说| 精品电影一区二区| 中文字幕亚洲欧美在线不卡| 一级日本不卡的影视| 日韩不卡免费视频| 国产电影一区在线| 欧美自拍偷拍一区| 欧美mv日韩mv国产| 亚洲乱码国产乱码精品精可以看 | 热久久国产精品| 国产在线精品国自产拍免费| 成人激情午夜影院| 7799精品视频| 国产精品乱人伦中文| 日韩成人伦理电影在线观看| 国产成人日日夜夜| 欧美性猛交xxxx乱大交退制版| 精品美女在线观看| 亚洲精选视频在线| 国内不卡的二区三区中文字幕 | 三级成人在线视频| 不卡欧美aaaaa| 欧美日本一区二区三区四区| 国产日韩欧美精品在线| 亚洲一区二区av在线| 久久激情五月激情| 欧美午夜精品久久久久久孕妇| 久久女同性恋中文字幕| 亚洲影视在线播放| 成人av网在线| 日韩视频一区二区在线观看| 18成人在线视频| 国内久久婷婷综合| 欧美精品久久一区二区三区| 国产精品欧美精品| 久久er99精品| 91精品久久久久久久久99蜜臂| 亚洲欧洲精品一区二区三区不卡 | 国产精品一二三四区| 欧美三级视频在线| 最新国产成人在线观看| 国产乱码精品一区二区三区忘忧草| 欧美日本一道本| 亚洲精品亚洲人成人网| 丰满白嫩尤物一区二区| 精品美女一区二区| 蜜臀a∨国产成人精品| 欧美伊人久久大香线蕉综合69| 中文字幕亚洲精品在线观看| 国产一区二区主播在线| 欧美一区二区三区日韩视频| 亚洲国产aⅴ成人精品无吗| 本田岬高潮一区二区三区| 久久久久久亚洲综合影院红桃 | 国产伦精一区二区三区| 日韩欧美一级二级| 奇米在线7777在线精品| 欧美精品自拍偷拍| 亚洲6080在线| 欧美日韩激情一区二区三区| 亚洲女与黑人做爰| 色综合网站在线| 国产精品第13页| 99re亚洲国产精品| 一区在线观看免费| 99久久99久久久精品齐齐| 国产日产欧美一区| 国产91精品露脸国语对白| 日本一区二区在线不卡| 成人在线视频一区二区| 国产精品乱码一区二区三区软件 | 美女视频第一区二区三区免费观看网站| 欧美自拍偷拍一区| 香蕉久久夜色精品国产使用方法| 欧美性xxxxx极品少妇| 午夜精品在线看| 精品久久久网站| 国产v日产∨综合v精品视频| 国产亚洲欧美激情| 成人av网站在线观看| 亚洲欧美国产高清| 欧美精选一区二区| 久久99国产乱子伦精品免费| www久久精品| 成人一区二区三区中文字幕| 中文字幕一区二区三区精华液| 99re视频这里只有精品| 亚洲综合激情网| 91精品国产欧美一区二区成人| 久久99精品久久久久久久久久久久| 久久精品一区二区三区av| proumb性欧美在线观看| 亚洲一二三级电影| 精品对白一区国产伦| proumb性欧美在线观看| 亚洲第四色夜色| 国产午夜亚洲精品理论片色戒 | 日韩精品成人一区二区三区| 欧美刺激午夜性久久久久久久| 国产精品伊人色|