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

Subversion Repositories tdm

[/] [tdm/] [trunk/] [code/] [ISDN_cont/] [core/] [ISDN_cont_top.vhd] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 khatib
-------------------------------------------------------------------------------
2
-- Title      : ISDN tdm controller
3
-- Project    : TDM controller
4
-------------------------------------------------------------------------------
5
-- File       : ISDN_cont_top.vhd
6
-- Author     : Jamil Khatib  <khatib@ieee.org>
7
-- Organization:  OpenCores.org
8
-- Created    : 2001/05/06
9
-- Last update:2001/05/06
10
-- Platform   : 
11
-- Simulators  : NC-sim/linux, Modelsim XE/windows98
12
-- Synthesizers: Leonardo
13
-- Target      : 
14
-- Dependency  : ieee.std_logic_1164
15
--               tdm.components_pkg
16
--               hdlc.hdlc_components_pkg
17
-------------------------------------------------------------------------------
18
-- Description:  ISDN tdm controller that extracts 2B+D channels from 3 time
19
-- slots of the incoming streem (Top Block)
20
-------------------------------------------------------------------------------
21
-- Copyright (c) 2001  Jamil Khatib
22
-- 
23
-- This VHDL design file is an open design; you can redistribute it and/or
24
-- modify it and/or implement it after contacting the author
25
-- You can check the draft license at
26
-- http://www.opencores.org/OIPC/license.shtml
27
-------------------------------------------------------------------------------
28
-- Revisions  :
29
-- Revision Number :   1
30
-- Version         :   0.1
31
-- Date            :  2001/05/06
32
-- Modifier        :  Jamil Khatib  <khatib@ieee.org>
33
-- Desccription    :  Created
34
-- ToOptimize      :
35
-- Known Bugs      : 
36
-------------------------------------------------------------------------------
37
-- $Log: not supported by cvs2svn $
38
-- Revision 1.2  2001/05/08 21:10:41  jamil
39
-- Initial release
40
--
41
--
42
-------------------------------------------------------------------------------
43
 
44
LIBRARY ieee;
45
USE ieee.std_logic_1164.ALL;
46
 
47
LIBRARY hdlc;
48
USE hdlc.hdlc_components_pkg.ALL;
49
 
50
LIBRARY tdm;
51
USE tdm.components_pkg.ALL;
52
 
53
ENTITY isdn_cont_top_ent IS
54
 
55
  PORT (
56
    C2     : IN  STD_LOGIC;             -- ST-Bus clock
57
    DSTi   : IN  STD_LOGIC;             -- ST-Bus input Data
58
    DSTo   : OUT STD_LOGIC;             -- ST-Bus output Data
59
    F0_n   : IN  STD_LOGIC;             -- St-Bus Framing pulse
60
    F0od_n : OUT STD_LOGIC;             -- ST-Bus Delayed Framing pulse
61
    RST_I  : IN  STD_LOGIC;
62
    CLK_I  : IN  STD_LOGIC;
63
 
64
-- B1      Channel
65
    ADR_I_B1  : IN  STD_LOGIC_VECTOR(2 DOWNTO 0);
66
    DAT_O_B1  : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
67
    DAT_I_B1  : IN  STD_LOGIC_VECTOR(31 DOWNTO 0);
68
    WE_I_B1   : IN  STD_LOGIC;
69
    STB_I_B1  : IN  STD_LOGIC;
70
    ACK_O_B1  : OUT STD_LOGIC;
71
    CYC_I_B1  : IN  STD_LOGIC;
72
    RTY_O_B1  : OUT STD_LOGIC;
73
    TAG0_O_B1 : OUT STD_LOGIC;
74
    TAG1_O_B1 : OUT STD_LOGIC;
75
 
76
-- B2     Channel
77
    ADR_I_B2  : IN  STD_LOGIC_VECTOR(2 DOWNTO 0);
78
    DAT_O_B2  : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
79
    DAT_I_B2  : IN  STD_LOGIC_VECTOR(31 DOWNTO 0);
80
    WE_I_B2   : IN  STD_LOGIC;
81
    STB_I_B2  : IN  STD_LOGIC;
82
    ACK_O_B2  : OUT STD_LOGIC;
83
    CYC_I_B2  : IN  STD_LOGIC;
84
    RTY_O_B2  : OUT STD_LOGIC;
85
    TAG0_O_B2 : OUT STD_LOGIC;
86
    TAG1_O_B2 : OUT STD_LOGIC;
87
 
88
-- D     Channel
89
    ADR_I_D  : IN  STD_LOGIC_VECTOR(2 DOWNTO 0);
90
    DAT_O_D  : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
91
    DAT_I_D  : IN  STD_LOGIC_VECTOR(31 DOWNTO 0);
92
    WE_I_D   : IN  STD_LOGIC;
93
    STB_I_D  : IN  STD_LOGIC;
94
    ACK_O_D  : OUT STD_LOGIC;
95
    CYC_I_D  : IN  STD_LOGIC;
96
    RTY_O_D  : OUT STD_LOGIC;
97
    TAG0_O_D : OUT STD_LOGIC;
98
    TAG1_O_D : OUT STD_LOGIC
99
 
100
    );
