Apéndice 7 Uso de abc Un Sistema para síntesis secuencial y verificación

Documentos relacionados
6-Simplificación. 6.1 Ejemplos en dos niveles 6.2 Simplificación en dos niveles 6.3 Algoritmos de simplificación. 6: Simplificación 1

Diseño modular con Verilog.

Sistemas Digitales. Diseño lógico con Verilog. Sinopsis. Prólogo.

La comprensión de las ideas en que está basado espresso implican familiarizarse con nuevos conceptos asociados a funciones booleanas.

Circuitos Electrónicos Digitales. Tema II Parte II. Álgebra de Conmutación

Certamen 2 Sistemas Digitales 01/2003 Nombre Solución Rol

3-Formas Canónicas. 3: Canónicas 1

Unidad 3: Circuitos digitales.

Arquitecturas de Computadores. 4 Sistemas Combinacionales y Secuenciales Prof. Javier Cañas R.

Axiomas Básicos. ...Axiomas Básicos. Arquitecturas de Computadores Prof. MAURICIO SOLAR 3 Algebra de Boole. Temario.

INDICE. XVII 0 Introducción 0.1. Historia de la computación

Electrónica Digital. Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas

4-N-Cubos. 4.1 Representación y cubos de diferentes dimensiones. 4.2 Generalizaciones sobre N-Cubos. 4: N-Cubos 1

8-Síntesis Multinivel

Pr. Dr. Xavier Bonnaire

2-Funciones y representaciones booleanas

Funciones Lógicas Y Métodos De Minimización

EJERCICIO No. 8 ALGEBRA BOOLEANA NOMBRE:

Plantel Aztahuacan 011 Módulo: operación de circuitos electrónicos digitales

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2009

INDICE Prefacio 1 Sistemas numéricos y códigos 2 Circuitos digitales

Operación de circuitos lógicos combinatorios.

13-Bloques Básicos Secuenciales

UNIVERSIDAD AUTÓNOMA DE CHIAPAS Facultad de Contaduría y Administración, Campus I

Introducción a los Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal

Álgebra de Boole. Valparaíso, 1 er Semestre Prof. Rodrigo Araya E.

0. Repaso Electrónica Digital

Unidad 3: Circuitos digitales.

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008

Circuitos Secuenciales

9-Sistemas Secuenciales

5.3. Álgebras de Boole y de conmutación. Funciones lógicas

5-Mapas de Karnaugh. 5: Karnaugh 1

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008

Introducción a los Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2009

DEPARTAMENTO ACADEMICO ELECTROCIDAD Y ELETRONICA

PROGRAMA DE ESTUDIO Área de Formación : Carlos González Zacarías Fecha de elaboración: 21 de Mayo de 2010 Fecha de última actualización:

Sistemas Digitales I

PROBLEMAS TECNOLOGÍA INDUSTRIAL II. CONTROL DIGITAL

Introducción al Diseño Digital con FPGAs.

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

Certamen 1 Arquitectura de Computadores

11-Máquinas Sincrónicas

Circuitos Digitales Avanzados

Programa de Asignatura

Tema 1: Circuitos Combinacionales

Lección 6. Circuitos Secuenciales. Ing. Luis Diego Murillo L1-Control Eléctrico 1

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

FACULTAD DE CIENCIAS EXACTAS, INGENIERÍA Y AGRIMENSURA U.N.R.

IEE 2712 Sistemas Digitales

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2009

ÍNDICE TEMÁTICO. 4 Características de las familias lógicas Circuitos lógicos combinacionales

Asignaturas antecedentes y subsecuentes Diseño de Sistemas Digitales II

UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO PROGRAMA ANALITICO

Mapas de Karnaugh. Apunte N 4

Introducción a la lógica digital

Planificaciones Estructura del Computador. Docente responsable: MAZZEO JORGE RAUL. 1 de 5

Organización n del Computador 1. Lógica Digital 2 Circuitos y memorias

Asignaturas antecedentes y subsecuentes

Circuitos Electrónicos Digitales E.T.S.I. Telecomunicación Universidad Politécnica de Madrid

