Brent–Kung adder کی تجویز 1982 میں Hsiang Te Kung اور Richard Peirce Brent نے کی تھی۔ یہ ایک متوازی پریفکس ایڈر یا ٹری ایڈر ہے جو اپنی لچک کی وجہ سے ڈیجیٹل ڈیزائن میں بڑے پیمانے پر استعمال ہوتا ہے۔ متوازی پریفکس ایڈرز کو منطقی سطحوں کی تعداد کی بنیاد پر کئی طریقوں سے بنایا جا سکتا ہے، منطق کے دروازے اس میں شامل ہے، ہر گیٹ سے پنکھا اور لیولز کے درمیان وائرنگ۔ ٹری ایڈرز کی مختلف اقسام دستیاب ہیں، بنیادی ٹری ایڈرز اسکلانسکیم کوگی اسٹون اور برینٹ کنگ ہیں، جیسا کہ KSA (Kogge-Stone adder) کے مقابلے میں، یہ ایڈر ایڈر کی ساخت کو زیادہ باقاعدگی فراہم کرتا ہے اور اس میں وائرنگ بلاکنگ کم ہوتی ہے۔ جو بہتر کارکردگی اور کم مطلوبہ چپ ایریا کی طرف لے جاتا ہے۔ یہ مضمون ایک پر مختصر معلومات فراہم کرتا ہے۔ برینٹ کنگ ایڈر .
برینٹ کنگ ایڈر کیا ہے؟
ایک ایڈر جو نتیجہ حاصل کرنے کے لیے کم سے کم سرکٹری کا استعمال کرتا ہے اسے برینٹ کنگ ایڈر کے نام سے جانا جاتا ہے اور اسے لو پاور ایڈر یا متوازی ایڈر کے نام سے بھی جانا جاتا ہے۔ اس ایڈر کا مقصد چپ کے سائز کو بچانا ہے تاکہ ان ایڈرز کو تیار کرنا آسان ہو جائے۔ اس ایڈر کی ہم آہنگی اور عام تعمیراتی ڈھانچہ پیداواری لاگت کو بہت کم کرے گا اور پائپ لائن ٹوپولاجیز میں استعمال کرنے کے قابل ہے۔ تکمیلی پاس ٹرانزسٹر لاجک کے استعمال سے ڈیزائن کی کارکردگی کو بڑھانے میں مدد ملتی ہے۔ ملٹی پلیکسر مختلف سیل ڈیزائن میں نقطہ نظر.
برینٹ کنگ ایڈر سرکٹ
برینٹ کنگ متوازی پریفکس ایڈر خاکہ ذیل میں دکھایا گیا ہے جس میں مرحلہ 1 (پری پروسیسنگ مرحلہ) شامل ہے، مرحلہ 2 سے 7 لے جانے والے مراحل ہیں اور مرحلہ 8 پوسٹ پروسیسنگ ہے۔ یہ ایک جدید فن تعمیر ہے اور اس کی تعمیر بہت آسان ہے اور وائرنگ کی بھیڑ کم ہوتی ہے۔ لہذا، اس کی کم وائرنگ فن تعمیر کو انجام دینے کے لیے درکار جگہ کی مقدار کو کم کر دے گی۔ اس کے علاوہ، کم تاروں کے کراسنگ (یا) اوور لیپنگ کی وجہ سے روٹنگ بہت آسان ہو جاتی ہے۔ تاہم، مراحل کی تعداد میں اضافے کی وجہ سے تاخیر میں جرمانہ بڑھ جائے گا، اس ایڈر کے لیے فین آؤٹ بڑھا دیا جاتا ہے، اور پھر تاخیر میں اضافہ کیا جائے گا۔

