Cum de a proiecta 4bit compas circuit??

N

nanoYasser

Guest
Max experţi ..
Am aproblem în proiectarea un calculator, folosind logica elementară porti IC's
Nu există nici o problemă despre plus, sub şi înmulţirea
Poate nici una, vă rugăm să-mi spui cum să Desing-un circuit care poate divid 4 biţi pe 4bit?

Multumesc anticipat ..
Yassorty,

 
Hei
Cred că nu vă puteţi împărţi un 4bit de 4bit fără a utiliza un registru.Veti avea nevoie de un registru pentru a stoca valoarea coeficientului de a stoca şi alte restul.
Există algorithmsfor a face acest lucru, care folosesc schimbătoare de biţi (puteţi să le găsiţi în sistemul Organizaţiei de Morris mano)

Cu respect
tronix

 
Dacă nu este numărul nesemnate, trecerea dividendului stânga de compas.ceva de genul asta;

sârmă [4:0] rezultate;
atribui rezultatele dividend = <<compas;

în cazul în care este semnat, numărul, atunci este un pic mai complicată.Fa ceva de genul asta;

modul de 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-ul, real;
reg semn;
integer i;

mereu @ (*)
începe
dacă (a [3] == 1'b1) / / Schimbarea 4-bit semnat la nesemnate, pentru ambele, de divizor şi dividende.
DVD ~ = a 4'b1;
alt
DVD = a;
dacă (b [3] == 1'b1)
DVR = ~ b 4'b1;
alt
DVR = b;
not_dvr = ~ DVR 4'b1;
semn = a [3] ^ b [3]; / / semn de biţi pentru produsul.
dacă (b == 4'b0) / / În cazul în care divizor este 0,
/ / vom face & quo rem ambele zero.
începe
quo = 1'b0;
rem = a;
final
alt
începe
quo = 1'b0; / / coeficientul stabilit la 0.
for (i = 1; i <= 8; i = i 1) / / real divizare divizare algoritm.
dacă (DVD> = DVR)
începe
dvd = DVD not_dvr;
quo-ul = i;
final
rem = dvd;
final
dacă (a [3] == 1'b1) / / acelaşi semne
rem = ~ real 4'b1;
if (semn == 1'b1) / / coeficient este pozitiv numai în cazul în care ambele în
/ / & dividend de divizor au acelasi semn.
quo = ~ quo 4'b1;
d = \ (-quo-ul, real \); / / Concatenating pentru a obţine rezultatul.
final

endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top