ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica -...
-
Upload
truongdieu -
Category
Documents
-
view
229 -
download
0
Transcript of ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica -...
![Page 1: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/1.jpg)
ELT601 – Eletrônica Digital IIGraduação em Engenharia Eletrônica
Universidade Federal de Itajubá IESTI
Prof. Rodrigo de Paula Rodrigues
Verilog HDLDescrição algorítmica
![Page 2: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/2.jpg)
Descrição algorítmica
Verilog | Descrição algorítmica
A
F
B
C
ERepresentaçãoIntermediária
RTL
Circuitodigital
ELT601 – Eletrônica Digital II
D
![Page 3: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/3.jpg)
Descrições
Verilog | Descrição algorítmica
X Y
Por fluxo e estrutural Algorítmica
ELT601 – Eletrônica Digital II
Código concorrente
Hardware opera de forma paralela
Código sequencial
![Page 4: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/4.jpg)
Descrição algorítmica em Verilog
Verilog | Descrição algorítmica
AB
E
C
D
F
Comando 1
Comando 2
Comando N
...
Bloco ‘a’
ELT601 – Eletrônica Digital II
F
D
D
Comando 1
Comando 2
Comando M
...
Bloco ‘b’
![Page 5: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/5.jpg)
Bloco ‘always’
Verilog | Descrição algorítmica
always @( )
begin
lista de comandos a serem executados
opcionais no casode um único comando ser
executado
[ ]
lista de sensibilidade
[ ]
ELT601 – Eletrônica Digital II
end
serem executadosexecutado
[ ]
[ … ] parâmetro opcional
![Page 6: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/6.jpg)
Bloco ‘always’
Verilog | Descrição algorítmica
Comando 1
Comando 2Comando 3
always @( ... )
...
Evento de ativação
Comando 1
Comando 2
Comando 3Flu
xo
ELT601 – Eletrônica Digital II
Comando N ...
Fim
Comando N
![Page 7: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/7.jpg)
Bloco ‘always’ - Ativação
Verilog | Descrição algorítmica
always always @( a ) always @( b or c )
d
always @(posedge d)
a b c
ou
ELT601 – Eletrônica Digital II
negedge!
![Page 8: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/8.jpg)
Comandos sequenciais
Verilog | Descrição algorítmica
always @( ... )
Comando sequencial
comando
reg
ELT601 – Eletrônica Digital II
dados integerfloat
tiposbloqueadoresnão bloqueadores
! Não sintetizável
![Page 9: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/9.jpg)
Registros
Verilog | Descrição algorítmica
reg ;
nome do registro
“dimensão”
[[ ]]
ELT601 – Eletrônica Digital II
“dimensão”especificação
dos limites
[ … ] parâmetro opcional
tamanho e 1 bit
![Page 10: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/10.jpg)
Números inteiros
Verilog | Descrição algorítmica
integer ;
lista de inteiros
tamanho de 32 bits “número de inteiros”especificação
[[ ]]
ELT601 – Eletrônica Digital II
[ … ] parâmetro opcional
tamanho de 32 bitssinalizado especificação
dos limites
![Page 11: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/11.jpg)
Atribuições bloqueadoras
Verilog | Descrição algorítmica
Registro a receber a atribuição
registro Valor de atribuição
a = b;c = d ^ w;
d = ~ e;
f = g | b;
...*
ELT601 – Eletrônica Digital II
valor ou equação de atribuição
* Aplicável ao se modelar lógica sequencial
Importante:A análise e atribuição
são realizadas no mesmo momento do
comando
![Page 12: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/12.jpg)
Atribuições não bloqueadoras
Verilog | Descrição algorítmica
Registro a receber a atribuição
registro Valor de atribuição ...<
a <= b;
c <= d ^ w;d <= ~ e;
f <= g | b;
*
ELT601 – Eletrônica Digital II
valor ou equação de atribuição
f <= g | b;
* Aplicável ao modelamento de lógica combinacional
Importante:A análise é realizada no momento do comando,
enquanto a atribuição, ao final do bloco
![Page 13: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/13.jpg)
Verilog | Descrição algorítmica
Exemplos
1 Levante o circuito gerado por cada um do trechos de descrições apresentados
1module M1( a, b, c );
input a, b; // entradasoutput c; // saídasreg c; // registros
a
a
ELT601 – Eletrônica Digital II
always @( a or b )begin
c = a | b;end
endmodule
a
bc
![Page 14: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/14.jpg)
Verilog | Descrição algorítmica
Exemplos
1 b module M2( a, b, clk );
input a, clk; // entradasoutput b; // saídasreg b; // registros
always @( posedge clk )begin
b = a;
a C b
FF D
D Q
ELT601 – Eletrônica Digital II
b = a;end
endmodule
clk
FF D
![Page 15: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/15.jpg)
Verilog | Descrição algorítmica
Exemplos
1 c module M3( a, b, clk );
input a, clk; // entradasoutput b; // saídasreg b, s; // registros
always @( negedge clk )begin
s = a;
a
clk
C b
FF D
D Q
ELT601 – Eletrônica Digital II
s = a;b = s;
end
endmodule
![Page 16: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/16.jpg)
Verilog | Descrição algorítmica
Exercícios
1 d module M4( a, b, clk );
input a, clk; // entradasoutput b; // saídasreg b, s; // registros
always @( negedge clk )begin
s <= a;
a
clk
b
FF D
D Q
FF D
D Q
“s” “b”
ELT601 – Eletrônica Digital II
s <= a;b <= s;
end
endmodule
![Page 17: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/17.jpg)
Operadores lógicos
Verilog | Descrição algorítmica
Símbolo Função lógica
&& E
|| Ou
! Negação
Exemplo
a && b
c || d
! e
== Teste de igualdade f == g
ELT601 – Eletrônica Digital II
== Teste de igualdade f == g
!= Teste de desigualdade w != h
=== Teste de igualdade (x, z) w === h
!== Teste de desigualdade (x, z) x !== y
![Page 18: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/18.jpg)
Operadores lógicos
Verilog | Descrição algorítmica
Resultado:
0
A && B
A = 2’d3, B = 2’d0
Resultado:
1
A || BResultado:
1
! BResultado:
0
! AResultado:
0
A == B
A = 3’b0xx, B = 3’b0xz, C = 3’b0xx
ELT601 – Eletrônica Digital II
Resultado:
x
A && B
A = 3’b0xx, B = 3’b0xz, C = 3’b0xx
Resultado:
x
A != BResultado:
1
A !== BResultado:
0
A === BResultado:
1
A === C
![Page 19: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/19.jpg)
Operadores relativos
Verilog | Descrição algorítmica
Símbolo Função
<= Menor ou igual a
> Maior que
< Menor que
Exemplo
a <= b
c > d
a < b
ELT601 – Eletrônica Digital II
<= Menor ou igual a a <= b
>= Maior ou igual a f >= g
![Page 20: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/20.jpg)
Operadores relativos
Verilog | Descrição algorítmica
A = 4, B = 3, X = 4’b1010, Y = 4’b1101, Z = 4’b1xxx
Resultado:
A <= BResultado:
A > BResultado:
Y >= XResultado:
Y < ZResultado:
A > Z
ELT601 – Eletrônica Digital II
Resultado:
0Resultado:
1Resultado:
1Resultado:
xResultado:
x
![Page 21: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/21.jpg)
Estrutura de comparação ‘SE’
Verilog | Descrição algorítmica
if ( )
;
Formato 1
if ( )
;
else
;
Formato 2
if ( )
begin
Formato 4
if ( )
;
else if ( )
;
Formato 3
ELT601 – Eletrônica Digital II
;end
;
else
;
![Page 22: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/22.jpg)
Estrutura de comparação ‘SE’
Verilog | Descrição algorítmica
if ( A == 1’b1 )
S = B & C ;
Formato 1
if ( A == 1’b1 )
S = B & C;
else
S = B | C;
Formato 2
if ( A === 1’bx )
begin
C <= A & B;D <= C | E;
Formato 4
if ( A == 2’b01 )
S = 4’b1010;
else if ( A == 2’b10 )
S = 4’b1110;
Formato 3
ELT601 – Eletrônica Digital II
S = B | C; D <= C | E;F <= ~ G;
end
S = 4’b1110;
else
S = 4’b0000;
![Page 23: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/23.jpg)
Estrutura de comparação ‘CASO’
Verilog | Descrição algorítmica
expressão de teste
case ( )
: ;: ;: ;
11
22
33
expressão de teste
alternativas
comandos a serem executados no caso da alternativa associada ser verdadeira
um único comando ou
ELT601 – Eletrônica Digital II
default : ;
endcase
padrão
...
[ … ] parâmetro opcional
[ ]alternativapadrão
um único comando ou um bloco de comandos entre as palavras begine end
![Page 24: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/24.jpg)
Estrutura de comparação ‘CASO’
Verilog | Descrição algorítmica
case ( controle )
2’b00, 2’b01 : saida = x | y;2’b10 : begin
saida = x ^ y;sinal = 1’b1;
ELT601 – Eletrônica Digital II
sinal = 1’b1;end
2’b11 : sinal = 1’b0;
endcase
![Page 25: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/25.jpg)
Estrutura de comparação ‘CASO’
Verilog | Descrição algorítmica
case ( funcao_ula )
3’b000 : saida = x & y;3’b001 : saida = x | y;3’b101 : saida = x ^ y;3’b110 : saida = ~x ;default : saida = 4’h0;
ELT601 – Eletrônica Digital II
default : saida = 4’h0;
endcase
![Page 26: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/26.jpg)
Estrutura de comparação ‘CASO’
Verilog | Descrição algorítmica
casez
casex
Estado z é tratado como ‘não importa’
ELT601 – Eletrônica Digital II
Estados x e z são tratados como ‘não importa’
![Page 27: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/27.jpg)
Estrutura de comparação ‘CASO’
Verilog | Descrição algorítmica
reg [3:0] codigo;integer estado;
casex ( codigo )
4’b1xxx : estado = 1;4’bx1xx : estado = 2;4’bxx1x : estado = 3;
ELT601 – Eletrônica Digital II
4’bxx1x : estado = 3;4’bxxx1 : estado = 4;
endcase
![Page 28: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/28.jpg)
Estrutura de repetição ‘Enquanto’
Verilog | Descrição algorítmica
while ( ) ;
while ( )begin
end
expressão de teste
ELT601 – Eletrônica Digital II
endcomando a ser
executado enquanto a condição de teste for
verdadeira
bloco de comandos a serem executado enquanto a condição de teste for verdadeira
![Page 29: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/29.jpg)
Estrutura de repetição ‘Enquanto’
Verilog | Descrição algorítmica
reg [0:9] entrada, saida;integer indice;…
indice = 0;
while ( indice < 10 )begin
ELT601 – Eletrônica Digital II
saida[ indice ] = entrada[ indice ] ^ 1’b1;indice = indice + 1;
end…
![Page 30: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/30.jpg)
Estrutura de repetição ‘Para’
Verilog | Descrição algorítmica
inicializaçãoinicialização
for ( ; ; ) begin
end
testeatualização
for ( ; ; ) ;
ELT601 – Eletrônica Digital II
comando a ser executado enquanto a
condição de teste for verdadeira
bloco de comandos a serem executado enquanto a condição de teste for verdadeira
end
![Page 31: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/31.jpg)
Estrutura de repetição ‘Para’
Verilog | Descrição algorítmica
reg [0:9] entrada, saida;integer indice;…
for ( indice = 0; indice < 10; indice = indice + 1 )begin
saida[ indice ] = entrada[ indice ] ^ 1’b1;
ELT601 – Eletrônica Digital II
saida[ indice ] = entrada[ indice ] ^ 1’b1;
end…
![Page 32: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/32.jpg)
Exemplos – Mux 2 para 1
Verilog | Descrição algorítmica
/* /* Mux 2 para 1 comportamental
*/module mux2p1( a, b, s, z );
input a, b, s; // entradasoutput z; // saídasreg z; // registro de saída
always @( a or b or s )begin
za
b
0
1
ELT601 – Eletrônica Digital II
beginif ( s == 1’b1 )
z = b;else
z = a;end
endmodule
s
![Page 33: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/33.jpg)
Exemplos – Circuito combinacional
Verilog | Descrição algorítmica
/* /* Combinacional
*/module combinacional( a, b, c, d );
input a, b, c; // entradasoutput d; // saídasreg s, d; // registros
always @( a or b or c )begin
a
b
c d
s
sinal interno
ELT601 – Eletrônica Digital II
begins <= a & b;d <= s & c;
end
endmodule
c d
![Page 34: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/34.jpg)
Exemplos – Demux 4 para 1
Verilog | Descrição algorítmica
/* Demux 4 para 1 comportamentalDemux 4 para 1 comportamental
*/module demux4p1( I, S, O );
input I; // entrada Iinput [1:0] S; // entradas de seleçãooutput [3:0] O; // saídasreg [3:0] O; // registro de saídainteger cnt; // contador
always @( I or S )begin
IO0O1O2O3
00011011
ELT601 – Eletrônica Digital II
beginfor (cnt = 0; cnt < 4; cnt = cnt + 1 )
if ( cnt == S ) O[ cnt ] = I;
elseO[ cnt ] = 1’b0;
endendmodule
s1 s0
![Page 35: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/35.jpg)
Verilog | Descrição algorítmica
Exercícios
1 Implemente um demux 4 para 1 por meio da construção comportamental ‘case’
2 Implemente um decodificador de prioridade de 4 entradas e 2 saídas
ELT601 – Eletrônica Digital II
![Page 36: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/36.jpg)
Verilog | Descrição algorítmica
Demux 4 para 1
IO0O1O2O3
00011011
ELT601 – Eletrônica Digital II
s1 s0
![Page 37: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/37.jpg)
Verilog | Descrição algorítmica
Codificador de prioridade
s1
E0E1E2E3
s0Codif.Prioridade
E3 E1 E2 E0 S1 S01 x x x 1 10 1 x x 1 00 0 1 x 0 10 0 0 1 0 0
Entradas Saídas
ELT601 – Eletrônica Digital II
![Page 38: ELT601 – Eletrônica Digital II - ELT2014 - Engenharia Eletrônica - …elt2014.com.br/materiais/1-2016/ELT601-32/Aulas/Aula 10... · 2016-10-25 · sequencial comando reg ELT601](https://reader031.fdocumentos.tips/reader031/viewer/2022020305/5c050c1209d3f296388ce06d/html5/thumbnails/38.jpg)
Verilog | Fim
Obrigado
ELT601 – Eletrônica Digital II