LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Sun Dec 31 23:37:31 CET 2006
    Subject: [cvs-checkins] MODIFIED: rise ...
    Top
    Date: 00/06/12 31:23:37

    Modified: rise/vhdl tb_id_stage_unit.vhd
    Log:
    - added testbench for load immediate and load immediate with high byte.


    Revision Changes Path
    1.2 rise/vhdl/tb_id_stage_unit.vhd

    http://www.opencores.org/cvsweb.shtml/rise/vhdl/tb_id_stage_unit.vhd.diff?r1=1.1&r2=1.2

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: tb_id_stage_unit.vhd
    ===================================================================
    RCS file: /cvsroot/cwalter/rise/vhdl/tb_id_stage_unit.vhd,v
    retrieving revision 1.1
    retrieving revision 1.2
    diff -u -b -r1.1 -r1.2
    --- tb_id_stage_unit.vhd 13 Dec 2006 02:07:44 -0000 1.1
    +++ tb_id_stage_unit.vhd 31 Dec 2006 22:37:30 -0000 1.2
    @@ -53,10 +53,10 @@

    signal stall_in : std_logic := '0';
    signal clear_in : std_logic := '0';
    - signal rx : REGISTER_T := (others => '0');
    - signal ry : REGISTER_T := (others => '0');
    - signal rz : REGISTER_T := (others => '0');
    - signal sr : SR_REGISTER_T := (others => '0');
    + signal rx : REGISTER_T;
    + signal ry : REGISTER_T;
    + signal rz : REGISTER_T;
    + signal sr : SR_REGISTER_T;
    signal lock_register : LOCK_REGISTER_T;
    --Outputs
    signal id_ex_register : ID_EX_REGISTER_T;
    @@ -67,6 +67,14 @@
    signal lock_reg_addr : std_logic_vector(REGISTER_ADDR_WIDTH - 1 downto 0);
    signal stall_out : std_logic;

    + constant TB_RX_ADDR_TEST_VALUE : REGISTER_ADDR_T := x"1";
    + constant TB_RX_TEST_VALUE : REGISTER_T := x"0001";
    + constant TB_RY_TEST_VALUE : REGISTER_T := x"0002";
    + constant TB_RZ_TEST_VALUE : REGISTER_T := x"0003";
    + constant TB_SR_TEST_VALUE : SR_REGISTER_T := x"A55A";
    + constant TB_PC_TEST_VALUE : SR_REGISTER_T := x"1234";
    +
    + constant TB_CLOCK : time := 20 ns;
    begin

    -- instantiate the Unit Under Test (UUT)
    @@ -93,9 +101,9 @@
    cg : process
    begin
    clk <= '0';
    - wait for 10 ns;
    + wait for TB_CLOCK/2;
    clk <= '1';
    - wait for 10 ns;
    + wait for TB_CLOCK/2;
    end process;

    tb : process
    @@ -104,9 +112,34 @@
    wait for 100 ns;
    reset <= '1';

    - -- stimulus
    - if_id_register.pc <= x"1234";
    - if_id_register.ir <= "100"& "0" & "0001" & x"55";
    + -- test case: basic functionallity
    + if_id_register.pc <= TB_PC_TEST_VALUE;
    + sr <= TB_SR_TEST_VALUE;
    + rx <= TB_RX_TEST_VALUE;
    + ry <= TB_RY_TEST_VALUE;
    + rz <= TB_RZ_TEST_VALUE;
    +
    + wait for TB_CLOCK;
    +
    + -- test case: OPCODE_LD_IMM
    + if_id_register.ir <= "100"& "0" & TB_RX_ADDR_TEST_VALUE & x"55";
    + wait for TB_CLOCK;
    + assert id_ex_register.opcode = OPCODE_LD_IMM;
    + assert id_ex_register.immediate = x"0055";
    + assert id_ex_register.cond = COND_UNCONDITIONAL;
    + assert rx_addr = TB_RX_ADDR_TEST_VALUE;
    + assert id_ex_register.rX_addr = TB_RX_ADDR_TEST_VALUE;
    + assert id_ex_register.rX = TB_RX_TEST_VALUE;
    +
    + -- test case: OPCODE_LD_IMM_HB
    + if_id_register.ir <= "100"& "1" & TB_RX_ADDR_TEST_VALUE & x"55";
    + wait for TB_CLOCK;
    + assert id_ex_register.opcode = OPCODE_LD_IMM_HB;
    + assert id_ex_register.immediate = x"5500";
    + assert id_ex_register.cond = COND_UNCONDITIONAL;
    + assert rx_addr = TB_RX_ADDR_TEST_VALUE;
    + assert id_ex_register.rX_addr = TB_RX_ADDR_TEST_VALUE;
    + assert id_ex_register.rX = TB_RX_TEST_VALUE;

    wait; -- will wait forever
    end process;

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.