Planificaciones Electrónica II. Docente responsable: OREGLIA EDUARDO VICTOR. 1 de 6

Elementos de Diseño de Sistemas Digitales

Introducción Tipos de FF Ejercicios. Lógica Digital. Circuitos Secuenciales. Francisco García Eijó

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1)

DISEÑO DE CIRCUITOS SECUENCIALES

5.1. Introducción a los sistemas digitales

Universidad De San Carlos De Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas Organización Computacional Ing. Aux.

Organización del Computador 1 Lógica Digital 2: circuitos y memor

Problema Nº 1.a2.- Obtenga las siguientes conversiones numéricas. Problema Nº 1.a3.- Obtenga las siguientes conversiones numéricas. 9E36.

Simplificación de funciones lógicas utilizando Karnaugh

Para su estudio la máquina se dividirá en los siguientes módulos:

Tema 2. Funciones Lógicas. Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas.

Tema 2. Funciones Lógicas. Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas.

Tema 2. Funciones Lógicas. Algebra de Conmutación. Minimización de funciones Lógicas. Introducción al VHDL.

Tema 8. Circuitos electrónicos digitales

Unidad 3: Circuitos digitales.

FUNCIONES NO COMPLETAMENTE ESPECIFICADAS

EL Sistemas Digitales

Organización de computadoras y lenguaje ensamblador

13/10/2013. Clase 05: Mapas de Karnaugh. Sistemas Digitales y Arquitectura de Computadoras. Ing. Christian Lezama Cuellar.

Método de Karnaugh. Fundamentos de los Computadores Grado en Ingeniería Informática

Lógica Digital. Circuitos Secuenciales. Francisco García Eijó. Organización del Computador I Departamento de Computación - FCEyN UBA

TECNICO SUPERIOR UNIVERSITARIO EN TECNOLOGIAS DE LA INFORMACION Y COMUNICACIÓN ÁREA REDES Y TELECOMUNICACIONES.

Diseño de circuitos combinacionales

Sistemas Combinacionales y Sistemas Secuenciales

ARQUITECTURAS ESPECIALES

Álgebra de Boole. Diseño Lógico

AUTOMATIZACIÓN CON PLC. UNIVERSIDAD DE ANTIOQUIA DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA MEDELLÍN Sesión 6.

DATOS DE IDENTIFICACIÓN DEL CURSO

Arquitecaura de Computadoras Tema 1 - Introducción a la Arquitectura de Computadoras

Funciones incompletamente especificadas Circuitos con salida múltiple. Fundamentos de los Computadores Grado en Ingeniería Informática

Simplificación de Funciones Booleanas. Circuitos Digitales, 2º de Ingeniero de Telecomunicación ETSIT ULPGC

Carrera: Clave de la asignatura: Participantes. Representantes de las academias de Ingeniería Mecánica de Institutos Tecnológicos.

Transcripción:

Apéndice 7 Uso de abc Un Sistema para síntesis secuencial y verificación 7.1. Introducción En las primeras etapas de un diseño digital se requiere obtener la estructura del sistema en términos de componentes de hardware. Se denomina síntesis lógica al proceso de generar un circuito en términos de compuertas y flip-flops; en esta etapa suele efectuarse una minimización del número de transistores que se emplearán (optimización espacial). Luego es necesario efectuar minimizaciones de los retardos (optimización temporal), para esto se requiere efectuar transformaciones de la red booleana de tal modo que la implementación final satisfaga los requerimientos. A medida que aumenta el tamaño del sistema estas técnicas no pueden aplicarse manualmente y resultan indispensables herramientas computacionales. Abc es un programa interactivo para la síntesis y optimización de circuitos combinacionales, secuenciales sincrónicos. Pueden describirse funciones booleanas mediante: ecuaciones (.eqn), tablas de verdad o matrices de cobertura (.pla), redes lógicas booleanas (.blif). Los circuitos secuenciales pueden almacenarse como máquinas de estados finitos describiendo el diagrama de estados (.kiss) o mediante una red booleana formada por compuertas lógicas y elementos de memoria (blif sincrónicos). Las funciones pueden ser manipuladas escribiendo comandos en forma interactiva o empleando archivos de comandos (scripts). El comando help despliega las órdenes disponibles. 7.2. Síntesis de sistemas combinacionales. 7.2.1. Descripción en formato pla. Se asume el tipo fd para la descripción de la tabla. En la parte de las salidas un 1 indica que el cubo pertenece al conjunto on-set; Un - indica que el producto pertenece al conjunto de condiciones superfluas; y un 0 indica que el cubo no tiene significado para la salida dada. Cada salida se representa por un nodo lógico. Sólo están soportadas PLA binarias, esto indica que se ignoran los cubos don t-care. El Ejemplo 5.5, se tiene la siguiente función Booleana, descrita por sus mintérminos: 1

