Arq Computadoras_07

  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Arq Computadoras_07 as PDF for free.

More details

  • Words: 1,116
  • Pages: 44
Modelado de componentes Arquitectura de Computadoras Israel A. Suaste Rivas Universidad del Mayab

[email protected]

VHDL

Contenido

z

Modelado en VHDL - Niveles de abstracción

z

Ejemplos de modelado de diversos componentes z Unidades aritméticas z Memorias z Datapath z Otros

18/03/2006

VHDL

Niveles de abstracción para el modelado en VHDL

z

Nivel comportamental

z

Nivel estructural o de transferencia de registros

z

Nivel lógico

18/03/2006

VHDL z

Cuerpo de la arquitectura (Entidad) z z

z

Modelado Comportamental

Describe la implementación de una entidad Puede haber varias entradas y salidas por entidad

Arquitectura comportamental z z

Describe el algoritmo ejecutado por el módulo Contiene Procesos, donde cada uno tiene: z z z

18/03/2006

Comandos secuenciales, tales como Asignaciónd e señales y Comandos wait

VHDL

Ejemplo de Modelado Comportamental – Registro de 4-bits

architecture behav of reg4 is begin storage : process is variable stored_d0, stored_d1, stored_d2, stored_d3 : bit; begin if en = '1' and clk = '1' then stored_d0 := d0; stored_d1 := d1; stored_d2 := d2; stored_d3 := d3; end if; q0 <= stored_d0 after 5 ns; q1 <= stored_d1 after 5 ns; q2 <= stored_d2 after 5 ns; q3 <= stored_d3 after 5 ns; wait on d0, d1, d2, d3, en, clk; end process storage; end architecture behav;

18/03/2006

VHDL

Registro de 4-bits Implementado bit0 d_latch d q

d0

q0

clk bit1 d_latch d q

d1

q1

clk bit2 d_latch d q

d2

q2

clk bit3 d_latch d q

d3

en clk

18/03/2006

gate and2 a y b

clk int_clk

q3

Este es el diagrama esquemático del registro de 4 bits que se utiliza como ejemplo para mostrar la diferencia entre un diseño comportamental y uno estructural

VHDL

Modelado Estructural

z Arquitectura

estructural

Se implementa a través de subsistemas z Contiene z

z

Declaraciones de señales para conexiones internas z

z

Implementación de componentes z

z

18/03/2006

Se hace uso de entidades/arquitecturas previamente declaradas

Mapeo de puertos en las instancias z

z

Los puertos de la entidad son tratados como señales

Conecta señales a los puertos de los componentes

Comandos wait

VHDL

Ejemplo de una estructura – Código VHDL para el registro de 4-bits

Se declara la compuerta and y el latch D entity d_latch is port ( d, clk : in bit; q : out bit ); end entity d_latch; architecture arq of d_latch is begin latch_behavior : process is begin if clk = ‘1’ then q <= d after 2 ns; end if; wait on clk, d; end process latch_behavior; end architecture arq; 18/03/2006

entity and2 is port ( a, b : in bit; y : out bit ); end entity and2; architecture arq of and2 is begin and2_behavior : process is begin y <= a and b after 2 ns; wait on a, b; end process and2_behavior; end architecture arq;

VHDL

Ejemplo de una estructura – Código VHDL para el registro de 4-bits

Ahora se usan componentes para crear el registro architecture struct of reg4 is signal int_clk : bit; begin bit0 : entity work.d_latch(arq) port map ( d0, int_clk, q0 ); bit1 : entity work.d_latch(arq) port map ( d1, int_clk, q1 ); bit2 : entity work.d_latch(arq) port map ( d2, int_clk, q2 ); bit3 : entity work.d_latch(arq) port map ( d3, int_clk, q3 ); gate : entity work.and2(arq) port map ( en, clk, int_clk ); end architecture struct; 18/03/2006

VHDL

18/03/2006

Banco de Pruebas (Test Bench)

VHDL

Modelado lógico

z

Se hace en base a operaciones booleanas o tablas de verdad

z

Se interconectan compuertas

18/03/2006

VHDL

18/03/2006

Modelado lógico – Ejemplo Sumador de 1 bit con acarreo

VHDL z

