fbpx
วิกิพีเดีย

วงจรบวก

วงจรบวก(Adder) เป็นวงจรเชิงผสม ที่ใช้บวกเลขฐาน2 ซึ่งเป็นหน่วยคำนวณและตรรกะ ชนิดหนึ่ง มักใช้เป็นกรณีศึกษาของการออกแบบวงจรเชิงผสม

วงจรบวกหนึ่งบิต

วงจรบวกหนึ่งบิตมักแบ่งออกเป็นสองประเภทดังนี้

วงจรบวกหนึ่งบิตครึ่งอัตรา

วงจรบวกหนึ่งบิตครึ่งอัตรา(Single bit Half-Adder)เป็นวงจรบวกมีอินพุตหนึ่งบิตสองค่า วงจรจะบวกเลขและให้ค่าสองค่าคือ ค่าผลรวม(Sum) และตัวทด(Carry) โดยวงจรนี้จะได้ค่าผลรวมและตัวทดตามตารางต่อไปนี้

A B SUM CARRY
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
ตารางแสดงค่าของ Half-Adder

ลักษณะของการต่อวงจรแบบ Half-Adder คือดังต่อไปนี้ ครับ

 

ลักษณะนี้การต่อ Half-Adder แบบไม่ใช่ XOR-Gate ในการต่อวงจร (วงจรนี้ผิดส่วนเอาต์พุตของ CARRY)

 

เป็นการต่อวงจร Half-Adder แบบการใช้ XOR-Gate

จากรูปทั้งสองจะเห็นได้ว่าการใช้ XOR-Gate ช่วยลดจำนวน Gate ที่ใช้ลงไปได้เป็นอย่างมากและยังช่วยลดความซับซ้อนของวงจรได้อีกด้วย ลักษณะของสมาการ Half-Adder คือ

 
 

วงจรบวกนี้นอกจากจะใช้บวกเลขหนึ่งบิตสองอันแล้ว ยังใช้สำหรับหาผลบวกเลขโดดของเลขสองบิตหรือที่เรียกว่า2:2 compressor

วงจรบวกหนึ่งบิตเต็มอัตรา

วงจรบวกหนึ่งบิตเต็มอัตรา (Single bit Full-Adder) เป็นวงจรที่ใช้ในการบวกเลขฐานสองเช่นกันแต่จะสามารถบวกได้มากกว่า Half-Adder โดยจะมีอินพุตหนึ่งบิตสามค่า คือสองค่าที่จะบวก และ ตัวทดเข้า(Carry in) จากภายนอก เพื่อเชื่อมตัวกับวงจรตัวอื่น (เช่น 1112+1012=11002 ตัว 1 และ 0 ที่เป็นตัวหนา ย่อมมีตัวทดจากหลักที่แล้วเข้ามา เป็นต้น)วงจรจะบวกเลขและให้ค่าสองค่าคือ ค่าผลรวม(Sum) และตัวทด(Carry) เช่นเดียวกับ Half-Adder ซึ่งแสดงได้ตามตารางค่าความจริงต่อไปนี้

A B Carry in Sum Carry Out
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
ตารางแสดงค่าของ Full-Adder

ลักษณะสมการของวงจร Full-Adder คือ

 
 

ลักษณะของวงจร Full-Adder สามารถต่อได้หลายแบบ คือการนำ Half-Adder 2 ตัว และ OR-Gate 1 ตัวมาต่อรวมกัน หรือการใช้ XOR เพียง 2 ตัวต่อกันก็เป็น Full-Adder ได้เช่นกัน โดยมีลักษณะวงจรดังต่อไปนี้

 

การต่อวงจร Full-Adder แบบใช้ Half-Adder 2 ชุดกับ OR-Gate 1 ตัว มาต่อรวมกัน

 

การใช้ XOR-Gate 2 ตัว มาต่อเป็นวงจร Full-Adder

จากรูปข้างต้นจะเห็นได้ว่าการต่อวงจร Full-Adder แบบใช้ XOR-Gate 2 ตัว นั้นจะไม่มี Output ของ Carry Out ออกมาด้วยซึ่งต่างกับแบบแรกที่มี Output เป็น Carry Out ออกมาด้วย แต่จะเห็นได้ว่ามีการใช้จำนวน Gate ต่างกันอย่างชัดเจน วงจรบวกนี้เราสามารถมองได้ว่ามันบวกเลขหนึ่งบิตสามอันได้ จึงใช้หาผลบวกเลขโดดของเลขสามบิตหรือที่เรียกว่า3:2 compressor

