与 VHDL 中的变量相乘

Multiplication with a variable in VHDL

好的,我的实验室作业需要这个。在项目的一部分中,我必须这样做:

M*(2^E) 其中m为M2 M1 M0 3位数,e为E1 E0 2位数

我知道我们在乘以 2 时在数字末尾加零,但数字 'E' 不是常数。

我只想知道怎么做

语言:VHDL * 我不允许使用 'behavioral' 架构

谢谢!

我不会给你一个完整的解决方案,因为它会破坏实验室的目的...

你知道乘以2时要在数字末尾加一个零,我相信你也能算出E1E0从0到3要加多少个零。因为只有4个案例,简单地列出所有案例会很容易:

with e select
    output <= "000" & m when "00",
              something when "01",
              something when "10",
              something when others;

您可能在 类 中看到过此语法,也可能没有看到过。这在您的体系结构主体中,在流程之外。在流程中,您可以使用 case 语句。