OpenCores
URL https://opencores.org/ocsvn/vhld_tb/vhld_tb/trunk

Subversion Repositories vhld_tb

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /vhld_tb/trunk/examples/example1/vhdl
    from Rev 14 to Rev 17
    Reverse comparison

Rev 14 → Rev 17

/example_dut_tb_bhv.vhd
49,6 → 49,8
variable defined_vars : var_field_ptr; -- defined variables
variable inst_sequ : stim_line_ptr; -- the instruction sequence
variable file_list : file_def_ptr; -- pointer to the list of file names
variable last_sequ_num: integer;
variable last_sequ_ptr: stim_line_ptr;
 
variable instruction : text_field; -- instruction field
variable par1 : integer; -- paramiter 1
152,6 → 154,10
-- Read, test, and load the stimulus file
read_instruction_file(stimulus_file, inst_list, defined_vars, inst_sequ,
file_list);
-- initialize last info
last_sequ_num := 0;
last_sequ_ptr := inst_sequ;
 
------------------------------------------------------------------------
-- Using the Instruction record list, get the instruction and implement
159,7 → 165,8
while(v_line < inst_sequ.num_of_lines) loop
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
 
--------------------------------------------------------------------------
if(instruction(1 to len) = "DEFINE_VAR") then
281,15 → 288,17
 
if(if_state = false) then
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
while(instruction(1 to len) /= "ELSE" and
instruction(1 to len) /= "ELSEIF" and
instruction(1 to len) /= "END_IF") loop
if(v_line < inst_sequ.num_of_lines) then
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
else
assert (false)
report LF & "ERROR: IF instruction unable to find terminating" &
304,13 → 313,15
elsif (instruction(1 to len) = "ELSEIF") then
if(if_state = true) then -- if the if_state is true then skip to the end
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
while(instruction(1 to len) /= "END_IF") loop
if(v_line < inst_sequ.num_of_lines) then
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
else
assert (false)
report LF & "ERROR: IF instruction unable to find terminating" &
338,15 → 349,17
if(if_state = false) then
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
while(instruction(1 to len) /= "ELSE" and
instruction(1 to len) /= "ELSEIF" and
instruction(1 to len) /= "END_IF") loop
if(v_line < inst_sequ.num_of_lines) then
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
else
assert (false)
report LF & "ERROR: ELSEIF instruction unable to find terminating" &
362,13 → 375,15
elsif (instruction(1 to len) = "ELSE") then
if(if_state = true) then -- if the if_state is true then skip the else
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
while(instruction(1 to len) /= "END_IF") loop
if(v_line < inst_sequ.num_of_lines) then
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
else
assert (false)
report LF & "ERROR: IF instruction unable to find terminating" &
409,8 → 424,9
while(wh_end /= true) loop
if(v_line < inst_sequ.num_of_lines) then
v_line := v_line + 1;
access_inst_sequ(inst_sequ, defined_vars, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line);
access_inst_sequ(inst_sequ, defined_vars, file_list, v_line, instruction,
par1, par2, par3, par4, par5, par6, txt, len, file_name, file_line,
last_sequ_num, last_sequ_ptr);
else
assert (false)
report LF & "ERROR: WHILE instruction unable to find terminating" &

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.