Está en la página 1de 12

SistemasDigitales y Microprocesadores

Deber 4
Ivanova León 00138532 3 nov 2019

45 Escriba en lenguaje de descripción de hardware HDL un módulo llamado minority Este

recibe tres entradas a by c Yproduce una salida y que es verdadera si al menos dos
de las entradas son falsas
Module minority input logic a b c output logic y

assign y na nb l na ve tmb C

end module

4.12Escriba unmódulo en HDL para un circuito de prioridad de 8 entradas


Module prioridad input logic 7O 9 output logic 7 O y

always_comb

Casez a

8 b1 i y 8lb 10 000
b 01_ 000,8
y 8lb 01 000 000
8lb 00 1 y 8lb 00 100
b 00 01 000,8
f 8lb 00 010 000

8lb 00 001_ y 8lb00 001 000

8lb 00 000 1 J 8lb00 000 100


8lb 00 000 01 Y_8lb 00 000
b 00 000 001 010,8
4 8 b 00 000 001

default ya 8lb 00 000 000


endease

endmodule
Ivanova León 3 nov 2019
418 Escriba un modulo en HDL
que implemente la función lógica del
ejercicio 2.28 Preste
atención en como maneja los no importa

Tabla del ejercicio 2.28

A B C D J Module ejercicio28 input logic a b C output


O O O O O
logic y
1 O O O 1 X
2 O O 1 O X Always Comb
3 O O 1 1 O
4 O 1 O O O laser a b4dB
5 O 1 O 1 X
6 O 1
1 O
1
0 Bi y 1lb 1
7 O 1 1 X
y 1lb 1
8 1 O O O 1 1 11
9 1 O O 1 O
10 1 O 1 O 12 ya 1lb 1
11 1 O 1 1 1 1
12 1 1 O O 1
1
13 ya 1 b 1
13 1 1 O 1
1 1 1 O X 15 yo 1lb 1
15 1 1 1 1 1 t
default
y tb 0
ondease

endmodule

4.22 Escriba
un módulo en HDL que implemente el código binario a termómetro del
ejercicio 2.38

module termómetro input logic 2019 outputlogic 6 O y


always Comb

Caseta
0 ya 7 b 0 000 000
1 Yi 7 b 0 000
001,2
ya 7lb 0 000 011
Yi
y 7 b 0 001 111
si y 7lb 0 011 111
bi f 7lb 0 111 111
7 4 7 b 1 111 111
endease

endmodule

4.24 Gráfique el diagrama de transición de estados para la FSM descrita por el código
SystemVerilog

module km2 input logic dk reset input logic a b outputlogicy


logic 1 01 stale nextstate

parameter SO 2500
parameter SI 2501
parameter 52 2510
parameter 53 2511

always ft posedge elk posedge reset


it reset stale SO
else staleEnextstate

always_comb

base state

50 if la b nextstate 51
else nextstate
50,51
it afb nextstate S2
else nextstate
50,52
if alb nextstate 53
else nextstate
it 50,53
a bnextstate 53
else nextstate SO

endease

assign y stale S1 state S2


endmodule
Ivanova León 3 nov 2019
preset A B

B SO g
Finzi
53 SI
YO ATB y

B 52
3
Y

425
Dibuje eldiagrama de transición de estados para la siguiente FSM descrita por

el código en HDL Una FSM de esta naturaleza se usa en una rama de predicción

de algunos microprocesadores

System Verilog

module fsm1 input logic elk reset


input logic taken back
Output logic predicttaken

logic 403 stale nextstate


parameter 50 5 b 00001
parameter SI s b 00010
parameter 52 5500100
parameter 53 5501000
parameter 54 5 b 10000
always ff lposedgeclk.posedgereset
it reset stale S2
else stale E nextstate

always_comb

base state

50 it taken nextstate 51
else nextstate
50,51
it taken nextstate S2
else nextstate
I
Ivanova León 3 nov 2019

else nextstate
it 51,53
nextstate.su
taken
else nextstate
52,54
it tahar nextstate 54
else nextstate 53
default nexstate.se
endease

state su 1
assign predicttaken
stale S3 1
state 5288 back
endmodule reset

taken

S2
taken
Tdi taI taken

SO SI itiback 53taken 54 De
taken
Cd predicttaken Me predict
me taken
predict
taken taken taken taken

427 Escriba un modulo en HDL


para un flip flop Jk El flip floptieneentradas elk J

yK y salida 0 En el cambio delreloj O mantiene su antiguo valor si f K.O

Se setea O a 1 si f 1 se regatea Q a 0 si K 1 se invierte Q si f k 1


y
module jkff input logic j K che output logic q
always posedge Uk
K
Case j
2BIO 9 Ibi
2501 g iba
2lb11 9 q
endease

endmodule
Ivanova León 3 nov 2016

4.30Escriba tres modelos en HDL para el control de luces de tráfico factorizado en el


ejemplo3.8 Los módulos se deben llamar Controller nodo y lights y
deben

tener las entradas y salidas de la figura 3.33lb

Module mode input logic elk reset p v outputlogic m

typedef eran logic JO SI statetype statetypestate nextstate

