Ejemplos System Verilog

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

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 Top-
Level 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 1 1 1
B 0 1 0
S

𝐴1 𝐴0
Half 𝑆0
Full 𝑆1
𝐵1 Adder 𝐶𝑜𝑢𝑡0
𝐶𝑖𝑛1 Adder 𝐶𝑜𝑢𝑡1 𝐵0

Electrónica Digital II y Lab Ejemplos 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

n p
Entradas Lógica Salidas
Combinacional
m q

Almacenamiento
Reloj

Electrónica Digital II y Lab 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.

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

Electrónica Digital II y Lab 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 Top-
Level 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

n m
Entradas X Lógica Salidas Z
Variables de Combinacional Variables de
estado presente p p estado próximo
Y Y+
Almacenamiento
Reloj 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
A=0 ▪ Para cualquier estado, existen finitos estados
próximos posibles

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


A=1 estado
▪ En un diagrama, todas las posibles transiciones deben
estar visibles
S3 B=0 S1
▪ Observe que las entradas y el estado actual
determinan el estado siguiente
B=1
S2 ▪ El reloj es también una entrada

Electrónica Digital II y Lab Ejemplos Universidad de Antioquia


Máquinas de Estado Finitos (5)
Máquinas de Estados Finitos tipo Moore
Condiciones en
las entradas para
a,b la transición

▪ Las salidas de la máquina


S0 Moore se muestran dentro del
c,d
u,v círculo
▪ La salida está asociada al
estado y sólo cambia cuando
S1 hay cambio de estado
w,x
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 Valores de las
salidas cuando se
da la transición

S0 ▪ Las salidas de la máquina Mealy


c,d / w,x
depende de (1) el estado actual y (2)
los valores de las entradas
▪ Las salidas se muestran en las
S1 trasiciones porque se calculan
cuando se determina el siguiente
estado
Electrónica Digital II y Lab 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 Top-
Level 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

También podría gustarte