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

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

?? mt48lc2m32b2_2.vhd

?? sdram controller in vhdl
?? VHD
?? 第 1 頁 / 共 4 頁
字號:
            -- Burst Read Single Write
            IF Write_burst_mode = '1' AND Data_in_enable = '1' THEN
                Data_in_enable := '0';
            END IF;

            -- Data counter
            IF Burst_length_1 = '1' THEN
                IF Burst_counter >= 1 THEN
                    IF Data_in_enable = '1' THEN
                        Data_in_enable := '0';
                    ELSIF Data_out_enable = '1' THEN
                        Data_out_enable := '0';
                    END IF;
                END IF;
            ELSIF Burst_length_2 = '1' THEN
                IF Burst_counter >= 2 THEN
                    IF Data_in_enable = '1' THEN
                        Data_in_enable := '0';
                    ELSIF Data_out_enable = '1' THEN
                        Data_out_enable := '0';
                    END IF;
                END IF;
            ELSIF Burst_length_4 = '1' THEN
                IF Burst_counter >= 4 THEN
                    IF Data_in_enable = '1' THEN
                        Data_in_enable := '0';
                    ELSIF Data_out_enable = '1' THEN
                        Data_out_enable := '0';
                    END IF;
                END IF;
            ELSIF Burst_length_8 = '1' THEN
                IF Burst_counter >= 8 THEN
                    IF Data_in_enable = '1' THEN
                        Data_in_enable := '0';
                    ELSIF Data_out_enable = '1' THEN
                        Data_out_enable := '0';
                    END IF;
                END IF;
            END IF;
        END;

    BEGIN
        WAIT ON Sys_clk, RAS_clk;
        IF Sys_clk'event AND Sys_clk = '1' THEN
            -- Internal Command Pipeline
            Command(0) := Command(1);
            Command(1) := Command(2);
            Command(2) := Command(3);
            Command(3) := NOP;

            Col_addr(0) := Col_addr(1);
            Col_addr(1) := Col_addr(2);
            Col_addr(2) := Col_addr(3);
            Col_addr(3) := (OTHERS => '0');

            Bank_addr(0) := Bank_addr(1);
            Bank_addr(1) := Bank_addr(2);
            Bank_addr(2) := Bank_addr(3);
            Bank_addr(3) := "00";

            Bank_precharge(0) := Bank_precharge(1);
            Bank_precharge(1) := Bank_precharge(2);
            Bank_precharge(2) := Bank_precharge(3);
            Bank_precharge(3) := "00";

            A10_precharge(0) := A10_precharge(1);
            A10_precharge(1) := A10_precharge(2);
            A10_precharge(2) := A10_precharge(3);
            A10_precharge(3) := '0';

            -- Operation Decode (Optional for showing current command on posedge clock / debug feature)
            IF Active_enable = '1' THEN
                Operation <= ACT;
            ELSIF Aref_enable = '1' THEN
                Operation <= A_REF;
            ELSIF Burst_term = '1' THEN
                Operation <= BST;
            ELSIF Mode_reg_enable = '1' THEN
                Operation <= LMR;
            ELSIF Prech_enable = '1' THEN
                Operation <= PRECH;
            ELSIF Read_enable = '1' THEN
                IF Addr(10) = '0' THEN
                    Operation <= READ;
                ELSE
                    Operation <= READ_A;
                END IF;
            ELSIF Write_enable = '1' THEN
                IF Addr(10) = '0' THEN
                    Operation <= WRITE;
                ELSE
                    Operation <= WRITE_A;
                END IF;
            ELSE
                Operation <= NOP;
            END IF;

            -- Dqm pipeline for Read
            Dqm_reg0 := Dqm_reg1;
	        Dqm_reg1 := Dqm;
			-- Read or Write with Auto Precharge Counter
            IF Auto_precharge (0) = '1' THEN
                Count_precharge (0) := Count_precharge (0) + 1;
            END IF;
            IF Auto_precharge (1) = '1' THEN
                Count_precharge (1) := Count_precharge (1) + 1;
            END IF;
            IF Auto_precharge (2) = '1' THEN
                Count_precharge (2) := Count_precharge (2) + 1;
            END IF;
            IF Auto_precharge (3) = '1' THEN
                Count_precharge (3) := Count_precharge (3) + 1;
            END IF;

            -- Auto Precharge Timer for tWR
            if (Burst_length_1 = '1' OR Write_burst_mode = '1') then
                if (Count_precharge(0) = 1) then
                    Count_time(0) := NOW;
                end if;
                if (Count_precharge(1) = 1) then
                    Count_time(1) := NOW;
                end if;
                if (Count_precharge(2) = 1) then
                    Count_time(2) := NOW;
                end if;
                if (Count_precharge(3) = 1) then
                    Count_time(3) := NOW;
                end if;
            elsif (Burst_length_2 = '1') then
                if (Count_precharge(0) = 2) then
                    Count_time(0) := NOW;
                end if;
                if (Count_precharge(1) = 2) then
                    Count_time(1) := NOW;
                end if;
                if (Count_precharge(2) = 2) then
                    Count_time(2) := NOW;
                end if;
                if (Count_precharge(3) = 2) then
                    Count_time(3) := NOW;
                end if;
            elsif (Burst_length_4 = '1') then
                if (Count_precharge(0) = 4) then
                    Count_time(0) := NOW;
                end if;
                if (Count_precharge(1) = 4) then
                    Count_time(1) := NOW;
                end if;
                if (Count_precharge(2) = 4) then
                    Count_time(2) := NOW;
                end if;
                if (Count_precharge(3) = 4) then
                    Count_time(3) := NOW;
                end if;
            elsif (Burst_length_8 = '1') then
                if (Count_precharge(0) = 8) then
                    Count_time(0) := NOW;
                end if;
                if (Count_precharge(1) = 8) then
                    Count_time(1) := NOW;
                end if;
                if (Count_precharge(2) = 8) then
                    Count_time(2) := NOW;
                end if;
                if (Count_precharge(3) = 8) then
                    Count_time(3) := NOW;
                end if;
            end if;

            -- tMRD Counter
            MRD_chk := MRD_chk + 1;

            -- tWR Counter
            WR_counter(0) := WR_counter(0) + 1;
            WR_counter(1) := WR_counter(1) + 1;
            WR_counter(2) := WR_counter(2) + 1;
            WR_counter(3) := WR_counter(3) + 1;

            -- Auto Refresh
            IF Aref_enable = '1' THEN
                -- Auto Refresh to Auto Refresh
                ASSERT (NOW - RC_chk >= tRC)
                    REPORT "tRC violation during Auto Refresh"
                    SEVERITY WARNING;
                -- Precharge to Auto Refresh
                ASSERT (NOW - RP_chk0 >= tRP OR NOW - RP_chk1 >= tRP OR NOW - RP_chk2 >= tRP OR NOW - RP_chk3 >= tRP)
                    REPORT "tRP violation during Auto Refresh"
                    SEVERITY WARNING;
                -- All banks must be idle before refresh
                IF (Pc_b3 = '0' OR Pc_b2 = '0' OR Pc_b1 = '0' OR Pc_b0 = '0') THEN
                    ASSERT (FALSE)
                        REPORT "All banks must be Precharge before Auto Refresh"
                        SEVERITY WARNING;
                END IF;
                -- Record current tRC time
                RC_chk := NOW;
            END IF;

            -- Load Mode Register
            IF Mode_reg_enable = '1' THEN
                Mode_reg <= Addr;
                IF (Pc_b3 = '0' OR Pc_b2 = '0' OR Pc_b1 = '0' OR Pc_b0 = '0') THEN
                    ASSERT (FALSE)
                        REPORT "All bank must be Precharge before Load Mode Register"
                        SEVERITY WARNING;
                END IF;
                -- REF to LMR
                ASSERT (NOW - RC_chk >= tRC)
                    REPORT "tRC violation during Load Mode Register"
                    SEVERITY WARNING;
                -- LMR to LMR
                ASSERT (MRD_chk >= tMRD)
                    REPORT "tMRD violation during Load Mode Register"
                    SEVERITY WARNING;
                -- Record current tMRD time
                MRD_chk := 0;
            END IF;

            -- Active Block (latch Bank and Row Address)
            IF Active_enable = '1' THEN
                IF Ba = "00" AND Pc_b0 = '1' THEN
                    Act_b0 := '1';
                    Pc_b0 := '0';
                    B0_row_addr := Addr;
                    RCD_chk0 := NOW;
                    RAS_chk0 := NOW;
                    -- Precharge to Active Bank 0
                    ASSERT (NOW - RP_chk0 >= tRP)
                        REPORT "tRP violation during Activate Bank 0"
                        SEVERITY WARNING;
                ELSIF Ba = "01" AND Pc_b1 = '1' THEN
                    Act_b1 := '1';
                    Pc_b1 := '0';
                    B1_row_addr := Addr;
                    RCD_chk1 := NOW;
                    RAS_chk1 := NOW;
                    -- Precharge to Active Bank 1
                    ASSERT (NOW - RP_chk1 >= tRP)
                        REPORT "tRP violation during Activate Bank 1"
                        SEVERITY WARNING;
                ELSIF Ba = "10" AND Pc_b2 = '1' THEN
                    Act_b2 := '1';
                    Pc_b2 := '0';
                    B2_row_addr := Addr;
                    RCD_chk2 := NOW;
                    RAS_chk2 := NOW;
                    -- Precharge to Active Bank 2
                    ASSERT (NOW - RP_chk2 >= tRP)
                        REPORT "tRP violation during Activate Bank 2"
                        SEVERITY WARNING;
                ELSIF Ba = "11" AND Pc_b3 = '1' THEN
                    Act_b3 := '1';
                    Pc_b3 := '0';
                    B3_row_addr := Addr;
                    RCD_chk3 := NOW;
                    RAS_chk3 := NOW;
                    -- Precharge to Active Bank 3
                    ASSERT (NOW - RP_chk3 >= tRP)
                        REPORT "tRP violation during Activate Bank 3"
                        SEVERITY WARNING;
                ELSIF Ba = "00" AND Pc_b0 = '0' THEN
                    ASSERT (FALSE)
                        REPORT "Bank 0 is not Precharged"
                        SEVERITY WARNING;
                ELSIF Ba = "01" AND Pc_b1 = '0' THEN
                    ASSERT (FALSE)
                        REPORT "Bank 1 is not Precharged"
                        SEVERITY WARNING;
                ELSIF Ba = "10" AND Pc_b2 = '0' THEN
                    ASSERT (FALSE)
                        REPORT "Bank 2 is not Precharged"
                        SEVERITY WARNING;
                ELSIF Ba = "11" AND Pc_b3 = '0' THEN
                    ASSERT (FALSE)
                        REPORT "Bank 3 is not Precharged"
                        SEVERITY WARNING;
                END IF;
                -- Active Bank A to Active Bank B
                IF ((Previous_bank /= Ba) AND (NOW - RRD_chk < tRRD)) THEN
                    ASSERT (FALSE)
                        REPORT "tRRD violation during Activate"
                        SEVERITY WARNING;
                END IF;
                -- LMR to ACT
                ASSERT (MRD_chk >= tMRD)
                    REPORT "tMRD violation during Activate"
                    SEVERITY WARNING;
                -- AutoRefresh to Activate
                ASSERT (NOW - RC_chk >= tRC)
                    REPORT "tRC violation during Activate"
                    SEVERITY WARNING;
                -- Record variable for checking violation
                RRD_chk := NOW;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国欧美一区| 亚洲精品一二三| 韩国成人福利片在线播放| 在线不卡中文字幕| 婷婷丁香久久五月婷婷| 欧美一级艳片视频免费观看| 麻豆一区二区三区| 久久九九国产精品| 91亚洲精品一区二区乱码| 一区二区三区中文字幕精品精品 | 精品在线观看视频| 久久精品一区二区三区不卡| 大尺度一区二区| 亚洲自拍偷拍图区| 日韩午夜在线观看视频| 国产精品一区二区久久不卡| 国产精品毛片久久久久久| 91成人在线免费观看| 蜜桃久久久久久| 亚洲国产精品黑人久久久| 色999日韩国产欧美一区二区| 图片区日韩欧美亚洲| 久久综合色综合88| 色婷婷av一区二区三区gif| 日日夜夜精品视频免费| 国产色产综合产在线视频| 在线视频欧美精品| 韩国成人精品a∨在线观看| 亚洲欧美日韩久久| 欧美一级黄色片| 91网站黄www| 九九久久精品视频| 一区二区视频在线| 久久一夜天堂av一区二区三区| gogo大胆日本视频一区| 蜜桃视频一区二区三区| 亚洲裸体xxx| 久久亚洲精品国产精品紫薇| 日本韩国一区二区三区视频| 国产精品一区二区免费不卡| 亚洲成人7777| 中文字幕制服丝袜成人av| 欧美一三区三区四区免费在线看 | 亚洲日本中文字幕区| 欧美一二三区在线| 色播五月激情综合网| 国产一区视频导航| 午夜精品福利一区二区三区蜜桃| 欧美国产激情二区三区| 日韩欧美激情一区| 欧美在线免费播放| 成人三级在线视频| 国产中文一区二区三区| 免费黄网站欧美| 亚洲图片欧美综合| 亚洲精品亚洲人成人网在线播放| 国产三级精品三级| 久久蜜桃av一区精品变态类天堂| 欧美日韩国产中文| 欧美在线三级电影| 色又黄又爽网站www久久| 不卡电影一区二区三区| 国产精品影视在线| 极品美女销魂一区二区三区 | 亚洲欧美偷拍三级| 欧美国产丝袜视频| 久久久亚洲午夜电影| 欧美大片免费久久精品三p| 欧美美女黄视频| 欧美在线999| 欧美在线制服丝袜| 欧美日韩一区国产| 欧美色图免费看| 欧美日韩精品系列| 欧美一卡2卡三卡4卡5免费| 91精品国产黑色紧身裤美女| 欧美高清视频www夜色资源网| 欧美日韩综合在线| 欧美日韩国产精选| 欧美一区二区播放| 精品久久一二三区| 日本一区二区三区电影| 国产精品视频yy9299一区| 国产精品少妇自拍| 亚洲精品欧美激情| 亚洲成av人片| 免费人成精品欧美精品| 久久9热精品视频| 国产精品69久久久久水密桃| 成人国产免费视频| 一道本成人在线| 欧美精品久久一区二区三区| 在线综合视频播放| 久久亚洲捆绑美女| 国产精品成人在线观看| 一区二区三区免费网站| 日本美女视频一区二区| 国产一区二区三区在线看麻豆| 国产老女人精品毛片久久| 粉嫩一区二区三区性色av| 91欧美激情一区二区三区成人| 色综合天天综合网天天看片| 欧美精品在线一区二区三区| 日韩精品一区二区三区视频 | 在线亚洲一区观看| 51精品久久久久久久蜜臀| 亚洲精品在线电影| 亚洲天堂中文字幕| 日韩精品乱码免费| 高清不卡一二三区| 欧美日韩专区在线| 国产日韩综合av| 五月婷婷激情综合| 国产成人鲁色资源国产91色综| 色先锋资源久久综合| 日韩亚洲电影在线| **性色生活片久久毛片| 日本不卡一区二区| 成人高清免费观看| 91精品黄色片免费大全| 国产精品欧美极品| 日本亚洲天堂网| 91在线视频免费91| 久久综合狠狠综合久久综合88| 18欧美乱大交hd1984| 精品一区二区精品| 一本一道久久a久久精品| 欧美精品一区二区三区蜜臀| 亚洲精品日韩一| 国产盗摄女厕一区二区三区| 欧美三级资源在线| 最新国产の精品合集bt伙计| 蜜桃91丨九色丨蝌蚪91桃色| 91影视在线播放| 国产欧美一区二区精品秋霞影院| 亚洲成在线观看| 99久久综合99久久综合网站| 欧美xxxxxxxx| 亚洲国产精品久久艾草纯爱| 成人精品国产福利| 国产亚洲一二三区| 免费看日韩精品| 777a∨成人精品桃花网| 亚洲天堂精品在线观看| 国产1区2区3区精品美女| 欧美va日韩va| 日韩和欧美一区二区三区| 色哟哟国产精品| 1区2区3区国产精品| 国产成人亚洲综合a∨婷婷| 日韩久久精品一区| 蜜桃久久久久久| 337p亚洲精品色噜噜噜| 亚洲国产精品久久艾草纯爱 | 色香色香欲天天天影视综合网| 日本一区二区电影| 国产一区二区在线观看视频| 日韩欧美色综合| 免费观看在线综合| 欧美一级在线视频| 美日韩一区二区| 欧美一区二区在线不卡| 日欧美一区二区| 欧美人动与zoxxxx乱| 亚洲国产另类av| 欧美午夜影院一区| 亚洲第一成人在线| 欧美日韩一区高清| 日韩av中文字幕一区二区三区 | 丁香婷婷综合色啪| 欧美激情一区二区三区| 成人久久久精品乱码一区二区三区 | 久久精品人人做人人爽97| 国产一区二区主播在线| 久久欧美中文字幕| 国产成人免费视频精品含羞草妖精 | 日韩欧美亚洲国产另类| 麻豆91小视频| 精品国精品国产| 国产福利一区在线| 国产欧美日本一区视频| 99久久国产综合色|国产精品| 国产精品成人午夜| 欧美在线观看18| 日本aⅴ精品一区二区三区 | 国产人成一区二区三区影院| 国产一区二区看久久| 久久色中文字幕| 9色porny自拍视频一区二区| 亚洲免费观看高清完整版在线观看| 色婷婷综合久久久久中文| 香蕉成人啪国产精品视频综合网| 日韩欧美国产成人一区二区| 精品一区在线看| 中文字幕在线观看不卡| 欧美优质美女网站| 国产一区二区伦理| 综合网在线视频| 7777精品伊人久久久大香线蕉完整版| 麻豆精品新av中文字幕|