プログラムで紛らわしい問題に直面しています。プログラムでコンポーネントをポート マップ (呼び出し) する必要があります。また、コンポーネント内で別のポート マッピング (呼び出し) を行う必要がありますが、これは VHDL では違法です。この問題に対する別の解決策はありますか。これが私が意味したことの例です。
ここでプログラムを開始します。
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity binary1 is
port( N: in std_logic;
d: out integer);
end binary1 ;
Architecture Behavior1 of binary1 is
たとえば、次のコンポーネントがあります。
component binary_integer_1 is
port ( b1: in std_logic;
int1: out integer);
end component;
コンポーネントを呼び出すコマンド: begin s0: binary_integer_1 port map(n,d); Behavior1 を終了します。
また、メインプログラムは次のとおりです。
library ieee;
use ieee.std_logic_1164.all;
entity binary_integer_1 is
port ( b1: in std_logic;
int1: out integer);
end binary_integer_1;
architecture Behavior4 of binary_integer_1 is
begin
process(b1)
begin
if b1 = '1' then
int1 <= 1;
else
int1 <= 0;
end if;
end process;
end Behavior4;
たとえば、上位エンティティ内でポート マップを実行したい場合。私は違法な声明を持っています。別の方法を教えてください。