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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲超丰满肉感bbw| 成人手机电影网| 91在线播放网址| 久久综合av免费| 韩国一区二区在线观看| 日韩一区二区三区四区 | 国产黄色精品视频| 欧美亚洲国产一区二区三区va| 91精品国产一区二区三区香蕉| 亚洲欧美日韩人成在线播放| 成人高清av在线| 亚洲欧洲色图综合| 成人黄页在线观看| 国产精品久久久久四虎| 97精品久久久久中文字幕 | 欧美午夜影院一区| 午夜精彩视频在线观看不卡| 日韩一区二区三区在线视频| 亚洲成av人片在线| 欧美大度的电影原声| 狠狠色伊人亚洲综合成人| 国产亚洲精品aa| 欧美性色黄大片| 韩国av一区二区三区| 亚洲色图一区二区| 日韩欧美国产三级电影视频| 成人av电影免费观看| 国产人伦精品一区二区| 国内成人免费视频| 亚洲一卡二卡三卡四卡五卡| 日韩久久精品一区| 色吊一区二区三区| 国产精品一区二区无线| 久久久99免费| 日韩欧美一级在线播放| 91蜜桃视频在线| 国产一区二区不卡在线| 亚洲成人黄色影院| 国产精品超碰97尤物18| 久久久天堂av| 精品久久久久香蕉网| 在线一区二区三区四区| 成人国产亚洲欧美成人综合网| 日本人妖一区二区| 视频一区二区国产| 亚洲狠狠爱一区二区三区| 国产精品电影一区二区三区| 久久久午夜精品理论片中文字幕| 欧美日韩国产首页| 国产成人小视频| 亚洲午夜电影网| 亚洲一区二区三区自拍| 亚洲精品国产无套在线观| 一区免费观看视频| 亚洲欧美综合色| 亚洲精品综合在线| 亚洲精品视频在线看| 一区二区三区在线观看视频| 国产精品乱人伦一区二区| 中文字幕中文字幕中文字幕亚洲无线 | 亚洲私人影院在线观看| 亚洲免费观看在线视频| 一区二区激情小说| 强制捆绑调教一区二区| 久久99精品久久久久| 成熟亚洲日本毛茸茸凸凹| 99久久精品国产导航| 欧美午夜免费电影| 欧美成人一区二区三区片免费| 精品国产免费一区二区三区四区| 欧美怡红院视频| 色偷偷久久一区二区三区| 欧美一区二区三区视频在线观看| 亚洲精品一区二区在线观看| 中文字幕亚洲视频| 日本欧美加勒比视频| 丁香桃色午夜亚洲一区二区三区| av中文字幕在线不卡| 欧美二区三区91| 亚洲欧美在线aaa| 久久99热99| 欧美日本一区二区在线观看| 精品成人免费观看| 亚洲黄色av一区| 国产精品亚洲一区二区三区妖精| 91精品福利在线| 中文一区在线播放| 精品一区二区影视| 51精品视频一区二区三区| 亚洲欧洲色图综合| 成人av在线播放网址| 精品999在线播放| 日本不卡123| 91年精品国产| 亚洲欧美aⅴ...| 日欧美一区二区| 99精品在线免费| 国产精品久久久久久久久久久免费看 | 欧美调教femdomvk| 一区二区三区精品在线| 不卡电影一区二区三区| 国产午夜精品在线观看| 国产乱子轮精品视频| 亚洲精品在线观看网站| 久久99国产精品免费网站| 91精品国产一区二区| 麻豆精品在线看| 久久午夜国产精品| 成人听书哪个软件好| 国产精品久久久久久福利一牛影视| 国产成人aaa| 国产精品女主播在线观看| 91丨国产丨九色丨pron| 亚洲综合色丁香婷婷六月图片| 99国产精品久久久久久久久久| 国产精品久久久久久久裸模| 99re热视频这里只精品| 亚洲电影欧美电影有声小说| 日韩欧美激情一区| 91视频观看免费| 日本午夜精品一区二区三区电影| 日韩精品一区二区三区视频播放| 久久99精品久久久久久动态图 | 91精品国产色综合久久不卡电影| 韩国精品在线观看| 亚洲最大成人网4388xx| 精品福利二区三区| 欧美伊人精品成人久久综合97| 久久电影网电视剧免费观看| 国产精品网站在线| 精品国产乱码久久久久久久| 91福利视频网站| 成人动漫视频在线| 麻豆成人久久精品二区三区小说| 国产精品久久久一区麻豆最新章节| 欧美三级一区二区| 韩国v欧美v日本v亚洲v| 国产精品久久久久影院色老大| 欧洲日韩一区二区三区| 成人黄色在线看| 国产成人在线色| 免费日本视频一区| 日本美女一区二区三区| 亚洲免费观看高清| 自拍av一区二区三区| 日本一区二区三区久久久久久久久不| 欧美系列一区二区| 欧美亚洲动漫另类| 欧美午夜视频网站| 精品视频在线看| 欧美在线观看一区二区| 色婷婷激情综合| 欧美色综合久久| 欧美美女一区二区三区| 欧美欧美欧美欧美首页| 91精品在线免费| 2017欧美狠狠色| 中文字幕不卡的av| 17c精品麻豆一区二区免费| 国产精品久久三区| 亚洲一区二区三区在线看| 亚洲高清视频在线| 美女免费视频一区| 不卡的av电影| 欧美日韩国产综合久久| 色综合色狠狠天天综合色| 欧美艳星brazzers| 欧美成人三级在线| 国产精品久久久久久久久果冻传媒| 国产精品污www在线观看| 亚洲一区成人在线| 国产成人精品www牛牛影视| 99热在这里有精品免费| 欧美丰满高潮xxxx喷水动漫| 国产日韩欧美精品电影三级在线| 亚洲婷婷在线视频| 狠狠色丁香久久婷婷综| 在线免费精品视频| 欧美国产日韩一二三区| 日本免费在线视频不卡一不卡二| av一区二区三区四区| 日韩一级片网址| 中文字幕中文字幕中文字幕亚洲无线| 午夜伊人狠狠久久| 一本色道久久综合亚洲91 | 欧美体内she精高潮| 日本一区二区三区免费乱视频| 日韩av二区在线播放| 欧洲一区在线电影| 亚洲精品免费看| 91片在线免费观看| 亚洲三级在线播放| 成人h精品动漫一区二区三区| 日韩一区二区高清| 亚洲综合精品自拍| 91影视在线播放| 国产精品入口麻豆九色| 国产69精品久久久久毛片| 精品国产凹凸成av人网站| 久久电影网站中文字幕|