برینٹ کنگ ایڈر کیسے کام کرتا ہے؟
Brent Kung Adder دو بٹ گروپوں کے سابقے کا حساب لگا کر کام کرتا ہے جو 4 بٹ گروپ کے سابقے تلاش کرنے میں کارآمد ہیں۔ یہ سابقے 8 بٹ گروپ کے سابقے وغیرہ کی کمپیوٹنگ کے لیے استعمال کیے جاتے ہیں۔ اس کے بعد، یہ سابقے مخصوص بٹ مرحلے کے کیری آؤٹ کمپیوٹنگ کے لیے استعمال کیے جائیں گے۔ ان کیریز کو اگلے مرحلے کے گروپ پروپیگیٹ کے ساتھ اس مرحلے کے سم بٹ کا حساب لگانے کے لیے استعمال کیا جاتا ہے۔ Brent Kung Tree 2log2N – 1 سٹیج استعمال کرتا ہے۔
32 بٹ برینٹ کنگ ایڈر
32 بٹ برینٹ کنگ ایڈر لے آؤٹ نیچے دکھایا گیا ہے۔ اس لے آؤٹ کے آغاز میں بنیادی لاجک گیٹس کو NAND، inverter، XOR، NOR وغیرہ کی طرح ڈیزائن کیا گیا ہے، اس کے بعد ضروری سیلز جیسے کہ بلیک سیل، گرے سیل، بفرز، اور PG لاجک کو لاجک گیٹس کے ساتھ ڈیزائن کیا گیا ہے۔

نیچے والے 32 بٹ برنٹ کنگ ایڈر میں، AOI اور OAI جیسے الٹے دروازے بنیادی طور پر گرے اور بلیک سیلز کے لیے استعمال ہوتے ہیں۔ لہذا سیاہ اور سرمئی خلیوں کی نمائندگی سرمئی اور سیاہ بلاکس کے ساتھ کی جاتی ہے جبکہ بفرز کو دائروں کے ساتھ دکھایا جاتا ہے۔


