0

我正在查看一些包含以下行的代码:

a <= to_sfixed (-3.125, 7, -6);

a条线运行后是什么?

我想我在 中找到了函数float_pkg_c.vhd,这似乎是代码的关键部分:

result_big := to_sfixed (
  arg         => STD_LOGIC_VECTOR(rsigned),
  left_index  => left_index,
  right_index => (right_index-3));
result := resize (arg            => result_big,
                  left_index     => left_index,
                  right_index    => right_index,
                  round_style    => round_style,
                  overflow_style => overflow_style);

我已阅读指南。从这里

To_sfixed——“浮动”到“固定”。输入:arg(浮点数)、left_index 和 right_index(自然)或 size_res(ufixed)。参数 round_style : Boolean (true), overflow_style : Boolean (true), check_error : Boolean (true) 和 denormalize : Boolean (true)。

但是,我仍然没有计算出预期的位数 - 我期望总共 13 位是正确的吗?

有没有一种简单的方法可以为自己回答这些问题(例如使用命令行界面)?

4

0 回答 0