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

Subversion Repositories modular_oscilloscope

[/] [modular_oscilloscope/] [trunk/] [hdl/] [epp/] [eppwbn_16bit.vhd] - Blame information for rev 42

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

Line No. Rev Author Line
1 19 budinero
----------------------------------------------------------------------------------------------------
2
--| Modular Oscilloscope
3
--| UNSL - Argentine
4
--|
5
--| File: eppwbn_16 bit.vhd
6
--| Version: 0.01
7
--| Tested in: Actel APA300
8
--|-------------------------------------------------------------------------------------------------
9
--| Description:
10
--|   EPP - Wishbone bridge. 
11
--|   The top module for 16 bit wisbone data bus.
12
--|-------------------------------------------------------------------------------------------------
13
--| File history:
14
--|   0.01  | dic-2008 | First release
15
----------------------------------------------------------------------------------------------------
16
--| Copyright ® 2009, Facundo Aguilera.
17
--|
18
--| This VHDL design file is an open design; you can redistribute it and/or
19
--| modify it and/or implement it after contacting the author.
20
 
21
--| Wishbone Rev. B.3 compatible
22
----------------------------------------------------------------------------------------------------
23
 
24
 
25
 
26
-- Bloque completo 16 bit
27
 
28
library IEEE;
29
use IEEE.STD_LOGIC_1164.all;
30 22 budinero
use work.eppwbn_pkg.all;
31 19 budinero
 
32
entity eppwbn_16bit is
33
port(
34
        -- Externo
35
  nStrobe:      in std_logic;                       --  HostClk/nWrite 
36
        Data:         inout std_logic_vector (7 downto 0);--   AD8..1 (Data1..Data8)
37
        nAck:         out std_logic;                      --  PtrClk/PeriphClk/Intr
38
        busy:         out std_logic;                      --  PtrBusy/PeriphAck/nWait
39
        PError:       out std_logic;                      --  AckData/nAckReverse
40
        Sel:          out std_logic;                      --  XFlag (Select)
41
        nAutoFd:      in std_logic;                       --  HostBusy/HostAck/nDStrb
42
        PeriphLogicH: out std_logic;                      --  (Periph Logic High)
43
  nInit:        in std_logic;                       --  nReverseRequest
44
        nFault:       out std_logic;                      --  nDataAvail/nPeriphRequest
45
        nSelectIn:    in std_logic;                       --  1284 Active/nAStrb
46
 
47
 
48
        --  Interno
49
        RST_I: in std_logic;
50
        CLK_I: in std_logic;
51
        DAT_I: in std_logic_vector (15 downto 0);
52
        DAT_O: out std_logic_vector (15 downto 0);
53
        ADR_O: out std_logic_vector (7 downto 0);
54
        CYC_O: out std_logic;
55
        STB_O: out std_logic;
56
        ACK_I: in std_logic ;
57 22 budinero
        WE_O: out std_logic;
58
 
59
  -- TEMPORAL monitores
60
  epp_mode_monitor: out std_logic_vector(1 downto 0)
61
 
62 19 budinero
        );
63
end eppwbn_16bit;
64
 
65
 
66
 
67
architecture structural of eppwbn_16bit is
68
  -- Señales
69
        signal s_DAT_I: std_logic_vector (7 downto 0);
70
  signal s_DAT_O: std_logic_vector (7 downto 0);
71
  signal s_ADR_O: std_logic_vector (7 downto 0);
72
  signal s_CYC_O: std_logic;
73
  signal s_STB_O: std_logic;
74
  signal s_ACK_I: std_logic;
75
  signal s_WE_O:  std_logic;
76
begin
77
 
78
 
79
  U_EPPWBN8: eppwbn
80
  port map(
81 22 budinero
    -- TEMPORAL
82
    epp_mode_monitor => epp_mode_monitor,
83
 
84
 
85 19 budinero
    -- To EPP interface
86
    nStrobe => nStrobe,
87
    Data => Data,
88
    nAck => nAck,
89
    busy => busy,
90
    PError => PError,
91
    Sel => Sel,
92
    nAutoFd => nAutoFd,
93
    PeriphLogicH => PeriphLogicH,
94
    nInit => nInit,
95
    nFault => nFault,
96
    nSelectIn => nSelectIn,
97
 
98
    -- Common signals
99
    RST_I => RST_I,
100
    CLK_I => CLK_I,
101
 
102
    -- Master EPP to slave width exteneder
103
    DAT_I => s_DAT_I,
104
    DAT_O => s_DAT_O,
105
    ADR_O => s_ADR_O,
106
    CYC_O => s_CYC_O,
107
    STB_O => s_STB_O,
108
    ACK_I => s_ACK_I,
109
    WE_O =>  s_WE_O
110
  );
111
 
112
  U_EPPWBN_8TO16: eppwbn_width_extension
113
  generic map(
114
    TIME_OUT_VALUE => 255,
115
    TIME_OUT_WIDTH => 8
116
  )
117
  port map(
118
    -- Master EPP to slave width exteneder
119
    DAT_I_sl => s_DAT_O,
120
    DAT_O_sl => s_DAT_I,
121
    ADR_I_sl => s_ADR_O,
122
    CYC_I_sl => s_CYC_O,
123
    STB_I_sl => s_STB_O,
124
    ACK_O_sl => s_ACK_I,
125
    WE_I_sl  => s_WE_O,
126
 
127
    -- Master width exteneder to TOP
128
    DAT_I_ma => DAT_I,
129
    DAT_O_ma => DAT_O,
130
    ADR_O_ma => ADR_O,
131
    CYC_O_ma => CYC_O,
132
    STB_O_ma => STB_O,
133
    ACK_I_ma => ACK_I,
134
    WE_O_ma  => WE_O,
135
 
136
    -- Common signals
137
    RST_I => RST_I,
138
    CLK_I => CLK_I
139
  );
140
 
141
 
142
end architecture;

powered by: WebSVN 2.1.0

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