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

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

?? l_conversions_b.vhd

?? 8237 VHDL代碼
?? VHD
?? 第 1 頁 / 共 2 頁
字號:

      function to_oct_str(x          : natural;
                          rtn_len    : natural      := 0;
                          justify    : justify_side := right;
                          basespec   : b_spec       := yes)  return string is
        variable int : natural := x;
        variable ptr : positive range 1 to 20 := 20;
        variable r   : string(1 to 20):=(others=>'$');
      begin
        if x=0 then return format ("0",octal,rtn_len,justify,basespec); end if;
        while int > 0 loop
          case int rem 8 is
            when 0  => r(ptr) := '0';
            when 1  => r(ptr) := '1';
            when 2  => r(ptr) := '2';
            when 3  => r(ptr) := '3';
            when 4  => r(ptr) := '4';
            when 5  => r(ptr) := '5';
            when 6  => r(ptr) := '6';
            when 7  => r(ptr) := '7';
            when others =>
              assert false report lf & "TO_OCT_STR, shouldn't happen" 
              severity failure;
              return "$";
          end case;
          int := int / 8;
          ptr := ptr - 1;
        end loop;
        return format (r(ptr+1 to 20),octal,rtn_len,justify,basespec);
      end to_oct_str;

      function to_int_str(x          : natural;
                          rtn_len    : natural      := 0;
                          justify    : justify_side := right;
                          basespec   : b_spec       := yes) return string is
        variable int : natural := x;
        variable ptr : positive range 1 to 32 := 32;
        variable r   : string(1 to 32):=(others=>'$');
      begin
        if x=0 then return format ("0",hex,rtn_len,justify,basespec); 
        else
        while int > 0 loop
          case int rem 10 is
            when 0 => r(ptr) := '0';
            when 1 => r(ptr) := '1';
            when 2 => r(ptr) := '2';
            when 3 => r(ptr) := '3';
            when 4 => r(ptr) := '4';
            when 5 => r(ptr) := '5';
            when 6 => r(ptr) := '6';
            when 7 => r(ptr) := '7';
            when 8 => r(ptr) := '8';
            when 9 => r(ptr) := '9';
            when others =>
              assert false report lf & "TO_INT_STR, shouldn't happen" 
              severity failure;
              return "$";
          end case;
          int := int / 10;
          ptr := ptr - 1;
        end loop;
        return format (r(ptr+1 to 32),decimal,rtn_len,justify,basespec);
        end if;
      end to_int_str;

      function to_int_str(x          : std_logic_vector;
                          rtn_len    : natural      := 0;
                          justify    : justify_side := right;
                          basespec   : b_spec       := yes) 
        return string is
      begin
        return to_int_str(to_nat(x),rtn_len,justify,basespec);
      end to_int_str;


      function to_time_str (x          : time)
        return string is
      begin
        return to_int_str(to_nat(x),basespec=>no) & " ns";
      end to_time_str;

      function fill        (fill_char  : character    := '*';
                            rtn_len    : integer      := 1) 
        return string is
        variable r : string(1 to max(rtn_len,1)) := (others => fill_char); 
      begin
        if rtn_len < 2 then -- always returns at least 1 fill char 
          return r(1 to 1);
        else
          return r(1 to rtn_len);
        end if;
      end fill;  

      function to_nat(x : std_logic_vector) return natural is
        -- assumes x is an unsigned number, lsb on right,
        -- more than 31 bits are truncated on left
        variable t     : std_logic_vector(1 to x'length) := x;
        variable int   : std_logic_vector(1 to 31) := (others => '0');
        variable r     : natural  := 0;
        variable place : positive := 1;
      begin
        if x'length < 32 then
          int(max(32-x'length,1) to 31) := t(1 to x'length);
        else -- x'length >= 32
          int(1 to 31) := t(x'length-30 to x'length);
        end if;
        for i in int'reverse_range loop
          case int(i) is
            when '1'    => r := r + place;
            when '0'    => null; 
            when others => 
              assert false 
                report lf &
                    "TO_NAT found illegal value: " & to_bin_str(int(i)) & lf &
                    "converting input to integer 0"
                severity warning;
              return 0;
          end case;
          exit when i=1;
          place := place * 2;
        end loop;
        return r;
      end to_nat;

      function to_nat      (x        : std_logic) 
        return natural is
      begin
        case x is
          when '0' => return 0 ;
          when '1' => return 1 ;
          when others =>
              assert false 
                report lf &
                       "TO_NAT found illegal value: " & to_bin_str(x) & lf &
                       "converting input to integer 0"
                severity warning;
              return 0;
        end case;
      end to_nat;

      function to_nat      (x        : time) 
        return natural is
      begin
        return x / 1 ns;
      end to_nat;

      function h(x       : string;
                 rtn_len : positive range 1 to 32 := 32) 
        return std_logic_vector is
      -- if rtn_len is < than x'length*4, result will be truncated on the left
      -- if x is other than characters 0 to 9 or a,A to f,F or 
      -- x,X,z,Z,u,U,-,w,W, 
      --   those result bits will be set to 0
        variable int : string(1 to x'length) := x;
        variable size: positive := max(x'length*4,rtn_len);
        variable ptr : integer range -3 to size := size;
        variable r   : std_logic_vector(1 to size) := (others=>'0');
      begin
        for i in int'reverse_range loop
          case int(i) is
            when '0'     => r(ptr-3 to ptr) := "0000";
            when '1'     => r(ptr-3 to ptr) := "0001";
            when '2'     => r(ptr-3 to ptr) := "0010";
            when '3'     => r(ptr-3 to ptr) := "0011";
            when '4'     => r(ptr-3 to ptr) := "0100";
            when '5'     => r(ptr-3 to ptr) := "0101";
            when '6'     => r(ptr-3 to ptr) := "0110";
            when '7'     => r(ptr-3 to ptr) := "0111";
            when '8'     => r(ptr-3 to ptr) := "1000";
            when '9'     => r(ptr-3 to ptr) := "1001";
            when 'a'|'A' => r(ptr-3 to ptr) := "1010";
            when 'b'|'B' => r(ptr-3 to ptr) := "1011";
            when 'c'|'C' => r(ptr-3 to ptr) := "1100";
            when 'd'|'D' => r(ptr-3 to ptr) := "1101";
            when 'e'|'E' => r(ptr-3 to ptr) := "1110";
            when 'f'|'F' => r(ptr-3 to ptr) := "1111";
            when 'U'     => r(ptr-3 to ptr) := "UUUU";
            when 'X'     => r(ptr-3 to ptr) := "XXXX";
            when 'Z'     => r(ptr-3 to ptr) := "ZZZZ";
            when 'W'     => r(ptr-3 to ptr) := "WWWW";
            when 'H'     => r(ptr-3 to ptr) := "HHHH";
            when 'L'     => r(ptr-3 to ptr) := "LLLL";
            when '-'     => r(ptr-3 to ptr) := "----";
            when '_'     => ptr := ptr + 4;
            when others  => 
              assert false 
                report lf & 
                    "O conversion found illegal input character: " & 
                     int(i) & lf & "converting character to '----'"
                severity warning;
              r(ptr-3 to ptr) := "----";
         end case;
          ptr := ptr - 4;      
        end loop;
        return r(size-rtn_len+1 to size);
      end h;

      function d         (x          : string;
                          rtn_len    : positive range 1 to 32 := 32)
        return std_logic_vector is
      -- if rtn_len is < than binary length of x, result will be truncated on 
      -- the left
      -- if x is other than characters 0 to 9, result will be 0
      begin
        return to_slv(cnvt_base(x,10),rtn_len);
      end d;

      function o         (x          : string;
                          rtn_len    : positive range 1 to 32 := 32)
        return std_logic_vector is
      -- if rtn_len is < than x'length*3, result will be truncated on the left
      -- if x is other than characters 0 to 7 or or x,X,z,Z,u,U,-,w,W,
      --   those result bits will be set to 0
        variable int : string(1 to x'length) := x;
        variable size: positive := max(x'length*3,rtn_len);
        variable ptr : integer range -2 to size := size;
        variable r   : std_logic_vector(1 to size) := (others=>'0');
      begin
        for i in int'reverse_range loop
          case int(i) is
            when '0'     => r(ptr-2 to ptr) := "000";
            when '1'     => r(ptr-2 to ptr) := "001";
            when '2'     => r(ptr-2 to ptr) := "010";
            when '3'     => r(ptr-2 to ptr) := "011";
            when '4'     => r(ptr-2 to ptr) := "100";
            when '5'     => r(ptr-2 to ptr) := "101";
            when '6'     => r(ptr-2 to ptr) := "110";
            when '7'     => r(ptr-2 to ptr) := "111";
            when 'U'     => r(ptr-2 to ptr) := "UUU";
            when 'X'     => r(ptr-2 to ptr) := "XXX";
            when 'Z'     => r(ptr-2 to ptr) := "ZZZ";
            when 'W'     => r(ptr-2 to ptr) := "WWW";
            when 'H'     => r(ptr-2 to ptr) := "HHH";
            when 'L'     => r(ptr-2 to ptr) := "LLL";
            when '-'     => r(ptr-2 to ptr) := "---";
            when '_'     => ptr := ptr + 3;
            when others  => 
              assert false 
                report lf & 
                    "O conversion found illegal input character: " & 
                     int(i) & lf & "converting character to '---'"
                severity warning;
              r(ptr-2 to ptr) := "---";
         end case;
          ptr := ptr - 3;      
        end loop;
        return r(size-rtn_len+1 to size);
      end o;

      function b         (x          : string;
                          rtn_len    : positive range 1 to 32 := 32)
        return std_logic_vector is
      -- if rtn_len is < than x'length, result will be truncated on the left
      -- if x is other than characters 0 to 1 or x,X,z,Z,u,U,-,w,W, 
      --   those result bits will be set to 0
        variable int : string(1 to x'length) := x;
        variable size: positive := max(x'length,rtn_len);
        variable ptr : integer range 0 to size+1 := size; -- csa
        variable r   : std_logic_vector(1 to size) := (others=>'0');
      begin
        for i in int'reverse_range loop
          case int(i) is
            when '0'     => r(ptr) := '0';
            when '1'     => r(ptr) := '1';
            when 'U'     => r(ptr) := 'U';
            when 'X'     => r(ptr) := 'X';
            when 'Z'     => r(ptr) := 'Z';
            when 'W'     => r(ptr) := 'W';
            when 'H'     => r(ptr) := 'H';
            when 'L'     => r(ptr) := 'L';
            when '-'     => r(ptr) := '-';
            when '_'     => ptr := ptr + 1;
            when others  => 
              assert false 
                report lf & 
                    "B conversion found illegal input character: " & 
                     int(i) & lf &  "converting character to '-'"
                severity warning;
              r(ptr) := '-';           
          end case;
          ptr := ptr - 1;      
        end loop;
        return r(size-rtn_len+1 to size);
      end b;

      function h         (x          : string)
        return natural is
      -- only following characters are allowed, otherwise result will be 0
      --   0 to 9 
      --   a,A to f,F 
      --   blanks, underscore
      begin
        return cnvt_base(x,16);
      end h;

      function d         (x          : string)
        return natural is
      -- only following characters are allowed, otherwise result will be 0
      --   0 to 9 
      --   blanks, underscore
      begin
        return cnvt_base(x,10);
      end d;

      function o         (x          : string)
        return natural is
      -- only following characters are allowed, otherwise result will be 0
      --   0 to 7 
      --   blanks, underscore
      begin
        return cnvt_base(x,8);
      end o;

      function b         (x          : string)
        return natural is
      -- only following characters are allowed, otherwise result will be 0
      --   0 to 1 
      --   blanks, underscore
      begin
        return cnvt_base(x,2);
      end b;

      function to_slv(x       : natural;
                      rtn_len : positive range 1 to 32 := 32) 
        return std_logic_vector is
        -- if rtn_len is < than sizeof(x), result will be truncated on the left
        variable int : natural  := x;
        variable ptr : positive := 32;
        variable r   : std_logic_vector(1 to 32) := (others=>'0');
      begin
        while int > 0 loop
          case int rem 2 is
            when 0 => r(ptr) := '0';
            when 1 => r(ptr) := '1';
            when others => 
              assert false report lf & "TO_SLV, shouldn't happen" 
              severity failure;
              return "0";
          end case;
          int := int / 2;
          ptr := ptr - 1;
        end loop;
        return r(33-rtn_len to 32);
      end to_slv;

      function to_sl(x       : natural) 
        return std_logic is
        variable r   : std_logic := '0';
      begin
        case x is
          when 0 => null;
          when 1 => r := '1';
          when others => 
            assert false 
              report lf & 
                "TO_SL found illegal input character: " & 
                 to_int_str(x) & lf & "converting character to '-'"
              severity warning;
            return '-';
        end case; 
        return r;
      end to_sl;

      function to_time (x: natural) return time is
      begin
        return x * 1 ns;
      end to_time;

END conversions;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人av在线播放| 精品成人一区二区三区四区| 一区二区视频在线| 92国产精品观看| 亚洲精品伦理在线| 欧美视频中文一区二区三区在线观看 | 欧美体内she精高潮| 图片区小说区区亚洲影院| 欧美一区二区三区免费在线看| 蜜臀99久久精品久久久久久软件 | 91美女在线视频| 樱花影视一区二区| 6080午夜不卡| 精品一区二区三区视频在线观看| 久久久久久麻豆| 成人av资源下载| 亚洲电影一区二区| 欧美成人vr18sexvr| 丁香激情综合国产| 亚洲一级在线观看| 久久综合狠狠综合| 色婷婷综合视频在线观看| 日韩有码一区二区三区| 久久嫩草精品久久久精品| 91在线观看成人| 日本不卡一区二区| 国产精品无人区| 欧美日韩精品一区二区天天拍小说 | 日韩一级二级三级| 成人午夜私人影院| 亚洲成av人影院| 久久久不卡网国产精品一区| 色94色欧美sute亚洲线路二| 日本伊人色综合网| 中文字幕中文乱码欧美一区二区 | 久久亚洲捆绑美女| 91免费视频观看| 久久电影网电视剧免费观看| 日韩理论在线观看| 久久综合999| 欧美三级资源在线| 成人高清免费在线播放| 奇米四色…亚洲| 亚洲精品乱码久久久久久黑人| 日韩欧美一级二级三级 | 欧美视频中文字幕| aaa亚洲精品| 国产精品99久久久| 蜜桃久久久久久久| 亚洲丶国产丶欧美一区二区三区| 欧美极品美女视频| 久久久久国产免费免费| 欧美不卡一二三| 91福利在线观看| 成人精品一区二区三区四区| 老鸭窝一区二区久久精品| 伊人性伊人情综合网| 国产精品视频免费看| 日韩精品最新网址| 91精品国产aⅴ一区二区| 91麻豆福利精品推荐| 成人精品一区二区三区中文字幕| 国产精品自拍av| 久久国产精品色婷婷| 舔着乳尖日韩一区| 亚洲电影一区二区| 亚洲一卡二卡三卡四卡| 亚洲乱码国产乱码精品精可以看 | 777亚洲妇女| 欧美视频一区二区| 欧美亚洲一区二区在线| 97久久超碰精品国产| av在线播放不卡| jlzzjlzz国产精品久久| 成人性生交大片免费看在线播放| 国产一区二区三区在线观看免费| 蜜臀久久99精品久久久久宅男 | 久久久精品免费网站| 欧美成人精精品一区二区频| 欧美成人激情免费网| 欧美r级电影在线观看| 精品国产一区二区三区久久影院 | 欧美色精品天天在线观看视频| 在线看一区二区| 欧美日韩免费不卡视频一区二区三区| 色婷婷精品久久二区二区蜜臂av| 色哟哟在线观看一区二区三区| 91麻豆高清视频| 欧美日韩情趣电影| 日韩亚洲欧美中文三级| 日韩精品自拍偷拍| 久久综合色之久久综合| 国产精品成人午夜| 亚洲综合免费观看高清完整版| 性欧美疯狂xxxxbbbb| 日韩精品每日更新| 国产一区二区三区免费看| 国产精品456露脸| 99精品久久只有精品| 在线观看av一区| 欧美一区日韩一区| 久久久三级国产网站| 中文字幕色av一区二区三区| 一区二区激情视频| 日韩av高清在线观看| 国产一区二区三区国产| www.成人网.com| 在线成人小视频| 精品999在线播放| 亚洲精品国产无天堂网2021 | 免费在线观看日韩欧美| 国产高清久久久| 日本精品视频一区二区| 日韩欧美在线网站| 国产精品国产三级国产aⅴ原创 | 18欧美乱大交hd1984| 亚洲成a人在线观看| 国产在线不卡视频| 欧美视频在线观看一区二区| 久久久久久久久久久电影| 一区二区三区免费| 精品一区二区三区久久| 97se亚洲国产综合自在线观| 91精品欧美一区二区三区综合在| 久久久久九九视频| 婷婷六月综合亚洲| 99视频在线观看一区三区| 717成人午夜免费福利电影| 亚洲国产精品精华液ab| 舔着乳尖日韩一区| 91麻豆视频网站| 精品福利视频一区二区三区| 亚洲欧洲综合另类在线| 国内国产精品久久| 欧美日韩一区高清| 中文字幕免费不卡在线| 麻豆成人av在线| 欧美丝袜丝交足nylons图片| 国产日产欧美一区| 久久99国产精品尤物| 欧美日韩一区二区三区四区 | 亚洲国产欧美另类丝袜| 成人国产电影网| 久久精品亚洲精品国产欧美| 青青草97国产精品免费观看无弹窗版 | 精品一二线国产| 欧美日韩一区二区三区高清| 中文字幕亚洲电影| 福利一区在线观看| 久久伊99综合婷婷久久伊| 天天色综合成人网| 色丁香久综合在线久综合在线观看| 久久综合色8888| 卡一卡二国产精品| 日韩午夜精品电影| 亚洲成a人片在线观看中文| 欧美在线视频全部完| 亚洲同性同志一二三专区| www.综合网.com| 久久精品日产第一区二区三区高清版 | 欧美区一区二区三区| 一区二区三区在线观看视频| jizz一区二区| 自拍av一区二区三区| 97国产一区二区| 亚洲精品国产无天堂网2021| 94-欧美-setu| 亚洲国产日韩综合久久精品| 在线观看亚洲精品| 亚洲一级不卡视频| 欧美日韩中文字幕一区二区| 一级做a爱片久久| 欧美亚洲综合网| 视频一区在线视频| 日韩欧美中文字幕公布| 九九久久精品视频| 国产女主播在线一区二区| 成人高清免费观看| 亚洲欧美另类图片小说| 欧美三级电影网| 免费观看在线色综合| 精品国产伦理网| 成人教育av在线| 亚洲精品国产一区二区三区四区在线| 在线视频观看一区| 免费观看在线综合色| 久久免费美女视频| 成人sese在线| 亚洲自拍另类综合| 欧美一区二区三区喷汁尤物| 国产在线播精品第三| 亚洲视频在线观看一区| 欧美三级电影精品| 经典一区二区三区| 亚洲欧洲日韩在线| 欧美剧情片在线观看| 国产一区二区三区高清播放| 成人欧美一区二区三区白人 | 国产99一区视频免费| 亚洲欧美日韩久久精品|