SEMINARIO DE EXTENSIÓN DE ISLD - Tesla - Facultad de...

Post on 25-Sep-2020

4 views 0 download

Transcript of SEMINARIO DE EXTENSIÓN DE ISLD - Tesla - Facultad de...

Sergio Noriega - 2014

SEMINARIO DE EXTENSIÓN DE ISLD

Sergio Noriega - 2014

OBJETIVOS

EL PRESENTE SEMINARIO TIENE COMO OBJETIVO, INTRODUCIR A LOS ALUMNOS AL DISEÑO Y VERIFICACIÓN DE CIRCUITOS DIGITALES COMPLEJOS, EMPLEANDO TÉCNICAS BASADAS EN LENGUAJE DE DESCRIPCIÓN DE ALTO NIVEL DE ABSTRACCIÓN ,COMO ES EL VHDL Y EN PARTICULAR, ADENTRARSE EN EL DESARROLLO DE UN SISTEMA MICROPROCESADOR, EL CUAL ESTARÁ TOTALMENTE CONTENIDO DENTRO DE UNA FPGA.

A DIFERENCIA DE LOS ESQUEMAS TRADICIONALES DE ENSEÑANZA PARA ENCARAR EL DISEÑO DE UN MICRO, AQUÍ SE EMPLEARÁ UNA FILOSOFÍA BASADA EN DISEÑAR HARDWARE PARA EL CONTROL DE UNA MEMORIA RAM, LA CUAL IRÁ EVOLUCIONANDO PASO A PASO. EN FORMA SECUENCIAL SE IRÁ INCREMENTANDO LA CAPACIDAD DE PROCESAMIENTO DE DICHA UNIDAD DE CONTROL, PUDIENDO SER EXTENSIVO PARA EL CONTROL DE OTROS PERIFÉRICOS, TALES COMO CONVERSORES DE DATOS, GENERADORES PWM, PLL’S, ETC.

SE TRABAJARÁ EN BASE A UN MICRO CON ARQUITECTURA TIPO “CISC” DONDE LA CPU SE DISEÑARÁ EN BASE A MÁQUINA DE ESTADOS.

DADO QUE EL DISEÑO SE DESARROLLARÁ DE MANERA SECUENCIAL, INCREMENTANDO EN CADA PROYECTO LA COMPLEJIDAD DE FUNCIONES, NO SE CONSIDERARÁN OPTIMIZACIONES EN CUANTO AL REORDENAMIENTO DE ESTADOS REQUERIDOS, (SALVO ALGUNA EXCEPCIÓN) A FIN DE SIMPLIFICAR EL SEGUIMIENTO DE LA EVOLUCIÓN DE LA MÁQUINA DE ESTADOS .

uPMemoria

+Periféricos

BUS DE CONTROL

BUS DE DIRECCIONES

BUS DE DATOS

Sergio Noriega - 2014

DIAGRAMA EN BLOQUES DE UN SISTEMA BÁSICO DE MICROPROCESADOR

Sergio Noriega - 2014

PROYECTO RAM

Descripción en VHDL de una memoria SRAM de simple puerto (RAM)

MEM

OR

IA

FPGA

RAM

MEM

OR

IA

RA

M

clock

wren

data

address

q

12

16

GENERADOR DE ESTÍMULOS

DESDE TEST BENCH

BUSDATAMEMIN

BUS DATAMEMOUT

BUS DIRMEM

RAM

ESTA ES UNA DE LAS POSIBLES MANERAS DE DESCRIBIR MEMORIA RAM SINCRÓNICA PARA QUE LUEGOEL COMPILADOR RECONOZCA Y SELECCIONE LOS BLOQUES DERAM DEDICADOS PARA SUIMPLEMENTACIÓN.VENTAJA: DISEÑO OPTIMIZADO.DESVENTAJA: NO ES PORTABLE A OTRAS FPGA QUE NO TENGAN RAMDEDICADA.

RAM

MODELO DE RAM CONFIGURADA:ADDRESS, DATA IN, WREN = SINCRO.DATA OUT = ASINCRO.

USE RAM DEDICADA

REGISTROS = 4096ANCHO PALABRA =16

RAM

RAMCONTENIDO DEL ARCHIVO RAM.HEX PARA ESTE PROYECTO

CONTENIDO EN HEXADE LA MEMORIA RAMUNA VEZ CREADA.

FILE

EN FILE NEW MEMORY FILES:SE ELIGE EN ESTE CASO,HEXADECIMAL FILE.

RAMREPORTE FINAL DEL COMPILADOR

DETECCIÓN DEL COMPILADOR DE MEMORIA RAM

RAM

Descripción del testbench enVHDL de la memoria SRAM especificada anteriormente.

RAM

Después de declarar e instanciar la entidad de la memoria a probar, se generan dos procesos concurrentes:

1 – El del reloj, denominado “gen_reloj” (en esta filmina).

2 – El de las señales estímulo, denominado “estimulos” (en la segunda filmina).

RAM

LECTURA DE LA RAM ESCRITURA DE LA RAM LECTURA

SE LEEN LAS 10 PRIMRAS POSICIONES DE MEMORIA RAM,LUEGO SE LAS ESCRIBE CON NÚMEROS CONCECUTIVOS YSE VUELVEN A LEER ESAS 20.

Diagrama temporal del TEST de la memoria RAM

RAM

SECUENCIA DE INICIAL DE LECTURA DE DATOS:SE LEEN TODOS X”FFFF” SEGÚN LA INICIALIZACIÓN DE LA MEMORIA.

