Come progettare 4bit divisore circuito?

N

nanoYasser

Guest
Hi esperti ..
Ho aproblem nella progettazione di un calcolatore elementare logica utilizzando porte IC's
Non vi è alcun problema in merito, inoltre, sub e moltiplicando
Può uno prego di dirmi come disegno di un circuito che può dividendo 4 bit in 4bit?

Grazie in anticipo ..
Yassorty,

 
Ehi
Credo che non è possibile dividere un 4bit da 4bit senza utilizzare un registro.Lei avrà bisogno di un registro per memorizzare il quoziente di valore e gli altri a lasciare il resto.
Ci sono algorithmsfor facendo in modo che l'uso di spostamento bit (si può trovare nel sistema del computer Organizzazione da Morris Mano)

Saluti
tronix

 
Se è unsigned numero, spostamento a sinistra del dividendo da divisorio.qualcosa di simile;

filo [4:0] risultati;
assegnare risultati dividendo = <<divisore;

se è firmato numero, allora è un po 'più complicato.Fare qualcosa di simile;

modulo div (a, b, d);
input [3:0] a, b;
output [7:0] D;

reg [3:0] dvd, dvr, not_dvr;
reg [7:0] D;
reg [3:0] quo, reale;
reg segno;
integer i;

sempre @ (*)
iniziare
se (a [3] == 1'b1) / / Modifica del 4-bit firmato a unsigned, per entrambi, il divisore e il dividendo.
dvd ~ = a 4'b1;
altro
dvd = a;
if (b [3] == 1'b1)
dvr ~ = b 4'b1;
altro
dvr = b;
not_dvr = ~ dvr 4'b1;
segno = a [3] ^ b [3]; / / bit di segno per il prodotto.
if (b == 4'b0) / / Per il caso in cui il divisore è 0,
/ / facciamo la quo
e reale sia pari a zero.
iniziare
quo = 1'b0;
rem = a;
fine
altro
iniziare
quo = 1'b0; / /
impostiamo il quoziente a 0.
for (i = 1; i <= 8; i = i 1) / / divisione reale divisione algoritmo.
if (dvd> = DVR)
iniziare
dvd dvd = not_dvr;
quo = i;
fine
rem = dvd;
fine
se (a [3] == 1'b1) / / stessi segni
rem rem = ~ 4'b1;
if (segno == 1'b1) / / quoziente è positivo solo se entrambe le
/ / dividendo
e il divisore hanno lo stesso segno.
quo = ~ 4'b1 quo;
d = \ (quo, reale \); / / concatenare per ottenere il risultato.
fine

endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top