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

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

?? io_utils.vhd

?? Xilinx Sdram控制器VHDL源代碼
?? VHD
字號:
LIBRARY ieee;USE std.textio.ALL;USE ieee.std_logic_1164.ALL;PACKAGE io_utils IS    PROCEDURE write_string(l : INOUT line;                           value : IN string;                           justified : IN side := right;                           field : IN width := 0);    TYPE radix IS (binary, octal, decimal, hex);    -- read a number from the line     -- use this if you have hex numbers that are not in VHDL pound-sign format    PROCEDURE read(l : INOUT line; value : OUT integer;  radix : IN positive);    -- read a number that might be in VHDL pound-sign format    PROCEDURE read_based(l : INOUT line; value : OUT integer);    PROCEDURE write(l : INOUT line;                    value : IN std_logic_vector;                    justified : IN side := right;                    field : IN width := 0;                    base : IN radix;                    use_pound : boolean := false);    PROCEDURE write(l : INOUT line;                    value : IN integer;                    justified : IN side := right;                    field : IN width := 0;                    base : IN radix;                    use_pound : boolean := false);END io_utils;PACKAGE BODY io_utils IS    PROCEDURE write_string(l : INOUT line;                           value : IN string;                           justified : IN side := right;                           field : IN width := 0)    IS    BEGIN        write(l, value, justified, field);    END;    PROCEDURE shrink_line(l : INOUT line; pos : integer) IS        VARIABLE tmpl : line;    BEGIN        tmpl := l;        l := NEW string'(tmpl(pos TO tmpl'high));        deallocate(tmpl);    END;    PROCEDURE read(l : INOUT line;                   value : OUT integer;                   radix : IN positive)    IS        CONSTANT not_digit : integer := -999;        -- convert a character to a value from 0 to 15        FUNCTION digit_value(c : character) RETURN integer IS        BEGIN            IF (c >= '0') AND (c <= '9') THEN                RETURN (character'pos(c) - character'pos('0'));            ELSIF (c >= 'a') AND (c <= 'f') THEN                RETURN (character'pos(c) - character'pos('a') + 10);            ELSIF (c >= 'A') AND (c <= 'F') THEN                RETURN (character'pos(c) - character'pos('A') + 10);            ELSE                RETURN not_digit;            END IF;        END;        -- skip leading white space in the line        PROCEDURE skip_white(VARIABLE l : IN line; pos : OUT integer) IS        BEGIN            pos := l'low;            FOR i IN l'low TO l'high LOOP                CASE l(i) IS                    WHEN ' ' | ht  =>                        pos := i + 1;                    WHEN OTHERS =>                        EXIT;                END CASE;            END LOOP;        END;        VARIABLE digit : integer;        VARIABLE result : integer := 0;        VARIABLE pos : integer;    BEGIN        -- skip white space        skip_white(l, pos);        -- calculate the value        FOR i IN pos TO l'right LOOP            digit := digit_value(l(i));            EXIT WHEN (digit = not_digit) OR (digit >= radix);            result := result * radix + digit;            pos := i + 1;        END LOOP;        value := result;        -- remove the "used" characters from the line        shrink_line(l, pos);    END;    PROCEDURE read_based(l : INOUT line; value : OUT integer) IS        VARIABLE digit : integer;        VARIABLE num : integer;        VARIABLE base : integer;    BEGIN        read(l, num, 10);        IF (l'length > 1) AND (l(l'left) = '#') THEN            shrink_line(l, l'left+1);            base := num;            read(l, num, base);            IF (l'length >= 1) AND (l(l'left) = '#') THEN                shrink_line(l, l'left+1);            END IF;        END IF;        value := num;    END;    PROCEDURE write(l : INOUT line;                    value : IN std_logic_vector;                    justified : IN side := right;                    field : IN width := 0;                    base : IN radix;                    use_pound : boolean := false)    IS        FUNCTION to_int(bv : std_logic_vector) RETURN integer        IS            VARIABLE result : integer := 0;        BEGIN            FOR i IN bv'RANGE LOOP                result := result * 2;                IF (bv(i) = '1') THEN                    result := result + 1;                END IF;            END LOOP;            RETURN result;        END;                TYPE array_of_widths IS ARRAY(radix) OF natural;        CONSTANT nibble_widths : array_of_widths := (            binary => 1,            octal  => 3,            hex    => 4,            decimal=> 32);        CONSTANT hex_digit : string(1 TO 16) := "0123456789ABCDEF";        ALIAS input_val : std_logic_vector(value'length DOWNTO 1) IS value;        CONSTANT nibble_width : natural := nibble_widths(base);        CONSTANT result_width : natural := (value'length + nibble_width - 1)/nibble_width;                VARIABLE result : string(1 TO result_width);  -- longest possible value        VARIABLE result_pos : positive := 1;        VARIABLE nibble_val : integer;        VARIABLE bitcnt : integer;    BEGIN        IF base = decimal THEN            write(l, to_int(value), justified, field, base, use_pound);            RETURN;        END IF;        bitcnt := value'length MOD nibble_width;        IF (bitcnt = 0) THEN            bitcnt := nibble_width;        END IF;        FOR i IN input_val'RANGE LOOP            nibble_val := nibble_val * 2;            IF (input_val(i) = '1') THEN                nibble_val := nibble_val + 1;            END IF;            bitcnt := bitcnt - 1;            IF (bitcnt = 0) THEN                result(result_pos) := hex_digit(nibble_val + 1);                result_pos := result_pos + 1;                nibble_val := 0;                bitcnt := nibble_width;            END IF;        END LOOP;        write(l, result, justified, field);    END;    PROCEDURE write(l : INOUT line;                    value : IN integer;                    justified : IN side := right;                    field : IN width := 0;                    base : IN radix;                    use_pound : boolean := false)    IS        FUNCTION to_bv(int : integer) RETURN std_logic_vector        IS            VARIABLE bv : std_logic_vector(32 DOWNTO 1) := (OTHERS => '0');            VARIABLE pos : integer := 0;            VARIABLE tmpval : integer := int;        BEGIN            FOR i IN 1 TO 32 LOOP                pos := pos + 1;                IF (tmpval MOD 2) = 1 THEN                    bv(i) := '1';                END IF;                tmpval := tmpval / 2;                EXIT WHEN tmpval = 0;            END LOOP;            RETURN bv(pos DOWNTO 1);        END;                    VARIABLE tmp : line;    BEGIN        IF (base = decimal) THEN            IF (use_pound) THEN                write_string(tmp, "10#");            END IF;            write(tmp, value);            IF (use_pound) THEN                write_string(tmp, "#");            END IF;            write(l, tmp.ALL, justified, field);            deallocate(tmp);        ELSE            write(l, to_bv(value), justified, field, base, use_pound);        END IF;    END; END io_utils;-- test the hex number reader--ENTITY test IS END;--USE std.textio.ALL;--USE work.io_utils.ALL;--ARCHITECTURE hex_test OF test IS--BEGIN--    PROCESS--        VARIABLE val : integer;--        FILE myfile : text IS IN "values";--        VARIABLE inline : line;--        VARIABLE outline : line;--    BEGIN--        WHILE NOT endfile(myfile) LOOP--            readline(myfile, inline);--            write(outline, inline.ALL);----            read_based(inline, val); --           write_string(outline, " binary: "); --           write(outline, val, base => binary); --           write_string(outline, " octal: ");  --          write(outline, val, base => octal); --           write_string(outline, " decimal: "); --           write(outline, val, base => decimal);--            write_string(outline, " hex: ");--            write(outline, val, base => hex);--            writeline(output, outline);--        END LOOP;--        WAIT;--    END PROCESS;--END;        

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清国产一区二区| 免费成人美女在线观看.| 国产91丝袜在线播放| 国产目拍亚洲精品99久久精品| 精品一区二区三区av| 久久综合成人精品亚洲另类欧美| 国产精品一品视频| 国产精品二三区| 在线一区二区视频| 免费的国产精品| 国产视频一区在线观看| av综合在线播放| 亚洲动漫第一页| 91精选在线观看| 国产精品自拍网站| 亚洲天天做日日做天天谢日日欢 | 激情综合网最新| 久久精品男人的天堂| 在线视频一区二区三区| 日韩福利电影在线| 欧美国产丝袜视频| 欧洲亚洲国产日韩| 激情图区综合网| 亚洲欧美激情小说另类| 91精品国产一区二区三区香蕉| 国内精品久久久久影院一蜜桃| 中文字幕欧美一区| 日韩午夜av一区| 一本色道综合亚洲| 国产在线视视频有精品| 亚洲尤物在线视频观看| 久久色中文字幕| 欧美专区日韩专区| 粉嫩av一区二区三区在线播放| 亚洲国产精品影院| 欧美经典三级视频一区二区三区| 欧美日韩美少妇| 国产成人av一区| 日韩精品久久久久久| 国产精品理论在线观看| 日韩亚洲欧美综合| 91成人免费电影| 成人国产精品视频| 激情综合色综合久久| 亚洲一卡二卡三卡四卡五卡| 国产精品三级视频| 精品电影一区二区| 欧美精品xxxxbbbb| 日本韩国精品在线| 成人国产视频在线观看| 国产一区二区三区在线观看免费 | 日日摸夜夜添夜夜添精品视频| 国产日韩影视精品| 精品国产乱码久久久久久闺蜜 | 一区二区三区免费观看| 2020日本不卡一区二区视频| 欧美高清视频一二三区| 欧美在线观看一二区| av不卡免费在线观看| 国产成人亚洲精品青草天美| 欧美aaa在线| 日韩一区精品视频| 亚洲第一成年网| 一区二区三区国产| 亚洲男女一区二区三区| 国产精品二区一区二区aⅴ污介绍| 久久久精品国产99久久精品芒果| 欧美刺激脚交jootjob| 欧美一级高清片在线观看| 在线不卡的av| 欧美高清视频在线高清观看mv色露露十八| 色婷婷亚洲精品| 91麻豆蜜桃一区二区三区| 成人晚上爱看视频| 成人性生交大片免费看在线播放| 韩国v欧美v日本v亚洲v| 久久99精品久久久久久动态图 | 国产午夜精品一区二区三区嫩草| 欧美一级二级在线观看| 日韩欧美国产不卡| 精品剧情v国产在线观看在线| 日韩一区二区精品在线观看| 91精品一区二区三区在线观看| 欧美日韩精品欧美日韩精品一 | 久久婷婷久久一区二区三区| 精品久久99ma| 久久女同精品一区二区| 国产欧美一区二区三区沐欲| 中文字幕成人av| 中文字幕一区三区| 亚洲综合色视频| 日韩精品电影一区亚洲| 另类专区欧美蜜桃臀第一页| 国产在线麻豆精品观看| bt欧美亚洲午夜电影天堂| 91理论电影在线观看| 欧美性猛交xxxx黑人交| 日韩欧美在线1卡| 国产亚洲精品超碰| 亚洲精品美国一| 日本91福利区| 国产乱码精品一区二区三 | 国内精品写真在线观看| 国产99久久久国产精品潘金网站| 99久久精品国产毛片| 欧美日韩成人一区| 欧美精品一区二区三区高清aⅴ | 国产成人8x视频一区二区| 99vv1com这只有精品| 欧美肥妇bbw| 久久夜色精品一区| 亚洲日本免费电影| 看片的网站亚洲| 99免费精品视频| 制服丝袜亚洲精品中文字幕| 精品99久久久久久| 亚洲蜜桃精久久久久久久| 麻豆精品在线播放| 一本大道综合伊人精品热热| 欧美www视频| 一区二区高清视频在线观看| 国产一区二区三区在线看麻豆| 色88888久久久久久影院野外| 精品久久国产97色综合| 亚洲综合色区另类av| 国产成人99久久亚洲综合精品| 欧美日韩在线观看一区二区| 久久久久亚洲综合| 日本亚洲天堂网| 色香蕉久久蜜桃| 久久精品一区二区三区不卡牛牛 | 国产大陆亚洲精品国产| 欧美日韩成人综合| 自拍偷拍国产精品| 国产精一区二区三区| 欧美日韩亚洲综合一区 | 亚洲自拍偷拍图区| 国产一区999| 7777精品伊人久久久大香线蕉最新版| 国产色产综合产在线视频| 日韩高清一级片| 欧美在线色视频| 亚洲日穴在线视频| 国产激情视频一区二区三区欧美 | 久久久精品国产免大香伊| 午夜视频在线观看一区| 91在线视频免费观看| 国产拍欧美日韩视频二区| 麻豆国产欧美日韩综合精品二区| 欧美在线免费观看视频| 日韩中文字幕区一区有砖一区 | 中文字幕不卡在线| 理论电影国产精品| 欧美精品 日韩| 亚洲成人中文在线| 国产精品色一区二区三区| 一区二区三区免费网站| 国产一区二区免费视频| 91国在线观看| 久久精品视频网| 午夜欧美一区二区三区在线播放| 国产在线观看一区二区| 日本高清免费不卡视频| 26uuu久久综合| 亚洲成人激情自拍| 99久久久国产精品| 欧美变态tickling挠脚心| 伊人开心综合网| 成人在线视频首页| 日韩欧美国产午夜精品| 亚洲国产精品久久人人爱| 成人黄色一级视频| 久久一夜天堂av一区二区三区| 亚洲电影视频在线| 91免费小视频| 国产女人18水真多18精品一级做| 日韩高清一级片| 欧美日韩一区三区| 亚洲婷婷在线视频| 不卡一区二区中文字幕| 久久日韩粉嫩一区二区三区| 天堂va蜜桃一区二区三区漫画版| 91一区二区在线观看| 国产精品系列在线| 国产一区二区0| 精品国产免费一区二区三区四区 | 日韩一区二区影院| 亚洲线精品一区二区三区八戒| eeuss影院一区二区三区| 国产天堂亚洲国产碰碰| 国产精品系列在线观看| 精品日韩99亚洲| 精品亚洲成av人在线观看| 日韩欧美国产一区二区在线播放| 婷婷激情综合网| 欧美日韩一区二区三区四区| 亚洲午夜在线电影| 欧美日韩在线不卡| 性久久久久久久| 欧美一区二区三区四区在线观看|