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

Subversion Repositories modular_oscilloscope

[/] [modular_oscilloscope/] [trunk/] [hdl/] [epp/] [eppwbn.vhd] - Blame information for rev 14

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

Line No. Rev Author Line
1 10 budinero
--|-----------------------------------------------------------------------------
2
--| UNSL - Modular Oscilloscope
3
--|
4
--| File: eppwbn_wbn_side.vhd
5 14 budinero
--| Version: 0.01
6 10 budinero
--| Targeted device: Actel A3PE1500 
7
--|-----------------------------------------------------------------------------
8
--| Description:
9
--|   EPP - Wishbone bridge. 
10 14 budinero
--|       Instantiate all the other modules. The TOP file.
11 10 budinero
--------------------------------------------------------------------------------
12
--| File history:
13 14 budinero
--|   0.01  | dic-2008 | First release
14 10 budinero
--------------------------------------------------------------------------------
15 14 budinero
--| Copyright ® 2008, Facundo Aguilera.
16
--|
17
--| This VHDL design file is an open design; you can redistribute it and/or
18
--| modify it and/or implement it after contacting the author.
19 10 budinero
 
20
 
21 5 budinero
-- Bloque completo
22
 
23 10 budinero
library IEEE;
24
use IEEE.STD_LOGIC_1164.all;
25
use work.eppwbn_pgk.all;
26
 
27 6 budinero
entity eppwbn is
28 5 budinero
port(
29
        -- Externo
30 10 budinero
        nStrobe: in std_logic;                                                                                  -- Nomenclatura IEEE Std. 1284 
31
                                                                                                                                                                                        -- HostClk/nWrite 
32
        Data: inout std_logic_vector (7 downto 0);       -- AD8..1 (Data1..Data8)
33
        nAck: out std_logic;                                                                                            --  PtrClk/PeriphClk/Intr
34
        busy: out std_logic;                                                                                            --  PtrBusy/PeriphAck/nWait
35
        PError: out std_logic;                                                                                  --  AckData/nAckReverse
36
        Sel: out std_logic;                                                                                             --  XFlag (Select)
37
        nAutoFd: in std_logic;                                                                                  --  HostBusy/HostAck/nDStrb
38
        PeriphLogicH: out std_logic;                                                            --  (Periph Logic High)
39
        nInit: in std_logic;                                                                                            --  nReverseRequest
40
        nFault: out std_logic;                                                                                  --  nDataAvail/nPeriphRequest
41
        nSelectIn: in std_logic;                                                                                --  1284 Active/nAStrb
42
 
43 5 budinero
        --  Interno
44
        RST_I: in std_logic;
45
        CLK_I: in std_logic;
46 10 budinero
        DAT_I: in std_logic_vector (7 downto 0);
47
        DAT_O: out std_logic_vector (7 downto 0);
48
        ADR_O: out std_logic_vector (7 downto 0);
49
        CYC_O: out std_logic;
50
        STB_O: out std_logic;
51
        ACK_I: in std_logic ;
52
        WE_O: out std_logic
53 5 budinero
        );
54
end eppwbn;
55
 
56
 
57 10 budinero
architecture structural of eppwbn is
58
  ------------------------------------------------------------------------------
59
        -- Señales
60
        signal s_epp_mode: std_logic_vector (1 downto 0);
61
  signal s_rst_pp: std_logic;
62 9 budinero
 
63 10 budinero
  signal s_wb_Busy:       std_logic;
64
  signal s_wb_nAutoFd:    std_logic;
65
  signal s_wb_nSelectIn:  std_logic;
66
  signal s_wb_nStrobe:    std_logic;
67
 
68
  signal s_ctr_nAck:   std_logic;
69
  signal s_ctr_PError: std_logic;
70
  signal s_ctr_Sel:    std_logic;
71
  signal s_ctr_nFault: std_logic;
72 9 budinero
 
73 10 budinero
  signal s_ctr_nAutoFd:    std_logic;
74
  signal s_ctr_nSelectIn:  std_logic;
75
  signal s_ctr_nStrobe:    std_logic;
76 9 budinero
 
77
 
78
 
79 10 budinero
 
80 9 budinero
 
81 6 budinero
begin
82
 
83 10 budinero
        -- Conexión del módulo de control
84
        U1:  eppwbn_ctrl
85
                port map (
86
                        nStrobe => s_ctr_nStrobe,
87
                        Data => Data,
88
                        nAck => s_ctr_nAck,
89
                        PError => s_ctr_PError,
90
                        Sel => s_ctr_Sel,
91
                        nAutoFd => s_ctr_nAutoFd,
92
                        PeriphLogicH => PeriphLogicH,
93
                        nInit => nInit,
94
                        nFault => s_ctr_nFault,
95
                        nSelectIn => s_ctr_nSelectIn,
96
 
97
                        RST_I => RST_I,
98
                        CLK_I => CLK_I,
99
 
100
                        rst_pp => s_rst_pp,
101
                        epp_mode => s_epp_mode
102
        );
103 6 budinero
 
104 14 budinero
        -- Conexión de módulo multiplexor
105 10 budinero
        U2:  eppwbn_epp_side
106
                port map (
107
                        epp_mode => s_epp_mode,
108
 
109
                        ctr_nAck => s_ctr_nAck,
110
                        ctr_PError => s_ctr_PError,
111
                        ctr_Sel => s_ctr_Sel,
112
                        ctr_nFault => s_ctr_nFault,
113
 
114
                        ctr_nAutoFd => s_ctr_nAutoFd,
115
                        ctr_nSelectIn => s_ctr_nSelectIn,
116
                        ctr_nStrobe=> s_ctr_nStrobe,
117
 
118
                        wb_Busy => s_wb_Busy,
119
                        wb_nAutoFd => s_wb_nAutoFd,
120
                        wb_nSelectIn => s_wb_nSelectIn,
121
                        wb_nStrobe => s_wb_nStrobe,
122
 
123
                        nAck => nAck,
124
                        PError => PError,
125
                        Sel => Sel,
126
                        nFault => nFault,
127
 
128
                        Busy => Busy,
129
                        nAutoFd => nAutoFd,
130
                        nSelectIn => nSelectIn,
131
                        nStrobe => nStrobe
132
        );
133
 
134
        -- Conexión del módulo de comunicación con interfaz wishbone
135
        U3:  eppwbn_wbn_side
136
                port map(
137
                        inStrobe => s_wb_nStrobe,
138
                        iData => Data,
139
                        iBusy => s_wb_Busy,
140
                        inAutoFd => s_wb_nAutoFd,
141
                        inSelectIn => s_wb_nSelectIn,
142
 
143
                        RST_I => RST_I,
144
                        CLK_I => CLK_I,
145
                        DAT_I => DAT_I,
146
                        DAT_O => DAT_O,
147
                        ADR_O => ADR_O,
148
                        CYC_O => CYC_O,
149
                        STB_O => STB_O,
150
                        ACK_I => ACK_I,
151
                        WE_O => WE_O,
152
 
153
                        rst_pp => s_rst_pp
154
                );
155
end architecture;

powered by: WebSVN 2.1.0

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