-1
私はシステムジェネレータで使用しているときにいくつかの問題を引き起こしているので、numeric_stdライブラリを使用したくありません。 numeric_stdライブラリを考慮することにより、コードがとされています任意のサイズの整数入力(正、負またはゼロ)をVHDLのバイナリに変換する方法は?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.STD_LOGIC_unsigned.all;
use ieee.numeric_std.all;
use ieee.std_logic_arith.all;
entity conversion is
port(l: in integer; k: out std_logic_vector(127 downto 0));
end conversion;
architecture Behavioral of conversion is
begin
k <= conv_std_logic_vector(l,128);
end Behavioral;
入力整数は任意の値を持つことができるということを念頭に置いて、この方法の代替は何ですか?
私は 'numeric_std'を使ってあなたを止めている問題を解決しようと提案します。 –
システムジェネレータモデルでこのコードをブラックボックスとして使用する必要があります。私がそれを実行すると、次のエラーが表示されます。 HDLシミュレーションモデルのコンパイルに失敗しました。 エラー:HDLCompiler:104 - "xlisim_bit.vhd"行1904:ライブラリに が見つかりません。ライブラリが でコンパイルされており、ライブラリと使用句が VHDLファイルに存在することを確認してください。 –
'ieee.STD_LOGIC'または' ieee.std_logic_arith'と一緒に 'ieee.numeric_std'を使用しないでください。それらは互換性がありません。新しいコードでは 'ieee.numeric_std'を使います。既存のコードでは、既に存在するパッケージを使用したいと思うかもしれません。 –