Ejemplos System Verilog

Proyecto Plantilla para Prácticas ▪ ▪ ▪ ▪ ▪ Cree un nuevo proyecto con el asistente Elija una carpeta y nombre: LabPrac

Views 79 Downloads 0 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Proyecto Plantilla para Prácticas ▪ ▪ ▪ ▪ ▪

Cree un nuevo proyecto con el asistente Elija una carpeta y nombre: LabPractice Escoger proyecto vacío No adicionar archivos Dispositivo: Sistema con pocos recursos ▪ Create top-level design file

▪ Simulación: ModelSIM Altera ▪ Formato: SystemVerilog HDL

▪ Cambie las opciones del Simulador (Modelsim)

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Full Adder en SystemVerilog ▪ ▪ ▪ ▪

Copie el proyecto plantilla y cree uno nuevo: FullAdder Abra el nuevo proyecto Cree un nuevo archivo de diseño: SystemVerilog HDL File Escriba el código SystemVerilog y guárdelo (Cambiar TopLevel entity) ▪ Adicione un TestBench al módulo ▪ Compile el código ▪ Simule el código con ModelSIM

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Full Adder en SystemVerilog Cin A B S 𝐴1 𝐵1 𝐶𝑖𝑛1

Electrónica Digital II y Lab

Full Adder

1 0

1 1

1 0 𝐴0

𝑆1 𝐶𝑜𝑢𝑡1

𝐵0

Ejemplos

Half Adder

𝑆0 𝐶𝑜𝑢𝑡0

Universidad de Antioquia

FlipFlop T en SystemVerilog Circuito Lógico Secuencial (CLS) ▪ Circuito secuencial cuya salida depende de los valores actuales de las entradas y pasados de las salidas ▪ En general un CLS tiene: señales de entrada y salida, señal de reloj, lógica combinacional y lógica de almacenamiento

Entradas

n

p

m Reloj

Electrónica Digital II y Lab

Salidas

Lógica Combinacional q

Almacenamiento

Ejemplos

Universidad de Antioquia

FlipFlop T en SystemVerilog (2) ▪ Biestable T activado por flanco (Flip Flop) J y K se unen, generando la nueva entrada llamada T.

Electrónica Digital II y Lab

Clk

J

K

Q

Q’

X

0

0

latch

latch

X

1

1

latch

latch



0

0

latch

latch



1

1

01

01

Ejemplos

Universidad de Antioquia

FlipFlop T en SystemVerilog (3) Contador síncrono ascendente

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

FlipFlop T en SystemVerilog (4) ▪ ▪ ▪ ▪

Copie el proyecto plantilla y cree uno nuevo: CounterT Abra el nuevo proyecto Cree un nuevo archivo de diseño: SystemVerilog HDL File Escriba el código SystemVerilog y guárdelo (Cambiar TopLevel entity) ▪ Adicione un TestBench al proyecto ▪ Compile el código ▪ Simule el código con ModelSIM ▪ Compilar el testbench

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

FlipFlop T en SystemVerilog (5)

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos ¿Cómo hacer diseño de circuitos lógicos secuenciales? ▪ Existen diversas metodologías ▪ Máquinas de Estados Finitos (FSM) es una de ellas ▪ Una FSM representa un sistema como un conjunto de estados, de transiciones entre ellos dadas por los cambios en las entradas además del estado actual ▪ Una FSM es una abstracción de un circuito secuencial particular ▪ Las FSM se pueden usar para muchas otras cosas, más allá del diseño lógico y la arquitectura de computadores ▪ En una FSM las salidas del circuito dependen del estado actual y el valor de las entradas (Mealy). También es posible que las salidas solo dependan del estado actual (Moore).

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos (2) Concepto de Estado ▪ Estado: referido a uno de los posibles valores en un circuito con n biestables. ▪ Estados posibles: un circuito con n biestables puede tener 2n estados posibles. ▪ Para el cxto: 0-1-2-3-4-5-6-7

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos (3) Esquema general de una máquina de estados finitos

Entradas X Variables de estado presente Y

m

n

p

Lógica Combinacional Almacenamiento

Reloj

Salidas Z

p

Variables de estado próximo Y+

Basado en biestables Almacenamiento del estado actual de la FSM

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos (4) Diagrama de estados

S3

A=0

▪ Para cualquier estado, próximos posibles

S0

▪ En cada ciclo de reloj, la FSM cambia al siguiente estado

B=0

A=1

S1 B=1

S2

Electrónica Digital II y Lab

existen

finitos

estados

▪ En un diagrama, todas las posibles transiciones deben estar visibles ▪ Observe que las entradas y el estado actual determinan el estado siguiente ▪ El reloj es también una entrada

Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos (5) Máquinas de Estados Finitos tipo Moore a,b

S0 u,v

Condiciones en las entradas para la transición

c,d

S1 w,x

▪ Las salidas de la máquina Moore se muestran dentro del círculo ▪ La salida está asociada al estado y sólo cambia cuando hay cambio de estado

Valores de las salidas cuando se está en ese estado Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos (6) Máquinas de Estados Finitos tipo Mealy Condiciones en las entradas para la transición a,b / u,v

S0

Valores de las salidas cuando se da la transición

c,d / w,x

S1

Electrónica Digital II y Lab

▪ Las salidas de la máquina Mealy depende de (1) el estado actual y (2) los valores de las entradas ▪ Las salidas se muestran en las trasiciones porque se calculan cuando se determina el siguiente estado Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos (7) ▪ ▪ ▪ ▪

Copie el proyecto plantilla y cree uno nuevo: FSM Abra el nuevo proyecto Cree un nuevo archivo de diseño: SystemVerilog HDL File Escriba el código SystemVerilog y guárdelo (Cambiar TopLevel entity) ▪ Adicione un TestBench al proyecto ▪ Compile el código ▪ Simule el código con ModelSIM ▪ Compilar el testbench

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia

Máquinas de Estado Finitos (8)

Electrónica Digital II y Lab

Ejemplos

Universidad de Antioquia