打印

为什么TESTBENCH程序会出错?

[复制链接]
2156|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
limee|  楼主 | 2007-5-19 13:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我写了两个,一个是全加器,一个是其TESTBENCH
前者编译通过,后者死活不行。高手帮我看看,指点指点,
万分感谢!

--Full_Adder2.vhd
library ieee;
use ieee.std_logic_1164.all;

entity full_adder2 is
    port( x, y, cin : in std_logic ;
          sum, cout : out std_logic ) ;
end full_adder2 ;

architecture b_adder of full_adder2 is
    signal s : std_logic;
begin
   s <= x xor cin;
   sum <= s xor cin;
   cout <= ( s and cin ) or ( x and y ) ;
end b_adder ;

=================================================

-- Full_Adder2_TestBench.vhd

library ieee;
use ieee.std_logic_1164.all ;
use ieee.std_logic_arith.all ;
use ieee.std_logic_unsigned.all ;
use ieee.numeric_std.all ;

entity e_adder is
end e_adder ;

architecture e_adder of e_adder is
component full_adder2 
   port( x , y , cin : in std_logic ;
         sum, cout : out std_logic ) ;
end component ;

for all:full_adder2 use entity work.full_adder2(b_adder);
begin 
     x <= '0', '1' after 150ns, 
          '0' after 200ns,
          '1' after 250ns,
          '0' after 400ns ;
     y <= '0', '1'after 100ns,
          '0' after 150ns,
          '1' after 200ns,
          '0' after 300ns,
          '1' after 350ns,
          '0' after 400ns ;
     cin <= '0', '1' after 50ns,
            '0' after 100ns,
            '1' after 200ns,
            '0' after 250ns,
            '1' after 300ns,
            '0' after 400ns ;
end e_adder ;                         

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

301

主题

475

帖子

0

粉丝