Una arquitectura puede contener partes estructurales y de comportamiento z z

z

Combinación de modelado Comportamental y estructural

Procesos e instanciación de componenetes Procesos pueden leer y asignar señales

Ejemplo: Data path z z

18/03/2006

El flujo de datos se describe estructuralmente El control se describe en forma comportamental

VHDL

Ejemplo Data path multiplier

multiplicand

shift_reg

control_ section

shift_ adder

reg

product

18/03/2006

VHDL

Data path (1)

entity datap is port ( clk, reset : in bit; multiplicand, multiplier : in integer; product : out integer ); end entity datap; architecture mixed of datap is signal partial_product, full_product : integer; signal arith_control, result_en, mult_bit, mult_load : bit; begin arith_unit : entity work.shift_adder(behavior) port map ( addend => multiplicand, augend => full_product, sum => partial_product, add_control => arith_control ); result : entity work.reg(behavior) port map ( d => partial_product, q => full_product, en => result_en, reset => reset );

... 18/03/2006

VHDL

Data path (2)

… multiplier_sr : entity work.shift_reg(behavior) port map ( d => multiplier, q => mult_bit, load => mult_load, clk => clk ); product <= full_product; control_section : process is -- variable declarations for control_section -- … begin -- sequential statements to assign values to control signals -- … wait on clk, reset; end process control_section; end architecture mixed;

18/03/2006

VHDL

Unidades Aritméticas - Sumadores

z

La suma es la operación aritmética más común

z

Se usa como base para realizar otras operaciones (multiplicación y resta)

z

Existe una gran variedad de algoritmos para implementar la suma...

18/03/2006

VHDL

18/03/2006

Modelo comportamental de un sumador de 8 bits

VHDL

18/03/2006

Modelo estructural de un sumador de 8 bits (1)

VHDL

18/03/2006

Modelo estructural de un sumador de 8 bits (1)

VHDL

18/03/2006

Modelo estructural de un sumador de 8 bits (1)

VHDL

18/03/2006

Modelo comportamental de un multiplicador sin signo de 5x4 bits

VHDL

18/03/2006

Acumulador de 4 bits

VHDL

18/03/2006

RAM 32x8

VHDL

18/03/2006

ROM 32x8

VHDL z z z z z

Registros

Registro simple Registro con “load enable” Registro con “load enable” y “Async clear” Registro con “load enable”, “Async clear” y “Async set” Registro con “load enable”, “Sync clear” y “Sync set”

18/03/2006

VHDL

Registro simple

Registro Simple D

Clk

18/03/2006

Q

VHDL

Registro con “Load Enable”

Registro con Enable Data Enable Clk

18/03/2006

Q

VHDL

Registro con “Load Enable” y “Clear asincrono”

Registro con Enable y Clear Data Enable Clk ACLR

18/03/2006

Q

Registro con “Ser asincrono” “Load Enable” y “Clear asincrono”

VHDL

Registro con Enable y Clear ASET

Data Enable Clk ACLR

18/03/2006

Q

Registro con “Set sincrono” “Load Enable” y “Clear sincrono”

VHDL

Registro con Enable y Clear ASET

Data Enable Clk ACLR

18/03/2006

Q

VHDL

18/03/2006

Conversión de Códigos

VHDL

18/03/2006

Binario a BCD

VHDL

18/03/2006

Binario a Hot

VHDL

18/03/2006

Hot a binario

VHDL

18/03/2006

Hot a binario (2)

VHDL

18/03/2006

Priority encoder

VHDL

18/03/2006

Binario a Gray

VHDL

18/03/2006

Gray a Binario

VHDL z ADC z DAC

18/03/2006

VHDL

18/03/2006

ADC

VHDL

DAC (1)

Buffer de tercer estado

18/03/2006

VHDL

Buffer de Tercer Estado

sel my_in

my_out ibufe

18/03/2006

VHDL

Buffer Bidireccional

Buffer Bidireccional

e a b

18/03/2006

Y

Related Documents

Arq
November 2019 27
Arq. Levi
November 2019 34
Hybrid Arq
November 2019 30
Arq Computadoras_07
July 2020 15
Presupuesto Arq
August 2019 31
Memoria-desc.-arq..docx
November 2019 14