我创建了一个带有核心生成器的分割器。它创建一个如下所示的组件:
component divider_core
port (
clk: IN std_logic;
rfd: OUT std_logic;
dividend: IN std_logic_VECTOR(31 downto 0);
divisor: IN std_logic_VECTOR(31 downto 0);
quotient: OUT std_logic_VECTOR(31 downto 0);
fractional: OUT std_logic_VECTOR(31 downto 0));
end component;
我想知道如何在进程内通过一些行为 vhdl 代码使用这个分隔器组件。这可能吗?
创建模块后,您需要在架构部分声明组件并在处理之前映射组件的端口。
您可以在下面查看它如何应用于您的代码
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity declaration
architecture Behavioral of <your_entity> is
component divider_core
port (
clk: IN std_logic;
rfd: OUT std_logic;
dividend: IN std_logic_VECTOR(31 downto 0);
divisor: IN std_logic_VECTOR(31 downto 0);
quotient: OUT std_logic_VECTOR(31 downto 0);
fractional: OUT std_logic_VECTOR(31 downto 0));
end component;
begin
c1: divider_core Port Map (
clk => clk,
rfd => rfd,
dividend => dividend,
divisor => divisor,
quotient => quotient,
fractional => fractional
);
process
end process;
end Behavioral;
听起来你想像函数一样使用这个division_core,这可能是不可能的。如果你想要一个实现除法的 vhdl 函数,这与使用组件不同。