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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [rtl/] [w11a/] [pdp11.vhd] - Diff between revs 27 and 28

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

Rev 27 Rev 28
Line 1... Line 1...
-- $Id: pdp11.vhd 589 2014-08-30 12:43:16Z mueller $
-- $Id: pdp11.vhd 621 2014-12-26 21:20:05Z mueller $
--
--
-- Copyright 2006-2014 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
Line 560... Line 560...
    (others=>'0')                       -- cpurust
    (others=>'0')                       -- cpurust
  );
  );
 
 
  type cp_addr_type is record           -- control port address
  type cp_addr_type is record           -- control port address
    addr : slv22_1;                     -- address
    addr : slv22_1;                     -- address
    racc : slbit;                       -- ibr access
    racc : slbit;                       -- ibus remote access
    be : slv2;                          -- byte enables
    be : slv2;                          -- byte enables
    ena_22bit : slbit;                  -- enable 22 bit mode
    ena_22bit : slbit;                  -- enable 22 bit mode
    ena_ubmap : slbit;                  -- enable unibus mapper
    ena_ubmap : slbit;                  -- enable unibus mapper
  end record cp_addr_type;
  end record cp_addr_type;
 
 
Line 648... Line 648...
  constant c_rbaddr_r4   : slv5 := "01100"; -- R/W gpr 4
  constant c_rbaddr_r4   : slv5 := "01100"; -- R/W gpr 4
  constant c_rbaddr_r5   : slv5 := "01101"; -- R/W gpr 5
  constant c_rbaddr_r5   : slv5 := "01101"; -- R/W gpr 5
  constant c_rbaddr_sp   : slv5 := "01110"; -- R/W gpr 6 (sp)
  constant c_rbaddr_sp   : slv5 := "01110"; -- R/W gpr 6 (sp)
  constant c_rbaddr_pc   : slv5 := "01111"; -- R/W gpr 7 (pc)
  constant c_rbaddr_pc   : slv5 := "01111"; -- R/W gpr 7 (pc)
 
 
  constant c_rbaddr_ibrb : slv5 := "10000"; -- R/W ibr base address
  constant c_rbaddr_membe: slv5 := "10000"; -- R/W memory write byte enables
 
 
  subtype  c_al_rbf_addr       is integer range 15 downto 1;  -- al: address
  subtype  c_al_rbf_addr       is integer range 15 downto 1;  -- al: address
  constant c_ah_rbf_ena_ubmap: integer :=  7;                 -- ah: ubmap
  constant c_ah_rbf_ena_ubmap: integer :=  7;                 -- ah: ubmap
  constant c_ah_rbf_ena_22bit: integer :=  6;                 -- ah: 22bit
  constant c_ah_rbf_ena_22bit: integer :=  6;                 -- ah: 22bit
  subtype  c_ah_rbf_addr       is integer range  5 downto 0;  -- ah: address
  subtype  c_ah_rbf_addr       is integer range  5 downto 0;  -- ah: address
Line 661... Line 661...
  constant c_stat_rbf_cmdmerr:  integer := 1;  -- stat field: cmdmerr
  constant c_stat_rbf_cmdmerr:  integer := 1;  -- stat field: cmdmerr
  constant c_stat_rbf_cpugo:    integer := 2;  -- stat field: cpugo
  constant c_stat_rbf_cpugo:    integer := 2;  -- stat field: cpugo
  constant c_stat_rbf_cpuhalt:  integer := 3;  -- stat field: cpuhalt
  constant c_stat_rbf_cpuhalt:  integer := 3;  -- stat field: cpuhalt
  subtype  c_stat_rbf_cpurust   is integer range  7 downto  4;  -- cpurust
  subtype  c_stat_rbf_cpurust   is integer range  7 downto  4;  -- cpurust
 
 
  subtype  c_ibrb_ibf_base     is integer range 12 downto 6; -- ibrb: base addr
  subtype  c_membe_rbf_be       is integer range  1 downto 0; -- membe: be's
  subtype  c_ibrb_ibf_be       is integer range  1 downto 0; -- ibrb: be's
  constant c_membe_rbf_stick:   integer := 2;  -- membe: sticky flag
 
 
-- -------------------------------------
-- -------------------------------------
 
 
component pdp11_gpr is                  -- general purpose registers
component pdp11_gpr is                  -- general purpose registers
  port (
  port (
Line 1080... Line 1080...
  );
  );
end component;
end component;
 
 
component pdp11_core_rbus is            -- core to rbus interface
component pdp11_core_rbus is            -- core to rbus interface
  generic (
  generic (
    RB_ADDR_CORE : slv16 := slv(to_unsigned(2#0000000000000000#,16));
    RB_ADDR_CORE : slv16 := slv(to_unsigned(16#0000#,16));
    RB_ADDR_IBUS : slv16 := slv(to_unsigned(2#0000000010000000#,16)));
    RB_ADDR_IBUS : slv16 := slv(to_unsigned(16#4000#,16)));
  port (
  port (
    CLK : in slbit;                     -- clock
    CLK : in slbit;                     -- clock
    RESET : in slbit;                   -- reset
    RESET : in slbit;                   -- reset
    RB_MREQ : in rb_mreq_type;          -- rbus: request
    RB_MREQ : in rb_mreq_type;          -- rbus: request
    RB_SRES : out rb_sres_type;         -- rbus: response
    RB_SRES : out rb_sres_type;         -- rbus: response

powered by: WebSVN 2.1.0

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