3 do 6, zadanie problem dekoder zachowania definicja, schemat

F

funjoke

Guest
3 do 6 binarne dekoder ma umożliwić signal.When niepełnosprawnych lub nieprawidłowy kod jest stosowany do dekodera, dekoder wyświetli zeros.When aktywne, kody wejściowe od 000 do 101 decoded.Draw schemat blokowy 3-do - 6 dekoder oraz określić jego zachowanie za pomocą tabeli prawdy.

I może wiesz jak to zrobić na to pytanie?

 
Wygląda na to pytanie, zadanie domowe.Czy dał spróbować?
Daj nam znać jak dotąd nie można dotrzeć, możemy pomóc Ci się to.
Nie będziesz się uczyć niczego z gotowych rozwiązań.

 
to pass i question.and roku tylko wiedzieć jak to zrobić 2 do 4 decoder.this One I really dunno

 
Ok.Oto rozwiązanie.
C (MSB), B (LSB) to trzy wybierz wejść.
ENABLE jest aktywna na wysokim poziomie.
Wyjścia są wszystkie aktywne wysokie.
Ostatnie dwa kody wejściowe 110 i 111 są nieprawidłowe składniki, które produkuje 0 na wszystkie wyjścia.
Kod:

-------------

| Prawda Tabela |

-------------

------------------------------------------------- ------------------------------------

| C B umożliwiają Q0 Q1 Q2 Q3 Q4 Q5 |

------------------------------------------------- ------------------------------------

| X X X 0 0 0 0 0 0 0 |

| 0 0 0 1 1 0 0 0 0 0 |

| 0 0 1 1 0 1 0 0 0 0 |

| 0 1 0 1 0 0 1 0 0 0 |

| 0 1 1 1 0 0 0 1 0 0 |

| 1 0 0 1 0 0 0 0 1 0 |

| 1 0 1 1 0 0 0 0 0 1 |

| 1 1 0 1 0 0 0 0 0 0 |

| 1 1 1 1 0 0 0 0 0 0 |

------------------------------------------------- ------------------------------------

 
Co to jest moduł definicji 3 do 6, dekoder?Dodano po 1 minuty:Schemat blokowy to taki?
to i obwodu myślećDodano po 27 sekund:Schemat blokowy to taki?
to i obwodu myśleć

 
Co pokazałem powyżej rzeczywistego obwodu korzystającego i bramy.
Jeśli moduł Verilog jest o co prosicie o, tutaj jest
Kod:

/ / 3 do 6, dekoder z aktywną wysokiej włączyć (E)

/ / I aktywną wysokich wyników (C MSB i jest LSB)Moduł _3_to_6_decoder (C, B, A, E, Y);

wejście C, B, E;

output [0:5] Y;

reg [0:5] Y;always @ (C lub B lub A lub E) zacząć

if (e == 1)

case ((C, B))

3'b000: Y = 6'b000001;

3'b001: Y = 6'b000010;

3'b010: Y = 6'b000100;

3'b011: Y = 6'b001000;

3'b100: Y = 6'b010000;

3'b101: Y = 6'b100000;

domyślnie: Y = 6'b000000;

endcase

else Y = 6'b000000;

koniec

endmodule
 
Napisz, jeśli tylko do opisywania 3 - do 6 dekoderów

