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

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

?? mx25l1605.v

?? Verilog based simluation model for MXIC SPI Flash.
?? V
?? 第 1 頁 / 共 5 頁
字號:
/*----------------------------------------------------------------------------**    mx25L1605.v - 16M-BIT CMOS Serial eLiteFlash EEPROM**            COPYRIGHT 2001 BY Macronix International Corporation**-----------------------------------------------------------------------------*  Environment  : VCS*  Author       : C.M. Wu *  Creation Date: 2004/10/18*  VERSION      : V 0.02*  Note         : This model do not include test mode *  Description  : *                 module flash_16m -> behavior model for the 16M serial flash*-----------------------------------------------------------------------------*/`timescale 1ns / 10ps      // Define controller state      `define    STANDBY_STATE          0      `define    ACTION_STATE           1      `define    CMD_STATE              2      `define    BAD_CMD_STATE          3      `define    ERASE_TIME             1_000_000_000  //     1 s      `define    CHIP_ERASE_TIME           64_000_000  //    64 s      `define    PROG_TIME                  3_000_000  //     3 ms      // Time delay to write instruction       `define    PUW_TIME                  10_000_000  //    10 ms  `define    MX25L1605 //MX25L1605 MX25L3205 MX25L6405`ifdef MX25L1605        `define    FLASH_ADDR  21       `define    SECTOR_ADDR 7`else         `ifdef MX25L3205             `define    FLASH_ADDR  22             `define    SECTOR_ADDR 7       `else             `ifdef  MX25L6405                  `define    FLASH_ADDR  23                  `define    SECTOR_ADDR 7            `endif       `endif  `endif       `define FLASH_TYPE 0module flash_16m( SCLK, CS, SI, SO, PO0, PO1, PO2, PO3, PO4, PO5, PO6, WP);    //---------------------------------------------------------------------    // Declaration of ports (input,output, inout)    //---------------------------------------------------------------------    input  SCLK,    // Signal of Clock Input           CS,      // Chip select (Low active)           SI,      // Serial Data Input           WP;      // Write Protection:connect to GND    inout  SO,      // Serial Data Output // PO7/           PO6,     // Parallel data output                PO5,     // Parallel data output           PO4,     // Parallel data output           PO3,     // Parallel data output           PO2,     // Parallel data output           PO1,     // Parallel data output           PO0;     // Parallel data output               //---------------------------------------------------------------------    // Declaration of parameter (parameter)    //---------------------------------------------------------------------    parameter  FLASH_SIZE  = 1 << `FLASH_ADDR,  // 2M bytes               SECTOR_SIZE = 1 << 16,           // 64K bytes               FLASH_4kb_SIZE = 1 << 9,         // 4k bits               tAA     = 12,                    // Access Time [ns],tAA = tSKH + tCLQ               tC      = 20,                    // Clock Cycle Time,tC  = tSKH + tSKL                //tSKH   =  9,                   // Clock High Time               //tSKL   =  9,                   // Clock Low Time               tSHQZ   =  8,                    // CS High to SO Float Time [ns]               tCLQV   =  1,                    // Clock Low to Output Valid               tDP     =   3_000_000,           //   3 ms               tRES1   =  30_000_000,           //  30 ms               tRES2   =  30_000_000,           //  30 ms               tW_SRWD = 500_000_000,           // 500 ms               tW_BP   = 500_000_000,           // 500 ms               tW_WIP  =  30_000_000,           //  30 ms               tW_WEL  =  30_000_000;           //  30 ms        parameter  [7:0]  ID_MXIC   = 8'hc2;    `ifdef MX25L1605           parameter  [7:0]  ID_Device   = 8'h27;    // MX25L1605    `else            `ifdef MX25L3205                  parameter  [7:0]  ID_Device   = 8'h9d;    // MX25L3205           `else                 `ifdef MX25L6405                        parameter  [7:0]  ID_Device   = 8'h92;    // MX25L6405                  `endif                 `endif    `endif            parameter  [7:0]  WREN = 8'h06, //WriteEnable   = 8'h06,                      WRDI = 8'h04, //WriteDisable  = 8'h04,                      RDID = 8'h9F, //ReadID        = 8'h9f,                      RDSR = 8'h05, //ReadStatus    = 8'h05,                      WRSR = 8'h01, //WriteStatus   = 8'h01,                      READ = 8'h03, //ReadData      = 8'h03,                      FASTREAD = 8'h0b, //FastReadData  = 8'h0b,                      PARALLELMODE = 8'h55, //PallelMode    = 8'h55,                      SE1 = 8'h20, //SectorErase   = 8'h20,//8'hd8                      SE2 = 8'hd8, //SectorErase   = 8'h20,//8'hd8                      CE1 = 8'h60, //ChipErase     = 8'h60,//8'hc7                      CE2 = 8'hc7, //ChipErase     = 8'h60,//8'hc7                      PP = 8'h02, //PageProgram   = 8'h02,                      DP = 8'hb9, //DeepPowerDown = 8'hb9,                      EN4K = 8'ha5, //Enter4kbSector= 8'ha5,                      EX4K = 8'hb5, //Exit4kbSector = 8'hb5,                      RDP  = 8'hab, //ReleaseFromDeepPowerDwon = 8'hab,                      RES  = 8'hab, //ReadElectricID = 8'hab,                      REMS = 8'h90; //ReadElectricManufacturerDeviceID = 90;    //---------------------------------------------------------------------    // Declaration of internal-register (reg)    //---------------------------------------------------------------------    // memory array    reg  [7:0]       ROM_ARRAY[ 0:FLASH_SIZE-1 ];    reg  [7:0]       ROM_4Kb_ARRAY[ 0:FLASH_4kb_SIZE-1];    reg  [7:0]       status_reg;       // Status Register    reg  [256*8-1:0] si_reg;           // temp reg to store serial in    reg  [23:0]      address;          //     reg  [256*8-1:0] psi_reg;          // temp reg to store serial in    reg  [256*8-1:0] dummy_A;          // page size    reg  [12:0]      segment_addr;     // A[20:8] segment address    reg  [7:0]       offset_addr;      // A[7:0] means 256 bytes    reg  [`SECTOR_ADDR - 1:0]       sector;           // means 128 sectors    reg  [2:0]       state, rState;    reg  ENB_S0,ENB_P0,ENB_S1,ENB_P1;    reg  SO_reg;    reg  PO_reg6,PO_reg5,PO_reg4,PO_reg3,PO_reg2,PO_reg1,PO_reg0;    reg  latch_SO,latch_PO6,latch_PO5,latch_PO4,latch_PO3,latch_PO2,latch_PO1,latch_PO0;    reg  pp_p;    reg  pmode;        // parallel mode    reg  dpmode;       // deep power down mode    reg  enter4kbmode; // enter 4kb mode    reg  chip_erase_oe;    integer i,chip_erase_count;    wire wp_reg = WP;    //assign  {PO6,PO5,PO4,PO3,PO2,PO1,PO0} = WP ? 8'bz : {PO_reg6,PO_reg5,PO_reg4,PO_reg3,PO_reg2,PO_reg1,PO_reg0};    assign {SO,PO6,PO5,PO4,PO3,PO2,PO1,PO0} = pp_p ? 8'bz : {SO_reg,PO_reg6,PO_reg5,PO_reg4,PO_reg3,PO_reg2,PO_reg1,PO_reg0};    //assign {latch_SO,latch_PO6,latch_PO5,latch_PO4,latch_PO3,latch_PO2,latch_PO1,latch_PO0} = {SO,PO6,PO5,PO4,PO3,PO2,PO1,PO0};    always @(SO or PO6 or PO5 or PO4 or PO3 or PO2 or PO1 or PO0) begin          {latch_SO,latch_PO6,latch_PO5,latch_PO4,latch_PO3,latch_PO2,latch_PO1,latch_PO0} = {SO,PO6,PO5,PO4,PO3,PO2,PO1,PO0};          //latch_PO6 = PO6;    end    /*-------------------------------------------------------*/    /*  initial variable value                               */    /*-------------------------------------------------------*/        initial    begin         pp_p          = 1'b0;         enter4kbmode  = 1'b0;         dpmode        = 1'b0;         pmode         = 1'b0;         chip_erase_oe = 1'b0;         chip_erase_count = 0;         status_reg    = 8'b0000_0000;         {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};         i = 0;         while ( i < FLASH_4kb_SIZE ) begin             s_flash.ROM_4Kb_ARRAY[ i ] = 8'hFF;             i = i + 1;         end    end    /*-------------------------------------------------------*/    /*  latch signal SI into si_reg                          */    /*-------------------------------------------------------*/    always @( posedge SCLK ) begin        if ( $time > `PUW_TIME ) begin            if ( CS == 1'b0 ) begin                { si_reg[ 256*8-1:0 ] } = { si_reg[ 256*8-2:0 ], SI };            end        end     end    /*-------------------------------------------------------*/    /*  chip erase process                                   */    /*-------------------------------------------------------*/    always @( posedge chip_erase_oe ) begin        chip_erase_count = 0;        for ( chip_erase_count = 0;chip_erase_count<=`CHIP_ERASE_TIME;chip_erase_count=chip_erase_count+1)        begin        #1000;        end        //WIP : write in process bit        chip_erase_count = 0;        for( chip_erase_count = 0; chip_erase_count < FLASH_SIZE; chip_erase_count = chip_erase_count+1 )        begin            ROM_ARRAY[ chip_erase_count ] <= 8'hff;        end        chip_erase_count = 0;        //WIP : write in process bit        status_reg[0] <= 1'b0;//WIP        //WEL : write enable latch        status_reg[1] <= 1'b0;//WEL        chip_erase_oe = 1'b0;    end        /*-------------------------------------------------------*/    /*  Finite state machine to control Flash operation      */    /*-------------------------------------------------------*/    always @( posedge SCLK or posedge CS ) begin        if ( CS == 1'b1 ) begin    // Chip Disable            state <= #(tC-1) `STANDBY_STATE;           {SO_reg,PO_reg6,PO_reg5,PO_reg4,PO_reg3,PO_reg2,PO_reg1,PO_reg0} <= #tCLQV {1'bz,1'bz,1'bz,1'bz,1'bz,1'bz,1'bz,1'bz};        end        else begin    // Chip Enable            case ( state )                `STANDBY_STATE: begin                    {SO_reg,PO_reg6,PO_reg5,PO_reg4,PO_reg3,PO_reg2,PO_reg1,PO_reg0} <= #tCLQV {1'bz,1'bz,1'bz,1'bz,1'bz,1'bz,1'bz,1'bz};                    dummy_cycle( 6 );                    state <= #(tC-1) `CMD_STATE;                end                `CMD_STATE: begin                    #1;                    if ( si_reg[ 7:0 ] == WREN ) begin                        //$display( $stime, " Enter Write Enable Function ...");                        write_enable;                        //$display( $stime, " Leave Write Enable Function ...");                        state <= `STANDBY_STATE;                    end                     else if ( si_reg[ 7:0 ] == WRDI ) begin                        //$display( $stime, " Enter Write Disable Function ...");                        write_disable;                        //$display( $stime, " Leave Write Disable Function ...");                        state <= `STANDBY_STATE;                                            end                                        else if ( si_reg[ 7:0 ] == RDID ) begin                        //$display( $stime, " Enter Read ID Function ...");                        read_id;                        //$display( $stime, " Leave Read ID Function ...");                        state <= `STANDBY_STATE;                                            end                    else if ( si_reg[ 7:0 ] == RDSR ) begin                        //$display( $stime, " Enter Read Status Function ...");                        read_status ( status_reg );                        //$display( $stime, " Leave Read Status Function ...");                        state <= `STANDBY_STATE;                                            end                    else if ( si_reg[ 7:0 ] == WRSR ) begin                        //$display( $stime, " Enter Write Status Function ...");                        write_status;                        //$display( $stime, " Leave Write Status Function ...");                        state <= `STANDBY_STATE;                                            end                    else if ( si_reg[ 7:0 ] == READ ) begin                        //$display( $stime, " Enter Read Data Function ...");                        dummy_cycle( 24 );      // to get 24 bits address                        read_data;                        //$display( $stime, " Leave Read Data Function ...");                        state <= `STANDBY_STATE;                        

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线视频一区| 精品国产精品网麻豆系列| 成人高清视频在线| 懂色av一区二区在线播放| 国内成人精品2018免费看| 狠狠狠色丁香婷婷综合激情 | 亚洲免费观看在线观看| 国产精品免费视频网站| 国产精品久久久久久亚洲伦| 国产精品网站在线播放| 国产精品国产三级国产a| 中文字幕一区三区| 亚洲视频 欧洲视频| 亚洲激情第一区| 亚洲成av人片在线观看| 青青青爽久久午夜综合久久午夜| 日韩电影在线免费| 久久成人精品无人区| 国产高清精品久久久久| 成人av在线播放网站| 91丝袜美腿高跟国产极品老师| 日本道免费精品一区二区三区| 欧美日韩视频在线观看一区二区三区 | 国产精品美女一区二区| 亚洲精品视频一区| 三级久久三级久久| 激情深爱一区二区| 成人深夜视频在线观看| 欧美亚洲综合网| 日韩女优电影在线观看| 欧美激情一区二区三区在线| 亚洲伦理在线免费看| 天天综合天天做天天综合| 久久精品av麻豆的观看方式| 国产九色sp调教91| 91丨porny丨最新| 欧美高清性hdvideosex| 国产网站一区二区| 亚洲午夜久久久久中文字幕久| 美女国产一区二区三区| 岛国av在线一区| 欧美日韩国产小视频| 国产亚洲人成网站| 亚洲成a天堂v人片| 国产成人午夜99999| 色综合激情久久| 日韩精品一区二区三区视频播放 | 中文字幕中文字幕在线一区| 亚洲成av人在线观看| 国产成人av一区| 欧美老女人第四色| 国产精品私人影院| 日韩中文字幕亚洲一区二区va在线| 国产精品综合视频| 欧美日韩国产首页在线观看| 国产精品丝袜久久久久久app| 午夜精品一区二区三区三上悠亚 | 欧美精品1区2区| 国产精品网站在线| 麻豆国产91在线播放| 91色在线porny| 欧美精品一区二区三区在线播放| 亚洲视频一二区| 久久国产精品色婷婷| 在线看国产一区二区| 国产欧美日韩精品一区| 天天色天天操综合| 99久久久国产精品| 久久美女高清视频| 丝袜亚洲另类丝袜在线| 91免费版pro下载短视频| 久久精品视频一区| 美女脱光内衣内裤视频久久影院| 色欧美88888久久久久久影院| 久久亚洲精品国产精品紫薇| 爽好久久久欧美精品| 色婷婷综合激情| 国产精品美女久久福利网站| 九九九精品视频| 欧美一区二区不卡视频| 一二三四区精品视频| 粉嫩高潮美女一区二区三区 | 亚洲另类在线一区| 粉嫩13p一区二区三区| 精品少妇一区二区三区| 午夜天堂影视香蕉久久| 欧洲日韩一区二区三区| 亚洲视频香蕉人妖| 99热精品一区二区| 国产日韩精品一区二区三区| 国产乱理伦片在线观看夜一区| 91精品国产入口| 亚洲国产日韩一级| 在线视频综合导航| 一区二区三区免费观看| 欧美三级日韩在线| 午夜伊人狠狠久久| 欧美羞羞免费网站| 亚洲一区自拍偷拍| 欧美性一区二区| 午夜伦欧美伦电影理论片| 91官网在线免费观看| 亚洲精品国产一区二区精华液| jlzzjlzz国产精品久久| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产精品影视在线观看| 欧美精品一区二区精品网| 久久电影网电视剧免费观看| 精品盗摄一区二区三区| 国内精品久久久久影院色| 亚洲精品在线观| 国模冰冰炮一区二区| 久久视频一区二区| 岛国精品在线播放| 亚洲人成人一区二区在线观看| 91美女视频网站| 亚洲国产精品久久人人爱| 欧美精品久久天天躁| 日本女人一区二区三区| 欧美精品一区二区三区蜜臀| 国产精品综合久久| 欧美国产日韩在线观看| 91啪亚洲精品| 亚洲第一搞黄网站| 欧美一区二区视频在线观看2022| 久久综合综合久久综合| 久久精品男人的天堂| 一本大道久久a久久精品综合| 亚洲一区二区三区在线播放 | 日日骚欧美日韩| 日韩三级高清在线| 国产**成人网毛片九色| 亚洲综合免费观看高清完整版在线| 欧美日韩情趣电影| 国产一区二区三区四区五区美女| 国产精品成人午夜| 欧美性大战xxxxx久久久| 久久精品国产网站| 中文字幕av一区二区三区高| 91国产成人在线| 精品在线播放免费| 亚洲欧美激情一区二区| 日韩三级视频在线看| 99久久久久免费精品国产| 婷婷久久综合九色综合绿巨人| 精品99一区二区三区| 91麻豆产精品久久久久久 | 在线播放中文一区| 国产精品综合网| 亚洲第一av色| 久久精品欧美日韩精品| 欧美日韩在线观看一区二区 | 秋霞午夜av一区二区三区| 国产亚洲精品久| 欧美日韩五月天| 国产91精品一区二区| 视频一区国产视频| 国产偷国产偷亚洲高清人白洁| 欧美日韩精品免费| kk眼镜猥琐国模调教系列一区二区| 亚洲电影中文字幕在线观看| 久久久久久**毛片大全| 欧美日本韩国一区二区三区视频| 国产曰批免费观看久久久| 一区二区不卡在线播放 | 久久嫩草精品久久久精品一| 色吊一区二区三区| 国产精品自拍在线| 天天综合色天天综合| 国产精品国产三级国产aⅴ入口| 91精品午夜视频| 91麻豆福利精品推荐| 亚洲已满18点击进入久久| 中文无字幕一区二区三区 | 美腿丝袜在线亚洲一区| 夜夜嗨av一区二区三区四季av| 欧美国产精品v| 精品日产卡一卡二卡麻豆| 欧美色精品在线视频| 91在线高清观看| 国v精品久久久网| 精品一区二区三区影院在线午夜| 亚洲成a人片在线不卡一二三区| 成人欧美一区二区三区在线播放| 国产亚洲欧美一区在线观看| 91精品国产福利| 欧美美女bb生活片| 色婷婷av一区| 91网上在线视频| av午夜精品一区二区三区| 国产激情精品久久久第一区二区 | 国产在线精品一区二区不卡了 | 色综合一个色综合亚洲| 不卡在线视频中文字幕| 成人做爰69片免费看网站| 国产主播一区二区三区| 久久66热偷产精品| 久久99国产乱子伦精品免费| 久久精品国产亚洲5555| 美女www一区二区|