我有两个数字(1个更小,1个更大的数字),我希望移位较低的数字以匹配1个时钟周期中的较高数字。这应该可以用于:
shift_amt <= floor(log2( bigger_num )) - floor(log2( smaller_num );
示例:
signal bigger_num : unsigned(7 downto 0) := "00001111"; --15, high bit 3
signal smaller_num : unsigned(7 downto 0) := "00000010"; --2, high bit 1
--shift_amt should = 2
问题:
floor(log2())似乎不想将greater_num或less_num作为参数。
我需要动态地进行这种计算(不是常数)。
抱歉,我是vhdl的新手。谢谢你的帮助!