第3节 VHDL测试平台
推荐给好友
打印
加入收藏
更新于2008-05-18 14:49:00

第3节 VHDL测试平台

用VHDL写测试程序

  • 进行正确的仿真,测试程序应包括:
    --激励发生器;
    --被测模块;
    --比较器。
  • 测试程序中:
    (1)引入被测实体
    由于被测实体对端口已经定义,因此测试程 序的实体描述很简单。一般写成:
    Entity 测试程序名 is
    End Entity 测试程序名;
    (2)结果判别部分
    仿真过程中,要对逻辑功能、模块行为、波形 时序关系进行检查,不满足要求时应输出错误 信息。一般:
    用IF语句做判断;
    用断言(assert)语句输出错误信息。
    (3)激励发生器
    测试信号的生成。

例子,激励信号产生的实体

  • Library IEEE;
    Use IEEE.std_logic_1164.all;

    Entity adder_stim IS
    Port (x,y,c_in: OUT std_logic;
    sum, carry: IN std_logic);
    End Entity adder_stim;

    Architecture behav OF adder_stim IS
    Begin
    x <= '0','1' AFTER 200 ns, '0' AFTER 400 ns, 1 AFTER 450 ns;
    y <= '0','1' AFTER 100 ns, '0' AFTER 200 ns, 1 AFTER 300 ns;
    c_in <= '0','1' AFTER 50 ns, '0' AFTER 100 ns, 1 AFTER 150 ns;
    End Architecture behav;

例子,测试平台

  • Library IEEE;
    Use IEEE.std_logic_1164.all;

    Entity adder_test_bench IS
    End Entity adder_test_bench;

    Architecture struct OF adder_test_bench IS
    Signal x,y,ci,sum,co : std_logic;
    Component adder
    Port (x,y,c_in: IN std_logic;
    sum, carry: OUT std_logic);
    End Component adder;

    Component adder_stim
    Port (x,y,c_in: OUT std_logic;
    sum, carry: IN std_logic);
    End Component adder_stim;

    Begin
    U1: adder Port Map(x,y,ci,sum,co);
    ST: adder_stim Port Map(x,y,ci,sum,co);
    End Architecture struct;

    <<上一节  下一节>>




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.