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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.7/] [rtl/] [w11a/] [tb/] [tb_pdp11core.vhd] - Diff between revs 9 and 13

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 9 Rev 13
Line 1... Line 1...
-- $Id: tb_pdp11core.vhd 352 2011-01-02 13:01:37Z mueller $
-- $Id: tb_pdp11core.vhd 427 2011-11-19 21:04:11Z mueller $
--
--
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
--
--
-- This program is free software; you may redistribute and/or modify it under
-- This program is free software; you may redistribute and/or modify it under
-- the terms of the GNU General Public License as published by the Free
-- the terms of the GNU General Public License as published by the Free
Line 44... Line 44...
-- 2007-10-07    88  _ssim 0.26  8.1    I24   xc3s1000   c:fail -> blog_webpack
-- 2007-10-07    88  _ssim 0.26  8.1    I24   xc3s1000   c:fail -> blog_webpack
-- 2007-10-07    88  -     0.26  -            -          c:ok
-- 2007-10-07    88  -     0.26  -            -          c:ok
--
--
-- Revision History: 
-- Revision History: 
-- Date         Rev Version  Comment
-- Date         Rev Version  Comment
 
-- 2011-11-18   427   1.3.2  now numeric_std clean
-- 2011-01-02   352   1.3.1  rename .cpmon->.rlmon
-- 2011-01-02   352   1.3.1  rename .cpmon->.rlmon
-- 2010-12-30   351   1.3    rename tb_pdp11_core -> tb_pdp11core
-- 2010-12-30   351   1.3    rename tb_pdp11_core -> tb_pdp11core
-- 2010-06-20   308   1.2.2  add wibrb, ribr, wibr commands for ibr accesses
-- 2010-06-20   308   1.2.2  add wibrb, ribr, wibr commands for ibr accesses
-- 2010-06-20   307   1.2.1  add CP_ADDR_racc, CP_ADDR_be to tbd interface
-- 2010-06-20   307   1.2.1  add CP_ADDR_racc, CP_ADDR_be to tbd interface
-- 2010-06-13   305   1.2    add CP_CNTL_rnum and CP_ADDR_...;  emulate old
-- 2010-06-13   305   1.2    add CP_CNTL_rnum and CP_ADDR_...;  emulate old
Line 75... Line 76...
-- 2007-09-02    79   1.0    Initial version 
-- 2007-09-02    79   1.0    Initial version 
------------------------------------------------------------------------------
------------------------------------------------------------------------------
 
 
library ieee;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.numeric_std.all;
use ieee.std_logic_textio.all;
use ieee.std_logic_textio.all;
use std.textio.all;
use std.textio.all;
 
 
use work.slvtypes.all;
use work.slvtypes.all;
use work.simlib.all;
use work.simlib.all;
Line 351... Line 352...
              xmicmd := "wmi";
              xmicmd := "wmi";
              next file_loop;
              next file_loop;
 
 
            when "rr|   " =>            -- rr[0-7]
            when "rr|   " =>            -- rr[0-7]
              ifunc := c_cpfunc_rreg;
              ifunc := c_cpfunc_rreg;
              irnum := conv_std_logic_vector(rind, 3);
              irnum := slv(to_unsigned(rind, 3));
              readtagval2_ea(iline, "d", ichk, idin, imsk, 8);
              readtagval2_ea(iline, "d", ichk, idin, imsk, 8);
 
 
            when "wr|   " =>            -- wr[0-7]
            when "wr|   " =>            -- wr[0-7]
              ifunc := c_cpfunc_wreg;
              ifunc := c_cpfunc_wreg;
              irnum := conv_std_logic_vector(rind, 3);
              irnum := slv(to_unsigned(rind, 3));
              readoct_ea(iline, idin);
              readoct_ea(iline, idin);
 
 
            -- Note: there are no field definitions for wal, wah, wibrb because
            -- Note: there are no field definitions for wal, wah, wibrb because
            --       there is no corresponding cp command. Therefore the
            --       there is no corresponding cp command. Therefore the
            --       rbus field definitions are used here
            --       rbus field definitions are used here
Line 522... Line 523...
        dcycle := dcycle + 1;
        dcycle := dcycle + 1;
        idelta := idelta - 1;
        idelta := idelta - 1;
      end loop;
      end loop;
 
 
      if imemi then                    -- rmi or wmi seen ? then inc ar
      if imemi then                    -- rmi or wmi seen ? then inc ar
        r_addr := unsigned(r_addr) + 1;
        r_addr := slv(unsigned(r_addr) + 1);
      end if;
      end if;
 
 
      write(oline, dcycle, right, 4);
      write(oline, dcycle, right, 4);
      write(oline, string'(" "));
      write(oline, string'(" "));
      if ireq then
      if ireq then
Line 635... Line 636...
 
 
  proc_moni: process
  proc_moni: process
  begin
  begin
 
 
    loop
    loop
      wait until CLK'event and CLK='1';
      wait until rising_edge(CLK);
      wait for c2out_time;
      wait for c2out_time;
 
 
      R_WAITOK <= '0';
      R_WAITOK <= '0';
      if R_WAITCMD = '1' then
      if R_WAITCMD = '1' then
        if CP_STAT_cmdack = '1' then
        if CP_STAT_cmdack = '1' then

powered by: WebSVN 2.1.0

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