ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

FPGA/CPLD友の会コミュの教えてください。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。
先月半ばから急遽CPLDを使うことになりました。
ただいまVHDLの学習中ですが、エラーが直せません。
どなたか教えてください。

全加算器のテストベンチを作っているのですが、
「Error C0120 : Couldn't create default generic/port map binding for instance dut: unmatched entity formal cout」
というエラーが直せません。

全加算器のテストベンチのソースは次のとおりです。

library ieee;
use ieee.std_logic_1164.all;

entity testbench is
end testbench;

architecture stimulus of testbench is
component full_adder port (
l, m, n : in std_logic;
sum, cout : out std_logic);
end component;
signal ll, mm, nn, ss, carry : std_logic;
begin
dut : full_adder port map (ll, mm, nn, ss, carry);
p1: process begin
ll <= '0'; wait for 40 ns;
ll <= '1'; wait for 40 ns;
end process;
p2 : process begin
mm <= '0'; wait for 20 ns;
mm <= '1'; wait for 20 ns;
end process;
p3 : process begin
nn <= '0'; wait for 10 ns;
nn <= '1'; wait for 10 ns;
end process;
end stimulus;

configuration cfg of testbench is
for stimulus
end for;
end cfg;


ちなみに、全加算器のソースは次のとおりです。

library ieee;
use ieee.std_logic_1164.all;

entity full_adder is port (
l, m, n: in std_logic;
sum, carry : out std_logic);
end full_adder;

architecture structure of full_adder is
component half_adder port (
a, b : in std_logic;
s, c : out std_logic);
end component ;
signal s0, carry0, carry1 : std_logic;
begin
half_adder0 : half_adder port map (s => s0, c => carry0, a => l, b => m);
half_adder1 : half_adder port map (s => sum, c => carry1, a => s0, b => n);
carry <= (carry0) or (carry1);
end structure;

半加算器、全加算器とも、エラーなしでコンパイルはできました。


よろしくお願いします。


コメント(2)

>component full_adder port (
>l, m, n : in std_logic;
>sum, cout : out std_logic);

ここじゃないですか?

coutじゃなくてcarryに。
あ〜!!
本当ですね・・・
予約語を使ったのかと思っていろいろ、信号名変えてたときにミスしたみたいです。

ご指摘ありがとうございました。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

FPGA/CPLD友の会 更新情報

FPGA/CPLD友の会のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング