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

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

?? mx25l512.v

?? Verilog based simluation model for MXIC SPI Flash.
?? V
?? 第 1 頁 / 共 5 頁
字號:
                        //$display( $stime, " Enter Block Erase Function ...");
                        //dummy_cycle( 24 );      // to get 24 bits address
                        chip_erase;
                        //$display( $stime, " Leave Block Erase Function ...");
                        state <= `STANDBY_STATE;                        
                    end

                    else if ( si_reg[ 7:0 ] == CE1 || si_reg[ 7:0 ] == CE2 ) begin
                        //$display( $stime, " Enter Chip Erase Function ...");
                        chip_erase;
                        //$display( $stime, " Leave Chip Erase Function ...");
                        state <= `STANDBY_STATE;
                    end

                    else if ( si_reg[ 7:0 ] == PP ) begin
                        //$display( $stime, " Enter Page Program Function ...");
                        dummy_cycle( 24 );      // to get 24 bits address
                        setup_addr( si_reg, segment_addr, offset_addr );
                        page_program( segment_addr, offset_addr );
                        update_array( segment_addr, offset_addr );
                        //$display( $stime, " Leave Page Program Function ...");
                        state <= `STANDBY_STATE;                        
                    end

                    else if ( si_reg[ 7:0 ] == DP ) begin
                        //$display( $stime, " Enter Deep Power Dwon Function ...");
                        deep_power_down;
                        //$display( $stime, " Leave Deep Power Down Function ...");
                        state <= `STANDBY_STATE;
                    end

                    //else if ( si_reg[ 7:0 ] == EN4K ) begin
                    //    //$display( $stime, " Enter Enter 4Kb Sector Function ...");
                    //    enter_4kb_sector;
                    //    //$display( $stime, " Leave Entor 4Kb Sector Function ...");
                    //    state <= `STANDBY_STATE;
                    //end

                    //else if ( si_reg[ 7:0 ] == EX4K ) begin
                    //    //$display( $stime, " Enter Exit 4Kb Sector Function ...");
                    //    exit_4kb_sector;
                    //    //$display( $stime, " Leave Exit 4Kb Sector Function ...");
                    //    state <= `STANDBY_STATE;
                    //end

                    else if ( si_reg[ 7:0 ] == RDP || si_reg[ 7:0 ] == RES ) begin
                        //$display( $stime, " Enter Release from Deep Power Dwon Function ...");
                        release_from_deep_power_dwon;
                        //$display( $stime, " Leave Release from Deep Power Dwon Function ...");
                        state <= `STANDBY_STATE;
                    end

                    else if ( si_reg[ 7:0 ] == REMS ) begin
                        //$display( $stime, " Enter Read Electronic Manufacturer & ID Function ...");
                        dummy_cycle ( 16 ); // 2 dummy cycle
                        dummy_cycle ( 8 );  // 1 AD
                        read_electronic_manufacturer_device_id;
                        //$display( $stime, " Leave Read Electronic Manufacturer & ID Function ...");
                        state <= `STANDBY_STATE;
                    end
                    
                    else begin
                        state <= #1 `BAD_CMD_STATE;
                    end
                end

                `BAD_CMD_STATE: begin
                    //SO <= #tSHQZ 1'bz;
                    SO_reg <= #tSHQZ 1'bz;
                    state <= #(tC-1) `BAD_CMD_STATE;
                end

                default: begin
                    SO_reg <= #tAA 1'bx;
                    state <= #(tC-1) `STANDBY_STATE;
                end
            endcase
        end  // else begin
    end  //  always @( posedge SCLK or posedge CS ) begin

    //////////////////////////////////////////////////////////////////////
    //  Module Task Declaration
    //////////////////////////////////////////////////////////////////////
    /*---------------------------------------------------------------*/
    /*  Description: define a wait dummy cycle task                  */
    /*  INPUT                                                        */
    /*      cnum: cycle number                                       */
    /*---------------------------------------------------------------*/
    task dummy_cycle;
        input [31:0] cnum;

        begin
            repeat( cnum ) begin
                @( posedge SCLK );
            end
        end
    endtask

    /*---------------------------------------------------------------*/
    /*  Description: setup segment address and offset address from   */
    /*               4-byte serial input.                            */
    /*  INPUT                                                        */
    /*      si: 4-byte serial input                                  */
    /*  OUTPUT                                                       */
    /*      segment: segment address                                 */
    /*      offset : offset address                                  */
    /*---------------------------------------------------------------*/
    task setup_addr;
        input  [23:0] si;
        output [13:0] segment;
        output [7:0]  offset;

        begin
            #1;
            { offset[ 7:0 ] }   = { si_reg[ 7:0 ] };
            { segment[ 13:0 ] } = { si_reg[ 23:8 ] };
        end
    endtask

    /*---------------------------------------------------------------*/
    /*  Description: setup sector address                            */
    /*  INPUT                                                        */
    /*      si: 2-byte serial input                                  */
    /*  OUTPUT                                                       */
    /*      sector: sector address                                   */
    /*---------------------------------------------------------------*/
    task setup_sector;
        input  [23:0] si;
        output [`SECTOR_ADDR -1:0] sector;  // A[`SECTOR_ADDR -1:16] defines a sector

        begin
            #1;
            { sector[`SECTOR_ADDR -1:0 ] } = { si_reg[ 11:4 ] };
        end
    endtask
    /*---------------------------------------------------------------*/
    /*  Description: define a write enable task                      */
    /*---------------------------------------------------------------*/
    task write_enable;
        begin
            //$display( $stime, " Old Status Register = %b", status_reg );
            forever begin
                @( posedge SCLK or posedge CS );
                if ( CS == 1'b1 ) begin
                    if ( dpmode == 1'b0) begin //do work on non deep power down mode 
                        status_reg[1] = 1'b1; 
                        //$display( $stime, " New Status Register = %b", status_reg );
                        if (pmode == 0) begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};
                        end    
                        else begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b0,1'b1,1'b0,1'b0};
                        end
                    end    
                        disable write_enable;
                end
                else begin
                    if ( dpmode == 1'b0) begin //do work on non deep power down mode 
                        if (pmode == 0) begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};
                        end    
                        else begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b0,1'b1,1'b0,1'b0};
                        end
                    end    
                end
            end
        end
    endtask
    
    /*---------------------------------------------------------------*/
    /*  Description: define a write disable task (WRDI)              */
    /*---------------------------------------------------------------*/
    task write_disable;
        begin
            //$display( $stime, " Old Status Register = %b", status_reg );
            if ( dpmode == 1'b0) begin //do work on non deep power down mode 
                if (pmode == 0) begin
                    {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};
                end    
                else begin
                    {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b0,1'b1,1'b0,1'b0};
                end
            end    
            forever begin
                @( posedge SCLK or posedge CS );
                if ( CS == 1'b1 ) begin
                    if ( dpmode == 1'b0) begin //do work on non deep power down mode 
                        if (pmode == 0) begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};
                        end    
                        else begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b0,1'b1,1'b0,1'b0};
                        end
                        status_reg[1] = 1'b0; 
                        //$display( $stime, " New Status Register = %b", status_reg );
                    end    
                    disable write_disable;
                end
                else begin
                end
            end
        end
    endtask
    
    /*---------------------------------------------------------------*/
    /*  Description: define a read id task (WRID)                    */
    /*---------------------------------------------------------------*/
    task read_id;
        reg  [ 23:0 ] dummy_ID;
        integer dummy_count;
        begin
            dummy_ID = {ID_MXIC,8'h00,ID_Device};
            dummy_count = 0;
            if (pmode == 0) begin
                {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};
            end    
            else begin
                {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b0,1'b1,1'b0,1'b0};
            end
            forever begin
                @( negedge SCLK or posedge CS );
                if ( CS == 1'b1 ) begin
                    if ( dpmode == 1'b0) begin //do work on non deep power down mode 
                        if (pmode == 0) begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};
                        end    
                        else begin
                            {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b0,1'b1,1'b0,1'b0};
                        end
                        SO_reg <= #tCLQV 1'bz; 
                        //SO = #tCLQV 1'bz;
                    end    
                    disable read_id;
                end
                else begin
                     if ( dpmode == 1'b0) begin //do work on non deep power down mode 
                         if ( pmode == 1'b0) begin // check parallel mode (2)
                             { SO_reg, dummy_ID } <= #tCLQV { dummy_ID, dummy_ID[ 23 ] };
                         end
                         else begin
                             if ( dummy_count == 0 ) begin
                                 SO_reg <= #tCLQV ID_MXIC;
                                 dummy_count = 1;
                             end    
                             else if ( dummy_count == 1 ) begin    
                                 SO_reg <= #tCLQV 8'h00;
                                 dummy_count = 2;
                             end
                             else if ( dummy_count == 2 ) begin                         
                                 SO_reg <= #tCLQV ID_Device;
                                 dummy_count = 0;
                             end    
                         end
                     end    
                end
            end  // end forever
        end
    endtask
    
    /*---------------------------------------------------------------*/
    /*  Description: define a read status task (WRSR)                */
    /*---------------------------------------------------------------*/
    task read_status;
        input  [ 7:0 ] s_reg;
        reg    [ 7:0 ] dummy_reg;
        integer dummy_count;
        begin
            dummy_reg = s_reg;
            dummy_count = 8;
            if ( dpmode == 1'b0) begin //do work on non deep power down mode 
                if (pmode == 0) begin
                    {ENB_S0,ENB_P0,ENB_S1,ENB_P1} = {1'b1,1'b0,1'b0,1'b0};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久婷婷国产综合精品电影| 亚洲男人的天堂在线aⅴ视频| 欧美日韩一区在线| 色综合久久久网| 99精品视频中文字幕| 成人av午夜电影| 在线影视一区二区三区| 欧美日韩一区二区三区免费看 | 欧美日韩一区二区三区免费看| 色天天综合色天天久久| 色婷婷综合久色| 欧美一区二区三区日韩视频| 欧美大片免费久久精品三p| 精品国产欧美一区二区| 亚洲国产精品精华液2区45| 一区二区三区欧美视频| 欧美96一区二区免费视频| 国产剧情一区在线| 色视频一区二区| 欧美va亚洲va国产综合| 国产精品国产三级国产三级人妇| 午夜影视日本亚洲欧洲精品| 国产一区二区在线免费观看| 91国产免费看| 国产三区在线成人av| 日韩不卡免费视频| 99久久伊人久久99| 久久久久成人黄色影片| 日韩一级大片在线观看| 日本va欧美va瓶| eeuss鲁片一区二区三区| 欧美一级日韩免费不卡| 亚洲精品视频一区| 懂色av中文字幕一区二区三区| 欧美日韩国产a| 亚洲美女区一区| 色综合天天性综合| 综合欧美亚洲日本| 91社区在线播放| 国产精品美女久久久久久久久| 韩国三级中文字幕hd久久精品| 欧美中文一区二区三区| 一区二区三区四区在线播放 | 欧美伊人久久久久久午夜久久久久| 久久精品亚洲一区二区三区浴池| 亚洲成人黄色影院| 欧美日韩免费不卡视频一区二区三区| 亚洲欧洲国产日韩| 欧美午夜一区二区三区免费大片| 亚洲日本中文字幕区| 色94色欧美sute亚洲13| 樱花影视一区二区| 欧美日韩国产123区| 美女一区二区三区| 国产精品视频免费| 在线免费精品视频| 青青草成人在线观看| 日韩视频永久免费| 成人美女视频在线观看18| 亚洲欧美日本韩国| 26uuu亚洲综合色| 色网综合在线观看| 国产精品一区二区在线看| **网站欧美大片在线观看| 欧美性三三影院| 国产成人免费9x9x人网站视频| 亚洲手机成人高清视频| 精品人在线二区三区| 97精品久久久久中文字幕| 一区精品在线播放| 欧美白人最猛性xxxxx69交| 95精品视频在线| 婷婷综合在线观看| 综合久久久久久久| 国产亚洲精品资源在线26u| 91久久奴性调教| 国产成人亚洲综合色影视| 日韩国产在线观看| 亚洲综合男人的天堂| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美精品三级在线观看| 岛国精品一区二区| jlzzjlzz亚洲日本少妇| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩一区二区三区不卡| 91美女在线看| 在线观看亚洲一区| 色婷婷久久久久swag精品| 成人动漫一区二区在线| 国产成人午夜精品影院观看视频 | 在线综合视频播放| 中日韩av电影| 日本道精品一区二区三区| 成人午夜免费av| 丰满少妇在线播放bd日韩电影| 国产一区91精品张津瑜| 懂色av中文一区二区三区| thepron国产精品| 91精品91久久久中77777| 欧美日韩一级黄| 精品女同一区二区| 中文字幕日本不卡| 亚洲电影在线播放| 国产主播一区二区| 色欲综合视频天天天| 欧美α欧美αv大片| 亚洲欧美另类综合偷拍| 日本麻豆一区二区三区视频| 国产成人精品影院| 欧美一级淫片007| 一区二区三区欧美久久| 国内一区二区视频| 欧美欧美午夜aⅴ在线观看| 欧美mv和日韩mv的网站| 亚洲国产一区二区三区青草影视| 狠狠网亚洲精品| 欧美麻豆精品久久久久久| 亚洲欧洲av在线| 国产一区二区福利| 69久久99精品久久久久婷婷| 亚洲欧美电影一区二区| 狠狠色伊人亚洲综合成人| 91色在线porny| 国产精品久久久久久久久搜平片 | 欧美一区二区三区日韩视频| 亚洲人精品午夜| www.综合网.com| 欧美高清一级片在线观看| 另类小说欧美激情| 日韩精品中文字幕一区二区三区| 亚洲国产视频a| 欧美一区二区在线免费播放| 亚洲国产精品自拍| 欧美日韩国产a| 日韩不卡一区二区三区| 欧美老肥妇做.爰bbww视频| 亚洲国产精品一区二区久久恐怖片| 成人精品视频网站| 亚洲自拍与偷拍| 欧美美女bb生活片| 国产一区免费电影| 欧美激情一区在线| 色噜噜偷拍精品综合在线| 亚洲一区视频在线| 91精品国产色综合久久不卡电影| 日韩经典中文字幕一区| 久久综合丝袜日本网| 99精品久久免费看蜜臀剧情介绍| 亚洲精品高清视频在线观看| 在线观看中文字幕不卡| 五月天亚洲婷婷| 国产亚洲女人久久久久毛片| 国产成人在线视频网址| 亚洲资源中文字幕| 国产亚洲污的网站| 911精品国产一区二区在线| 国产麻豆精品视频| 无码av免费一区二区三区试看 | 成人手机电影网| 丝袜脚交一区二区| 亚洲激情男女视频| 中文av字幕一区| 精品国产百合女同互慰| 色综合亚洲欧洲| 中文字幕五月欧美| 欧美精品日日鲁夜夜添| 色婷婷综合久久久| 成人av网址在线观看| 黑人巨大精品欧美黑白配亚洲| 亚洲曰韩产成在线| 亚洲精品久久7777| 亚洲欧美日韩中文播放| 亚洲色图欧洲色图婷婷| 国产精品日韩成人| 国产精品蜜臀av| 26uuu另类欧美亚洲曰本| 日韩欧美中文一区二区| 7777精品伊人久久久大香线蕉完整版 | 日本一二三不卡| 中文字幕一区二区三区不卡| 中文字幕在线观看一区| 亚洲美女视频在线| 亚洲综合在线第一页| 午夜影院久久久| 美女精品自拍一二三四| 国内久久婷婷综合| 成人涩涩免费视频| 成人黄色综合网站| 欧洲亚洲国产日韩| 精品欧美一区二区在线观看| 欧美国产精品一区二区| 亚洲国产一区二区在线播放| 免费人成网站在线观看欧美高清| 麻豆精品久久精品色综合| 韩国女主播一区二区三区| 日本韩国欧美一区二区三区| 欧美日韩国产经典色站一区二区三区| 欧美一区二区三区影视| 亚洲同性同志一二三专区| 日本欧美大码aⅴ在线播放|