0

vhdlに次のコードスニペットがあります。

signal s: signed(31 downto 0);
s <= to_signed(to_sfixed(1.2,8,-23),32);

今、私は1.2の固定小数点バージョンがシグナル「s」で利用可能になることを期待しています。

しかし、それは常に小数部分を無視します。's'には、小数部(ここでは「1」)のみが含まれます。

ここで何が欠けていますか?

4

2 に答える 2

1

sfixedからsigned型としてビットを再解釈したいだけの場合は、単純な型変換を使用してください。

signal s: signed(31 downto 0);
...
s <= signed(to_sfixed(1.2,8,-23));
于 2011-11-02T20:56:12.647 に答える
1

s小数部分を格納する場所はありません。整数のみを表すことができる符号付きベクトルです。

しかし、あなたはもうすぐそこにいます-符号を削除し、sとsfixedタイプを作成します:

signal s: sfixed(8 downto -23);
s <= to_sfixed(1.2,sfixed'high,sfixed'low);
于 2011-11-02T17:25:00.630 に答える