Tu załączeniu odpowiedzi na to i może mi pomóc i sprawdzić prawidłowe, jeżeli nie ma żadnych błędów(reg output [5:0] op_y,
wejscie [2:0] ip_a,
ip_en wejście);
//*****************************
always @ (ip_en, ip_a) zacząć
if (ip_en == 2'b1) zacząć
if (ip_a == 3'b000) op_y = 6'b000001;
if (ip_a == 3'b001) op_y = 6'b000010;
if (ip_a == 3'b010) op_y = 6'b000100;
if (ip_a == 3'b011) op_y = 6'b001000;
if (ip_a == 3'b100) op_y = 6'b010000;
if (ip_a == 3'b101) op_y = 6'b100000;
if (ip_a == 3'b110) op_y = 6'b000000;
if (ip_a == 3'b111) op_y = 6'b000000;
else op_y = 6'bx;
koniec

if (ip_en == 2'b0)
op_y = 6'b000000;

w przeciwnym razie
op_y = 6'bx;
koniec
/ *

 
Od ip_en jest 1 bit należy użyć 1'b1 i 1'b0 zamiast 2'b1 i 2'b0.
Dlaczego tri-stan wyjścia, gdy wejście jest nieważny?Pytanie powiedział realizacje 0.

Oto Zoptymalizowana wersja
Kod:

(reg output [5:0] op_y,

wejscie [2:0] ip_a,

ip_en wejście);

//*****************************

always @ (ip_en, ip_a) zacząć

if (ip_en == 1'b1) zacząć

if (ip_a == 3'b000) op_y = 6'b000001;

if (ip_a == 3'b001) op_y = 6'b000010;

if (ip_a == 3'b010) op_y = 6'b000100;

if (ip_a == 3'b011) op_y = 6'b001000;

if (ip_a == 3'b100) op_y = 6'b010000;

if (ip_a == 3'b101) op_y = 6'b100000;

else op_y = 6'b000000;

koniec

w przeciwnym razie

op_y = 6'b000000;

koniec
 
Ale teraz daliście tego kodeksu, który jest częścią

Teraz dostałem 2 części na to pytanie
a) moduł definicji
b) używać jedynie do opisania go

 
funjoke napisał:

Ale teraz daliście tego kodeksu, który jest częściąTeraz dostałem 2 części na to pytanie

a) moduł definicji

b) używać jedynie do opisania go
 
mmm, ten post ma już zbyt długo na pytanie lat przechodzą .....

 
daviddlc napisał:

mmm, ten post ma już zbyt długo na pytanie lat przechodzą .....
 
/ / 3 do 6, dekoder z aktywną wysokiej włączyć (E)
/ / I aktywną wysokich wyników (C MSB i jest LSB)

Moduł _3_to_6_decoder (C, B, A, E, Y);
wejście C, B, E;
output [0:5] Y;
reg [0:5] Y;

always @ (C lub B lub A lub E) zacząć
if (e == 1)
case ((C, B))
3'b000: Y = 6'b000001;
3'b001: Y = 6'b000010;
3'b010: Y = 6'b000100;
3'b011: Y = 6'b001000;
3'b100: Y = 6'b010000;
3'b101: Y = 6'b100000;
domyślnie: Y = 6'b000000;
endcase
else Y = 6'b000000;
koniec
endmoduleMam na myśli ten jest moduł przypadku definicji lub używany do opisania?

 
If I get it right, o co prosicie.Zarówno moduł definicje pracy.
Można użytkownika "if-else" lub "przypadek".Twój wybór.

 
Wygląda na to, nie mają doświadczenia w Hardware Description Language.
Przeczytaj Verilog / VHDL tutoriale.
Moduł nie jest niczym innym obwodzie służy do wykonywania niektórych operacji logicznej.

 
jeśli używasz do jej opisanie,

Oto moja odpowiedź

i_position integer;

always @ (ip_a, ip_en) zacząć
if (ip_en == 1'b0)
op_y = 6'b000000;
if (ip_en == 1'b1) zacząć
for (i_position = 0; i_position <6; i_position = i_position 1)
if (ip_a == i_position)
op_y [i_position] = 1'b1;
if (ip_a! = i_position)
op_y [i_position] = 1'b0;
w przeciwnym razie
op_y = 6'b000000;
koniec
w przeciwnym razie
op_y = 6'b000000;
koniec
Moduł końca

może mi pomóc Zegar nie, dzięki

 

Welcome to EDABoard.com

Sponsor

Back
Top