这个VHDL代码有什么作用?

时间:2011-12-25 11:55:34

标签: vhdl

我正在开展一个项目,但无论我做什么,我都无法理解这段代码的作用。由于我不熟悉VHDL,因此我很难理解这段代码的用途。

library iee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use work.my_package.all;

Entity multiplier is

    generic (size: integer :=4);
    Port (a,b : in unsigned( size-1 downto 0);
        y : out unsigned( size-1 downto 0));

End multiplier ;

ARCHITECTURE behavior of multiplier is

Begin

    y<= mult(a,b);

End behavior;

3 个答案:

答案 0 :(得分:5)

您有实体,其中描述了您设计的界面。在这种情况下,输入ab以及输出y。这些都是4位值。

架构包含您正在尝试执行的操作(如果您愿意,可以使用正文)。在这种情况下,它只是ab的乘法,分配给y。并且(如果你感到困惑)不,<=不代表“小于或等于”,但这是一项任务。

答案 1 :(得分:3)

它需要两个4位输入并在输出上产生一个4位乘积。这有点奇怪,因为输入大小等于输出,所以如果将两个大数相乘,就会出现溢出。

答案 2 :(得分:1)

只需查看ARCHITECTURE部分,您就可以看到您将实体部分中定义的两个整数a和b相乘。 ARCHITECTURE部分总是描述您的系统行为!