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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [rtl/] [vlib/] [serport/] [tb/] [tbd_serport_autobaud.vhd] - Blame information for rev 13

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 wfjm
-- $Id: tbd_serport_autobaud.vhd 417 2011-10-22 10:30:29Z mueller $
2 2 wfjm
--
3 13 wfjm
-- Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4 2 wfjm
--
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
-- Module Name:    tbd_serport_autobaud - syn
16
-- Description:    Wrapper for serport_uart_autobaud and serport_uart_rxtx to
17
--                 avoid records. It has a port interface which will not be
18
--                 modified by xst synthesis (no records, no generic port).
19
--
20
-- Dependencies:   clkdivce
21
--                 serport_uart_autobaud
22
--                 serport_uart_rxtx
23
--                 serport_uart_rx
24
--
25
-- To test:        serport_uart_autobaud
26
--                 serport_uart_rxtx
27
--
28
-- Target Devices: generic
29
--
30
-- Synthesized (xst):
31
-- Date         Rev  ise         Target      flop lutl lutm slic t peri
32
-- 2007-10-27    92  9.2.02 J39  xc3s1000-4   151  291    0    - t 9.23
33
-- 2007-10-27    92  9.1    J30  xc3s1000-4   151  291    0    - t 9.23
34
-- 2007-10-27    92  8.2.03 I34  xc3s1000-4   153  338    0  178 s 9.45
35
-- 2007-10-27    92  8.1.03 I27  xc3s1000-4   152  293    0    - s 9.40
36
--
37 13 wfjm
-- Tool versions:  xst 8.2, 9.1, 9.2, 13.1; ghdl 0.18-0.29
38 2 wfjm
-- Revision History: 
39
-- Date         Rev Version  Comment
40
-- 2008-01-20   112   1.0.1  rename clkgen->clkdivce
41
-- 2007-06-24    60   1.0    Initial version 
42
------------------------------------------------------------------------------
43
 
44
library ieee;
45
use ieee.std_logic_1164.all;
46 13 wfjm
use ieee.numeric_std.all;
47 2 wfjm
 
48
use work.slvtypes.all;
49
use work.genlib.all;
50
use work.serport.all;
51
 
52
entity tbd_serport_autobaud is          -- serial port autobaud [tb design]
53
  port (
54
    CLK : in slbit;                     -- clock
55
    RESET : in slbit;                   -- reset
56
    RXSD : in slbit;                    -- receive serial data (uart view)
57
    CE_USEC : out slbit;                -- usec pulse (here every  4 clocks)
58
    CE_MSEC : out slbit;                -- msec pulse (here every 20 clocks)
59
    CLKDIV : out slv13;                 -- clock divider setting
60
    ABACT : out slbit;                  -- autobaud active
61
    ABDONE : out slbit;                 -- autobaud done
62
    RXDATA : out slv8;                  -- receiver data out (1st rx)
63
    RXVAL : out slbit;                  -- receiver data valid (1st rx)
64
    RXERR : out slbit;                  -- receiver data error (1st rx)
65
    RXACT : out slbit;                  -- receiver active (1st rx)
66
    TXSD2 : out slbit;                  -- transmit serial data (2nd tx)
67
    RXDATA3 : out slv8;                 -- receiver data out (3rd rx)
68
    RXVAL3 : out slbit;                 -- receiver data valid (3rd rx)
69
    RXERR3 : out slbit;                 -- receiver data error  (3rd rx)
70
    RXACT3 : out slbit                  -- receiver active (3rd rx)
71
  );
72
end tbd_serport_autobaud;
73
 
74
 
75
architecture syn of tbd_serport_autobaud is
76
 
77
  constant cdwidth : positive := 13;
78
 
79
  signal LCE_MSEC : slbit := '0';
80
  signal LCLKDIV : slv13 := (others=>'0');
81
  signal LRXDATA : slv8 := (others=>'0');
82
  signal LRXVAL : slbit := '0';
83
  signal LTXSD2 : slbit := '0';
84
  signal LABACT : slbit := '0';
85
 
86
begin
87
 
88
  CKLDIV : clkdivce
89
    generic map (
90
      CDUWIDTH => 6,
91
      USECDIV => 4,
92
      MSECDIV => 5)
93
    port map (
94
      CLK     => CLK,
95
      CE_USEC => CE_USEC,
96
      CE_MSEC => LCE_MSEC
97
    );
98
 
99
  AUTOBAUD : serport_uart_autobaud
100
    generic map (
101
      CDWIDTH => cdwidth,
102
      CDINIT => 15)
103
    port map (
104
      CLK     => CLK,
105
      CE_MSEC => LCE_MSEC,
106
      RESET   => RESET,
107
      RXSD    => RXSD,
108
      CLKDIV  => LCLKDIV,
109
      ACT     => LABACT,
110
      DONE    => ABDONE
111
    );
112
 
113
  UART1 : serport_uart_rxtx
114
    generic map (
115
      CDWIDTH => cdwidth)
116
    port map (
117
      CLK    => CLK,
118
      RESET  => LABACT,
119
      CLKDIV => LCLKDIV,
120
      RXSD   => RXSD,
121
      RXDATA => LRXDATA,
122
      RXVAL  => LRXVAL,
123
      RXERR  => RXERR,
124
      RXACT  => RXACT,
125
      TXSD   => LTXSD2,
126
      TXDATA => LRXDATA,
127
      TXENA  => LRXVAL,
128
      TXBUSY => open
129
    );
130
 
131
  UART2 : serport_uart_rx
132
    generic map (
133
      CDWIDTH => cdwidth)
134
    port map (
135
      CLK    => CLK,
136
      RESET  => LABACT,
137
      CLKDIV => LCLKDIV,
138
      RXSD   => LTXSD2,
139
      RXDATA => RXDATA3,
140
      RXVAL  => RXVAL3,
141
      RXERR  => RXERR3,
142
      RXACT  => RXACT3
143
    );
144
 
145
  CE_MSEC <= LCE_MSEC;
146
  CLKDIV  <= LCLKDIV;
147
  ABACT   <= LABACT;
148
  RXDATA  <= LRXDATA;
149
  RXVAL   <= LRXVAL;
150
  TXSD2   <= LTXSD2;
151
 
152
end syn;

powered by: WebSVN 2.1.0

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