Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Reporte vhd11

practica realizada en la clase de vhdl (programacion ) unidad 3.REALIZADO CON EN Kit basys2

  • Login to see the comments

  • Be the first to like this

Reporte vhd11

  1. 1. SEP DGEST INSTITUTO TECNOLÓGICO DE SNEST MATAMOROS DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Diseño Digital con VHDL Equipo: Alumno(s): Núm. de control: Mario Arturo Cruz Colunga 11260077 Miguel Angel Fierros Peña 11260081 Hermenegildo Martínez de la Cruz 11260095 Jorge Alejandro Reyes Torres 11260108 H. MATAMOROS, TAM. 1 de Noviembre del 2013
  2. 2. Practica 9 Objetivo: Utilizando la entidad de una memoria ROM, Realizar la implementación de un decodificador de 3 a 8 donde las direcciones sean definidas por 3 SWs deslizables del basys 2 y la salida sea mostrada con los LEDs. Desarrollar una memoria ROM que simule un decodificador de BCD a 7 segmentos. Utilizar el Basys2 para la implementación. Teroria: La memoria de solo lectura, conocida también como ROM (acrónimo en inglés de read-onlymemory), es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite sólo la lectura de la información y no su escritura, independientemente de la presencia o no de una fuente de energía. Los datos almacenados en la ROM no se pueden modificar, o al menos no de manera rápida o fácil Material: Laptop Kit spartan3e Software aldec HDL, xilinx ISE, adept. Procedimiento: Se crea nuevo proyecto en aldec HDL
  3. 3. Código del decodifidor 3 a 8 Library ieee; use ieee.std_logic_1164.all; useieee.std_logic_unsigned.all; useieee.std_logic_arith.all; entityromis port (datos: outstd_logic_vector (7 downto 0); bus_dir: std_logic_vector(2 downto 0) ); endrom; architecture programa of romis signal dato: std_logic_vector( 7 downto 0); type memoria isarray (0 to 7) of std_logic_vector(7 downto 0); constantmem_rom : memoria := ( "00000001", "00000010", "00000100", "00001000", "00010000", "00100000", "01000000", "10000000"); begin process (bus_dir) begin dato<= mem_rom (conv_integer (bus_dir)); endprocess ; datos<=dato; end programa; códigobcd a 7 segmentos libraryieee; use ieee.std_logic_1164.all; useieee.std_logic_unsigned.all; useieee.std_logic_arith.all; entitybcdis port (a_to_g: outstd_logic_vector (6 downto 0); bus_dir: std_logic_vector(3 downto 0) ); endbcd; architecture programa of bcdis signal dato: std_logic_vector( 6 downto 0); type memoria isarray (0 to 9) of std_logic_vector(6 downto 0); constantmem_rom : memoria := ("1000000", "1111001", "0100100", "0110000", "0011001",
  4. 4. "0010010", "0000010", "1111000", "0000000", "0010000"); begin process (bus_dir) begin ifbus_dir> "1001" then dato<= "1111111"; else dato<= mem_rom (conv_integer (bus_dir)); endif; endprocess ; a_to_g<=dato; end programa; Observaciones y conclusiones: Los programas realizaron el funcionamiento correctamente de acuerdo a lo previsto, aunque hubieron algunos errores al comienzo porque se equivocaron en el nombre de la librería arith.

×