A & B جیسے ان پٹ PG لاجک کو فراہم کیے جاتے ہیں جو کہ بلاک ڈایاگرام میں دکھایا گیا ہے۔ 32 بٹ ایڈر کے لیے، 32 پی جی لاجک بلاکس ضروری ہیں اور پروپیگیٹ (P) اور جنریٹ (G) سگنل اس بلاک کے آؤٹ پٹ ہیں۔ یہ سگنل برینٹ کنگ ایڈر درخت کے ڈھانچے کو فراہم کیے جاتے ہیں۔ اس ایڈر کی ساخت میں سرمئی خلیات اور سیاہ خلیات شامل ہیں۔
ایک گرے سیل میں تین ان پٹ اور سنگل آؤٹ پٹ شامل ہیں۔ موجودہ مرحلے سے سگنلز کی تشہیر اور پیدا کرنا اور پچھلے مرحلے سے سگنل تیار کرنا ان پٹ ہیں جب کہ گروپ جنریٹ سگنلز o/p ہے۔ کسی بھی درخت کی ساخت میں، ہر مرحلہ گرے سیل کے ساتھ ختم ہوتا ہے اور اس سیل کا o/p گروپ جنریٹ سگنل ہوتا ہے۔ اس سگنل کو صرف اس مرحلے کے لے جانے کے طور پر سمجھا جاتا ہے۔ بلیک سیل میں چار ان پٹ اور دو آؤٹ پٹ شامل ہیں۔ اس سیل کے لیے ان پٹ موجودہ مرحلے کے P&G سگنلز اور پچھلے مرحلے کے P, G سگنلز ہیں۔
PG لاجک میں AND & XOR گیٹس شامل ہیں جہاں AND لاجک گیٹ G سگنل بنانے کے لیے استعمال ہوتا ہے اور XOR لاجک گیٹ P سگنل فراہم کرتا ہے۔ غیر ضروری انورٹرز کو ختم کرنے کے لیے، دو قسم کے گرے سیل اور بلیک سیلز استعمال کیے جاتے ہیں۔ گرے سیل کے لیے ایک قطار میں استعمال ہونے والے الٹے دروازے AOI یا AND-OR-Inverter ہیں اور اگلی قطار میں بلیک سیل کے لیے الٹے دروازے OAI یا OR-AND-Inverter استعمال کرتے ہیں۔ AOI سیل الٹی آؤٹ پٹ فراہم کرنے کے لیے نارمل ان پٹ کا استعمال کرتا ہے جبکہ OAI عام آؤٹ پٹ فراہم کرنے کے لیے الٹی ان پٹ کا استعمال کرتا ہے۔
برینٹ کنگ ایڈر آپریشن
برینٹ کنگ ایڈر ایک متوازی پریفکس ایڈر ہے جو اعلی کارکردگی کے اضافے کے لیے استعمال ہوتا ہے۔ یہ ایڈر درخت کے ڈھانچے کی طرح لگتا ہے جو ریاضی کے عمل کو انجام دیتا ہے۔ اس ایڈر میں سیاہ خلیات اور سرمئی خلیات شامل ہیں۔ ہر بلیک سیل میں دو اور گیٹس اور سنگل یا گیٹ ہوتے ہیں اور ہر گرے سیل میں صرف ایک اور گیٹ ہوتا ہے۔
برینٹ کنگ ایڈر میں دو مراحل شامل ہیں۔ پری پروسیسنگ اسٹیج اور جنریشن اسٹیج۔ پہلے مرحلے میں، جنریٹ اور پروپیگیٹ ان پٹ کے ہر جوڑے سے ہوگا۔ یہاں پروپیگیٹ ان پٹ بٹس کے لیے 'XOR' آپریشن فراہم کرتا ہے جبکہ جنریٹس ان پٹ بٹس کے لیے 'AND' آپریشن فراہم کرتا ہے۔ 'Pi' اور 'Gi' جیسے پروپیگنڈے اور جنریٹ نیچے دیئے گئے ہیں۔
Pi = Ai XOR Bi اور Gi = Ai اور Bi۔
دوسرے مرحلے میں، ہر بٹ کے لیے کیری تیار کی جائے گی جسے کیری جنریٹ 'سی جی' کے نام سے جانا جاتا ہے اور کیری ہر بٹ کے لیے پھیلائی جاتی ہے اسے کیری جنریٹ 'سی پی' کے نام سے جانا جاتا ہے۔ مزید آپریشن کے لیے کیری پروپیگیٹ اور کیری جنریٹ تیار کیا جائے گا۔ ہر بٹ آپریٹ کے اندر دستیاب آخری سیل کیری فراہم کرتا ہے۔ لہذا آخری بٹ کیری آخری بٹ تک بیک وقت اگلے بٹ کا مجموعہ کرنے میں مدد کرے گی۔ کیری جنریٹ اور پروپیگیٹ اس طرح دیے گئے ہیں؛
Cp = P1 اور P0 اور Cg=G1 یا (P1 اور G0)
یہ بنیادی طور پر دو بتیس بٹس کے اضافی آپریشن کے لیے استعمال ہوتا ہے اور ہر بٹ پری پروسیسنگ اسٹیج اور جنریشن اسٹیج کا تجربہ کرتا ہے پھر یہ حتمی رقم فراہم کرتا ہے۔
پرائمری ان پٹ بٹس پری پروسیسنگ کے مرحلے سے نیچے جاتے ہیں اور وہ پروپیگیٹ اور جنریٹ کرتے ہیں۔ لہٰذا یہ پروپیگنڈے کے ساتھ ساتھ جنریٹ انڈرگوز جنریشن سٹیج جنریٹس کیری جنریٹس اور کیری پروپیگیٹس پیدا کرتے ہیں اور حتمی رقم فراہم کرتے ہیں۔ برینٹ کنگ ایڈر مرحلہ وار عمل ذیل میں دکھایا گیا ہے۔

