Line 1... |
Line 1... |
--------------------------------------------------------------------------------
|
--|------------------------------------------------------------------------------
|
-- UNSL - Modular Oscilloscope
|
--| UNSL - Modular Oscilloscope
|
--
|
--|
|
-- File: eppwbn_wbn_side.vhd
|
--| File: eppwbn_epp_side.vhd
|
-- Version: 0.01
|
--| Version: 0.01
|
-- Targeted device: Actel A3PE1500
|
--| Targeted device: Actel A3PE1500
|
--------------------------------------------------------------------------------
|
--|------------------------------------------------------------------------------
|
-- Description:
|
--| Description:
|
-- EPP - Wishbone bridge.
|
--| EPP - Wishbone bridge.
|
-- EPP module output control (IEEE Std. 1284-2000).
|
--| EPP module output control (IEEE Std. 1284-2000).
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- File history:
|
--| File history:
|
-- 0.01 | nov-2008 | First release
|
--| 0.01 | nov-2008 | First release
|
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
-- Copyright Facundo Aguilera 2008
|
--| Copyright ® 2008, Facundo Aguilera.
|
-- GPL
|
--|
|
|
--| This VHDL design file is an open design; you can redistribute it and/or
|
|
--| modify it and/or implement it after contacting the author.
|
|
|
|
|
library IEEE;
|
library IEEE;
|
use IEEE.STD_LOGIC_1164.ALL;
|
use IEEE.STD_LOGIC_1164.ALL;
|
|
|
|
|
-- Este fichero debe ser modificado ante casi cualquier modificaci?n de la arquitectura.
|
|
|
|
entity eppwbn_epp_side is
|
entity eppwbn_epp_side is
|
port(
|
port(
|
|
|
-- Selección de modo
|
-- Selección de modo
|
epp_mode: in std_logic_vector (1 downto 0);-- indicador de modo de comunicaci?n epp
|
epp_mode: in std_logic_vector (1 downto 0);-- indicador de modo de comunicación epp
|
-- "00" deshabilitado
|
-- "00" deshabilitado
|
-- "01" inicial (señales de usuario e interrupciones deshabilitadas)
|
-- "01" inicial (señales de usuario e interrupciones deshabilitadas)
|
-- "10" sin definir
|
-- "10" sin definir
|
-- "11" modo EPP normal
|
-- "11" modo EPP normal
|
|
|
Line 44... |
Line 44... |
-- WB-side signals
|
-- WB-side signals
|
wb_Busy: in std_logic; -- PtrBusy/PeriphAck/nWait
|
wb_Busy: in std_logic; -- PtrBusy/PeriphAck/nWait
|
wb_nAutoFd: out std_logic; -- HostBusy/HostAck/nDStrb
|
wb_nAutoFd: out std_logic; -- HostBusy/HostAck/nDStrb
|
wb_nSelectIn: out std_logic; -- 1284 Active/nAStrb
|
wb_nSelectIn: out std_logic; -- 1284 Active/nAStrb
|
wb_nStrobe: out std_logic; -- HostClk/nWrite
|
wb_nStrobe: out std_logic; -- HostClk/nWrite
|
-- No están implementadas las se?ales personalizadas
|
-- No están implementadas las señales personalizadas
|
|
|
-- To EPP port
|
-- To EPP port
|
nAck: out std_logic; -- PtrClk/PeriphClk/Intr
|
nAck: out std_logic; -- PtrClk/PeriphClk/Intr
|
PError: out std_logic; -- AckData/nAckReverse
|
PError: out std_logic; -- AckData/nAckReverse
|
Sel: out std_logic; -- XFlag (Select). Select no puede usarse
|
Sel: out std_logic; -- XFlag (Select). Select no puede usarse
|
Line 73... |
Line 73... |
ctr_nAutoFd <= nAutoFd;
|
ctr_nAutoFd <= nAutoFd;
|
ctr_nSelectIn <= nSelectIn;
|
ctr_nSelectIn <= nSelectIn;
|
ctr_nStrobe <= nStrobe;
|
ctr_nStrobe <= nStrobe;
|
|
|
-- Selección de salidas desde el módulo EPP cuando epp_mode = "11"
|
-- Selección de salidas desde el módulo EPP cuando epp_mode = "11"
|
-- Como no están implementadas las se?ales personalizadas se escribe "0000"
|
-- Como no están implementadas las señales personalizadas se escribe "0000"
|
multiplexing: process (epp_mode ,ctr_nAck, ctr_PError, ctr_Sel, ctr_nFault,
|
multiplexing: process (epp_mode ,ctr_nAck, ctr_PError, ctr_Sel, ctr_nFault,
|
nAutoFd, nSelectIn, nStrobe) begin
|
nAutoFd, nSelectIn, nStrobe) begin
|
case epp_mode is
|
case epp_mode is
|
|
|
when "11" =>
|
when "11" =>
|