⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10_bit_to_int.vhd

📁 10个VHDL程序实例
💻 VHD
字号:
  function bit_to_int (in1:bit_vector) return integer is
	   ALIAS v1: BIT_VECTOR(in1'LENGTH-1 DOWNTO 0) IS in1;
	   variable inpv : bit_vector(in1'LENGTH-1 DOWNTO 0 );
       variable SUM: integer := 0;
	   variable negative :boolean:= false;
  begin
	   inpv := in1;
	   if  v1(v1'length-1) = '1' then
          for i in v1'length-1 downto 0 loop
			 inpv(i) := not inpv(i);
		  end loop;
	      lp1: 
		  for i in 0 to v1'length-1 loop
			  if  inpv(i) = '1' THEN
				 inpv(i) := '0';
              else 
				 inpv(i) := '1';
				 exit lp1; 
			  end if;
		  end loop;
		  negative := true;
       end if;

       for i in v1'length-1 downto 0 loop
         if inpv(i) = '1' then
            SUM := SUM + 2**i;
         end if;
       end loop;

       if negative then
          return (0-SUM);
       else
		  return SUM;
	   end if;
   end bit_to_int; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -