Laboratorio de Diseño LógicoCharla Introductoria 1.2
Ing. Luis C. Rosales A.
2509-4569
Actualizaciones
1. Ya se esta tramitando el correo oficialdentro del dominio del TEC, para mejorarla comunicación del curso. Igualmente sepodrá seguir usando el correo externo ylos números de teléfono que se hanfacilitado.
2. Se confirma el uso de Verilog y CPLDs parael proyecto final del curso. Los CPLDsestán en proceso de compra, por lo queno se puede adelantar la firma de boletas.
3. Una opción, es comprar los CPLDs.3. Una opción, es comprar los CPLDs.Incluyendo los gastos de adecuación ytransporte del CPLD queda alrededor de$15 por unidad de trabajo.
4. En el proyecto inicial, se utilizará Verilog anivel de simulación. (Sin implementaciónen CPLD)
5. Recuerden revisar el calendario agregadoal sitio de Internet.
6. Estamos en trámite de iniciar labores conel TEC Virtual.
Lenguajes paraDescripción deHardware – HDL
El diseño digital ha dejado deser una tarea exclusivamentede trabajo con transistores,circuitos integrados y otrosdispositivos físicos dehardware.
Descripción del sistema(Prosa)
Descripción del Hardware(Verilog - VHDL)
Diseño
hardware.
Los lenguajes de descripciónde hardware permitendescribir de formaestructurada un sistemadigital utilizando metodologíasemejante a la escritura desoftware.
Los más populares son VHDL yVerilog.
(Verilog - VHDL)
Modelo del sistema(Sintetizable)
Descripción
VerilogLenguaje para la descripción dehardware inventado por PhilMoorby y Prabhu Goel en 1983-1984.
Tiene una sintaxis semejante a ladel lenguaje de programación C.
En lugar de manejar las entradascomo “variables” se manejan con el
module main;initialbegin
Ejemplo elemental – Hola Mundo
En lugar de manejar las entradascomo “variables” se manejan con elconcepto de “señales”. Cada señalpuede cambiar de 1 a 0 en eltiempo.
Las unidades funcionales seconocen como “módulos”
Existen 2 modos de operación:
- Behavioral (comportamiento)
- Schematic (importación gráfica)
begin$display(“Hola Mundo!");
$finish;end
endmodule
VerilogSintaxis
La estructura del lenguajesigue reglas bastanteparecidas a las de C.
Es parte de su trabajo deinvestigación conocer afondo estas reglas.
Aquí se les facilita un set muy
Elemento Condiciones
Comentarios Se usa el // al inicio de la línea
Entradas del sistema Se usa la palabra reservada “input”
Salidas del sistema Se usa la palabra reservada “output”
Señales con “memoria” Se usa la palabra reservada “reg”
Operaciones aritméticas Símbolos por convencion: + * / -
Comandos de información Utilizar la instrucción “$display(“mensaje ”)”
Asignación Puede usarse = o <= según el tipo deasignación requerido.Aquí se les facilita un set muy
básico de reglas paraenvolverse con el lenguaje
Investigue:¿Cuál es la diferencia entre laasignación mediante un = y laasignación mediante un <=?¿Cuál es la diferencia dedeclarar una señal de salidadel módulo usando un outputy usando un reg?
asignación requerido.
Constantes Se definen usando la forma:A'BX
Donde:- A es el ancho en bits- B es la base: Decimal (d), binaria(b), hexadecimal(h)- X es el valor a asignar.
Eventos: Se usan las palabras reservadas:- initial: El proceso se ejecutasolamente una vez- always: El proceso es reprtitivo.
Estructura general de unarchivo de Verilog
1. `timescale 1ns / 1ps
2. ////////////////////////////////////////////////
3. // Company:
4. // Engineer:
5. //
6. // Create Date: 12:05:05 02/17/2009
7. // Design Name:
8. // Module Name: NombreModulo
9. // Project Name:
10. // Target Devices:
11. // Tool versions:
12. // Description:
13. //
La siguiente es la estructura general deun archivo de Verilog creado con laherramienta Xilix ISE WebPack (R)
Línea 1: Definición de la base detiempo.
Líneas 2 a 20: Comentarios yencabezado. Información general
Línea 21: Declaración del módulo.13. //
14. // Dependencies:
15. //
16. // Revision:
17. // Revision 0.01 - File Created
18. // Additional Comments:
19. //
20. ////////////////////////////////////////////////
21. module NombreModulo( );
22. always/initial
23. begin
24. acciones
25. end
26. endmodule
Línea 21: Declaración del módulo.Entre paréntesis redondos seenumeran las señales deentrada/salida.
Línea 22: Declaración del tipo deeventos. Puede ser un caso repetitivo(always) o un caso de una solaejecución (initial)
Línea 23: Declaración de inicio delmódulo. Debe asociarse con un “end”como el que se muestra en la línea 25.
Línea 24: Acciones que ejecuta elmódulo.
Línea 26: Final del módulo
¿“Compilar” en Verilog?
Verilog no es un lenguaje deprogramación, por tanto no utiliza unintérprete o un compilador paraverificar si la sintaxis utilizada escorrecta o no.
El término correcto es “Sintetizar” yconsiste en el proceso de verificar si undeterminado archivo de Verilog que
Describir el sistema
Sintetizar
determinado archivo de Verilog quedescribe un módulo de hardware estacorrectamente escrito o no lo está.
Que un módulo de Verilog seasintetizable no significa que funcionecorrectamente.
Para verificar su operación se requirede la simulación y eventualmente laimplementación del módulo en un PLD(Programmable Logic Device)
Simular
Implementar
Xilinx ISE WebPack 10.1Herramienta de desarrollo
Es una aplicación de software,gratuita, descargable de la red quepermite escribir archivos en Verilog yademás sintetizarlos.
Incluye además herramientas pararealizar simulaciones.
Para poder descargar el Xilinx ISE WebPack es necesario
Existen versiones para Linux yWindows.
Para poder descargar el Xilinx ISE WebPack es necesarioregistrarse con Xilinx como usuario:
Para registrarse con Xilinx:https://secure.xilinx.com/webreg/login.do?goto=https%3A%2F%2Fsecure.xilinx.com%3A443%2Fwebreg%2Fregister.do%3Fgroup%3Desd_oms
Para descargar herramientas de Xilinx:(Buscar el ISE WebPack)http://www.xilinx.com/support/download/index.htm
Test BenchSimulaciones conISE Web-Pack 10.1
Normalmente se va a requerir de unmódulo que se encarga de crear elambiente de prueba y el conjunto deestímulos necesarios para poner aprueba la unidad que esta siendoprobada.
El módulo de prueba también seconoce como “Test-Bench” requiere la
Módulo
conoce como “Test-Bench” requiere lacreación de una instancia del módulo aprobar.
Según la complejidad de la unidad bajopruebas puede requerirse de más deun módulo de pruebas.
La simulación como tal, consiste enejecutar el “Test-Bench” y observar lasrespuestas del módulo bajo pruebas.
Aspectos importantes de un Testbench:
- Debe definirse una condicion de inicio.- Debe definirse una condicion periódica que cambia.- La condición inicial dicta el arranque del sistema.- Las condiciones periódicas muestran los cambios delas entradas en el tiempo para visualizar los cambiosen las salidas
Implementación enHardware:CPLD: Dispositivos ComplejosLógicos Programables
Es un circuito integrado que permiteimplementar módulos sintetizados deVerilog.
Cuenta con entradas de múltipleoperación (I/O) y macroceldas que sonlas unidades donde se almacena elmódulo de Verilog.
Hoja de datos:http://www.xilinx.com/support/documentation/data_sheets
módulo de Verilog.
La escuela se encuentra en proceso deadquirir algunos.
Para el proyecto final de laboratorio esnecesario adquirir uno por equipo.
El precio de costo es alrededor de $15por cada unidad de trabajo. Este costoincluye el trabajo para realizarinterconexión de los pines del CI conun socket compatible con Protoboardsy los gastos de transporte.
http://www.xilinx.com/support/documentation/data_sheets/ds065.pdf
DigiKey:Número de parte: 122-1443-NDhttp://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=122-1443-ND
Interesados en comprar:•Nombrar un encargado para todo el grupo.•Hacer una lista de los interesados y recolectar el dinero.•Entregar la lista y el dinero a Ronald Soto cuanto antes.•El trámite tarda de 10 a 15 días.
Demostración de simulación.Compuerta lógica simple
• La demostraciónen clase es paraguiarles en laforma de realizarun proceso desimulación.
• El proceso• El procesosimplementemuestra lacreación de unacompuerta “NOT”y su “Test-Bench”
Material adicional
Recuerden visitar el sitio designadopara el curso(http://labdisenologico.weebly.com)
Este material, así como otros archivosy elementos de ayuda serán agregadosal sitio.
Agenda:
Eventos Próximos:
Entrega investigación previa 1:Cuando: Viernes 27 de FebreroHora: Antes de media nocheLugar: Correo electrónico
Entrega Informe experimento 1:Entrega Informe experimento 1:Cuando: Viernes 6 de marzoHora: Antes de media nocheLugar: Correo electrónico
Charla técnica proyecto 2:Cuando: Viernes 6 de marzoHora: 3:00 PMLugar: B-05
Top Related