Line 1... |
Line 1... |
-- $Id: rlinklib.vhd 442 2011-12-23 10:03:28Z mueller $
|
-- $Id: rlinklib.vhd 466 2012-12-30 13:26:55Z mueller $
|
--
|
--
|
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
-- Copyright 2007-2012 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 14... |
Line 14... |
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
-- Package Name: rlinklib
|
-- Package Name: rlinklib
|
-- Description: Definitions for rlink interface and bus entities
|
-- Description: Definitions for rlink interface and bus entities
|
--
|
--
|
-- Dependencies: -
|
-- Dependencies: -
|
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.1; ghdl 0.18-0.29
|
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.3; ghdl 0.18-0.29
|
--
|
--
|
-- Revision History:
|
-- Revision History:
|
-- Date Rev Version Comment
|
-- Date Rev Version Comment
|
|
-- 2012-12-29 466 3.3.1 add rlink_rlbmux
|
|
-- 2011-12-23 444 3.3 CLK_CYCLE now integer
|
-- 2011-12-21 442 3.2.1 retire old, deprecated interfaces
|
-- 2011-12-21 442 3.2.1 retire old, deprecated interfaces
|
-- 2011-12-09 437 3.2 add rlink_core8
|
-- 2011-12-09 437 3.2 add rlink_core8
|
-- 2011-11-18 427 3.1.3 now numeric_std clean
|
-- 2011-11-18 427 3.1.3 now numeric_std clean
|
-- 2010-12-25 348 3.1.2 drop RL_FLUSH support, add RL_MONI for rlink_core;
|
-- 2010-12-25 348 3.1.2 drop RL_FLUSH support, add RL_MONI for rlink_core;
|
-- new rlink_serport interface;
|
-- new rlink_serport interface;
|
Line 167... |
Line 169... |
RB_LAM : in slv16; -- rbus: look at me
|
RB_LAM : in slv16; -- rbus: look at me
|
RB_STAT : in slv3 -- rbus: status flags
|
RB_STAT : in slv3 -- rbus: status flags
|
);
|
);
|
end component;
|
end component;
|
|
|
|
component rlink_rlbmux is -- rlink rlb multiplexer
|
|
port (
|
|
SEL : in slbit; -- port select (0:RLB<->P0; 1:RLB<->P1)
|
|
RLB_DI : out slv8; -- rlb: data in
|
|
RLB_ENA : out slbit; -- rlb: data enable
|
|
RLB_BUSY : in slbit; -- rlb: data busy
|
|
RLB_DO : in slv8; -- rlb: data out
|
|
RLB_VAL : in slbit; -- rlb: data valid
|
|
RLB_HOLD : out slbit; -- rlb: data hold
|
|
P0_RXDATA : in slv8; -- p0: rx data
|
|
P0_RXVAL : in slbit; -- p0: rx valid
|
|
P0_RXHOLD : out slbit; -- p0: rx hold
|
|
P0_TXDATA : out slv8; -- p0: tx data
|
|
P0_TXENA : out slbit; -- p0: tx enable
|
|
P0_TXBUSY : in slbit; -- p0: tx busy
|
|
P1_RXDATA : in slv8; -- p1: rx data
|
|
P1_RXVAL : in slbit; -- p1: rx valid
|
|
P1_RXHOLD : out slbit; -- p1: rx hold
|
|
P1_TXDATA : out slv8; -- p1: tx data
|
|
P1_TXENA : out slbit; -- p1: tx enable
|
|
P1_TXBUSY : in slbit -- p1: tx busy
|
|
);
|
|
end component;
|
|
|
--
|
--
|
-- core + concrete_interface combo's
|
-- core + concrete_interface combo's
|
--
|
--
|
|
|
component rlink_sp1c is -- rlink_core8+serport_1clock combo
|
component rlink_sp1c is -- rlink_core8+serport_1clock combo
|
Line 212... |
Line 238... |
component rlink_mon is -- rlink monitor
|
component rlink_mon is -- rlink monitor
|
generic (
|
generic (
|
DWIDTH : positive := 9); -- data port width (8 or 9)
|
DWIDTH : positive := 9); -- data port width (8 or 9)
|
port (
|
port (
|
CLK : in slbit; -- clock
|
CLK : in slbit; -- clock
|
CLK_CYCLE : in slv31 := (others=>'0'); -- clock cycle number
|
CLK_CYCLE : in integer := 0; -- clock cycle number
|
ENA : in slbit := '1'; -- enable monitor output
|
ENA : in slbit := '1'; -- enable monitor output
|
RL_DI : in slv(DWIDTH-1 downto 0); -- rlink: data in
|
RL_DI : in slv(DWIDTH-1 downto 0); -- rlink: data in
|
RL_ENA : in slbit; -- rlink: data enable
|
RL_ENA : in slbit; -- rlink: data enable
|
RL_BUSY : in slbit; -- rlink: data busy
|
RL_BUSY : in slbit; -- rlink: data busy
|
RL_DO : in slv(DWIDTH-1 downto 0); -- rlink: data out
|
RL_DO : in slv(DWIDTH-1 downto 0); -- rlink: data out
|