µ Registro de estados
always ff lposedgeclk.posedgereset

if reset state SO
else state nextstate
11Siguiente estado
always comb

Case state

SO if p next
state Si
else nextstateeso
si if Iv nextstate SO
else nextstate SI
endease

11Salida

assign mi statu

endmodule

Module lights input logic elk reset ta.tb.vn output logic 1 03 la Ib

typedef enun logic 1 O JO SI 52,53

statetype

statetype 1O stale nextstate

parameter green 2 b00


parameter j
y

Parameter red 2lb

10,11
Registro de estados

always ff lposedgeclk.posedgereset

if reset state SO
else state nextstate
11Siguiente estado
always comb

Case State

SO if ta nextstate SO
else nextstate SI
SI nextstate Sci
S2 if ttblmlnextstate.se
else nextstate D
S3 nextstate SO

endease

11Salida
always_comb

Case state

SO la lb green red3
Si la lb yellow redes
52 la lb red green Ii
S3 la lb red yellow

endease

endmodule

module controller input logic Ck reset p r ta tb outputlogic 1 01 la B


modo modelism Clk reset p r m
lights lightsfsm Clk reset ta tb m la Ib
endurodule
Ivanova León 3 WU 2019
4.48 Considere los siguientes dos modelos en Verilog ITienen la misma función
System Gráfique el

hardware de cada uno

Module Code1 input logic elk a b c Module code2 input logic a b c Clk
Output logic Output logic
y y
logic X logic X

tf lposedgec.lk begin always tf


lposedgeclklbeginXL
always

adb.i ye X Il i
ye X Il i X e adbi

end end

endmodule endmodule

Si tienen la misma función porque en Verilog no importa


System el orden en el
que se escriba
Clk
A
B

450 los siguientes Modelos en SystemVerilog muestran errores que los autores hanvisto hacer a

losestudiantes en el laboratorio Explique el error en cada módulo y muestre como

arreglarlo

a module latch input logic elk Problema No se


input logic 303d incluye a la señal
output reg Es O q Output logic 3O q d en always
always Uk always_latch

if Uk q d

module
Ivanova León 3 nov 2019
Problema b no se incluye
b modulegates input logic 301 a b en always
Output logic 303
yi.gsy3y4ys
always a always_comb

begin
Y adb
Ya 9lb
43 carb
Y4 ruta b
Ys en lalb
end
endmodule

c Module moxa input logic 303 do de Problema Always no debe tener posedge
input logic s porque deberesponder a cualquier
Output logic 3 07g cambio en g Además se debeincluir
a las señales do d1 en always
y
always lposedgc.s always_Comb

if s y de
else y c DO
endmodule

d module twoflops input logic c.lk Problema El bloque always tiene


input logic do di más de una condición por lo que
debe usar begin yend
output logic 9.0
qeIi
always
ffalw
ays
lposedgecHbeginiflslyL.dr
9 1 Le di
else y c DÉ q0 L do
end
endmodule

El modulo FSM input logic 4k Problema Out1 out 2 no se asignan


y
input logic a a todas las clases y falta declarar
output logic out1 out2 un reset
logicstates nextstate

Hnext state logic and register sequential


Ivanova León 3 nov 2019

always ff lposedgeclktsposedge.reset

if state D begin
if a state ti
endelse begin
it Kal state O
end
always comb Hautputlogic combinational

if state o outlet Out1,0012 1 b 1,1lbO


else Outlet out1 Out2 1 BO 1 b 1

eudmodu.to

Ht module
priority input logic 303 a Problema No se definen todas las
outputlogic 3O y posibles salidas

always comb

if laE3 y 4lb1000
else if La 2J Y 4lb0100
else if Call y 450010
else if falo Y 4 b0001
else y 4lb000
endmodule

9 module divided by35M input logic de Problema En la lógicade siguiente


input logic reset estado falta un default
output logic out

logic1101stale nextstate

parameter so L b00
parameter SI L b01
parameter S2
tib10iHStatuRegistereelways.ff

Hose.dgeclk posedgereset

iftrese.tl state so
else state nextstate
11 Nextstatu logic
State
Ivanova León 3 nov 20 9

Case State

Soinextstate.se
si nextstate 52
S2 nextstate Soi
default nextstate SO
endease

Output logic

assign out state S2


endurodile

4 module moxstri input logic 303 do de Problema En el triestado


input logic s falta un complemento de
output logic 303 y s n

tristale toldo y
tristate tilde s y
endmodule

i module flopisar input logic elk Problema Falta seten always


input logic reset la salida q no se defineen
input logic set un caso en always ft
input logic 3 03 d No usa enable entonces se
Output logic 3 03 q elimina en del nombre

always_ff lposedgeclk.posedgeresett posedge set

if reset 9 O
else if set 9 E ti
else q e di
always set
if set g ti
endmodule

j Module andas input logic a b c Problema Como es lógica


output logic y combinacional se debe
usar igual en lugar
logic tmp deflechas

always la b c always_comb
Ivanova León 3 WU 2019

begin

tmp b tnp
adb.yc
a
tmpd.ci y tu oí
end
endmodule

También podría gustarte