diseño de sistemas digitales a través de diseños esquemáticos y
TRANSCRIPT
2
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
Mapa de contenidos
Niveles de descripcioacuten de un circuito
Circuitos para operaciones aritmeacuteticas y loacutegicas
Aritmeacutetica BCD
Circuitos secuenciales baacutesicos latches y flip flops y su modelacioacuten en VHDL
Registros
Circuitos monoestables y astables
Disentildeo de circuitos secuenciales basados en
registros
Disentildeo de autoacutematas
Disentildeo de circuitos basados en unidades de control
Memorias
Perifeacutericos
Aplicaciones aritmeacuteticas
Volumen 1
Volumen 2
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
Introduccioacuten del eBook
Este eBook se centra en el disentildeo de circuitos loacutegicos no es una intro-duccioacuten sino una lectura de nivel intermedio Su contenido estaacute dirigido a quienes dominan el aacutelgebra booleana y ya han disentildeado y construido
circuitos combinacionales de igual forma se espera que estos lectores tengan conocimientos de sistemas numeacutericos y de organizacioacuten computacional
El mayor eacutenfasis de disentildeo se enfocaraacute a sistemas digitales de registro mo-nitoreo y control asiacute como de unidades centrales de procesamiento
El eBook tiene un enfoque praacutectico estaacute basado en la solucioacuten de proble-mas Se plantea el disentildeo de componentes baacutesicos para luego interconectarlos y crear sistemas maacutes complejos por lo que el meacutetodo de aprendizaje impliacutecito es inductivo e incremental
Dragan Trifunovic Photoscom
Breve marco teoacuterico
Ejemplos muy especiacuteficos
Generalizacioacuten
Aplicacioacuten
GeneralizacioacutenAplicacioacuten
Paacuteg 1 de 2
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
Para el disentildeo de circuitos digitales se seguiraacuten dos enfoques disentildeo basado en circuitos esque-maacuteticos utilizando componentes TTL comerciales y el uso de una poderosa herramienta de disentildeo un lenguaje descriptor de circuitos VHDL (VHDL = VHSIC Hardware Description Language VH-SIC = Very High Speed Integrated Circuit) ya que para la formacioacuten de un ingeniero especializado en Electroacutenica Digital competente y competitivo inter-nacionalmente es necesario que se conozcan las herramientas de disentildeo de sistemas electroacutenicos maacutes poderosas y modernas La mejor de estas herramientas ―que es la que aprenderaacute con este eBook― es VHDL que permite el disentildeo simu-lacioacuten e implementacioacuten de sistemas digitales La solucioacuten de los ejercicios y proyectos propuestos y la flexibilidad de disentildeo que provee el VHDL contri-buiraacuten que cada lector forme o refuerce un estilo de disentildeo propio
Actualmente el desarrollo de un paiacutes tiene una gran relacioacuten con la produccioacuten y uso de productos de alta tecnologiacutea ya que su produccioacuten y uso son de alto valor agregado El compromiso inminente que tiene todo ingeniero egresado de una institu-cioacuten de educacioacuten superior en contribuir al desa-rrollo nacional conlleva a impactar en los procesos productivos para que sean maacutes eficientes Los
sistemas basados en electroacutenica digital juegan un papel clave en concretar este compromiso El as-pecto medular del eBook es la combinacioacuten entre el
bosquejo de circuitos esquemaacuteticos el aprendizaje de VHDL y el disentildeo de dispositivos de aplicacioacuten praacutectica
Introduccioacuten del eBook
raquo Disentildeo de dispositivos que requieren caacutelculos complejos
raquo Disentildeo de unidades centrales de procesamiento
Disentildeo de sistemas de
coacutemputo
raquo Disentildeo de dispositivos a partir de problemas muy generales y abiertos
raquo Disentildeo de sistemas digitales innovadores
Disentildeo de dispositivos innovadores
raquo Breve marco teoacuterico
raquo Disentildeo de circuitos digitales
Disentildeo de circuitos digitales
Paacuteg 2 de 2
5
Organizador temaacutetico
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
Capiacutetulo 1 Descripcioacuten de un circuito en VHDL
MAPA
glosarioREC
URSO
SACTIV
IDAD
CONCLU
SIOacuteN
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
6
Capiacutetulo 1 Descripcioacuten de un circuito en VHDL
VHDL es la abreviacioacuten de VHSIC (Very High Speed Integrated Circuit) y HDL son las siglas de Hardware Des-cription Language
VHDL es un lenguaje ―con una sintaxis similar a la de los lenguajes de programacioacuten pero con una esencia sus-tancialmente diferente― con el que se define un circuito a partir de definir sus elementos y su interconexioacuten VHDL es una herramienta EDA (Electronic Design Automation) utilizada en el disentildeo de sistemas electroacutenicos que se con-tendraacute en un circuito integrado Al igual que el lenguaje de programacioacuten ADA (en memoria de Ada Byron hija del poeta Lord Byron matemaacutetica y compiladora el trabajo de Charles Babbage) su disentildeo VHDL inicioacute en 1981 El pri-mer borrador se tuvo listo en agosto de 1985 y fue disentildea-do por Intermetrics IBM y Texas Instrument
El desarrollo de VHDL fue patrocinado por la milicia es-tadounidense para estandarizar la especificacioacuten de sis-temas digitales Se requeriacutea documentar todos los ASIC (Application Specific Integrated Circuit) que se fabricaran para el Departamento de Defensa de Estados Unidos y por esta razoacuten se disentildeoacute con una sintaxis similar a la de ADA
En diciembre de 1987 fue aprobado como estaacutendar del IEEE y posteriormente en 1993 fue revisado y registrado como norma IEEE Std1076-1993
Otros lenguajes descriptores de hardware son
bull ABEL (Advanced Boolean Expression Language) lenguaje inicialmente creado en 1983 para programar PLD (Programmable Logic Device) por Data IO Corporation en Redmond Washington
bull Verilog (Verify logic) que fue creado en 1985 en Auto-mated Integrated Design SystemsCadence la cual tiene ahora todos los derechos sobre los simuladores loacutegicos de Verilog
Los sistemas de desarrollo que cuentan con VHDL como herramienta de disentildeo permiten la descripcioacuten (documen-tacioacuten) simulacioacuten e implementacioacuten de circuitos digitales
Capiacutetulo 1 Descripcioacuten de un circuito en VHDL
Paacuteg 1 de 2
GLOSARIO
IEEE Institute of Electrical and Electronics InstituteAsociacioacuten con base en EUA y capiacutetulos en todo el mundo Produce revistas especializada organiza con-gresos y es reponsable de fijar estaacuten-dares
ABEL (Advanced Boolean Expres-sion Language)Lenguaje inicialmente creado en 1983 para programar PLD (Programmable Logic Device) por Data IO Corpora-tion en Redmond Washington Es un lenguaje descriptor de hardware de maacutes bajo nivel que VHDL y Verilog Los circuitos se describen en aacutelgebra booleana y tablas de verdad
Verilog (Verify logic)Fue creado en 1985 en Automated Integrated Design SystemsCaden-ce la cual tiene ahora todos los dere-chos sobre los simuladores loacutegicos de Verilog Es un lenguaje descriptor de hardware con una sintaxis similar a C
VHDLAcroacutenimo de VHSIC Hardware Des-cription Language VHSIC = Very High Speed Integrated Circuit Es un lenguaje descriptor de hardware con una sintaxis similar a ADA
MAPA
glosarioREC
URSO
SACTIV
IDAD
CONCLU
SIOacuteN
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
7 GLOSARIO
FPGA Field Programmable Gate ArrayTipo de PLD (Programmable Logic Device)basado en la interconexioacuten de ceacutelulas llamadas CLB En un FPGA se configura un circuito loacutegico Los principales fabricantes de tarjetas de desarrollo para FPGAs que cuentan tanto de un FPGA como de perifeacuteri-cos e interfaces para entrada y salida son
Altera - FPGA Manufacturer (Cyclo-ne Arria Statix)Lattice - FPGA Manufacturer (XP Mach SC EC ECP)Xilinx - FPGA Manufacturer (Spartan amp Virtex)Avnet (US) - A wide range of Spartan 3 Virtex 2 Virtex 2 Pro Virtex 4 and Virtex 5 boardsBraemac (Australia) - Australian Alte-raTerasic DistributorBurchED (Australia) - Xilinx FPGA Video GuidesDigilent Inc (US) - Tarjetas de Desa-rrollo de XilinixKNJN LLC (US) - Tarjetas de Desa-rrollo diversasTrenz Electronics (Germany) - Tarje-tas de Desarrollo de XilinixXess (US) - Tarjetas de Desarrollo de Xilinix
Dicha implementacioacuten se realiza en dos tipos de circui-tos configurables CPLD (Complex Programable Logic De-vice) y FPGA (Field Programable Gate Array) Ambos tipos de circuitos permiten el ruteo (configuracioacuten) de circuitos secuenciales y son de gran densidad ya que cuentan con miles de compuertas loacutegicas Los diferentes modelos exis-tentes tienen diferentes cantidades de compuertas y sopor-tan diferentes frecuencias de reloj Su arquitectura baacutesica cuenta con redes AND-OR para configurar circuitos com-binacionales y flip flops (tiacutepicamente D) para configurar registros La arquitectura de un FPGA y de un CPLD se muestra en el apeacutendice I
Tambieacuten es posible la fabricacioacuten de un circuito a la medida un ASIC a partir de la especificacioacuten del circuito en VHDL la cual cada vez tiene menos desventajas con respecto a la fabricacioacuten de un ASIC ya que actualmente cada vez es mayor la velocidad de un circuito construido sobre un FPGA y por supuesto el costo de fabricacioacuten es muy bajo ya que el costo individual de un circuito es de aproximadamente 100 pesos y existen sistemas de desa-rrollo de uso abierto
Capiacutetulo 1 Descripcioacuten de un circuito en VHDL
Paacuteg 2 de 2
MAPA
glosarioREC
URSO
SACTIV
IDAD
CONCLU
SIOacuteN
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
8
11 Caracteriacutesticas generales de un circuito descrito en VHDL
El primer propoacutesito de VHDL fue crear un estaacutendar para la descripcioacuten de circui-tos El disentildeo esquemaacutetico de un circui-to con muacuteltiples componentes necesita mucho espacio en papel son difiacuteciles de analizar no tienen principio ni fin Si se precisa equipo computacional para ela-borar el disentildeo esquemaacutetico son nece-sarios monitores amplios para alcanzar a visualizar una parte representativa del circuito ademaacutes se requieren impreso-ras especiales (plotters) porque los dise-ntildeos no caben en una hoja simple de otro modo habriacutea que seccionarlos lo cual los volveriacutea menos comprensibles
VHDL es una alternativa para describir circuitos utilizan-do solo texto sin graacuteficas que ciertamente requiere menos recursos para escribirse desplegarse y almacenarse Por otra parte este lenguaje permite describir los componen-tes digitales de diferentes formas de acuerdo al circuito o al gusto del disentildeador Por ejemplo cuando se dibuja el disentildeo esquemaacutetico de un circuito es posible hacerlo con diferentes niveles de integracioacuten es decir podemos dibujar compuertas (o maacutes bajo nivel transistores) o bien circui-tos conocidos (sumadores decodificadores registros etc) sentildealaacutendolos como cajas en VHDL ocurre algo similar es posible disentildear un circuito por sus compuertas loacutegicas o bien describirlo por su comportamiento Tambieacuten es posible
definir un componente para luego conec-tarlo con otros Al dibujar disentildeos esque-maacuteticos no se cuenta con la opcioacuten de trazar el comportamiento de un circuito esta opcioacuten es exclusiva de los lenguajes descriptores de hardware
Cualquier disentildeo de VHDL estaacute com-puesto por dos partes esenciales
1 La entidad bloque que define el puerto (o interfase) del circuito es decir las entradas y las salidas con las que se comunica al exterior
2 La arquitectura donde se describe el disentildeo del cir-cuito
Para mostrar coacutemo se describe un circuito partiremos del ejemplo que se presenta en la seccioacuten anterior
Capiacutetulo 1 Descripcioacuten de un circuito en VHDL11 Caracteriacutesticas generales de un circuito descrito en VHDL
Paacuteg 1 de 1
LIGAS DE INTEREacuteS
Realiza los ejercicios correspondien-tes al tema
Actividad de Repaso Tema 11
Antes de continuar realiza la actividad de repaso del tema la cual encontraraacutes en la barra lateral derecha
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
9
12 Descripcioacuten de un circuito en VHDL
La descripcioacuten de circuitos loacutegicos simples en VHDL se aborda a traveacutes de ejemplos Posteriormente se formalizaraacute la sintaxis Se iniciaraacute con cir-cuitos combinacionales El primer ejemplo trata de una votacioacuten electroacutenica Suponga que se cuenta con tres interruptores para realizar una votacioacuten Para votar a favor se colocariacutea el interruptor en posicioacuten de ldquoonrdquo es decir en uno loacutegico La salida del circuito se conectariacutea a un indicador que se ilu-minariacutea en caso de ocurrir mayoriacutea de votos (dos o tres votos a favor)
Los nombres de los tres interruptores son a b y c la salida es d La ex-presioacuten miacutenima en aacutelgebra booleana para d es d = ab + ac + bc El disentildeo esquemaacutetico basado en compuertas loacutegicas es el que se aprecia en la figura 11
La descripcioacuten en VHDL es
A continuacioacuten se abordaraacute cada detalle de esta descripcioacuten
A un circuito se le asocia un nombre en este caso el nombre asociado es comb1 Como se mencionoacute la descripcioacuten consta de dos partes entidad y arquitectura (figura 12)
Figura 11 Circuito prueba
Paacuteg 1 de 4
entity comb1 is Port ( a in std_logic b in std_logic c in std_logic d out std_logic)end comb1
architecture ecuacion of comb1 isbegind lt= (a and b) or (a and c) or (b and c) end ecuacion
Figura 12 Descripcioacuten de un circuito
Capiacutetulo 1 Descripcioacuten de un circuito en VHDL12 Descripcioacuten de un circuito en VHDL
ab
ac
bc
dcomb1
a b c
d
Puerto
Disentildeo de sistemas digitales a traveacutes de disentildeos esquemaacuteticos y VHDL
10
Paacuteg 2 de 4
La entidad define al puerto del circuito las sentildeales que se conectaraacuten como entradas al circuito y las que se generaraacuten de salida es decir la in-terfase con el exterior del circuito Como habraacute notado el tipo con el que se han definido las sentildeales es std_logic (standard logic) El tipo std_logic in-dica que una sentildeal puede tomar valores loacutegicos como 1 o 0 Se daraacute mayor detalle de este tipo maacutes adelante
Por otra parte la arquitectura describe al circuito sus elementos e in-terconexiones La palabra ecuacion (sin acento porque VHDL no acepta acentos) en architecture ecuacion of comb1 is es parte de la documentacioacuten del circuito esa palabra solo tiene significado para el disentildeador y para quien observe el coacutedigo pero no para el compilador
En VHDL hay varias alternativas para describir un mismo circuito por su expresioacuten booleana por sus elementos loacutegicos (pueden ser sus compuer-tas) o por su comportamiento (por ejemplo su tabla de verdad)
La manera maacutes sencilla para expresar la arquitectura de un circuito com-binacional es por medio de su expresioacuten loacutegica Ademaacutes esta manera es la maacutes conocida para usted dados sus conocimientos en aacutelgebra booleana Asiacute se hace en este ejemplo
Figura 13 Arquitectura del circuito Figura 14 Descripcioacuten de la arquitectura de un circuito
Capiacutetulo 1 Descripcioacuten de un circuito en VHDL12 Descripcioacuten de un circuito en VHDL
Entity comb1
a b c
d
Puerto Arquitectura