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

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

?? 1234.txt

?? 一段NOR FLASH 控制器的Verilog源碼
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
一段NOR FLASH 控制器的Verilog源碼,自己學習用
module flash_controller(
        input clk,
        input reset_b,
        input module_enable,

        output [127:0] string,
        output ready,
        output [20:1] a,
        output flash_ce_b,
        output we_b,
        output oe_b,

        inout [15:0] d
);

wire resetb_b = (reset_b & module_enable);

reg [19:0] adr;
reg [15:0] data;

reg t_oe_b;
reg t_we_b;
reg t_flash_ce_b;

// write test data to the whole flash
reg [15:0] received_data;
reg [15:0] polling_data;
reg [3:0] wr_state;
reg [3:0] erase_state;
reg stop_writing_0;
reg stop_writing_1;
reg stop_erasing_1;
reg stop_erasing_2;
reg [3:0] wcnt;
reg [3:0] ecnt;
//reg [18:0] wr_word_adr;
reg [19:0] wr_word_adr;
reg [15:0] wr_word_data;
reg [23:0] err_cnt;
reg [29:0] delay;
reg erase_error;
reg read_error;
wire erase_finished = &delay;
reg last_chance;
reg [7:0] wr_errors;
reg otkl;

wire ERASE1 = ~stop_erasing_1 & ~stop_writing_1 & ~stop_erasing_2 & ~stop_writing_0;
wire ERASE2 =  stop_erasing_1 &  stop_writing_1 & ~stop_erasing_2 & ~stop_writing_0;

wire WRITE1 =  stop_erasing_1 & ~stop_writing_1 & ~stop_erasing_2 & ~stop_writing_0;
wire WRITE2 =  stop_erasing_1 &  stop_writing_1 &  stop_erasing_2 & ~stop_writing_0;

