如何在行为vhdl中使用组件

问题描述 投票:0回答:3

我创建了一个带有核心生成器的分割器。它创建一个如下所示的组件:

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

vhdl
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;

0
投票

包含

numeric_std
包 (link) 并使用除法 (
/
) 运算符。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.