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

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

?? ddr.v

?? arm控制FPGA的DDR測(cè)試代碼
?? V
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
        if ((Read_precharge[2] === 1'b1) && ($time - RAS_chk2 >= tRAS)) begin
            if (Count_precharge[2] >= burst_length/2) begin
                Pc_b2 = 1'b1;
                Act_b2 = 1'b0;
                RP_chk2 = $time;
                Read_precharge[2] = 1'b0;
            end
        end
        if ((Read_precharge[3] === 1'b1) && ($time - RAS_chk3 >= tRAS)) begin
            if (Count_precharge[3] >= burst_length/2) begin
                Pc_b3 = 1'b1;
                Act_b3 = 1'b0;
                RP_chk3 = $time;
                Read_precharge[3] = 1'b0;
            end
        end

        // Write with AutoPrecharge Calculation
        //      The device start internal precharge when:
        //          1.  Meet tRAS requirement
        //          2.  Write Latency PLUS BL/2 cycles PLUS tWR after Write command

        if ((Write_precharge[0] === 1'b1) && ($time - RAS_chk0 >= tRAS)) begin 
            if ((Count_precharge[0] >= burst_length/2+1) && ($time - WR_chk0 >= tWR)) begin
                Pc_b0 = 1'b1;
                Act_b0 = 1'b0;
                RP_chk0 = $time;
                Write_precharge[0] = 1'b0;
            end
        end
        if ((Write_precharge[1] === 1'b1) && ($time - RAS_chk1 >= tRAS)) begin 
            if ((Count_precharge[1] >= burst_length/2+1) && ($time - WR_chk1 >= tWR)) begin
                Pc_b1 = 1'b1;
                Act_b1 = 1'b0;
                RP_chk1 = $time;
                Write_precharge[1] = 1'b0;
            end
        end
        if ((Write_precharge[2] === 1'b1) && ($time - RAS_chk2 >= tRAS)) begin 
            if ((Count_precharge[2] >= burst_length/2+1) && ($time - WR_chk2 >= tWR)) begin
                Pc_b2 = 1'b1;
                Act_b2 = 1'b0;
                RP_chk2 = $time;
                Write_precharge[2] = 1'b0;
            end
        end
        if ((Write_precharge[3] === 1'b1) && ($time - RAS_chk3 >= tRAS)) begin 
            if ((Count_precharge[3] >= burst_length/2+1) && ($time - WR_chk3 >= tWR)) begin
                Pc_b3 = 1'b1;
                Act_b3 = 1'b0;
                RP_chk3 = $time;
                Write_precharge[3] = 1'b0;
            end
        end
    end
    endtask

    // DLL Counter
    task DLL_Counter;
    begin
        if (DLL_reset === 1'b1 && DLL_done === 1'b0) begin
            DLL_count = DLL_count + 1;
            if (DLL_count >= 200) begin
                DLL_done = 1'b1;
            end
        end
    end
    endtask

    // Control Logic
    task Control_Logic;
    begin
        // Auto Refresh
        if (Aref_enable === 1'b1) begin
            // Display Debug Message
            if (Debug) begin
                $display ("At time %t AREF : Auto Refresh", $time);
            end
            
            // Precharge to Auto Refresh
            if (($time - RP_chk0 < tRP) || ($time - RP_chk1 < tRP) ||
                ($time - RP_chk2 < tRP) || ($time - RP_chk3 < tRP)) begin
                $display ("At time %t ERROR: tRP violation during Auto Refresh", $time);
            end
            
            // LMR/EMR to Auto Refresh
            if ($time - MRD_chk < tMRD) begin
                $display ("At time %t ERROR: tMRD violation during Auto Refresh", $time);
            end

            // Auto Refresh to Auto Refresh
            if ($time - RFC_chk < tRFC) begin
                $display ("At time %t ERROR: tRFC violation during Auto Refresh", $time);
            end
            
            // Precharge to Auto Refresh
            if (Pc_b0 === 1'b0 || Pc_b1 === 1'b0 || Pc_b2 === 1'b0 || Pc_b3 === 1'b0) begin
                $display ("At time %t ERROR: All banks must be Precharged before Auto Refresh", $time);
                if (!no_halt) $stop (0);
            end else begin
                aref_count = aref_count + 1;
                RFC_chk = $time;
            end
        end
    
        // Extended Mode Register
        if (Ext_mode_enable === 1'b1) begin
            if (Debug) begin
                $display ("At time %t EMR  : Extended Mode Register", $time);
            end

            // Precharge to LMR/EMR
            if (($time - RP_chk0 < tRP) || ($time - RP_chk1 < tRP) ||
                ($time - RP_chk2 < tRP) || ($time - RP_chk3 < tRP)) begin
                $display ("At time %t ERROR: tRP violation during Extended Mode Register", $time);
            end

            // LMR/EMR to LMR/EMR
            if ($time - MRD_chk < tMRD) begin
                $display ("At time %t ERROR: tMRD violation during Extended Mode Register", $time);
            end

            // Auto Refresh to LMR/EMR
            if ($time - RFC_chk < tRFC) begin
                $display ("At time %t ERROR: tRFC violation during Extended Mode Register", $time);
            end

            // Precharge to LMR/EMR
            if (Pc_b0 === 1'b0 || Pc_b1 === 1'b0 || Pc_b2 === 1'b0 || Pc_b3 === 1'b0) begin
                $display ("At time %t ERROR: all banks must be Precharged before Extended Mode Register", $time);
                if (!no_halt) $stop (0);
            end else begin
                if (Addr[0] === 1'b0) begin
                    DLL_enable = 1'b1;
                    if (Debug) begin
                        $display ("At time %t EMR  : Enable DLL", $time);
                    end
                end else begin
                    DLL_enable = 1'b0;
                    if (Debug) begin
                        $display ("At time %t EMR  : Disable DLL", $time);
                    end
                end
                MRD_chk = $time;
            end
        end
    
        // Load Mode Register
        if (Mode_reg_enable === 1'b1) begin
            if (Debug) begin
                $display ("At time %t LMR  : Load Mode Register", $time);
            end

            // Precharge to LMR/EMR
            if (($time - RP_chk0 < tRP) || ($time - RP_chk1 < tRP) ||
                ($time - RP_chk2 < tRP) || ($time - RP_chk3 < tRP)) begin
                $display ("At time %t ERROR: tRP violation during Load Mode Register", $time);
            end

            // LMR/EMR to LMR/EMR
            if ($time - MRD_chk < tMRD) begin
                $display ("At time %t ERROR: tMRD violation during Load Mode Register", $time);
            end

            // Auto Refresh to LMR/EMR
            if ($time - RFC_chk < tRFC) begin
                $display ("At time %t ERROR: tRFC violation during Load Mode Register", $time);
            end

            // Precharge to LMR/EMR
            if (Pc_b0 === 1'b0 || Pc_b1 === 1'b0 || Pc_b2 === 1'b0 || Pc_b3 === 1'b0) begin
                $display ("At time %t ERROR: all banks must be Precharged before Load Mode Register", $time);
            end else begin
                // Register Mode
                Mode_reg = Addr;

                // DLL Reset
                if (DLL_enable === 1'b1 && Addr [8] === 1'b1) begin
                    DLL_reset = 1'b1;
                    DLL_done = 1'b0;
                    DLL_count = 0;
                end else if (DLL_enable === 1'b1 && DLL_reset === 1'b0 && Addr [8] === 1'b0) begin
                    $display ("At time %t ERROR: DLL is ENABLE: DLL RESET is required.", $time);
                end else if (DLL_enable === 1'b0 && Addr [8] === 1'b1) begin
                    $display ("At time %t ERROR: DLL is DISABLE: DLL RESET will be ignored.", $time);
                end

                // Burst Length
                case (Addr [2 : 0])
                    3'b001  : $display ("At time %t LMR  : Burst Length = 2", $time); 
                    3'b010  : $display ("At time %t LMR  : Burst Length = 4", $time);
                    3'b011  : $display ("At time %t LMR  : Burst Length = 8", $time);
                    default : $display ("At time %t ERROR: Burst Length not supported", $time);
                endcase

                // CAS Latency
                case (Addr [6 : 4])
                    3'b010  : $display ("At time %t LMR  : CAS Latency = 2", $time);
                    3'b110  : $display ("At time %t LMR  : CAS Latency = 2.5", $time);
                    3'b011  : $display ("At time %t LMR  : CAS Latency = 3", $time);
                    default : $display ("At time %t ERROR: CAS Latency not supported", $time);
                endcase

                // Record current tMRD time
                MRD_chk = $time;
            end
        end

        // Activate Block
        if (Active_enable === 1'b1) begin
            if (!(power_up_done)) begin
                $display ("%m: at time %t ERROR: Power Up and Initialization Sequence not completed before executing Activate command", $time);
            end
            // Display Debug Message
            if (Debug) begin
                $display ("At time %t ACT  : Bank = %h, Row = %h", $time, Ba, Addr);
            end

            // Activate to Activate (different bank)
            if ((Prev_bank != Ba) && ($time - RRD_chk < tRRD)) begin
                $display ("At time %t ERROR: tRRD violation during Activate bank %h", $time, Ba);
            end
            
            // LMR/EMR to Activate
            if ($time - MRD_chk < tMRD) begin
                $display ("At time %t ERROR: tMRD violation during Activate bank %h", $time, Ba);
            end

            // AutoRefresh to Activate
            if ($time - RFC_chk < tRFC) begin
                $display ("At time %t ERROR: tRFC violation during Activate bank %h", $time, Ba);
            end

            // Precharge to Activate
            if ((Ba === 2'b00 && Pc_b0  === 1'b0) || (Ba === 2'b01 && Pc_b1  === 1'b0) ||
                (Ba === 2'b10 && Pc_b2  === 1'b0) || (Ba === 2'b11 && Pc_b3  === 1'b0)) begin
                $display ("At time %t ERROR: Bank = %h is already activated - Command Ignored", $time, Ba);
                if (!no_halt) $stop (0);
            end else begin
                // Activate Bank 0
                if (Ba === 2'b00 && Pc_b0 === 1'b1) begin
                    // Activate to Activate (same bank)
                    if ($time - RC_chk0 < tRC) begin
                        $display ("At time %t ERROR: tRC violation during Activate bank %h", $time, Ba);
                    end

                    // Precharge to Activate
                    if ($time - RP_chk0 < tRP) begin
                        $display ("At time %t ERROR: tRP violation during Activate bank %h", $time, Ba);
                    end

                    // Record variables for checking violation
                    Act_b0 = 1'b1;
                    Pc_b0 = 1'b0;
                    B0_row_addr = Addr;
                    RC_chk0  = $time;
                    RCD_chk0 = $time;
                    RAS_chk0 = $time;
                    RAP_chk0 = $time;
                end

                // Activate Bank 1
                if (Ba === 2'b01 && Pc_b1 === 1'b1) begin
                    // Activate to Activate (same bank)
                    if ($time - RC_chk1 < tRC) begin
                        $display ("At time %t ERROR: tRC violation during Activate bank %h", $time, Ba);
                    end

                    // Precharge to Activate
                    if ($time - RP_chk1 < tRP) begin
                        $display ("At time %t ERROR: tRP violation during Activate bank %h", $time, Ba);
                    end

                    // Record variables for checking violation
                    Act_b1 = 1'b1;
                    Pc_b1 = 1'b0;
                    B1_row_addr = Addr;
                    RC_chk1  = $time;
                    RCD_chk1 = $time;
                    RAS_chk1 = $time;
                    RAP_chk1 = $time;
                end

                // Activate Bank 2
                if (Ba === 2'b10 && Pc_b2 === 1'b1) begin
                    // Activate to Activate (same bank)
                    if ($time - RC_chk2 < tRC) begin
                        $display ("At time %t ERROR: tRC violation during Activate bank %h", $time, Ba);
                    end

                    // Precharge to Activate
                    if ($time - RP_chk2 < tRP) begin
                        $display ("At time %t ERROR: tRP violation during Activate bank %h", $time, Ba);
                    end

                    // Record variables for checking violation
                    Act_b2 = 1'b1;
                    Pc_b2 = 1'b0;
                    B2_row_addr = Addr;
                    RC_chk2  = $time;
                    RCD_chk2 = $time;
                    RAS_chk2 = $time;
                    RAP_chk2 = $time;
                end

                // Activate Bank 3
                if (Ba === 2'b11 && Pc_b3 === 1'b1) begin
                    // Activate to Activate (same bank)
                    if ($time - RC_chk3 < tRC) begin
                        $display ("At time %t ERROR: tRC violation during Activate bank %h", $time, Ba);
                    end

                    // Precharge to Activate
                    if ($time - RP_chk3 < tRP) begin
                        $display ("At time %t ERROR: tRP violation during Activate bank %h", $time, Ba);
                    end

                    // Record variables for checking violation
                    Act_b3 = 1'b1;
                    Pc_b3 = 1'b0;
                    B3_row_addr = Addr;
                    RC_chk3  = $time;
                    RCD_chk3 = $time;
                    RAS_chk3 = $time;
                    RAP_chk3 = $time;
                end
                // Record variable for checking violation
                RRD_chk = $time;
                Prev_bank = Ba;
                read_precharge_truncation[Ba] = 1'b0;
            end
        end
    
        // Precharge Block - consider NOP if bank already precharged or in process of precharging
        if (Prech_enable === 1'b1) begin
            // Display Debug Message
            if (Debug) begin
                $display ("At time %t PRE  : Addr[10] = %b, Bank = %b", $time, Addr[10], Ba);
            end

            // LMR/EMR to Precharge
            if ($time - MRD_chk < tMRD) begin
                $display ("At time %t ERROR: tMRD violation during Precharge", $time);
            end

            // AutoRefresh to Precharge
            if ($time - RFC_chk < tRFC) begin
                $display ("At time %t ERROR: tRFC violation during Precharge", $time);
            end

            // Precharge bank 0

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区swag| 国产超碰在线一区| 6080日韩午夜伦伦午夜伦| 日韩中文字幕不卡| 精品国产1区二区| 国产91精品一区二区麻豆亚洲| 中日韩免费视频中文字幕| 91视视频在线观看入口直接观看www| 亚洲激情第一区| 91精品国产综合久久精品| 国产一区二区三区在线观看免费| 国产欧美日韩另类一区| 色女孩综合影院| 久久99国产精品免费| 国产精品久久久久久久久免费相片 | 欧美大白屁股肥臀xxxxxx| 国产综合色在线| 亚洲精品国产a久久久久久| 欧美三区免费完整视频在线观看| 伦理电影国产精品| 亚洲女与黑人做爰| 精品久久久久久综合日本欧美| 不卡视频一二三四| 麻豆精品视频在线观看视频| 国产精品乱码人人做人人爱| 欧美精品第1页| 成人精品免费看| 天天亚洲美女在线视频| 国产日韩精品一区二区浪潮av| 91行情网站电视在线观看高清版| 久久99深爱久久99精品| 一区二区三区毛片| 欧美国产日韩精品免费观看| 91精品国产综合久久久久| 成人av在线播放网址| 日韩av成人高清| 亚洲欧美另类综合偷拍| 亚洲精品在线电影| 欧美日韩不卡一区| 色噜噜夜夜夜综合网| 国产成人在线免费观看| 免费欧美高清视频| 亚洲专区一二三| 中文字幕在线播放不卡一区| 精品日韩在线一区| 日韩精品一区二区三区中文不卡| 91国偷自产一区二区开放时间| 国产精品一二三四区| 免费日韩伦理电影| 五月开心婷婷久久| 亚洲网友自拍偷拍| 亚洲欧美一区二区三区孕妇| 国产欧美在线观看一区| 精品美女一区二区| 欧美成人三级电影在线| 欧美精品高清视频| 欧美日韩日本视频| 欧洲另类一二三四区| 99久久精品情趣| 国产91丝袜在线观看| 国产麻豆精品在线| 国产电影一区在线| 国产精品456露脸| 国产激情一区二区三区四区| 精品一区二区日韩| 精品无人区卡一卡二卡三乱码免费卡| 五月激情综合网| 天天色图综合网| 日韩中文字幕亚洲一区二区va在线| 亚洲已满18点击进入久久| 一区二区三区中文在线观看| 亚洲人成人一区二区在线观看 | 欧美一区二区精品在线| 51午夜精品国产| 日韩亚洲欧美综合| 4438亚洲最大| 日韩女优av电影| 欧美精品一区二区三区蜜桃视频| 欧美sm极限捆绑bd| 久久亚洲精品小早川怜子| 国产喷白浆一区二区三区| 国产日韩精品一区二区三区| 中文字幕一区二区三区在线观看| 日韩理论片一区二区| 一级精品视频在线观看宜春院| 亚洲乱码中文字幕综合| 午夜欧美电影在线观看| 日本女人一区二区三区| 激情综合色综合久久| 国产黄色精品视频| 成人avav影音| 欧美日本韩国一区二区三区视频| 欧美一区二区视频免费观看| 久久网站热最新地址| 中文字幕在线视频一区| 亚洲综合色在线| 九九国产精品视频| voyeur盗摄精品| 欧美日韩高清一区二区不卡| 欧美videossexotv100| 国产精品久久看| 午夜精品久久久久久久久久 | 欧美成人一区二区三区片免费 | 国产精品自拍毛片| 色又黄又爽网站www久久| 欧美日韩激情在线| 国产亚洲午夜高清国产拍精品| 中文字幕一区二区三区四区不卡 | 成人黄页在线观看| 欧美在线一区二区| 精品国产网站在线观看| 18成人在线观看| 美女网站色91| 91免费精品国自产拍在线不卡| 欧美精品亚洲二区| 日本一区二区三区在线不卡| 午夜在线成人av| 成人精品视频一区| 欧美一级理论片| 亚洲欧美国产毛片在线| 老司机一区二区| 91老师国产黑色丝袜在线| 精品久久一区二区| 亚洲国产美国国产综合一区二区| 国产高清视频一区| 5566中文字幕一区二区电影| 亚洲欧美自拍偷拍色图| 国内精品国产三级国产a久久| 欧美亚洲动漫另类| 中文字幕中文乱码欧美一区二区| 日本强好片久久久久久aaa| 99精品视频在线播放观看| 日韩精品一区二区三区在线观看| 一级特黄大欧美久久久| www.日韩大片| 国产午夜亚洲精品不卡| 美女尤物国产一区| 欧美日韩中文另类| 亚洲天堂2016| 国产福利一区二区三区视频| 欧美一级淫片007| 天天影视涩香欲综合网| 欧美伊人久久久久久午夜久久久久| 国产日产欧美一区| 国产综合久久久久久久久久久久| 制服丝袜成人动漫| 日精品一区二区三区| 欧洲在线/亚洲| 一区av在线播放| 色综合久久综合| 亚洲天堂2014| 91污片在线观看| 亚洲视频网在线直播| 97aⅴ精品视频一二三区| 国产精品欧美一区喷水| 国产成人8x视频一区二区| 久久这里只有精品首页| 国产一区中文字幕| 久久久午夜电影| 国产精品69毛片高清亚洲| 国产亚洲制服色| 岛国精品在线观看| 综合在线观看色| 色老汉一区二区三区| 亚洲一区在线电影| 欧美另类变人与禽xxxxx| 午夜精品一区在线观看| 欧美猛男男办公室激情| 日韩激情视频网站| 日韩三级精品电影久久久| 久久疯狂做爰流白浆xx| 久久久三级国产网站| 成人国产亚洲欧美成人综合网| 国产精品久久毛片a| 一本久久综合亚洲鲁鲁五月天| 亚洲综合一二区| 4438x成人网最大色成网站| 免费成人小视频| 久久九九久精品国产免费直播| 成人精品国产免费网站| 一区二区三区自拍| 5月丁香婷婷综合| 国产一区免费电影| 亚洲你懂的在线视频| 精品视频在线免费| 久国产精品韩国三级视频| 久久久久久久久久久久电影| av亚洲精华国产精华精华| 亚洲成人tv网| 精品国产sm最大网站免费看| 国产精品一二三| 看片网站欧美日韩| ...av二区三区久久精品| 欧美三级在线播放| 国产在线麻豆精品观看| 中文字幕在线观看一区二区| 欧美二区乱c少妇| 成人一区二区三区在线观看| 亚洲午夜久久久久久久久久久 | 粉嫩一区二区三区在线看|