66_signed.vhd

来自「基于FPGA的FIR滤波器实现」· VHDL 代码 · 共 1,966 行 · 第 1/5 页

VHD
1,966
字号
    ---------------------
    function "or" (L: SIGNED; R: UNSIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------
    ---------------------
    function "or" (L: SIGNED; R: UNSIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------
    ---------------------
    function "or" (L: UNSIGNED; R: SIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------
    ---------------------
    function "or" (L: UNSIGNED; R: SIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------
    ---------------------
    function "or" (L: UNSIGNED; R: UNSIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------
    ---------------------
    function "or" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded or operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := or_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "or";
    ---------------------
    ---------------------
    function "and" (L: SIGNED; R: SIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
   function "and" (L: SIGNED; R: SIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
    function "and" (L: SIGNED; R: UNSIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
    function "and" (L: SIGNED; R: UNSIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
    function "and" (L: UNSIGNED; R: SIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
    function "and" (L: UNSIGNED; R: SIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
    function "and" (L: UNSIGNED; R: UNSIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
       else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
    function "and" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded and operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := and_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "and";
    ---------------------
    ---------------------
    function "xor" (L: SIGNED; R: SIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
    ---------------------
    ---------------------
    function "xor" (L: SIGNED; R: SIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
    ---------------------
    ---------------------
    function "xor" (L: SIGNED; R: UNSIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
    ---------------------
    ---------------------
    function "xor" (L: SIGNED; R: UNSIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
   ---------------------
    ---------------------
    function "xor" (L: UNSIGNED; R: SIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
    ---------------------
    ---------------------
    function "xor" (L: UNSIGNED; R: SIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
    ---------------------
    ---------------------
    function "xor" (L: UNSIGNED; R: UNSIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
    ---------------------
    ---------------------
    function "xor" (L: UNSIGNED; R: UNSIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded xor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := xor_table(L(i) , R(i));
           end loop;
        end if;
	return result;
    end "xor";
    ---------------------
    ---------------------
    function "nor" (L: SIGNED; R: SIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded nor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := not_table(or_table(L(i) , R(i)));
           end loop;
        end if;
	return result;
    end "nor";
    ---------------------
    ---------------------
    function "nor" (L: SIGNED; R: SIGNED) return UNSIGNED is
	 variable result : UNSIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded nor operator have different length"
	     severity error;
        else
	   for i in result'range loop
	       result(i) := not_table(or_table(L(i) , R(i)));
           end loop;
        end if;
	return result;
    end "nor";
    ---------------------
    ---------------------
    function "nor" (L: SIGNED; R: UNSIGNED) return SIGNED is
	 variable result : SIGNED (L'range);
    begin
	if (L'length /= R'length) then
	     assert false
	     report "arguments of overloaded nor operator have different length"
	     severity error;
        else
	   for i in result'range loop

⌨️ 快捷键说明

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