我创建了一个用核心生成器划分的。它创建了如下组件:
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代码使用此divider组件。这可能吗?
谢谢, 哈里斯
答案 0 :(得分:1)
创建模块后,您需要在架构部分中声明组件,并在流程之前映射组件的端口。
您可以看到它如何应用于您的代码
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;
答案 1 :(得分:0)
包含numeric_std
包(link)并使用除法(/
)运算符。
答案 2 :(得分:0)
听起来你想将这个division_core用作函数,这可能是不可能的。如果你想要一个实现除法的vhdl函数,那就不同于使用组件了。