Line 1... |
Line 1... |
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- Copyright 2007 Ken Campbell
|
-- Copyright 2007 Ken Campbell
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- $Author: sckoarn $
|
-- $Author: sckoarn $
|
--
|
--
|
-- $Date: 2007-09-02 04:04:04 $
|
-- $Date: 2008-02-24 01:34:11 $
|
--
|
--
|
-- $Name: not supported by cvs2svn $
|
-- $Name: not supported by cvs2svn $
|
--
|
--
|
-- $Id: tb_pkg_body.vhd,v 1.2 2007-09-02 04:04:04 sckoarn Exp $
|
-- $Id: tb_pkg_body.vhd,v 1.3 2008-02-24 01:34:11 sckoarn Exp $
|
--
|
--
|
-- $Source: /home/marcus/revision_ctrl_test/oc_cvs/cvs/vhld_tb/source/tb_pkg_body.vhd,v $
|
-- $Source: /home/marcus/revision_ctrl_test/oc_cvs/cvs/vhld_tb/source/tb_pkg_body.vhd,v $
|
--
|
--
|
-- Description : The the testbench package body file.
|
-- Description : The the testbench package body file.
|
-- Initial GNU release.
|
-- Initial GNU release.
|
Line 31... |
Line 31... |
-- along with The VHDL Test Bench; if not, write to the Free Software
|
-- along with The VHDL Test Bench; if not, write to the Free Software
|
-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- Revision History:
|
-- Revision History:
|
-- $Log: not supported by cvs2svn $
|
-- $Log: not supported by cvs2svn $
|
|
-- Revision 1.2 2007/09/02 04:04:04 sckoarn
|
|
-- Update of version 1.2 tb_pkg
|
|
-- See documentation for details
|
|
--
|
-- Revision 1.1.1.1 2007/04/06 04:06:48 sckoarn
|
-- Revision 1.1.1.1 2007/04/06 04:06:48 sckoarn
|
-- Import of the vhld_tb
|
-- Import of the vhld_tb
|
--
|
--
|
--
|
--
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
Line 1580... |
Line 1584... |
variable p5 : out integer;
|
variable p5 : out integer;
|
variable p6 : out integer;
|
variable p6 : out integer;
|
variable txt : out stm_text_ptr;
|
variable txt : out stm_text_ptr;
|
variable inst_len : out integer;
|
variable inst_len : out integer;
|
variable fname : out text_line;
|
variable fname : out text_line;
|
variable file_line : out integer
|
variable file_line : out integer;
|
|
variable last_num : inout integer;
|
|
variable last_ptr : inout stim_line_ptr
|
) is
|
) is
|
variable temp_text_field: text_field;
|
variable temp_text_field: text_field;
|
variable temp_var: text_field;
|
variable temp_var: text_field;
|
variable inst_ptr: stim_line_ptr;
|
variable inst_ptr: stim_line_ptr;
|
variable valid: integer;
|
variable valid: integer;
|
Line 1592... |
Line 1598... |
variable file_name: text_line;
|
variable file_name: text_line;
|
variable tmp_int: integer;
|
variable tmp_int: integer;
|
variable temp_fn_prt: file_def_ptr;
|
variable temp_fn_prt: file_def_ptr;
|
begin
|
begin
|
-- get to the instruction indicated by sequ_num
|
-- get to the instruction indicated by sequ_num
|
|
-- check to see if this sequence is before the last
|
|
-- so search from start
|
|
if(last_num > sequ_num) then
|
inst_ptr := inst_sequ;
|
inst_ptr := inst_sequ;
|
while(inst_ptr.next_rec /= null) loop
|
while(inst_ptr.next_rec /= null) loop
|
if(inst_ptr.line_number = sequ_num) then
|
if(inst_ptr.line_number = sequ_num) then
|
exit;
|
exit;
|
else
|
else
|
inst_ptr := inst_ptr.next_rec;
|
inst_ptr := inst_ptr.next_rec;
|
end if;
|
end if;
|
end loop;
|
end loop;
|
|
-- else is equal or greater, so search forward
|
|
else
|
|
inst_ptr := last_ptr;
|
|
while(inst_ptr.next_rec /= null) loop
|
|
if(inst_ptr.line_number = sequ_num) then
|
|
exit;
|
|
else
|
|
inst_ptr := inst_ptr.next_rec;
|
|
end if;
|
|
end loop;
|
|
end if;
|
|
|
|
-- update the last sequence number and record pointer
|
|
last_num := sequ_num;
|
|
last_ptr := inst_ptr;
|
|
|
-- output the instruction and its length
|
-- output the instruction and its length
|
inst := inst_ptr.instruction;
|
inst := inst_ptr.instruction;
|
inst_len := fld_len(inst_ptr.instruction);
|
inst_len := fld_len(inst_ptr.instruction);
|
file_line := inst_ptr.file_line;
|
file_line := inst_ptr.file_line;
|
line := inst_ptr.file_line;
|
line := inst_ptr.file_line;
|