Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseño de Una Tarjeta de Ya PDF
Diseño de Una Tarjeta de Ya PDF
INGENIERO INDUSTRIAL
Madrid
2011
DISEO DE UNA TARJETA DE ADQUISICIN DE DATOS DE 12
CANALES SIMULTNEOS
Autor: Guisndez Mndez, Juan.
PROYECT SUMMARY
1. Introduction.
NDICE DE LA MEMORIA
ndice de la memoria
1
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
NDICE DE LA MEMORIA
Bibliografa 53
2
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
NDICE DE LA MEMORIA
1.2 Triestado......................................................................................................... 63
1.3 Multiplexor2................................................................................................... 64
1.4 Multiplexor13................................................................................................. 65
1.6 Controlador.................................................................................................... 67
1.7 Observador..................................................................................................... 73
2.3 pruMul2.......................................................................................................... 80
2.4 pruMul13........................................................................................................ 82
3
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
NDICE DE FIGURAS
ndice de figuras
4
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
NDICE DE FIGURAS
5
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Memoria
ndice de tablas
-6-
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Introduccin
Parte I MEMORIA
-7-
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Introduccin
Captulo 1 INTRODUCCIN
-8-
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Introduccin
1.3 OBJETIVOS
-9-
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Introduccin
Para realizar el objetivo propuesto se han llevado a cabo los siguientes pasos:
Se decidi la tarjeta FPGA as como el conversor analgico digital que se
utilizan. Este paso se realiz eligindose la tarjeta Raggedstone1 Spartan-3 FPGA
PCI Development Board y dos conversores analgico digital ADS8556 de Texas
Instruments.
Despus de tener los elementos de hardware principales decididos se
dise el circuito elctrico necesario para el conversor, la adaptacin de las
seales a muestrear y la conexin con la tarjeta FPGA.
Tras lo cual se dise el pcb para el circuito antes diseado y que se
conectara la tarjeta FPGA.
Hecho esto mediante el uso de cdigo VHDL se disear el circuito que se
descargar en la tarjeta FPGA para realizar el interfaz entre conversores y el pc
para el correcto tratamiento de los datos aportados por el conversor.
- 10 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 11 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
Modelo Enob
ADS8364 13.41
ADS8365 14.16
ADS8556 14.90
AD7656-1 14.30
AD7656 13.90
- 12 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
Modelo Consumo/Velocidad
ADS8364 1.652mw/ksps
ADS8365 0.760mw/ksps
ADS8556 0.399mw/ksps
AD7656-1 0.560mw/ksps
AD7656 0.572mw/ksps
Figura 1: ADS8556
- 13 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 14 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 15 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 16 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
permite variar la ganancia entre uno y dos de esta etapa para poder tener una
precisin mayor para seales pequeas.
- 17 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 18 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 19 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 20 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
Pattern 3 4 5 6 7 8 9
class
P+S+T+I+O P+S+T+I+O P+S+T+I+O P+S+T+I+O T+O T+O O
Service
OTW 0.300 0.250 0.200 0.150 0.125 0.100 0.090
OTT-OTP-OPP 0.300 0.250 0.200 0.150 0.125 0.100 0.090
OAR 0.200 0.150 0.150 0.125 0.125 0.100 0.100
ITW 0.300 0.250 0.200 0.150 0.125 0.100 0.090
ITT-ITP-IPP 0.300 0.250 0.200 0.150 0.125 0.100 0.090
IAR 0.200 0.200 0.200 0.175 0.150 0.150 0.125
- 21 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
P PCB proto.
S Estandard pool
T Tech pool
I IMS pool
O On demand
- 22 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
PCI Slot.
Esto es simplemente la conexin fsica en el ordenador del puerto PCI
PCI32TLITE.
Esto es el core que se descargar en la FPGA que se encarga de hacer de
driver del puerto PCI. Este core es proporcionado por Opencores y es un core
gratuito.
Bus Wishbone.
Se ha decidido utilizar el bus Wishbone para la comunicacin entre el core
del PCI y la FPGA, se ha tomado esta decisin, porque este bus dispone de todas
las funciones necesarias para la ejecucin de las especificaciones del proyecto y
adems ya existe su cdigo VHDL que est incluido en el driver de la FPGA.
Controlador.
Esta es la parte principalmente diseada de forma especfica en este
proyecto, se encarga de recibir las rdenes del ordenador y trasmitirlas a los
conversores, tambin se encarga de recibir la informacin de los conversores y
devolverla al ordenador cuando corresponda de forma ordenada, el sistema
contar con un banco de registros donde almacenar los resultados de las
conversiones as como las opciones de configuracin de los conversores. Una
maquina de estados se encargar de controlar el correcto funcionamiento de los
conversores.
- 23 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
Conversores.
Estos son los dos conversores analgico digital ADS8556 de Texas
Instruments.
2.4.1 PCI32TLITE
- 24 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 25 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
2.4.2.1 Introduccin
El bus wishbone es una metodologa flexible diseada para usar con cores
de semiconductores. Se trata de crear una interfaz comn entre cores que aporte
portabilidad al sistema y resulte en una solucin rpida para el usuario final. Antes
de la estandarizacin de este bus la interconexin era complicada y requera de
mucho tiempo para disear la unin entre los dos sistemas, con la estandarizacin,
es fcil y sencillo conectar cualquier sistema con un bus wishbone a otro.
Algunas caractersticas importantes del bus son:
- 26 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 27 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 28 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 29 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 30 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 31 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
2.4.3 CONTROLADOR
2.4.3.1 Introduccin
Esta es la parte principalmente de la FPGA diseada de forma especfica
en este proyecto, se encarga de recibir las rdenes del ordenador y trasmitirlas a
los conversores, tambin se encarga de recibir la informacin de los conversores y
devolverla al ordenador cuando corresponda de forma ordenada. El sistema
contar con un banco de registros donde almacenar los resultados de las
conversiones as como las opciones de configuracin de los conversores (Figura
- 32 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 33 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
15 14 13 12 11 10 9 8
7 6 5 4 3 2 1 0
C28 RANGE_C 0 = Input voltage range selection for channel pair C: 4VREF (default)
C27 RANGE_B 0 = Input voltage range selection for channel pair B: 4VREF (default)
C26 RANGE_A 0 = Input voltage range selection for channel pair A: 4VREF (default)
1 = Sequential convert start mode enabled (bit 11 must be '1' in this case)
- 34 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
C20 BUSY L/H 0 = BUSY active high while INT active low (default)
C16 C23:0_EN 0 = Control register bits C[31:24] update only (serial mode only) (default)
1 = Power-down for channel pair C enabled (bit 31 must be '0' in this case)
1 = Power-down for channel pair B enabled (bit 31 must be '0' in this case)
1 = Power-down for channel pair A enabled (bit 31 must be '0' in this case)
- 35 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATO(15-0)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TIMER(15-0)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- 36 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BUSY 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Proceso=1 FinInicia =1
INICIALI CONVER
ESPERA SIN
ZACIN
FinConver =1
Figura 17: Maquina de estados principal
- 37 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 38 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 39 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
BUSY1=0
Conver =1 BUSY2=0
E0 E1 E2 E3
E4
Timer =0 Contador=101
- 40 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Desarrollo tcnico
- 41 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
Captulo 3 RESULTADOS/EXPERIMENTOS
0 0 0 0 0 0 1111111111
1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0
- 42 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
TIMER(15-0)
0000000000100011
- 43 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
CONTROL(15-0)
0000000000000001
- 44 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
- 45 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
BUSY(15-0)
0000000000000000
- 46 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
- 47 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
- 48 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
Cuando esto ocurra se empezar a leer todos los registros, si los datos son
correctos, los datos ledos tendrn que ir del 1 al 12 (Figura 27). Despus de esto
se iniciar una conversin continua que dar como resultado dos conversiones
seguidas y se emular el procedimiento antes descrito para realizar las
conversiones.
- 49 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Resultados/Experimentos
- 50 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Conclusiones
Captulo 4 CONCLUSIONES
- 51 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Futuros desarrollos
- 52 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Bibliografa
BIBLIOGRAFA
[1] www.ti.com
[2] www.ni.com
[3] http://www.enterpoint.co.uk/moelbryn/raggedstone1.html
[4] http://es.farnell.com/
[5] http://www.eurocircuits.com/
[6] www.wikipedia.com
- 53 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Bibliografa
Parte II ESTUDIO
ECONMICO
- 54 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Estudio econmico
- 55 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Estudio econmico
USUARIO
- 56 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Manual de usuario
Para instalar el dispositivo tan solo hay que conectarlo a una conexin PCI
estndar presente en la mayora de ordenadores, no son necesarias ms conexiones
de tipo hardware.
- 57 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Manual de usuario
Registro Direccin
Los 13 ltimos registros (Tabla 13) son de solo lectura, los doce primeros
son cada uno de los doce canales de conversin, el registro BUSY, del cual solo
nos interesa el ultimo bit, nos indica si la conversin a finalizada y podemos
empezar a leer los dems registros.
Registro Direccin
- 58 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Manual de usuario
- 59 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Manual de usuario
- 60 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
- 61 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
Captulo 1 TARJETA
1.1 REGISTRO.
-------------------------------------------------------------------------
---------
-- Company:
-- Engineer:
--
-- Create Date: 14:24:29 01/18/2011
-- Design Name:
-- Module Name: Registro - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-------------------------------------------------------------------------
---------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Registro is
port (
Reset : in std_logic;
PCI_CLK : in std_logic;
Enable : in std_logic;
Entrada : in std_logic_vector(15 downto 0);
Salida : out std_logic_vector(15 downto 0)
);
end Registro;
begin
process (PCI_CLK, Reset, Entrada, Enable)
begin
if Reset = '1' then
Salida <= (others => '0');
- 62 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
end Behavioral;
1.2 TRIESTADO.
-------------------------------------------------------------------------
---------
-- Company:
-- Engineer:
--
-- Create Date: 14:24:29 01/18/2011
-- Design Name:
-- Module Name: Triestado - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-------------------------------------------------------------------------
---------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Triestado is
port (
Enable : in std_logic;
Entrada : in std_logic_vector(15 downto 0);
Salida : out std_logic_vector(15 downto 0)
);
end Triestado;
begin
process (Entrada, Enable)
begin
if Enable = '1' then
Salida <= Entrada;
else
- 63 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
end Behavioral;
1.3 MULTIPLEXOR2
-------------------------------------------------------------------------
---------
-- Company:
-- Engineer:
--
-- Create Date: 14:24:29 01/18/2011
-- Design Name:
-- Module Name: Multiplexor2 - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-------------------------------------------------------------------------
---------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Multiplexor2 is
port (
Direccion : in std_logic;
Entrada1 : in std_logic_vector(15 downto 0);
Entrada2 : in std_logic_vector(15 downto 0);
Salida : out std_logic_vector(15 downto 0)
);
end Multiplexor2;
begin
process (Direccion, Entrada1, Entrada2)
begin
case Direccion is
when '0' => Salida <= Entrada1;
when '1' => Salida <= Entrada2;
when others => null;
end case;
- 64 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
end process;
end Behavioral;
1.4 MULTIPLEXOR13
-------------------------------------------------------------------------
---------
-- Company:
-- Engineer:
--
-- Create Date: 14:24:29 01/18/2011
-- Design Name:
-- Module Name: Multiplexor13 - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-------------------------------------------------------------------------
---------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Multiplexor13 is
port (
Direccion : in std_logic_vector(4 downto 0);
Entrada1 : in std_logic_vector(15 downto 0);
Entrada2 : in std_logic_vector(15 downto 0);
Entrada3 : in std_logic_vector(15 downto 0);
Entrada4 : in std_logic_vector(15 downto 0);
Entrada5 : in std_logic_vector(15 downto 0);
Entrada6 : in std_logic_vector(15 downto 0);
Entrada7 : in std_logic_vector(15 downto 0);
Entrada8 : in std_logic_vector(15 downto 0);
Entrada9 : in std_logic_vector(15 downto 0);
Entrada10 : in std_logic_vector(15 downto 0);
Entrada11 : in std_logic_vector(15 downto 0);
Entrada12 : in std_logic_vector(15 downto 0);
Entrada13 : in std_logic_vector(15 downto 0);
Salida : out std_logic_vector(15 downto 0)
);
end Multiplexor13;
- 65 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
begin
process (Direccion, Entrada1, Entrada2, Entrada3, Entrada4,
Entrada5, Entrada6, Entrada7, Entrada8, Entrada9, Entrada10, Entrada11,
Entrada12, Entrada13)
begin
case Direccion is
when "00110" => Salida <= Entrada1;
when "00111" => Salida <= Entrada2;
when "01000" => Salida <= Entrada3;
when "01001" => Salida <= Entrada4;
when "01010" => Salida <= Entrada5;
when "01011" => Salida <= Entrada6;
when "01100" => Salida <= Entrada7;
when "01101" => Salida <= Entrada8;
when "01110" => Salida <= Entrada9;
when "01111" => Salida <= Entrada10;
when "10000" => Salida <= Entrada11;
when "10001" => Salida <= Entrada12;
when "10010" => Salida <= Entrada13;
when others => Salida <= (others => '0');
end case;
end process;
end Behavioral;
1.5 DEMULTIPLEXOR6
-------------------------------------------------------------------------
---------
-- Company:
-- Engineer:
--
-- Create Date: 14:24:29 01/18/2011
-- Design Name:
-- Module Name: Demultiplexor6 - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-------------------------------------------------------------------------
---------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
- 66 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
entity Demultiplexor6 is
port (
Direccion : in std_logic_vector(4 downto 0);
Salida1 : out std_logic;
Salida2 : out std_logic;
Salida3 : out std_logic;
Salida4 : out std_logic;
Salida5 : out std_logic;
Salida6 : out std_logic
);
end Demultiplexor6;
begin
process (Direccion)
begin
Salida1 <= '0';
Salida2 <= '0';
Salida3 <= '0';
Salida4 <= '0';
Salida5 <= '0';
Salida6 <= '0';
case Direccion is
when "00000" => Salida1 <= '1';
when "00001" => Salida2 <= '1';
when "00010" => Salida3 <= '1';
when "00011" => Salida4 <= '1';
when "00100" => Salida5 <= '1';
when "00101" => Salida6 <= '1';
when others => null;
end case;
end process;
end Behavioral;
1.6 CONTROLADOR
-------------------------------------------------------------------------
---------
-- Company:
-- Engineer:
--
-- Create Date: 14:24:29 01/18/2011
-- Design Name:
-- Module Name: Controlador - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
- 67 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
-------------------------------------------------------------------------
---------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Controlador is
port (
Reset : in std_logic;
PCI_CLK : in std_logic;
Timer : in std_logic_vector(15 downto 0);
Control : in std_logic_vector(15 downto 0);
BUSY1 : in std_logic;
BUSY2 : in std_logic;
EnableA11 : out std_logic;
EnableA12 : out std_logic;
EnableA21 : out std_logic;
EnableA22 : out std_logic;
EnableB11 : out std_logic;
EnableB12 : out std_logic;
EnableB21 : out std_logic;
EnableB22 : out std_logic;
EnableC11 : out std_logic;
EnableC12 : out std_logic;
EnableC21 : out std_logic;
EnableC22 : out std_logic;
EnableBusy : out std_logic;
EnableTri1 : out std_logic;
EnableTri2 : out std_logic;
DirCon1 : out std_logic;
DirCon2 : out std_logic;
PARSER1 : out std_logic;
PARSER2 : out std_logic;
HWSW1 : out std_logic;
HWSW2 : out std_logic;
REFEN1 : out std_logic;
REFEN2 : out std_logic;
CS1 : out std_logic;
CS2 : out std_logic;
RD1 : out std_logic;
RD2 : out std_logic;
CONVST_A1 : out std_logic;
CONVST_A2 : out std_logic;
CONVST_B1 : out std_logic;
CONVST_B2 : out std_logic;
CONVST_C1 : out std_logic;
CONVST_C2 : out std_logic;
STBY1 : out std_logic;
STBY2 : out std_logic;
RANGO1 : out std_logic;
RANGO2 : out std_logic;
RESET1 : out std_logic;
RESET2 : out std_logic;
WORDBYTE1 : out std_logic;
WORDBYTE2 : out std_logic;
Busy : out std_logic_vector(15 downto 0)
);
- 68 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
end Controlador;
begin
- 69 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
process (estadopri)
begin
EnableBusy <= '1';
Busy <= (others => '0');
Inicia <= '0';
Conver <= '0';
case estadopri is
when Espera =>
Busy(15) <= '0';
when Inicializacion =>
Inicia <= '1';
Busy(15) <= '1';
when Conversion =>
- 70 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
process (estadoini)
begin
CS1 <= 'Z';
CS2 <= 'Z';
REFEN1 <= '0';
REFEN2 <= '0';
DirCon1 <= '0';
DirCon2 <= '0';
EnableTri1 <= '0';
EnableTri2 <= '0';
FinInicia <= '0';
case (estadoini) is
when Espera1 =>
null;
when Primera =>
CS1 <= '1';
CS2 <= '1';
REFEN1 <= '1';
REFEN2 <= '1';
DirCon1 <= '1';
DirCon2 <= '1';
EnableTri1 <= '1';
EnableTri2 <= '1';
when Intermedio =>
CS1 <= '1';
CS2 <= '1';
DirCon1 <= '1';
DirCon2 <= '1';
EnableTri1 <= '1';
EnableTri2 <= '1';
when Segunda =>
CS1 <= '1';
CS2 <= '1';
REFEN1 <= '1';
REFEN2 <= '1';
EnableTri1 <= '1';
EnableTri2 <= '1';
FinInicia <= '1';
end case;
end process;
- 71 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
process (estadocon)
begin
CONVST_A1 <= '0';
CONVST_A2 <= '0';
CONVST_B1 <= '0';
CONVST_B2 <= '0';
CONVST_C1 <= '0';
CONVST_C2 <= '0';
CS1 <= 'Z';
CS2 <= 'Z';
RD1 <= '0';
RD2 <= '0';
EnableA11 <= '0';
EnableA21 <= '0';
EnableA12 <= '0';
EnableA22 <= '0';
EnableB11 <= '0';
EnableB21 <= '0';
EnableB12 <= '0';
EnableB22 <= '0';
EnableC11 <= '0';
EnableC21 <= '0';
EnableC12 <= '0';
EnableC22 <= '0';
FinConver <= '0';
case estadocon is
when Cero =>
null;
when Uno =>
CONVST_A1 <= '1';
CONVST_A2 <= '1';
CONVST_B1 <= '1';
CONVST_B2 <= '1';
CONVST_C1 <= '1';
CONVST_C2 <= '1';
when Dos =>
- 72 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
end Behavioral;
1.7 OBSERVADOR
-------------------------------------------------------------------------
---------
- 73 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
-- Company:
-- Engineer:
--
-- Create Date: 12:54:35 05/28/2011
-- Design Name:
-- Module Name: Observador - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-------------------------------------------------------------------------
---------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity Observador is
port (
stb : in std_logic;
PCI_CLK : in std_logic;
enable : out std_logic;
ack : out std_logic
);
end Observador;
begin
- 74 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta
end if;
end case;
end process;
process (estado)
begin
case (estado) is
when Espera =>
enable <= '0';
ack <= '0';
when Valido =>
enable <= '1';
ack <= '1';
end case;
end process;
end Behavioral;
- 75 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
Captulo 2 SIMULACIONES
2.1 PRUREGISTRO
-------------------------------------------------------------------------
-------
-- Company:
-- Engineer:
--
-- Create Date: 18:15:22 03/02/2011
-- Design Name:
-- Module Name: K:/Proyecto/Compartida/VHDL/Proyecto/pruRegistro.vhd
-- Project Name: Proyecto
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: Registro
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic
and
-- std_logic_vector for the ports of the unit under test. Xilinx
recommends
-- that these types always be used for the top-level I/O of a design in
order
-- to guarantee that the testbench will bind correctly to the post-
implementation
-- simulation model.
-------------------------------------------------------------------------
-------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
ENTITY pruRegistro IS
END pruRegistro;
COMPONENT Registro
PORT(
- 76 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
Reset : IN std_logic;
PCI_CLK : IN std_logic;
Enable : IN std_logic;
Entrada : IN std_logic_vector(15 downto 0);
Salida : OUT std_logic_vector(15 downto 0)
);
END COMPONENT;
--Inputs
signal Reset : std_logic := '0';
signal PCI_CLK : std_logic := '0';
signal Enable : std_logic := '0';
signal Entrada : std_logic_vector(15 downto 0) := (others => '0');
--Outputs
signal Salida : std_logic_vector(15 downto 0);
BEGIN
PCI_CLK_process :process
begin
PCI_CLK <= '0';
wait for PCI_CLK_period/2;
PCI_CLK <= '1';
wait for PCI_CLK_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
-- hold reset state.
- 77 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
wait;
end process;
END;
2.2 PRUTRIESTADO
-------------------------------------------------------------------------
-------
-- Company:
-- Engineer:
--
-- Create Date: 18:45:12 03/02/2011
-- Design Name:
-- Module Name: K:/Proyecto/Compartida/VHDL/Proyecto/pruTriestado.vhd
-- Project Name: Proyecto
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: Triestado
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic
and
-- std_logic_vector for the ports of the unit under test. Xilinx
recommends
-- that these types always be used for the top-level I/O of a design in
order
- 78 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
ENTITY pruTriestado IS
END pruTriestado;
COMPONENT Triestado
PORT(
Enable : IN std_logic;
Entrada : IN std_logic_vector(15 downto 0);
Salida : OUT std_logic_vector(15 downto 0)
);
END COMPONENT;
--Inputs
signal Enable : std_logic := '0';
signal Entrada : std_logic_vector(15 downto 0) := (others => '0');
--Outputs
signal Salida : std_logic_vector(15 downto 0);
BEGIN
-- Stimulus process
stim_proc: process
begin
-- hold reset state.
- 79 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
wait;
end process;
END;
2.3 PRUMUL2
-------------------------------------------------------------------------
-------
-- Company:
-- Engineer:
--
-- Create Date: 18:55:59 03/02/2011
-- Design Name:
-- Module Name: K:/Proyecto/Compartida/VHDL/Proyecto/pruMul2.vhd
-- Project Name: Proyecto
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: Multiplexor2
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic
and
-- std_logic_vector for the ports of the unit under test. Xilinx
recommends
-- that these types always be used for the top-level I/O of a design in
order
-- to guarantee that the testbench will bind correctly to the post-
implementation
-- simulation model.
-------------------------------------------------------------------------
-------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
ENTITY pruMul2 IS
END pruMul2;
COMPONENT Multiplexor2
PORT(
Direccion : IN std_logic;
Entrada1 : IN std_logic_vector(15 downto 0);
- 80 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
--Inputs
signal Direccion : std_logic := '0';
signal Entrada1 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada2 : std_logic_vector(15 downto 0) := (others => '0');
--Outputs
signal Salida : std_logic_vector(15 downto 0);
BEGIN
-- Stimulus process
stim_proc: process
begin
-- hold reset state.
wait;
end process;
END;
- 81 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
2.4 PRUMUL13
-------------------------------------------------------------------------
-------
-- Company:
-- Engineer:
--
-- Create Date: 19:02:47 03/02/2011
-- Design Name:
-- Module Name: K:/Proyecto/Compartida/VHDL/Proyecto/pruMul13.vhd
-- Project Name: Proyecto
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: Multiplexor13
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic
and
-- std_logic_vector for the ports of the unit under test. Xilinx
recommends
-- that these types always be used for the top-level I/O of a design in
order
-- to guarantee that the testbench will bind correctly to the post-
implementation
-- simulation model.
-------------------------------------------------------------------------
-------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
ENTITY pruMul13 IS
END pruMul13;
COMPONENT Multiplexor13
PORT(
Direccion : IN std_logic_vector(4 downto 0);
Entrada1 : IN std_logic_vector(15 downto 0);
Entrada2 : IN std_logic_vector(15 downto 0);
Entrada3 : IN std_logic_vector(15 downto 0);
Entrada4 : IN std_logic_vector(15 downto 0);
Entrada5 : IN std_logic_vector(15 downto 0);
Entrada6 : IN std_logic_vector(15 downto 0);
Entrada7 : IN std_logic_vector(15 downto 0);
Entrada8 : IN std_logic_vector(15 downto 0);
Entrada9 : IN std_logic_vector(15 downto 0);
- 82 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
--Inputs
signal Direccion : std_logic_vector(4 downto 0) := (others => '0');
signal Entrada1 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada2 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada3 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada4 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada5 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada6 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada7 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada8 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada9 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada10 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada11 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada12 : std_logic_vector(15 downto 0) := (others => '0');
signal Entrada13 : std_logic_vector(15 downto 0) := (others => '0');
--Outputs
signal Salida : std_logic_vector(15 downto 0);
BEGIN
-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100ms.
- 83 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 84 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
wait;
end process;
END;
2.5 PRUDEMUL6
-------------------------------------------------------------------------
-------
-- Company:
-- Engineer:
--
-- Create Date: 19:14:51 03/02/2011
-- Design Name:
-- Module Name: K:/Proyecto/Compartida/VHDL/Proyecto/pruDemul6.vhd
-- Project Name: Proyecto
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: Demultiplexor6
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic
and
-- std_logic_vector for the ports of the unit under test. Xilinx
recommends
-- that these types always be used for the top-level I/O of a design in
order
-- to guarantee that the testbench will bind correctly to the post-
implementation
-- simulation model.
-------------------------------------------------------------------------
-------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
ENTITY pruDemul6 IS
END pruDemul6;
COMPONENT Demultiplexor6
PORT(
- 85 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
--Inputs
signal Direccion : std_logic_vector(4 downto 0) := (others => '0');
--Outputs
signal Salida1 : std_logic;
signal Salida2 : std_logic;
signal Salida3 : std_logic;
signal Salida4 : std_logic;
signal Salida5 : std_logic;
signal Salida6 : std_logic;
BEGIN
-- Stimulus process
stim_proc: process
begin
-- hold reset state for 100ms.
- 86 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
wait;
end process;
END;
2.6 PRUCONTROL
-------------------------------------------------------------------------
-------
-- Company:
-- Engineer:
--
-- Create Date: 16:53:05 02/21/2011
-- Design Name:
-- Module Name: K:/Proyecto/Compartida/VHDL/Proyecto/pruControl.vhd
-- Project Name: Proyecto
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: Controlador
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic
and
-- std_logic_vector for the ports of the unit under test. Xilinx
recommends
-- that these types always be used for the top-level I/O of a design in
order
-- to guarantee that the testbench will bind correctly to the post-
implementation
-- simulation model.
-------------------------------------------------------------------------
-------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
- 87 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
USE ieee.numeric_std.ALL;
ENTITY pruControl IS
END pruControl;
COMPONENT Controlador
PORT(
Reset : IN std_logic;
PCI_CLK : IN std_logic;
Timer : IN std_logic_vector(15 downto 0);
Control : IN std_logic_vector(15 downto 0);
BUSY1 : IN std_logic;
BUSY2 : IN std_logic;
EnableA11 : OUT std_logic;
EnableA12 : OUT std_logic;
EnableA21 : OUT std_logic;
EnableA22 : OUT std_logic;
EnableB11 : OUT std_logic;
EnableB12 : OUT std_logic;
EnableB21 : OUT std_logic;
EnableB22 : OUT std_logic;
EnableC11 : OUT std_logic;
EnableC12 : OUT std_logic;
EnableC21 : OUT std_logic;
EnableC22 : OUT std_logic;
EnableBusy : OUT std_logic;
EnableTri1 : OUT std_logic;
EnableTri2 : OUT std_logic;
DirCon1 : OUT std_logic;
DirCon2 : OUT std_logic;
PARSER1 : OUT std_logic;
PARSER2 : OUT std_logic;
HWSW1 : OUT std_logic;
HWSW2 : OUT std_logic;
REFEN1 : OUT std_logic;
REFEN2 : OUT std_logic;
CS1 : OUT std_logic;
CS2 : OUT std_logic;
RD1 : OUT std_logic;
RD2 : OUT std_logic;
CONVST_A1 : OUT std_logic;
CONVST_A2 : OUT std_logic;
CONVST_B1 : OUT std_logic;
CONVST_B2 : OUT std_logic;
CONVST_C1 : OUT std_logic;
CONVST_C2 : OUT std_logic;
STBY1 : OUT std_logic;
STBY2 : OUT std_logic;
RANGO1 : OUT std_logic;
RANGO2 : OUT std_logic;
RESET1 : OUT std_logic;
RESET2 : OUT std_logic;
WORDBYTE1 : OUT std_logic;
WORDBYTE2 : OUT std_logic;
Busy : OUT std_logic_vector(15 downto 0)
);
END COMPONENT;
- 88 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
--Inputs
signal Reset : std_logic := '0';
signal PCI_CLK : std_logic := '0';
signal Timer : std_logic_vector(15 downto 0) := (others => '0');
signal Control : std_logic_vector(15 downto 0) := (others => '0');
signal BUSY1 : std_logic := '0';
signal BUSY2 : std_logic := '0';
--Outputs
signal EnableA11 : std_logic;
signal EnableA12 : std_logic;
signal EnableA21 : std_logic;
signal EnableA22 : std_logic;
signal EnableB11 : std_logic;
signal EnableB12 : std_logic;
signal EnableB21 : std_logic;
signal EnableB22 : std_logic;
signal EnableC11 : std_logic;
signal EnableC12 : std_logic;
signal EnableC21 : std_logic;
signal EnableC22 : std_logic;
signal EnableBusy : std_logic;
signal EnableTri1 : std_logic;
signal EnableTri2 : std_logic;
signal DirCon1 : std_logic;
signal DirCon2 : std_logic;
signal PARSER1 : std_logic;
signal PARSER2 : std_logic;
signal HWSW1 : std_logic;
signal HWSW2 : std_logic;
signal REFEN1 : std_logic;
signal REFEN2 : std_logic;
signal CS1 : std_logic;
signal CS2 : std_logic;
signal RD1 : std_logic;
signal RD2 : std_logic;
signal CONVST_A1 : std_logic;
signal CONVST_A2 : std_logic;
signal CONVST_B1 : std_logic;
signal CONVST_B2 : std_logic;
signal CONVST_C1 : std_logic;
signal CONVST_C2 : std_logic;
signal STBY1 : std_logic;
signal STBY2 : std_logic;
signal RANGO1 : std_logic;
signal RANGO2 : std_logic;
signal RESET1 : std_logic;
signal RESET2 : std_logic;
signal WORDBYTE1 : std_logic;
signal WORDBYTE2 : std_logic;
signal Busy : std_logic_vector(15 downto 0);
BEGIN
- 89 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
PCI_CLK_process :process
begin
PCI_CLK <= '0';
wait for PCI_CLK_period/2;
PCI_CLK <= '1';
wait for PCI_CLK_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
-- hold reset state.
- 90 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
Control(0)<= '1';
Control(0)<= '0';
Control(0)<= '1';
reset<= '1';
reset<= '0';
Control(0)<= '0';
Control(0)<= '1';
Control(2)<= '1';
Control(0)<= '0';
Control(0)<= '1';
Control(2)<= '0';
- 91 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
wait;
end process;
END;
2.7 PRUOBSERVADOR
-------------------------------------------------------------------------
-------
-- Company:
-- Engineer:
--
-- Create Date: 18:06:56 05/28/2011
-- Design Name:
-- Module Name:
C:/Juan/Proyecto/Compartida/VHDL/Proyecto/pruObservador.vhd
-- Project Name: Proyecto
-- Target Device:
-- Tool versions:
-- Description:
--
-- VHDL Test Bench Created by ISE for module: Observador
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
-- Notes:
-- This testbench has been automatically generated using types std_logic
and
-- std_logic_vector for the ports of the unit under test. Xilinx
recommends
-- that these types always be used for the top-level I/O of a design in
order
- 92 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
ENTITY pruObservador IS
END pruObservador;
COMPONENT Observador
PORT(
stb : IN std_logic;
PCI_CLK : IN std_logic;
enable : OUT std_logic;
ack : OUT std_logic
);
END COMPONENT;
--Inputs
signal stb : std_logic := '0';
signal PCI_CLK : std_logic := '0';
--Outputs
signal enable : std_logic;
signal ack : std_logic;
BEGIN
PCI_CLK_process :process
begin
PCI_CLK <= '1';
wait for PCI_CLK_period/2;
PCI_CLK <= '0';
wait for PCI_CLK_period/2;
end process;
-- Stimulus process
stim_proc: process
begin
- 93 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
wait;
end process;
END;
2.8 CONJUNTO
COMPONENT Tarjeta
PORT( CLK : IN STD_LOGIC;
RESET : IN STD_LOGIC;
DPCIO : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
DCON1 : INOUT STD_LOGIC_VECTOR (15 DOWNTO 0);
DCON2 : INOUT STD_LOGIC_VECTOR (15 DOWNTO 0);
DIR : IN STD_LOGIC_VECTOR (4 DOWNTO 0);
DPCII : OUT STD_LOGIC_VECTOR (15 DOWNTO 0);
PS1 : OUT STD_LOGIC;
PS2 : OUT STD_LOGIC;
HS1 : OUT STD_LOGIC;
HS2 : OUT STD_LOGIC;
REF1 : OUT STD_LOGIC;
- 94 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 95 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
BEGIN
stim_proc: process
begin
- 96 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 97 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 98 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 99 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 100 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 101 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 102 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 103 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 104 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 105 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
wait;
END PROCESS;
END;
2.9 FINAL
COMPONENT tarjetapci
PORT( direccion : OUT STD_LOGIC_VECTOR (24 DOWNTO 0);
DENTRADA : OUT STD_LOGIC_VECTOR (15 DOWNTO 0);
CLK_F : IN STD_LOGIC;
RESET_F : IN STD_LOGIC;
PS1_F : OUT STD_LOGIC;
PS2_F : OUT STD_LOGIC;
HS1_F : OUT STD_LOGIC;
HS2_F : OUT STD_LOGIC;
REF1_F : OUT STD_LOGIC;
REF2_F : OUT STD_LOGIC;
CS_1_F : OUT STD_LOGIC;
CS_2_F : OUT STD_LOGIC;
RD_1_F : OUT STD_LOGIC;
RD_2_F : OUT STD_LOGIC;
ST1_F : OUT STD_LOGIC;
ST2_F : OUT STD_LOGIC;
CONA1_F : OUT STD_LOGIC;
- 106 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
- 107 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
BEGIN
stim_proc : process
begin
- 108 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
ad_f <=x"000003ff";
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
ad_f <=x"0000e000";
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
ad_f <=x"000003ff";
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
- 109 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
ad_f <=x"0000e000";
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
ad_f <=x"00000023";
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
ad_f <=x"00000001";
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
- 110 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
- 111 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
- 112 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
cbe_f <=x"f";
devsel_f <= '0';
- 113 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
- 114 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
- 115 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Simulaciones
cbe_f <=x"6";
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
cbe_f <=x"f";
devsel_f <= '0';
irdy_f <= '0';
trdy_f <= '0';
wait;
end process;
-- *** End Test Bench - User Defined Section ***
END;
- 116 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
- 117 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Parte V DATASHEETS
- 118 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
ads8556
- 119 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
ads8556
Captulo 1 ADS8556
- 120 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
ads8556
- 121 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
opa2211
Captulo 2 OPA2211
- 122 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
opa2211
- 123 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
NDICE DE LA MEMORIA
ndice de planos
124
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Esquema elctrico
- 125 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Esquema elctrico
Parte I ESQUEMA
ELCTRICO
- 126 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Esquema elctrico
- 127 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Esquema elctrico
Parte II PCB
- 128 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Capa superior
- 129 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Capa inferior
- 130 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Capa de masa
- 131 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Capa de tensin
- 132 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Componentes
Captulo 5 COMPONENTES
- 133 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Componentes
- 134 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Tarjeta.sch
Captulo 1 TARJETA.SCH
- 135 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
TarjetaPCI.sch
Captulo 2 TARJETAPCI.SCH
- 136 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
NDICE DE LA MEMORIA
137
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Presupuesto
- 138 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Mediciones
Parte I PRESUPUESTO
- 139 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Mediciones
Captulo 1 MEDICIONES
1.1 RESISTENCIAS
1.2 CONDENSADORES
- 140 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Mediciones
1.4 TARJETAS
- 141 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Precios unitarios
2.1 RESISTENCIAS
2.2 CONDENSADORES
- 142 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Precios unitarios
2.4 TARJETAS
- 143 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Sumas parciales
3.1 RESISTENCIAS
1k 24 0.021 0.504
22 12 0.043 0.516
3.2 CONDENSADORES
- 144 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Sumas parciales
3.4 TARJETAS
- 145 -
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TCNICA SUPERIOR DE INGENIERA (ICAI)
INGENIERO INDUSTRIAL
Presupuesto general
Concepto Precio
Resistencias 1.02
Condensadores 15.33
Tarjetas 511.09
Total 40720.72
- 146 -