laboratorio de diseño lógico charla introductoria...

12
Laboratorio de Diseño Lógico Charla Introductoria 1.2 Ing. Luis C. Rosales A. [email protected] 2509-4569

Upload: others

Post on 20-May-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

Laboratorio de Diseño LógicoCharla Introductoria 1.2

Ing. Luis C. Rosales A.

[email protected]

2509-4569

Page 2: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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.

Page 3: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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

Page 4: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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

Page 5: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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.

Page 6: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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

Page 7: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

¿“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

Page 8: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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

Page 9: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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

Page 10: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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.

Page 11: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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”

Page 12: Laboratorio de Diseño Lógico Charla Introductoria 1labdisenologico.weebly.com/uploads/1/8/1/6/1816858/materiales_cla… · Laboratorio de Diseño Lógico Charla Introductoria 1.2

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