วงจรบวกหลายบิตและหลักการการทด

วงจรบวกหลายบิต(Multiple-bit Adder) คือการสร้างวงจรบวกให้สามารถรับอินพุตได้มากขึ้น กล่าวคือบวกเลขได้หลายบิตนั้นเอง หลักการสร้างก็ง่ายๆคือการนำ Full-Adder หลายๆตัวมาต่อรวมๆกันเป็นวงจรใหญ่ๆ เพื่อที่จะได้คำนวณให้ได้หลายบิตมากขึ้นโดยเมื่อมีการต่อวงจรแบบนี้แล้วจะมีการคำนวณการทด ได้หลายแบบดังเช่นการทดแบบริปเปอร์ หรือ การทดแบบดูตัวทดล่วงหน้า เป็นต้น

การทดแบบริปเปอร์

การทดแบบริปเปอร์(Ripple Carry Adder) คือการทดโดย เมื่อมีการต่อวงจรบวกหลายๆตัวจะต้องมีการส่งตัวทด(Carry) ไปให้กับวงจรบวกตัวต่อไปเพื่อคำนวณด้วย (โดยคำว่า Ripple นั้นแปลว่า ระลอก) เพราะฉะนั้น Ripple Carry Adder คือวงจรบวกที่มีการส่งตัวทดเป็นระลอกนั้นเอง ลักษณะวงจรคือ

 

การต่อวงจรลักษณะนี้มีข้อเสียคือ จะทำให้วงจรมีการทำงานที่ช้าลงเมื่อมีการต่อลอจิกเกตมากขึ้นเพราะว่าจากสมการ Carry ของ Full-Adder จะเห็นได้ว่าจำเป็นต้องมีการรอ Carry-in ก่อนที่จะคำนวณต่อไปได้

การทดแบบดูตัวทดล่วงหน้า

การทดแบบดูตัวทดล่วงหน้า(Carry-look-Ahead)คือการทดโดยให้วงจรบวกสามารถคาดเดาก่อนได้ว่าจะมีตัวทดมาหรือไม่ โดยดูบิตการบวกคู่หลัง เพราะถ้ามีตัวทดอย่างแน่นอน(บิตหลังเป็น 1 กับ 1) หรือไม่มีตัวทดอย่างแน่นอน(บิตหลังเป็น 0 กับ 0)ก็จะได้คำตอบทันทีไม่ต้องรอตัวทดเข้า เช่นนี้ก็ไม่ต้องรอการส่งผ่านแบบ Ripple-Carry-Adder โดยในวิธีนี้จะช่วยเพิ่มความเร็วให้กับวงจรขนาดใหญ่ได้เพราะไม่จำเป็นต้องรอ Carry-in จาก Full-Adder ตัวข้างหลัง สามารถคำนวณ Carry ออกมาได้พร้อมกับการคำนวณ Sum ได้เลยลักษณะของสูตร Carry-look-Ahead คือ

 
 
 

ลัษณะการนำไปใช้งาน

ในกรณี Full-Adder แบบ 1 บิต  

ในกรณี Full-Adder แบบ 2 บิต  

ในกรณี Full-Adder แบบ 3 บิต  

จะเห็นได้ว่าจะสมการสามารถนำสมการข้างบนลงไปแทนได้เรื่อยๆ จึงไม่มีข้อจำกัดของจำนวนบิตที่ต้องการ แต่ในกรณีที่จำนวนบิตมีมากเกินไปอาจจะทำให้วงจรยุ่งยากซับซ้อนได้

Bits Ripple-Carry Carry-look-Ahead
1 2 2
4 8 6
8 16 10
12 24 10
16 32 10
20 40 14
24 48 14
32 64 14
64 128 14

ตารางแสดงค่า Delay ระหว่าง Ripple-Carry และ Carry-look-Ahead

ส่วนการดูตัวทดล่วงหน้า

ส่วนการดูตัวทดล่วงหน้า(Lookahead Carry Unit) เป็นวิธีการหนึ่งที่ลดปัญหาการคำนวณซ้ำๆของ Carry-look-Ahead เมื่อสร้างวงจรบวกบิตมากๆ โดยจะสร้างส่วนมาพิจารณาตัวทดโดยเฉพาะ โดยแบ่งเป็นบิตย่อยๆ เรียกส่วนนี้ว่า ส่วนการดูตัวทดล่วงหน้า  