RAM

LUEGO DE LA SECUENCIA DEESCRITURA SE LEEN LOS DATOSPREVIAMENTE ESCRITOS.

Sergio Noriega - 2014

PROYECTO CU1

Descripción de un control de memoriaRAM elemental para escritura-lecturacon una máquina de estado y un registrocontador.

CU1

clock

BUSDATAMEMIN

BUS DATAMEMOUT

BUS DIRMEM

MEM

OR

IA

RSTCLK

CONTROL

PC

16

FPGA

CU1

MEM

OR

IA

RA

M

X“0

00

0”

clock

wren

data

address

q

X“0

00

0”

opselecpc,clockpc

12

16

16

VALORES CONSTANTES

FPGAPC16

PC

16

clockpc

entradapc

opselecpc (1..0)

1616

GENERADOR DE ESTÍMULOS

DESDE TEST BENCH salidapc

PC16

PC16

PC16

Sergio Noriega - 2014

PC16

CU1

INSTANCIACIÓN DE LASENTIDADES “RAM” Y “PC16”DESCRIPTAS EN ARCHIVOSSEPARADOS E INVOCADOSAQUÍ COMO “COMPONENTES”

CU1

CU1

CU1REPORTE DEL COMPILADOR

CU1DIAGRAMA TEMPORAL MOSTRANDO LA EVOLUCIÓN DE LAS SEÑALES

Sergio Noriega - 2014

PROYECTO CU2

Descripción de un control de memoriaRAM elemental para escritura-lecturacon una máquina de estado y un registrocontador y latch para el bus de direcciones.

CU2

BUSDATAMEMIN

BUS DATAMEMOUT

BUS DIRMEM

MEM

OR

IA

BUS CONTROL

RSTCLK

CONTROL

PC

16

MA

R

FPGACU2

MEM

OR

IA

X”0

00

0”

dat

a

CU2

Trabajos a realizar en este proyecto:

1) Leer el dato desde la RAM (posición de memoria X”0000”).2) Incrementar en ‘1’ el contenido de contador PC16.3) Leer el dato desde la RAM de la siguiente posición de memoria.4) Incrementar en ‘1’ el contenido de contador PC16.5) Leer el dato desde la RAM.

Sergio Noriega - 2014

Sergio Noriega - 2014

Descripción en VHDL de unregistro-contador de 16 bitspreseteable (PC16)

Sergio Noriega - 2014

Descripción en VHDL de unregistro de 16 bits (MAR16)

FPGAMAR

MA

R1

6

clockmar

entradamar

escribirmar

1616

GENERADOR DE ESTÍMULOS

DESDE TEST BENCH salidamar

MAR

MAR

MAR

MAR

CU2

CU2

CU2

CARGO PC16 CON X”0000”PROGRAMO NUEVO ESTADO

DESACTIVO PC16PROGRAMO NUEVO ESTADO

CU2

ESCRIBO REGISTRO MARPROGRAMO COMO NUEVO ESTADO

DESACTIVO REGISTRO MARPROGRAMO COMO NUEVO ESTADO

INCREMENTO PC16PROGRAMO NUEVO ESTADO

DESACTIVO REGISTRO PC16PROGRAMO COMO NUEVO ESTADO

CU2

ESCRIBO REGISTRO MARPROGRAMO COMO NUEVO ESTADO

DESACTIVO REGISTRO MARPROGRAMO COMO NUEVO ESTADO

CU2TEST-BENCH DEL PROYECTO CU2

CU2TEST-BENCH DEL PROYECTO CU2

CU2

CU2

MEMORIA RAM PREVIAMENTEINICIALIZADA CON DATOS

CU2

CU3

PROYECTO CU3

DISEÑO EN VHDL DE CONTROLADOR DE ESCRITURA Y LECTURA DE UNA MEMORIA RAM.

Sergio Noriega - 2014

BUSDATAMEMIN

BUS DATAMEMOUT

BUS DIRMEM

MEM

OR

IA

BUS CONTROL

RST

CLK

CONTROL

PC

16

MA

RM

DR

OM

DR

I

FPGACU3

MEM

OR

IA

RX

X”0

00

0”

MAR:MEMORY ADDRESS REGISTER

MDRI:MEMORYDATA-INREGISTER

RX:DATAREGISTER

MDRO:MEMORYDATA-OUTREGISTER

Sergio Noriega - 2014

Descripción en VHDL de unregistro de 16 bits (MDRO)

FPGA

MDRO

MD

RO

clockmdro

entradamdro

escribirmdro

1616

GENERADOR DE ESTÍMULOS

DESDE TEST BENCH salidamdro

MDRO

MDROTEST-BENCH DE MDRO

MDRO

Sergio Noriega - 2014

Descripción en VHDL de unregistro de 16 bits (MDRI)

FPGA

MDRI

MD

RI

clockmdri

entradamdri

escribirmdri

1616

GENERADOR DE ESTÍMULOS

DESDE TEST BENCH salidamdri

Sergio Noriega - 2014

Descripción en VHDL de unregistro-contador de 16 bitspreseteable (RX)

FPGARX

RX

clockrx

entradarx

opselecrx (1..0)

1616

GENERADOR DE ESTÍMULOS

DESDE TEST BENCH salidarx

resetrx

RX

RXTEST-BENCH DE RX

RX

Diagrama temporal de la prueba del registro de datos RX

INC DEC LATCHLATCH RESET SINCR.

RX

CU3

CU3

CU3

CU3

CU3

CU3

CU3

CU3

CU3

CU3