برینٹ کنگ ایڈر کا انتظام درخت کی ساخت کی طرح لگتا ہے اور یہ تیز رفتار ایڈر ہے جو گیٹ لیول کی منطق کو نشانہ بناتا ہے۔ اس ایڈر کو لاجک گیٹس کی تعداد میں کمی کے ساتھ ڈیزائن کیا جا سکتا ہے۔ اس طرح، یہ اس فن تعمیر میں استعمال ہونے والی تاخیر اور میموری کو کم کرتا ہے۔
برینٹ کنگ ایڈر ویریلوگ کوڈ
برینٹ کنگ ایڈر ویری لاگ کوڈ نیچے دکھایا گیا ہے۔
INPUTSIZE 64 کی وضاحت کریں //ان پٹ سائز سیٹ کریں n
گروپسائز 8 کی وضاحت کریں // گروپ کا سائز مقرر کریں = 1، 2، 4 یا 8
ماڈیول Brent_Kung_Adder(A، B، S)؛
ان پٹ [`INPUTSIZE – 1:0] A;
ان پٹ [`INPUTSIZE – 1:0] B؛
آؤٹ پٹ [`INPUTSIZE:0] S;
تار [` INPUTSIZE / ` GROUPSIZE * 2 – 1:0] r_temp;
تار [`INPUTSIZE/`GROUPSIZE * 2 – 1:0] r;
تار [`INPUTSIZE / `GROUPSIZE:0] cin;
تار [`INPUTSIZE/`GROUPSIZE * 2 – 1:0] q;
تفویض cin[0] = 1’b0؛
پیدا کرنا
جہاں میں
کے لیے (i = 0؛ i < `INPUTSIZE / `GROUPSIZE; i = i + 1) شروع کریں: parallel_FA_CLA_prefix
گروپ_ق_جنریشن #(.گروپ سائز(`گروپسائز))
f(
.a(A[`GROUPSIZE * (i + 1) – 1:`GROUPSIZE * i]),
.b(B[`GROUPSIZE * (i + 1) – 1:`GROUPSIZE * i]),
.cin(cin[i])،
.s(S[`GROUPSIZE * (i + 1) – 1:`GROUPSIZE * i]),
.qg(q[i * 2 + 1:i * 2])
);
اختتام
parallel_prefix_tree_first_half #(.Treesize(`INPUTSIZE / `GROUPSIZE))
t1(
.q(q[`INPUTSIZE/`GROUPSIZE * 2 – 1:0])،
.r(r_temp[`INPUTSIZE / `GROUPSIZE * 2 – 1:0])
);
parallel_prefix_tree_second_half #(.Treesize(`INPUTSIZE / `GROUPSIZE))
t2(
.q(r_temp[`INPUTSIZE / `GROUPSIZE * 2 – 1:0])،
.r(r[`INPUTSIZE / `GROUPSIZE * 2 – 1:0])
);
کے لیے (i = 0؛ i < `INPUTSIZE / `GROUPSIZE; i = i + 1) شروع کریں: cin_generation
cin_generation_logic f(
.r(r[2 * i + 1:2 * i])،
.c0(1’b0),
.cin(cin[i + 1])
);
اختتام
تفویض S[`INPUTSIZE] = cin[`INPUTSIZE / `GROUPSIZE]؛
ختم کرنا
endmodule
// متوازی سابقہ درخت کا پہلا نصف
ماڈیول parallel_prefix_tree_first_half #(پیرامیٹر Treesize = `INPUTSIZE / `GROUPSIZE)(q, r)؛
ان پٹ [Treesize*2 – 1:0] q;
آؤٹ پٹ [Treesize*2 - 1:0] r;
پیدا کرنا
جہاں میں
اگر (Treesize == 2) شروع کریں: trivial_case
تفویض r[1:0] = q[1:0]؛
prefix_logic f(
.ql(q[1:0])،
.qh(q[3:2])،
.r(r[3:2])
);
end else start: recursive_case
تار [درختوں کا سائز * 2 - 1:0] r_temp;
parallel_prefix_tree_first_half #(.Treesize(Treesize/2))
recursion_lsbh(
.q(q[Treesize – 1:0]),
.r(r_temp[Treesize – 1:0])
);
parallel_prefix_tree_first_half #(.Treesize(Treesize/2))
recursion_msbh(
.q(q[Treesize* 2 – 1:Treesize]),
.r(r_temp[Treesize * 2 - 1:Treesize])
);
کے لیے (i = 0؛ i < Treesize * 2؛ i = i + 2) begin: parallel_stitch_up
اگر (i != درختوں کا سائز * 2 – 2) شروع کریں: parallel_stitch_up_pass
تفویض کریں r[i + 1:i] = r_temp[i + 1:i]؛
end else start: parallel_stitch_up_produce
prefix_logic f(
.ql(r_temp[Treesize – 1:Treesize – 2]),
.qh(r_temp[Treesize * 2 – 1:Treesize * 2 – 2]),
.r(r[Treesize*2 – 1:Treesize* 2 – 2])
);
اختتام
اختتام
اختتام
ختم کرنا
endmodule
// متوازی سابقہ درخت کا دوسرا نصف
ماڈیول parallel_prefix_tree_second_half #(پیرامیٹر Treesize = `INPUTSIZE / `GROUPSIZE)(q, r)؛
ان پٹ [Treesize*2 – 1:0] q;
آؤٹ پٹ [Treesize*2 - 1:0] r;
تار [Treesize*2* ($clog2(Treesize) – 1) – 1:0] r_temp;
تفویض r_temp[Treesize * 2 - 1:0] = q[Treesize * 2 - 1:0]؛
پیدا کرنا
genvar i, j;
کے لیے (i = 0؛ i < $clog2(Treesize) - 2؛ i = i + 1) شروع: سیکنڈ_ہالف_لیول
تفویض r_temp[Treesize * 2 * (i + 1) + ((Treesize / (2 ** i)) – 1 – 2 ** ($clog2(Treesize / 4) – i)) * 2 – 1:Treesize*2 * (i + 1)] = r_temp[Treesize * 2 * i + ((Treesize / (2 ** i)) – 1 – 2 ** ($clog2(Treesize / 4) – i)) * 2 – 1: درختوں کا سائز * 2 * i]؛
(j = (Treesize / (2 ** i)) – 1 – 2 ** ($clog2(Treesize / 4) – i) کے لیے؛ j < Treesize؛ j = j + 2 ** ($clog2(Treesize / 2) ) – i)) شروع کریں: سیکنڈ_ہاف_لیول_لوجک
prefix_logic f(
.ql(r_temp[Treesize * 2 * i + (j – 2 ** ($clog2(Treesize / 4) – i)) * 2 + 1:Treesize * 2 * i + (j – 2 ** ($clog2( درختوں کا سائز / 4) - i)) * 2])
.qh(r_temp[Treesize * 2 * i + j * 2 + 1: Treesize * 2 * i + j * 2]),
.r(r_temp[Treesize * 2 * (i + 1) + j * 2 + 1: Treesize * 2 * (i + 1) + j * 2])
);
اگر (j != درختوں کا سائز – 1 – 2 ** ($clog2(Treesize / 4) – i)) شروع ہوتا ہے: second_half_level_direct_connect
تفویض r_temp[Treesize * 2 * (i + 1) + (j + 2 ** ($clog2(Treesize / 2) – i)) * 2 – 1:Treesize * 2 * (i + 1) + j * 2 + 2] = r_temp[Treesize * 2 * i + (j + 2 ** ($clog2(Treesize / 2) – i)) * 2 - 1:Treesize * 2 * i + j * 2 + 2]؛
اختتام
اختتام
تفویض r_temp[Treesize * 2 * (i + 2) – 1:Treesize * 2 * (i + 2) – (2 ** ($clog2(Treesize / 4) – i)) * 2] = r_temp[Treesize*2 * (i + 1) - 1: درختوں کا سائز * 2 * (i + 1) - (2 ** ($clog2(Treesize / 4) - i)) * 2]؛
اختتام
تفویض کریں r[1:0] = r_temp[Treesize * 2 * ($clog2(Treesize) – 2) + 1:Treesize * 2 * ($clog2(Treesize) – 2)];
کے لیے (i = 1؛ i < درختوں کا سائز؛ i = i + 2) شروع کریں: final_r_odd
تفویض کریں r[i * 2 + 1:i * 2] = r_temp[Treesize * 2 * ($clog2(Treesize) - 2) + i * 2 + 1:Treesize * 2 * ($clog2(Treesize) - 2) + i*2]؛
اختتام
کے لیے (i = 2؛ i < Treesize؛ i = i + 2) شروع کریں: final_r_even
prefix_logic f(
.ql(r_temp[Treesize * 2 * ($clog2(Treesize) – 2) + i * 2 – 1:Treesize * 2 * ($clog2(Treesize) – 2) + i * 2 – 2]),
.qh(r_temp[Treesize * 2 * ($clog2(Treesize) – 2) + i * 2 + 1:Treesize * 2 * ($clog2(Treesize) – 2) + i * 2])
.r(r[i * 2 + 1:i * 2])
);
اختتام
ختم کرنا
endmodule
ماڈیول گروپ_ق_جنریشن #(پیرامیٹر گروپسائز = `گروپسائز)(a, b, cin, s, qg)؛
ان پٹ [گروپ سائز – 1:0] a؛
ان پٹ [گروپ سائز - 1:0] b؛
ان پٹ cin؛
آؤٹ پٹ [گروپ سائز - 1:0] s؛
آؤٹ پٹ [1:0] کیو جی؛
تار [2 * گروپسائز – 1:0] q;
تار [گروپ سائز – 1:0] c؛
تفویض c[0] = cin؛
پیدا کرنا
جہاں میں
کے لیے (i = 0؛ i < گروپسائز؛ i = i + 1) شروع کریں: parallel_FA_CLA_prefix
FA_CLA_prefix f(
.a(a[i])،
.b(b[i])،
.cin(c[i])،
.s(s[i])،
.q(q[i * 2 + 1:i * 2])
);
اگر (i != گروپسائز – 1) شروع کریں: special_case
تفویض c[i + 1] = q[i * 2 + 1] | (q[i*2] اور c[i])؛
اختتام
اختتام
//گروپ سائز کی بنیاد پر گروپ q نسل
اگر (گروپ سائز == 1) شروع کریں: case_gs1
تفویض qg[1] = q[1]؛
تفویض qg[0] = q[0]؛
end else if (گروپ سائز == 2) شروع: case_gs2
تفویض qg[1] = q[3] | (q[1] اور q[2])؛
تفویض qg[0] = q[2] & q[0];
end else if (گروپ سائز == 4) شروع کریں: case_gs4
تفویض qg[1] = q[7] | (q[5] اور q[6]) | (q[3] اور q[6] اور q[4]) | (q[1] اور q[6] اور q[4] اور q[2])؛
تفویض qg[0] = q[6] & q[4] & q[2] & q[0];
end else if (گروپ سائز == 8) شروع: case_gs8
تفویض qg[1] = q[15] | (q[13] اور q[14]) | (q[11] اور q[14] اور q[12]) | (q[9] اور q[14] اور q[12] اور q[10]) | (q[7] اور q[14] اور q[12] اور q[10] اور q[8]) | (q[5] اور q[14] اور q[12] اور q[10] اور q[8] اور q[6]) | (q[3] اور q[14] اور q[12] اور q[10] اور q[8] اور q[6] اور q[4]) | (q[1] اور q[14] اور q[12] اور q[10] اور q[8] اور q[6] اور q[4] اور q[2])؛
تفویض qg[0] = q[14] & q[12] & q[10] & q[8] & q[6] & q[4] & q[2] & q[0];
اختتام
ختم کرنا
endmodule
// Cin نسل منطق
ماڈیول cin_generation_logic(r, c0, cin)؛
ان پٹ [1:0] r;
ان پٹ c0؛
آؤٹ پٹ cin؛
تفویض cin = (r[0] & c0) | r[1]؛
endmodule
// پریفکس آپریشنز کے لیے بنیادی منطق
ماڈیول prefix_logic(ql, qh, r);
ان پٹ [1:0] کیو ایل؛
ان پٹ [1:0] qh؛
آؤٹ پٹ [1:0] r;
تفویض r[0] = qh[0] & ql[0];
تفویض r[1] = (qh[0] & ql[1]) | qh[1]؛
endmodule
// کیری دیکھو آگے کے ساتھ مکمل ایڈر سیل
ماڈیول FA_CLA_prefix(a, b, cin, s, q)؛
ان پٹ a؛
ان پٹ b؛
ان پٹ cin؛
آؤٹ پٹ s؛
آؤٹ پٹ [1:0] q;
تفویض q[0] = a^b؛
تفویض s = q[0] ^ cin؛
تفویض q[1] = a & b;
endmodule
فوائد
برینٹ کنگ ایڈر کے فوائد میں درج ذیل شامل ہیں۔
- یہ ایک کم پاور ایڈر ہے کیونکہ یہ نتیجہ حاصل کرنے کے لیے کم از کم سرکٹ کا استعمال کرتا ہے۔
- یہ ایک بہت ہی مشہور اور وسیع پیمانے پر استعمال ہونے والا ایڈر ہے۔
- Kogge-Stone adder کے مقابلے میں اس قسم کے adder کو کم ماڈیول استعمال کر کے لاگو کیا جا سکتا ہے۔
- برینٹ کنگ ایڈر ڈیزائننگ بہت آسان ہے۔
- اس ایڈر کے دوسرے ماڈیولز کے ساتھ کم کنکشن ہیں۔
- یہ ایڈرز بنیادی طور پر کوگے-اسٹون ایڈرز کی خرابیوں کو دور کرنے کے لیے تجویز کیے گئے تھے۔
نقصانات
دی برینٹ کنگ اڈے کے نقصانات r میں درج ذیل شامل ہیں۔
- ان ایڈرز میں زیادہ تاخیر ہوتی ہے اور تمام کیری بٹس کو کمپیوٹنگ کرنے کے لیے اسے 2 log2 n − 2 منطق کی سطح کی ضرورت ہوتی ہے۔
- اس ایڈر کی بنیادی خرابی فین آؤٹ ہے جس کی وجہ سے پورے ایڈر میں کرنٹ پھیلتا ہے اور وہ ٹوٹ جاتا ہے اور کمزور ہو جاتا ہے۔
برینٹ کنگ ایڈر ایپلی کیشنز
برینٹ کنگ ایڈر کی درخواستوں میں درج ذیل شامل ہیں۔
- ایک برینٹ-کنگ ایڈر کو پائپ لائن کے انداز میں استعمال کیا جاتا ہے تاکہ کمبنیٹریل لاجک ڈیپتھ اور گِلِچز اسٹیبلائزیشن کو کم کرکے بجلی کی کھپت کو کم کیا جا سکے۔
- Brent-Kung adder i/p سے تمام o/ps تک مراحل کی ایک شاندار تعداد فراہم کرتا ہے لیکن غیر متناسب انٹرمیڈیٹ مراحل کی لوڈنگ کے ساتھ۔
- اس ایڈر کو ضرب کے ساتھ ساتھ دیگر ڈیٹا پاتھ عناصر کے اندر بھی استعمال کیا جا سکتا ہے۔
اس طرح، یہ ہے برینٹ کنگ ایڈر کا ایک جائزہ اس کا کام، فوائد، نقصانات، اور اس کے اطلاقات۔ یہ ایک بہت ہی موثر ایڈر ہے اور اس کی ساخت درخت کی ساخت کی طرح دکھائی دیتی ہے جو بنیادی طور پر اعلی کارکردگی والے ریاضی کے کاموں کے لیے استعمال ہوتی ہے۔ اس قسم کا ایڈر بہت تیز ہے اور بنیادی طور پر گیٹ لیول کی منطق پر فوکس کرتا ہے۔ اس ایڈر کو کم تعداد میں لاجک گیٹس استعمال کرکے ڈیزائن کیا گیا ہے۔ اس طرح، یہ اس فن تعمیر میں استعمال ہونے والی میموری اور تاخیر کو کم کرتا ہے۔ یہاں آپ کے لیے ایک سوال ہے، برینٹ کنگ ایڈر کے نام سے بھی جانا جاتا ہے؟