101
 
102
END isdn_cont_top_ent;
103
 
104
-------------------------------------------------------------------------------
105
 
106
ARCHITECTURE isdn_cont_top_str OF isdn_cont_top_ent IS
107
 
108
  SIGNAL HDLCen1   : STD_LOGIC;
109
  SIGNAL HDLCen2   : STD_LOGIC;
110
  SIGNAL HDLCen3   : STD_LOGIC;
111
  SIGNAL HDLCTxen1 : STD_LOGIC;
112
  SIGNAL HDLCTxen2 : STD_LOGIC;
113
  SIGNAL HDLCTxen3 : STD_LOGIC;
114
  SIGNAL Dout      : STD_LOGIC;
115
  SIGNAL Din1      : STD_LOGIC;
116
  SIGNAL Din2      : STD_LOGIC;
117
  SIGNAL Din3      : STD_LOGIC;
118
 
119
BEGIN  -- isdn_cont_top_str
120
-------------------------------------------------------------------------------
121
 
122
 
123
  ST_IF : isdn_cont_ent
124
    PORT MAP (
125
      rst_n     => RST_I,
126
      C2        => C2,
127
      DSTi      => DSTi,
128
      DSTo      => DSTo,
129
      F0_n      => F0_n,
130
      F0od_n    => F0od_n,
131
      HDLCen1   => HDLCen1,
132
      HDLCen2   => HDLCen2,
133
      HDLCen3   => HDLCen3,
134
      HDLCTxen1 => HDLCTxen1,
135
      HDLCTxen2 => HDLCTxen2,
136
      HDLCTxen3 => HDLCTxen3,
137
      Dout      => Dout,
138
      Din1      => Din1,
139
      Din2      => Din2,
140
      Din3      => Din3);
141
 
142
  B1_Channel : hdlc_ent
143
    GENERIC MAP (
144
      FCS_TYPE  => 2,
145
      ADD_WIDTH => 7)
146
    PORT MAP (
147
      Txclk     => C2,
148
      RxClk     => C2,
149
      Tx        => Din1,
150
      Rx        => Dout,
151
      TxEN      => HDLCTxen1,
152
      RxEn      => HDLCen1,
153
      RST_I     => RST_I,
154
      CLK_I     => CLK_I,
155
      ADR_I     => ADR_I_B1,
156
      DAT_O     => DAT_O_B1,
157
      DAT_I     => DAT_I_B1,
158
      WE_I      => WE_I_B1,
159
      STB_I     => STB_I_B1,
160
      ACK_O     => ACK_O_B1,
161
      CYC_I     => CYC_I_B1,
162
      RTY_O     => RTY_O_B1,
163
      TAG0_O    => TAG0_O_B1,
164
      TAG1_O    => TAG1_O_B1);
165
 
166
 
167
  B2_Channel : hdlc_ent
168
    GENERIC MAP (
169
      FCS_TYPE  => 2,
170
      ADD_WIDTH => 7)
171
    PORT MAP (
172
      Txclk     => c2,
173
      RxClk     => c2,
174
      Tx        => Din2,
175
      Rx        => Dout,
176
      TxEN      => HDLCTxen2,
177
      RxEn      => HDLCen2,
178
      RST_I     => RST_I,
179
      CLK_I     => CLK_I,
180
      ADR_I     => ADR_I_B2,
181
      DAT_O     => DAT_O_B2,
182
      DAT_I     => DAT_I_B2,
183
      WE_I      => WE_I_B2,
184
      STB_I     => STB_I_B2,
185
      ACK_O     => ACK_O_B2,
186
      CYC_I     => CYC_I_B2,
187
      RTY_O     => RTY_O_B2,
188
      TAG0_O    => TAG0_O_B2,
189
      TAG1_O    => TAG1_O_B2);
190
 
191
 
192
  D_Channel : hdlc_ent
193
    GENERIC MAP (
194
      FCS_TYPE  => 2,
195
      ADD_WIDTH => 7)
196
    PORT MAP (
197
      Txclk     => c2,
198
      RxClk     => c2,
199
      Tx        => Din3,
200
      Rx        => Dout,
201
      TxEN      => HDLCTxen3,
202
      RxEn      => HDLCen3,
203
      RST_I     => RST_I,
204
      CLK_I     => CLK_I,
205
      ADR_I     => ADR_I_D,
206
      DAT_O     => DAT_O_D,
207
      DAT_I     => DAT_I_D,
208
      WE_I      => WE_I_D,
209
      STB_I     => STB_I_D,
210
      ACK_O     => ACK_O_D,
211
      CYC_I     => CYC_I_D,
212
      RTY_O     => RTY_O_D,
213
      TAG0_O    => TAG0_O_D,
214
      TAG1_O    => TAG1_O_D);
215
 
216
-------------------------------------------------------------------------------
217
END isdn_cont_top_str;

powered by: WebSVN 2.1.0

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