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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [rtl/] [w11a/] [pdp11_sequencer.vhd] - Diff between revs 13 and 22

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

Rev 13 Rev 22
Line 1... Line 1...
-- $Id: pdp11_sequencer.vhd 427 2011-11-19 21:04:11Z mueller $
-- $Id: pdp11_sequencer.vhd 556 2014-05-29 19:01:39Z mueller $
--
--
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
-- Copyright 2006-2014 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
-- Software Foundation, either version 2, or at your option any later version.
-- Software Foundation, either version 2, or at your option any later version.
--
--
Line 16... Line 16...
-- Description:    pdp11: CPU sequencer
-- Description:    pdp11: CPU sequencer
--
--
-- Dependencies:   ib_sel
-- Dependencies:   ib_sel
-- Test bench:     tb/tb_pdp11_core (implicit)
-- Test bench:     tb/tb_pdp11_core (implicit)
-- Target Devices: generic
-- Target Devices: generic
-- Tool versions:  xst 8.2, 9.1, 9.2, 12.1, 13.1; ghdl 0.18-0.29
-- Tool versions:  xst 8.2-14.7; viv 2014.1; ghdl 0.18-0.29
--
--
-- Revision History: 
-- Revision History: 
-- Date         Rev Version  Comment
-- Date         Rev Version  Comment
 
-- 2014-04-20   554   1.5    now vivado compatible (add dummy assigns in procs)
-- 2011-11-18   427   1.4.2  now numeric_std clean
-- 2011-11-18   427   1.4.2  now numeric_std clean
-- 2010-10-23   335   1.4.1  use ib_sel
-- 2010-10-23   335   1.4.1  use ib_sel
-- 2010-10-17   333   1.4    use ibus V2 interface
-- 2010-10-17   333   1.4    use ibus V2 interface
-- 2010-09-18   300   1.3.2  rename (adlm)box->(oalm)unit
-- 2010-09-18   300   1.3.2  rename (adlm)box->(oalm)unit
-- 2010-06-20   307   1.3.1  rename cpacc to cacc in vm_cntl_type
-- 2010-06-20   307   1.3.1  rename cpacc to cacc in vm_cntl_type
Line 410... Line 411...
 
 
    procedure do_memcheck(nstate  : inout state_type;
    procedure do_memcheck(nstate  : inout state_type;
                          nstatus : inout cpustat_type;
                          nstatus : inout cpustat_type;
                          mok     : out boolean) is
                          mok     : out boolean) is
    begin
    begin
 
      nstate  := nstate;                -- dummy to add driver (vivado)
 
      nstatus := nstatus;               -- "
      mok := false;
      mok := false;
      if VM_STAT.ack = '1' then
      if VM_STAT.ack = '1' then
        mok := true;
        mok := true;
        nstatus.trap_mmu := VM_STAT.trap_mmu;
        nstatus.trap_mmu := VM_STAT.trap_mmu;
        if R_CPUERR.ysv = '0' then      -- ysv trap when cpuerr not yet set
        if R_CPUERR.ysv = '0' then      -- ysv trap when cpuerr not yet set
Line 427... Line 430...
    procedure do_const_opsize(ndpcntl : inout dpath_cntl_type;
    procedure do_const_opsize(ndpcntl : inout dpath_cntl_type;
                              bytop   : in slbit;
                              bytop   : in slbit;
                              isdef   : in slbit;
                              isdef   : in slbit;
                              regnum  : in slv3) is
                              regnum  : in slv3) is
    begin
    begin
 
      ndpcntl := ndpcntl;               -- dummy to add driver (vivado)
      if bytop='0' or isdef='1' or
      if bytop='0' or isdef='1' or
         regnum=c_gpr_pc or regnum=c_gpr_sp then
         regnum=c_gpr_pc or regnum=c_gpr_sp then
        ndpcntl.ounit_const := "000000010";
        ndpcntl.ounit_const := "000000010";
      else
      else
        ndpcntl.ounit_const := "000000001";
        ndpcntl.ounit_const := "000000001";
Line 501... Line 505...
                                nstatus  : inout cpustat_type;
                                nstatus  : inout cpustat_type;
                                ndpcntl  : inout dpath_cntl_type;
                                ndpcntl  : inout dpath_cntl_type;
                                nvmcntl  : inout vm_cntl_type;
                                nvmcntl  : inout vm_cntl_type;
                                nmmumoni : inout mmu_moni_type) is
                                nmmumoni : inout mmu_moni_type) is
    begin
    begin
 
      ndpcntl := ndpcntl;               -- dummy to add driver (vivado)
 
      nvmcntl := nvmcntl;               -- "
      nmmumoni.idone := '1';
      nmmumoni.idone := '1';
      if unsigned(INT_PRI) > unsigned(PSW.pri) then
      if unsigned(INT_PRI) > unsigned(PSW.pri) then
        nstate := s_idle;
        nstate := s_idle;
      elsif R_STATUS.trap_mmu='1' or nstatus.trap_mmu='1' or
      elsif R_STATUS.trap_mmu='1' or nstatus.trap_mmu='1' or
            R_STATUS.trap_ysv='1' or nstatus.trap_ysv='1' or
            R_STATUS.trap_ysv='1' or nstatus.trap_ysv='1' or

powered by: WebSVN 2.1.0

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