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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.74/] [rtl/] [sys_gen/] [tst_serloop/] [tst_serlooplib.vhd] - Blame information for rev 38

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 36 wfjm
-- $Id: tst_serlooplib.vhd 751 2016-03-25 19:46:11Z mueller $
2 16 wfjm
--
3
-- Copyright 2011- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4
--
5
-- This program is free software; you may redistribute and/or modify it under
6
-- the terms of the GNU General Public License as published by the Free
7
-- Software Foundation, either version 2, or at your option any later version.
8
--
9
-- This program is distributed in the hope that it will be useful, but
10
-- WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
11
-- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12
-- for complete details.
13
--
14
------------------------------------------------------------------------------
15
-- Package Name:   tst_serlooplib
16
-- Description:    Definitions for tst_serloop records and helpers
17
--
18
-- Dependencies:   -
19 36 wfjm
-- Tool versions:  ise 13.1-14.7; viv 2014.7-2015.4; ghdl 0.29-0.33
20 16 wfjm
-- Revision History: 
21
-- Date         Rev Version  Comment
22
-- 2011-12-10   438   1.0.2  add rxui(cnt|dat) fields in hio_stat_type
23
-- 2011-12-09   437   1.0.1  rename serport stat->moni port
24
-- 2011-10-14   416   1.0    Initial version 
25
------------------------------------------------------------------------------
26
 
27
library ieee;
28
use ieee.std_logic_1164.all;
29
 
30
use work.slvtypes.all;
31 19 wfjm
use work.serportlib.all;
32 16 wfjm
 
33
package tst_serlooplib is
34
 
35
  constant c_mode_idle    : slv2 := "00"; -- mode: idle (no tx activity)
36
  constant c_mode_rxblast : slv2 := "01"; -- mode: rxblast (check rx activity)
37
  constant c_mode_txblast : slv2 := "10"; -- mode: txblast (saturate tx)
38
  constant c_mode_loop    : slv2 := "11"; -- mode: loop (rx->tx loop-back)
39
 
40
  type hio_cntl_type is record          -- humanio controls
41
    mode : slv2;                        -- mode (idle,(tx|tx)blast,loop)
42
    enaxon : slbit;                     -- enable xon/xoff handling
43
    enaesc : slbit;                     -- enable xon/xoff escaping
44
    enathrottle : slbit;                -- enable 1 msec tx throttling
45
    enaftdi : slbit;                    -- enable ftdi flush handling
46
  end record hio_cntl_type;
47
 
48
  constant hio_cntl_init : hio_cntl_type := (
49
    c_mode_idle,                        -- mode
50
    '0','0','0','0'                     -- enaxon,enaesc,enathrottle,enaftdi
51
  );
52
 
53
  type hio_stat_type is record          -- humanio status
54
    rxfecnt : slv16;                    -- rx frame error counter
55
    rxoecnt : slv16;                    -- rx overrun error counter
56
    rxsecnt : slv16;                    -- rx sequence error counter
57
    rxcnt : slv32;                      -- rx char counter
58
    txcnt : slv32;                      -- tx char counter
59
    rxuicnt : slv8;                     -- rx unsolicited input counter
60
    rxuidat : slv8;                     -- rx unsolicited input data
61
    rxokcnt : slv16;                    -- rxok 1->0 transition counter
62
    txokcnt : slv16;                    -- txok 1->0 transition counter
63
  end record hio_stat_type;
64
 
65
  constant hio_stat_init : hio_stat_type := (
66
    (others=>'0'),                      -- rxfecnt
67
    (others=>'0'),                      -- rxoecnt
68
    (others=>'0'),                      -- rxsecnt
69
    (others=>'0'),                      -- rxcnt
70
    (others=>'0'),                      -- txcnt 
71
    (others=>'0'),                      -- rxuicnt
72
    (others=>'0'),                      -- rxuidat
73
    (others=>'0'),                      -- rxokcnt
74
    (others=>'0')                       -- txokcnt 
75
  );
76
 
77
-- -------------------------------------
78
 
79
component tst_serloop is                -- tester for serport components
80
  port (
81
    CLK : in slbit;                     -- clock
82
    RESET : in slbit;                   -- reset
83
    CE_MSEC : in slbit;                 -- msec pulse
84
    HIO_CNTL : in hio_cntl_type;        -- humanio controls
85
    HIO_STAT : out hio_stat_type;       -- humanio status
86
    SER_MONI : in serport_moni_type;    -- serport monitor
87
    RXDATA : in slv8;                   -- receiver data out
88
    RXVAL : in slbit;                   -- receiver data valid
89
    RXHOLD : out slbit;                 -- receiver data hold
90
    TXDATA : out slv8;                  -- transmit data in
91
    TXENA : out slbit;                  -- transmit data enable
92
    TXBUSY : in slbit                   -- transmit busy
93
  );
94
end component;
95
 
96
component tst_serloop_hiomap is         -- default human I/O mapper
97
  port (
98
    CLK : in slbit;                     -- clock
99
    RESET : in slbit;                   -- reset
100
    HIO_CNTL : out hio_cntl_type;       -- tester controls from hio
101
    HIO_STAT : in hio_stat_type;        -- tester status to display by hio
102
    SER_MONI : in serport_moni_type;    -- serport monitor to display by hio
103
    SWI : in slv8;                      -- switch settings
104
    BTN : in slv4;                      -- button settings
105
    LED : out slv8;                     -- led data
106
    DSP_DAT : out slv16;                -- display data
107
    DSP_DP : out slv4                   -- display decimal points
108
  );
109
end component;
110
 
111
end package tst_serlooplib;

powered by: WebSVN 2.1.0

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