always @(posedge clk) begin
        if (~resetb_b) begin
                wr_state = 0;
                erase_state = 0;
                t_oe_b <= 1;
                t_we_b <= 1;
                t_flash_ce_b <= 1;
                data <= 16'hZZZZ;
                wcnt <= 0;
                ecnt = 0;
                err_cnt    <= 0;
                stop_writing_0 <= 0;
                stop_writing_1 <= 0;
                stop_erasing_1 <= 0;
                stop_erasing_2 <= 0;
                received_data <= 0;
                polling_data <= 0;
                delay = 0;
                erase_error <= 0;
                read_error <= 0;
                last_chance <= 0;
                wr_errors = 0;
                otkl <= 1;
        end
        else begin
                if (ERASE1 | ERASE2)
                        case (erase_state)
                        0: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        adr =         (ecnt == 0) ? 19'h00555 :
                                                        (ecnt == 1) ? 19'h002AA :
                                                        (ecnt == 2) ? 19'h00555 :
                                                        (ecnt == 3) ? 19'h00555 :
                                                        (ecnt == 4) ? 19'h002AA :
                                                        (ecnt == 5) ? 19'h00555 : 19'hXXXXX;
                                        otkl <= 1;
                                        erase_state = erase_state + 1'b1;
                                        delay = 0;
                                end
                        end
                        1: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                t_we_b = 0;
                                t_flash_ce_b = 0;
                                data =        (ecnt == 0) ? 16'h00AA :
                                                (ecnt == 1) ? 16'h0055 :
                                                (ecnt == 2) ? 16'h0080 :
                                                (ecnt == 3) ? 16'h00AA :
                                                (ecnt == 4) ? 16'h0055 :
                                                (ecnt == 5) ? 16'h0010 : 16'hXXXX;
                                otkl <= 0;
                                erase_state = erase_state + 1'b1;
                                delay = 0;
                                end
                        end
                        2: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        erase_state = erase_state + 1'b1;
                                        delay = 0;
                                end
                        end
                        3: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        t_we_b = 1;
                                        t_flash_ce_b = 1;
                                        ecnt = ecnt + 1'b1;
                                        if (ecnt < 6) erase_state = 0;
                                        else erase_state = erase_state + 1'b1;
                                        delay = 0;
                                end
                        end
                        4: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        otkl <= 1;
                                        ecnt = 0;
                                        erase_state = erase_state + 1'b1;
                                        delay = 0;
                                end
                        end
                        5: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        t_oe_b = 0;
                                        t_flash_ce_b = 0;
                                        adr = 19'h00000;
                                        erase_state = erase_state + 1'b1;
                                        delay = 0;
                                end
                        end
                        6: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        erase_state = erase_state + 1'b1;
                                        delay = 0;
                                end
                        end
                        7: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        delay = 0;
                                        polling_data <= d;
                                        erase_state = erase_state + 1'b1;
                                end
                        end
                        8: begin
                                delay = delay + 1'b1;
                                if (delay == 10) begin
                                        t_oe_b <= 1;
                                        t_flash_ce_b <= 1;
                                        erase_state = erase_state + 1'b1;
                                        delay = 0;
                                end
                        end
                        9: begin
                                        if (polling_data[7] == 1) begin
                                                erase_state = erase_state + 1'b1;
                                        end
                                        else begin
                                                if (last_chance) begin
                                                        erase_state = erase_state + 1'b1;
                                                        erase_error <= 1;
                                                end
                                                else
                                                        if (polling_data[5] == 1) begin
                                                                erase_state = 5;
                                                                last_chance <= 1;
                                                        end
                                                        else begin
                                                                erase_state = 5;
                                                        end
                                        end
                        end
                        10: begin
                        delay = delay + 1'b1;
                                if (delay == 10) begin
                                        if (ERASE1) begin
                                                stop_erasing_1 = 1;
                                                stop_writing_1 = 0;
                                                stop_erasing_2 = 0;
                                                stop_writing_0 = 0;
                                                wr_word_data = 16'h0001;
                                        end
                                        else if (ERASE2) begin
                                                stop_erasing_1 = 1;
                                                stop_writing_1 = 1;
                                                stop_erasing_2 = 1;
                                                stop_writing_0 = 0;
                                                wr_word_data = 16'hFFFE;
                                        end
                                        erase_state = 0;
                                        delay = 0;
                                        wr_word_adr  = 0;
                                end
                        end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲一区二区三区免费视频| 国产综合久久久久久久久久久久| 成人av电影在线| 中文字幕欧美日本乱码一线二线| 国产精品77777| 日本一区二区免费在线观看视频| 寂寞少妇一区二区三区| 亚洲女女做受ⅹxx高潮| 不卡影院免费观看| 亚洲天堂2014| 欧洲色大大久久| 午夜欧美在线一二页| 欧美日韩国产三级| 麻豆一区二区在线| 欧美激情一区二区| 91麻豆产精品久久久久久| 一区二区三区日韩欧美| 欧美日本一区二区| 韩国精品主播一区二区在线观看| 国产欧美精品一区aⅴ影院| 96av麻豆蜜桃一区二区| 舔着乳尖日韩一区| 精品国产乱码久久久久久老虎| 国产乱国产乱300精品| 中文av一区二区| 欧美视频完全免费看| 久久成人av少妇免费| 中文字幕精品三区| 欧美三级日韩三级| 国产在线精品一区在线观看麻豆| 亚洲日本护士毛茸茸| 欧美日韩高清一区二区不卡| 国产一区二区导航在线播放| 亚洲欧美一区二区三区孕妇| 制服丝袜中文字幕一区| 国产99久久久国产精品潘金| 亚洲一区二区三区在线播放| xvideos.蜜桃一区二区| 欧美在线影院一区二区| 精品一区二区三区不卡| 伊人开心综合网| 欧美成人精品1314www| av不卡在线播放| 伦理电影国产精品| 亚洲精品亚洲人成人网在线播放| 精品毛片乱码1区2区3区| 色激情天天射综合网| 国产在线视频不卡二| 亚洲一线二线三线视频| 久久久不卡网国产精品二区| 欧美日韩国产免费| 91亚洲精品久久久蜜桃网站| 激情六月婷婷久久| 亚洲国产一区视频| 日韩一区中文字幕| 午夜欧美在线一二页| 国产精品久线在线观看| 久久综合狠狠综合久久综合88| 欧美伊人久久大香线蕉综合69| 国产成都精品91一区二区三| 蜜臀av在线播放一区二区三区| 怡红院av一区二区三区| 中文字幕一区二区三区av| 欧美xxxxx牲另类人与| 宅男噜噜噜66一区二区66| 91官网在线观看| 91一区二区在线| 国产精品一区二区果冻传媒| 麻豆成人久久精品二区三区小说| 亚洲午夜在线视频| 亚洲黄色录像片| 亚洲欧美一区二区久久| 久久精品亚洲乱码伦伦中文| 欧美成人免费网站| 日韩欧美国产一区二区在线播放| 欧美三级电影在线观看| 色婷婷综合激情| 一本色道a无线码一区v| 91麻豆高清视频| 91香蕉视频mp4| 91麻豆免费看片| 色综合天天综合网天天狠天天| 成人美女在线观看| 波多野结衣中文字幕一区| 成人免费视频国产在线观看| 粉嫩高潮美女一区二区三区 | 久久在线观看免费| 欧美mv和日韩mv国产网站| 日韩视频永久免费| 精品国精品国产| 久久精品欧美一区二区三区麻豆 | 不卡一卡二卡三乱码免费网站| 国产一区二区中文字幕| 国产制服丝袜一区| 成人性生交大合| 99久久精品国产毛片| 91成人看片片| 欧美日韩国产综合一区二区| 欧美一区二区福利视频| 欧美成人a在线| 欧美韩国日本一区| 亚洲三级小视频| 性欧美大战久久久久久久久| 日本成人超碰在线观看| 国模娜娜一区二区三区| av网站免费线看精品| 欧美午夜在线观看| 精品国产乱码久久久久久久久| 久久久久国产一区二区三区四区| 亚洲国产成人在线| 亚洲国产欧美在线| 韩国成人福利片在线播放| 成人av在线播放网站| 欧美日韩综合在线免费观看| 精品美女一区二区三区| 国产精品成人一区二区艾草| 午夜精品免费在线| 国产高清成人在线| 欧美色精品在线视频| 精品久久久久av影院| 综合自拍亚洲综合图不卡区| 日本不卡在线视频| a在线欧美一区| 91精品国产手机| 中文字幕一区二区三| 日韩高清不卡在线| 99免费精品视频| 欧美大胆一级视频| 亚洲综合另类小说| 国产91在线看| 欧美日韩在线观看一区二区| 久久久亚洲午夜电影| 亚洲成人一二三| jiyouzz国产精品久久| 日韩一区二区三区观看| 亚洲人成在线观看一区二区| 美女国产一区二区| 欧美亚洲国产怡红院影院| 久久久久免费观看| 日韩av一区二| 91激情在线视频| 国产精品久久影院| 精品一区二区三区欧美| 欧美久久久一区| 亚洲精品国产无天堂网2021| 国产一区二区三区日韩| 67194成人在线观看| 亚洲精品视频在线观看免费| 国产激情一区二区三区四区| 日韩亚洲欧美综合| 亚洲一区二区三区四区在线免费观看 | 亚洲成在人线在线播放| 不卡一区中文字幕| 久久久综合网站| 毛片av一区二区| 在线播放亚洲一区| 亚洲高清在线精品| 91电影在线观看| 中文字幕中文字幕在线一区 | 亚洲成人黄色影院| 色综合网站在线| 中文字幕色av一区二区三区| 国产成人午夜电影网| 精品久久久久久久久久久久包黑料 | 日韩女优视频免费观看| 日韩电影在线观看网站| 欧美视频日韩视频| 亚洲一区二区在线观看视频| 一本大道综合伊人精品热热| 国产精品久久影院| a4yy欧美一区二区三区| 中文字幕一区二区日韩精品绯色| 国产成人精品午夜视频免费| 久久精品网站免费观看| 国产精品自在欧美一区| 久久久久久久久久久99999| 国产一区二区精品久久91| 久久婷婷综合激情| 国产电影一区二区三区| 中文字幕 久热精品 视频在线| 国产成人av一区二区三区在线观看| 久久久www成人免费无遮挡大片 | 国产suv精品一区二区883| 久久久蜜桃精品| 成人高清免费观看| 国产精品的网站| 欧美午夜精品一区| 视频一区欧美精品| 日韩精品一区二区三区在线观看 | 成人av资源网站| 亚洲综合在线免费观看| 欧美少妇bbb| 蜜臀久久久久久久| 久久久国产一区二区三区四区小说| 国产传媒欧美日韩成人| 日韩一区中文字幕| 3d动漫精品啪啪一区二区竹菊| 老司机午夜精品| 日本一区二区成人| 欧美性感一类影片在线播放|