D
deepu_s_s
Guest
Halo Teman,
Saya merancang a 9 bit - 10 bit adder.Ini adalah melihat ke depan membawa penambah.Aku melakukannya satu menggunakan untuk loop.Sekarang aku pikir untuk loop di desain agak mahal, jadi saya memutuskan untuk merombak desain ..
Aku tempat setiap variabel yang akan diubah dalam daftar sensitivitas SELALU.Jadi untuk mendapatkan output, itu membutuhkan waktu 10 siklus.
Aku tidak termasuk jam, sehingga akan combinational murni.Aku termasuk ulang untuk mengatur beberapa nilai awal.Tapi reset non blok tidak melaksanakan, siapa pun dapat memperbaiki masalah?Aku memerlukannya sangat segera
`skala waktu 1ns / 1ps
modul adder (operand1, operand2, reset, jumlah);
input [8:0] operand1, operand2;
masukan reset;
output [9:0] sum;
reg [9:0] sum;
reg [8:0] g, p;
reg [9:0] membawa;
reg [8:0] temp_sum;
reg melimpah;
/ / kawat temp;
integer i;selalu @ (operand1 atau operand2 atau posedge reset atau g atau p atau i atau bawa atau temp_sum atau i atau overflow)
mulai
if (reset)
mulai
membawa = 10'b0000000000;
i = 0;
g = 9'b000000000;
p = 9'b000000000;
temp_sum = 9'b000000000;
akhir
lain
mulai
if (i <=
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Dingin" border="0" />mulai
g = operand1 & operand2 ;
p = operand1 ^ operand2 ;
membawa [i 1] = (p & membawa ) | g ;
temp_sum = (p ^ membawa );
i = i 1;
akhir
lain
mulai
overflow = membawa [9] ^ membawa [8];
sum = (overflow == 1'b1)? (operand1 [8], temp_sum): (temp_sum [8], temp_sum);
akhir
akhir
akhirendmodulethanks and regards
Deepak
Saya merancang a 9 bit - 10 bit adder.Ini adalah melihat ke depan membawa penambah.Aku melakukannya satu menggunakan untuk loop.Sekarang aku pikir untuk loop di desain agak mahal, jadi saya memutuskan untuk merombak desain ..
Aku tempat setiap variabel yang akan diubah dalam daftar sensitivitas SELALU.Jadi untuk mendapatkan output, itu membutuhkan waktu 10 siklus.
Aku tidak termasuk jam, sehingga akan combinational murni.Aku termasuk ulang untuk mengatur beberapa nilai awal.Tapi reset non blok tidak melaksanakan, siapa pun dapat memperbaiki masalah?Aku memerlukannya sangat segera
`skala waktu 1ns / 1ps
modul adder (operand1, operand2, reset, jumlah);
input [8:0] operand1, operand2;
masukan reset;
output [9:0] sum;
reg [9:0] sum;
reg [8:0] g, p;
reg [9:0] membawa;
reg [8:0] temp_sum;
reg melimpah;
/ / kawat temp;
integer i;selalu @ (operand1 atau operand2 atau posedge reset atau g atau p atau i atau bawa atau temp_sum atau i atau overflow)
mulai
if (reset)
mulai
membawa = 10'b0000000000;
i = 0;
g = 9'b000000000;
p = 9'b000000000;
temp_sum = 9'b000000000;
akhir
lain
mulai
if (i <=
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Dingin" border="0" />mulai
g = operand1 & operand2 ;
p = operand1 ^ operand2 ;
membawa [i 1] = (p & membawa ) | g ;
temp_sum = (p ^ membawa );
i = i 1;
akhir
lain
mulai
overflow = membawa [9] ^ membawa [8];
sum = (overflow == 1'b1)? (operand1 [8], temp_sum): (temp_sum [8], temp_sum);
akhir
akhir
akhirendmodulethanks and regards
Deepak