ดูเพิ่ม

วงจรบวก, adder, เป, นวงจรเช, งผสม, ใช, บวกเลขฐาน2, งเป, นหน, วยคำนวณและตรรกะ, ชน, ดหน, กใช, เป, นกรณ, กษาของการออกแบบวงจรเช, งผสม, เน, อหา, หน, งบ, หน, งบ, ตคร, งอ, ตรา, หน, งบ, ตเต, มอ, ตรา, หลายบ, ตและหล, กการการทด, การทดแบบร, ปเปอร, การทดแบบด, วทดล, วงหน, ว. wngcrbwk Adder epnwngcrechingphsm thiichbwkelkhthan2 sungepnhnwykhanwnaelatrrka chnidhnung mkichepnkrnisuksakhxngkarxxkaebbwngcrechingphsm enuxha 1 wngcrbwkhnungbit 1 1 wngcrbwkhnungbitkhrungxtra 1 2 wngcrbwkhnungbitetmxtra 2 wngcrbwkhlaybitaelahlkkarkarthd 2 1 karthdaebbripepxr 2 2 karthdaebbdutwthdlwnghna 2 3 swnkardutwthdlwnghna 3 duephimwngcrbwkhnungbit aekikhwngcrbwkhnungbitmkaebngxxkepnsxngpraephthdngni wngcrbwkhnungbitkhrungxtra aekikh wngcrbwkhnungbitkhrungxtra Single bit Half Adder epnwngcrbwkmixinphuthnungbitsxngkha wngcrcabwkelkhaelaihkhasxngkhakhux khaphlrwm Sum aelatwthd Carry odywngcrnicaidkhaphlrwmaelatwthdtamtarangtxipni A B SUM CARRY0 0 0 00 1 1 01 0 1 01 1 0 1 tarangaesdngkhakhxng Half Adder lksnakhxngkartxwngcraebb Half Adder khuxdngtxipni khrb lksnanikartx Half Adder aebbimich XOR Gate inkartxwngcr wngcrniphidswnexatphutkhxng CARRY epnkartxwngcr Half Adder aebbkarich XOR Gate cakrupthngsxngcaehnidwakarich XOR Gate chwyldcanwn Gate thiichlngipidepnxyangmakaelayngchwyldkhwamsbsxnkhxngwngcridxikdwy lksnakhxngsmakar Half Adder khux S u m A B displaystyle Sum A oplus B C a r r y A B displaystyle Carry A cdot B wngcrbwkninxkcakcaichbwkelkhhnungbitsxngxnaelw yngichsahrbhaphlbwkelkhoddkhxngelkhsxngbithruxthieriykwa2 2 compressor wngcrbwkhnungbitetmxtra aekikh wngcrbwkhnungbitetmxtra Single bit Full Adder epnwngcrthiichinkarbwkelkhthansxngechnknaetcasamarthbwkidmakkwa Half Adder odycamixinphuthnungbitsamkha khuxsxngkhathicabwk aela twthdekha Carry in cakphaynxk ephuxechuxmtwkbwngcrtwxun echn 1112 1012 11002 tw 1 aela 0 thiepntwhna yxmmitwthdcakhlkthiaelwekhama epntn wngcrcabwkelkhaelaihkhasxngkhakhux khaphlrwm Sum aelatwthd Carry echnediywkb Half Adder sungaesdngidtamtarangkhakhwamcringtxipni A B Carry in Sum Carry Out0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1 tarangaesdngkhakhxng Full Adder lksnasmkarkhxngwngcr Full Adder khux S u m A B C i n displaystyle Sum A oplus B oplus C in C a r r y o u t A B C i n A B displaystyle Carry out A cdot B C in cdot A oplus B lksnakhxngwngcr Full Adder samarthtxidhlayaebb khuxkarna Half Adder 2 tw aela OR Gate 1 twmatxrwmkn hruxkarich XOR ephiyng 2 twtxknkepn Full Adder idechnkn odymilksnawngcrdngtxipni kartxwngcr Full Adder aebbich Half Adder 2 chudkb OR Gate 1 tw matxrwmkn karich XOR Gate 2 tw matxepnwngcr Full Adder cakrupkhangtncaehnidwakartxwngcr Full Adder aebbich XOR Gate 2 tw nncaimmi Output khxng Carry Out xxkmadwysungtangkbaebbaerkthimi Output epn Carry Out xxkmadwy aetcaehnidwamikarichcanwn Gate tangknxyangchdecn wngcrbwknierasamarthmxngidwamnbwkelkhhnungbitsamxnid cungichhaphlbwkelkhoddkhxngelkhsambithruxthieriykwa3 2 compressorwngcrbwkhlaybitaelahlkkarkarthd aekikhwngcrbwkhlaybit Multiple bit Adder khuxkarsrangwngcrbwkihsamarthrbxinphutidmakkhun klawkhuxbwkelkhidhlaybitnnexng hlkkarsrangkngaykhuxkarna Full Adder hlaytwmatxrwmknepnwngcrihy ephuxthicaidkhanwnihidhlaybitmakkhunodyemuxmikartxwngcraebbniaelwcamikarkhanwnkarthd idhlayaebbdngechnkarthdaebbripepxr hrux karthdaebbdutwthdlwnghna epntn karthdaebbripepxr aekikh karthdaebbripepxr Ripple Carry Adder khuxkarthdody emuxmikartxwngcrbwkhlaytwcatxngmikarsngtwthd Carry ipihkbwngcrbwktwtxipephuxkhanwndwy odykhawa Ripple nnaeplwa ralxk ephraachann Ripple Carry Adder khuxwngcrbwkthimikarsngtwthdepnralxknnexng lksnawngcrkhux kartxwngcrlksnanimikhxesiykhux cathaihwngcrmikarthanganthichalngemuxmikartxlxcikektmakkhunephraawacaksmkar Carry khxng Full Adder caehnidwacaepntxngmikarrx Carry in kxnthicakhanwntxipid karthdaebbdutwthdlwnghna aekikh karthdaebbdutwthdlwnghna Carry look Ahead khuxkarthdodyihwngcrbwksamarthkhadedakxnidwacamitwthdmahruxim odydubitkarbwkkhuhlng ephraathamitwthdxyangaennxn bithlngepn 1 kb 1 hruximmitwthdxyangaennxn bithlngepn 0 kb 0 kcaidkhatxbthnthiimtxngrxtwthdekha echnnikimtxngrxkarsngphanaebb Ripple Carry Adder odyinwithinicachwyephimkhwamerwihkbwngcrkhnadihyidephraaimcaepntxngrx Carry in cak Full Adder twkhanghlng samarthkhanwn Carry xxkmaidphrxmkbkarkhanwn Sum idelylksnakhxngsutr Carry look Ahead khux C a r r y o u t C g C p C i n displaystyle Carry out C g C p cdot C in C p A B displaystyle C p A B C g A B displaystyle C g A cdot B lsnakarnaipichnganinkrni Full Adder aebb 1 bit C a r r y o u t 1 C g 1 C p 1 C i n displaystyle Carry out1 C g1 C p1 cdot C in inkrni Full Adder aebb 2 bit C a r r y o u t 2 C g 2 C p 2 C o u t 1 displaystyle Carry out2 C g2 C p2 cdot C out1 inkrni Full Adder aebb 3 bit C a r r y o u t 3 C g 3 C p 3 C o u t 2 displaystyle Carry out3 C g3 C p3 cdot C out2 caehnidwacasmkarsamarthnasmkarkhangbnlngipaethnideruxy cungimmikhxcakdkhxngcanwnbitthitxngkar aetinkrnithicanwnbitmimakekinipxaccathaihwngcryungyaksbsxnid Bits Ripple Carry Carry look Ahead1 2 24 8 68 16 1012 24 1016 32 1020 40 1424 48 1432 64 1464 128 14tarangaesdngkha Delay rahwang Ripple Carry aela Carry look Ahead swnkardutwthdlwnghna aekikh swnkardutwthdlwnghna Lookahead Carry Unit epnwithikarhnungthildpyhakarkhanwnsakhxng Carry look Ahead emuxsrangwngcrbwkbitmak odycasrangswnmaphicarnatwthdodyechphaa odyaebngepnbityxy eriykswnniwa swnkardutwthdlwnghna duephim aekikhwngcrlbekhathungcak https th wikipedia org w index php title wngcrbwk amp oldid 9350296, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม