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

numeric_stdパッケージを含め ( link )、除算 ( /) 演算子を使用します。

于 2013-05-25T16:40:04.880 に答える
0

この Division_core を関数のように使用したいようですが、おそらく不可能です。除算を実装する vhdl 関数が必要な場合、それはコンポーネントの使用とは異なります。

于 2013-05-30T21:09:10.647 に答える