Line 1... |
Line 1... |
-- $Id: sys_w11a_n2.vhd 341 2010-11-27 23:05:43Z mueller $
|
-- $Id: sys_w11a_n2.vhd 351 2010-12-30 21:50:54Z mueller $
|
--
|
--
|
-- Copyright 2010- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
-- Copyright 2010- 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 16... |
Line 16... |
-- Description: w11a test design for nexys2
|
-- Description: w11a test design for nexys2
|
--
|
--
|
-- Dependencies: vlib/xlib/dcm_sp_sfs
|
-- Dependencies: vlib/xlib/dcm_sp_sfs
|
-- vlib/genlib/clkdivce
|
-- vlib/genlib/clkdivce
|
-- bplib/s3board/s3_rs232_iob_int_ext
|
-- bplib/s3board/s3_rs232_iob_int_ext
|
-- bplib/s3board/s3_humanio_rri
|
-- bplib/s3board/s3_humanio_rbus
|
-- vlib/rri/rri_core_serport
|
-- vlib/rlink/rlink_base_serport
|
-- vlib/rri/rb_sres_or_3
|
-- vlib/rri/rb_sres_or_3
|
-- w11a/pdp11_core_rri
|
-- w11a/pdp11_core_rbus
|
-- w11a/pdp11_core
|
-- w11a/pdp11_core
|
-- w11a/pdp11_bram
|
-- w11a/pdp11_bram
|
-- vlib/nexys2/n2_cram_dummy
|
-- vlib/nexys2/n2_cram_dummy
|
-- w11a/pdp11_cache
|
-- w11a/pdp11_cache
|
-- w11a/pdp11_mem70
|
-- w11a/pdp11_mem70
|
Line 38... |
Line 38... |
-- Target Devices: generic
|
-- Target Devices: generic
|
-- Tool versions: xst 8.2, 9.1, 9.2, 10.1, 11.4, 12.1; ghdl 0.26-0.29
|
-- Tool versions: xst 8.2, 9.1, 9.2, 10.1, 11.4, 12.1; ghdl 0.26-0.29
|
--
|
--
|
-- Synthesized (xst):
|
-- Synthesized (xst):
|
-- Date Rev ise Target flop lutl lutm slic t peri
|
-- Date Rev ise Target flop lutl lutm slic t peri
|
|
-- 2010-12-30 351 12.1 M53d xc3s1200e-4 1389 4368 242 2674 ok: LP+PC+DL+II
|
-- 2010-11-06 336 12.1 M53d xc3s1200e-4 1357 4304* 242 2618 ok: LP+PC+DL+II
|
-- 2010-11-06 336 12.1 M53d xc3s1200e-4 1357 4304* 242 2618 ok: LP+PC+DL+II
|
-- 2010-10-24 335 12.1 M53d xc3s1200e-4 1357 4546 242 2618 ok: LP+PC+DL+II
|
-- 2010-10-24 335 12.1 M53d xc3s1200e-4 1357 4546 242 2618 ok: LP+PC+DL+II
|
-- 2010-10-17 333 12.1 M53d xc3s1200e-4 1350 4541 242 2617 ok: LP+PC+DL+II
|
-- 2010-10-17 333 12.1 M53d xc3s1200e-4 1350 4541 242 2617 ok: LP+PC+DL+II
|
-- 2010-10-16 332 12.1 M53d xc3s1200e-4 1338 4545 242 2629 ok: LP+PC+DL+II
|
-- 2010-10-16 332 12.1 M53d xc3s1200e-4 1338 4545 242 2629 ok: LP+PC+DL+II
|
-- 2010-06-27 310 12.1 M53d xc3s1200e-4 1337 4307 242 2630 ok: LP+PC+DL+II
|
-- 2010-06-27 310 12.1 M53d xc3s1200e-4 1337 4307 242 2630 ok: LP+PC+DL+II
|
Line 59... |
Line 60... |
-- 2010-05-26 296 11.4 L68 xc3s1200e-4 1284 4079 224 2492 ok: LP+PC+DL+II
|
-- 2010-05-26 296 11.4 L68 xc3s1200e-4 1284 4079 224 2492 ok: LP+PC+DL+II
|
-- Note: till 2010-10-24 lutm included 'route-thru', after only logic
|
-- Note: till 2010-10-24 lutm included 'route-thru', after only logic
|
--
|
--
|
-- Revision History:
|
-- Revision History:
|
-- Date Rev Version Comment
|
-- Date Rev Version Comment
|
|
-- 2010-12-30 351 1.2 ported to rbv3
|
-- 2010-11-27 341 1.1.8 add DCM; new sys_conf consts for mem and clkdiv
|
-- 2010-11-27 341 1.1.8 add DCM; new sys_conf consts for mem and clkdiv
|
-- 2010-11-13 338 1.1.7 add O_CLKSYS (for DCM derived system clock)
|
-- 2010-11-13 338 1.1.7 add O_CLKSYS (for DCM derived system clock)
|
-- 2010-11-06 336 1.1.6 rename input pin CLK -> I_CLK50
|
-- 2010-11-06 336 1.1.6 rename input pin CLK -> I_CLK50
|
-- 2010-10-23 335 1.1.5 rename RRI_LAM->RB_LAM;
|
-- 2010-10-23 335 1.1.5 rename RRI_LAM->RB_LAM;
|
-- 2010-06-26 309 1.1.4 use constants for rbus addresses (rbaddr_...)
|
-- 2010-06-26 309 1.1.4 use constants for rbus addresses (rbaddr_...)
|
Line 78... |
Line 80... |
-- 2010-05-30 297 1.0.1 put MEM_ACT_(R|W) on LED 6,7
|
-- 2010-05-30 297 1.0.1 put MEM_ACT_(R|W) on LED 6,7
|
-- 2010-05-28 295 1.0 Initial version (derived from sys_w11a_s3)
|
-- 2010-05-28 295 1.0 Initial version (derived from sys_w11a_s3)
|
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
--
|
--
|
-- w11a test design for nexys2
|
-- w11a test design for nexys2
|
-- w11a + rri + serport
|
-- w11a + rlink + serport
|
--
|
--
|
-- Usage of Nexys 2 Switches, Buttons, LEDs:
|
-- Usage of Nexys 2 Switches, Buttons, LEDs:
|
--
|
--
|
-- SWI(0): 0 -> main board RS232 port
|
-- SWI(0): 0 -> main board RS232 port
|
-- 1 -> Pmod B/top RS232 port
|
-- 1 -> Pmod B/top RS232 port
|
Line 94... |
Line 96... |
-- (3) kernel mode, pri=0
|
-- (3) kernel mode, pri=0
|
-- (4) kernel mode, pri>0
|
-- (4) kernel mode, pri>0
|
-- if cpugo=0 shows cpurust
|
-- if cpugo=0 shows cpurust
|
-- (3:0) cpurust code
|
-- (3:0) cpurust code
|
-- (4) '1'
|
-- (4) '1'
|
-- (5) cmdbusy (all rri access, mostly rdma)
|
-- (5) cmdbusy (all rlink access, mostly rdma)
|
-- (6) MEM_ACT_R
|
-- (6) MEM_ACT_R
|
-- (7) MEM_ACT_W
|
-- (7) MEM_ACT_W
|
--
|
--
|
-- DP(0): RXSD (inverted to signal activity)
|
-- DP(0): RXSD (inverted to signal activity)
|
-- DP(1): RTS_N (shows rx back preasure)
|
-- DP(1): RTS_N (shows rx back preasure)
|
Line 110... |
Line 112... |
use ieee.std_logic_arith.all;
|
use ieee.std_logic_arith.all;
|
|
|
use work.slvtypes.all;
|
use work.slvtypes.all;
|
use work.xlib.all;
|
use work.xlib.all;
|
use work.genlib.all;
|
use work.genlib.all;
|
use work.rrilib.all;
|
use work.rblib.all;
|
|
use work.rlinklib.all;
|
use work.s3boardlib.all;
|
use work.s3boardlib.all;
|
use work.nexys2lib.all;
|
use work.nexys2lib.all;
|
use work.iblib.all;
|
use work.iblib.all;
|
use work.ibdlib.all;
|
use work.ibdlib.all;
|
use work.pdp11.all;
|
use work.pdp11.all;
|
Line 274... |
Line 277... |
O_TXD1 => O_FUSP_TXD,
|
O_TXD1 => O_FUSP_TXD,
|
I_CTS1_N => I_FUSP_CTS_N,
|
I_CTS1_N => I_FUSP_CTS_N,
|
O_RTS1_N => O_FUSP_RTS_N
|
O_RTS1_N => O_FUSP_RTS_N
|
);
|
);
|
|
|
HIO : s3_humanio_rri
|
HIO : s3_humanio_rbus
|
generic map (
|
generic map (
|
DEBOUNCE => sys_conf_hio_debounce,
|
DEBOUNCE => sys_conf_hio_debounce,
|
RB_ADDR => rbaddr_hio)
|
RB_ADDR => rbaddr_hio)
|
port map (
|
port map (
|
CLK => CLK,
|
CLK => CLK,
|
Line 296... |
Line 299... |
O_LED => O_LED,
|
O_LED => O_LED,
|
O_ANO_N => O_ANO_N,
|
O_ANO_N => O_ANO_N,
|
O_SEG_N => O_SEG_N
|
O_SEG_N => O_SEG_N
|
);
|
);
|
|
|
RRI : rri_core_serport
|
RLINK : rlink_base_serport
|
generic map (
|
generic map (
|
ATOWIDTH => 6, -- 64 cycles access timeout
|
ATOWIDTH => 6, -- 64 cycles access timeout
|
ITOWIDTH => 6, -- 64 periods max idle timeout
|
ITOWIDTH => 6, -- 64 periods max idle timeout
|
|
IFAWIDTH => 5, -- 32 word input fifo
|
|
OFAWIDTH => 0, -- no output fifo
|
CDWIDTH => 13,
|
CDWIDTH => 13,
|
CDINIT => sys_conf_ser2rri_cdinit)
|
CDINIT => sys_conf_ser2rri_cdinit)
|
port map (
|
port map (
|
CLK => CLK,
|
CLK => CLK,
|
CE_USEC => CE_USEC,
|
CE_USEC => CE_USEC,
|
Line 315... |
Line 320... |
CTS_N => CTS_N,
|
CTS_N => CTS_N,
|
RTS_N => RTS_N,
|
RTS_N => RTS_N,
|
RB_MREQ => RB_MREQ,
|
RB_MREQ => RB_MREQ,
|
RB_SRES => RB_SRES,
|
RB_SRES => RB_SRES,
|
RB_LAM => RB_LAM,
|
RB_LAM => RB_LAM,
|
RB_STAT => RB_STAT
|
RB_STAT => RB_STAT,
|
|
RL_MONI => open,
|
|
RL_SER_MONI => open
|
);
|
);
|
|
|
RB_SRES_OR : rb_sres_or_3
|
RB_SRES_OR : rb_sres_or_3
|
port map (
|
port map (
|
RB_SRES_1 => RB_SRES_CPU,
|
RB_SRES_1 => RB_SRES_CPU,
|
RB_SRES_2 => RB_SRES_IBD,
|
RB_SRES_2 => RB_SRES_IBD,
|
RB_SRES_3 => RB_SRES_HIO,
|
RB_SRES_3 => RB_SRES_HIO,
|
RB_SRES_OR => RB_SRES
|
RB_SRES_OR => RB_SRES
|
);
|
);
|
|
|
RB2CP : pdp11_core_rri
|
RB2CP : pdp11_core_rbus
|
generic map (
|
generic map (
|
RB_ADDR_CORE => rbaddr_core0,
|
RB_ADDR_CORE => rbaddr_core0,
|
RB_ADDR_IBUS => rbaddr_ibus)
|
RB_ADDR_IBUS => rbaddr_ibus)
|
port map (
|
port map (
|
CLK => CLK,
|
CLK => CLK,
|