2 Sistemas Digitales f(a, b, c, d) = m(0, 1, 3, 8, 9, 11, 13, 14) La cual puede describirse por el archivo ej5_5.pla: # f(a, b, c, d) = Suma de m(0, 1, 3, 8, 9, 11, 13, 14).i 4.o 1.ilb a b c d.ob f.p 8 0000 1 0001 1 0011 1 1000 1 1001 1 1011 1 1101 1 1110 1.e Dentro de abc, el comando: read_pla./ej/ej5_5.pla Ingresa la descripción de la red, asumiendo que el archivo se encuentra en un subdirectorio, de nombre ej, desde la ubicación desde donde se invoca a abc. print_kmap f Imprime el mapa de Karnaugh de la salida f. c d \ a b 0 0 1 1 0 1 1 0 00 1 1 01 1 1 1 11 1 1 10 1 sop Convierte las funciones de los nodos, de las representaciones internas, en suma de productos. write_pla./ej/ej5_5ip.pla

Apéndice 7. Uso de abc 3 Escribe en el subdirectorio ej, un archivo con los implicantes primos, en formato pla..i 4.o 1.ilb a b c d.ob f.p 4 1110 1 1-01 1-00- 1-0-1 1.e Donde se advierte que de los 8 productos (mintérminos en el ejemplo) la minimización reduce la red lógica a 4 cubos o productos. Forma minimizada que puede leerse según: f(a,b,c,d) = abcd +ac'd+b d+b c write_eqn./ej/ej5_5.eqn Produce el archivo en formato eqn de Synopsys. Las ecuaciones se entregan en sus formas factorizadas. INORDER = a b c d; OUTORDER = f; f = (a * ((!c * d) + (b * c *!d))) + (!b * (!c + d)); El commando: print_fact Entrega las formas factorizadas en la consola. Existen una serie de comandos de escritura en archivos. Genera archivos blif y también en Verilog. write_verilog./ej/ej5_5.verilog Produce un modulo estructural, con las formas factorizadas de la red lógica. module unknown ( a, b, c, d, f ); input a, b, c, d; output f; assign f = (a & ((~c & d) (b & c & ~d))) (~b & (~c d)); endmodule Es preciso cambiarle el nombre al módulo de unknown (desconocido) a ej5_5, si se desea emplearlo. El comando empty, borra las redes almacenadas en la memoria. Pueden ingresarse las descripciones eqn, blif, o verilog de redes combinacionales y proceder a la minimización, de manera similar a la mostrada.

4 Sistemas Digitales Referencias http://www.eecs.berkeley.edu/~alanmi/abc/

Apéndice 7. Uso de abc 5 Índice general. APÉNDICE 7... 1 USO DE ABC... 1 UN SISTEMA PARA SÍNTESIS SECUENCIAL Y VERIFICACIÓN... 1 7.1. INTRODUCCIÓN... 1 7.2. SÍNTESIS DE SISTEMAS COMBINACIONALES.... 1 7.2.1. Descripción en formato pla.... 1 REFERENCIAS... 4 ÍNDICE GENERAL.... 5 ÍNDICE DE FIGURAS.... 6

6 Sistemas Digitales Índice de figuras. No se encuentran elementos de tabla de ilustraciones.