0

我创建了一个与核心生成器分开的。它创建如下组件:

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 代码来使用这个分隔符组件。那可能吗?

谢谢,哈里斯

4

3 回答 3

3

创建模块后,您需要在架构部分声明组件并在进程之前映射组件的端口。

您可以在下面看到它如何应用于您的代码

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;
于 2013-05-26T11:52:33.883 回答
0

听起来你想像函数一样使用这个 division_core,这可能是不可能的。如果你想要一个实现除法的 vhdl 函数,那与使用组件不同。

于 2013-05-30T21:09:10.647 回答
0

包括numeric_std包(链接)并使用除法(/)运算符。

于 2013-05-25T16:40:04.880 回答