【发布时间】:2026-01-07 02:20:05
【问题描述】:
我设计了一个实体乘法和一个实现该实体的架构,但我不知道如何为此编写测试平台。换句话说:如何将值传递给我的架构? 我不确定这段代码是否正确,但如果不向它传递值,我就无法对其进行测试。
library ieee;
use ieee.numeric_std.all;
use ieee.std_logic_1164.all;
entity multiply is
port (
in_A : in std_ulogic_vector(7 downto 0);
in_B : in std_ulogic_vector(7 downto 0);
out_Q : out std_ulogic_vector(15 downto 0)
);
end multiply;
architecture multiply_arch of multiply is
signal p0 : std_ulogic_vector(7 downto 0);
signal p1 : std_ulogic_vector(7 downto 0);
signal p2 : std_ulogic_vector(7 downto 0);
signal p3 : std_ulogic_vector(7 downto 0);
signal p4 : std_ulogic_vector(7 downto 0);
signal p5 : std_ulogic_vector(7 downto 0);
signal p6 : std_ulogic_vector(7 downto 0);
signal p7 : std_ulogic_vector(7 downto 0);
begin
p0 <= (7 downto 0 => in_A(0)) and in_B;
p1 <= (7 downto 0 => in_A(1)) and in_B;
p2 <= (7 downto 0 => in_A(2)) and in_B;
p3 <= (7 downto 0 => in_A(3)) and in_B;
p4 <= (7 downto 0 => in_A(4)) and in_B;
p5 <= (7 downto 0 => in_A(5)) and in_B;
p6 <= (7 downto 0 => in_A(6)) and in_B;
p7 <= (7 downto 0 => in_A(7)) and in_B;
out_Q(15 downto 1) <= std_ulogic_vector((unsigned(p0) + unsigned(p1&"0") + unsigned(p2&"00") + unsigned(p3&"000") + unsigned(p4&"0000") + unsigned(p5&"00000") + unsigned(p6&"000000") + unsigned(p7&"0000000")));
end architecture multiply_arch;
【问题讨论】:
-
-1 显然是作业。显然没有读过他们关于 VHDL 编码的第一章,或者哪一章涉及实体实例化。