ப்ரெண்ட் குங் ஆடர் : சர்க்யூட், வேலை, நன்மைகள், தீமைகள் மற்றும் அதன் பயன்பாடுகள்

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





ப்ரெண்ட்-குங் சேர்டர் 1982 இல் ஹ்சியாங் தே குங் & ரிச்சர்ட் பீர்ஸ் ப்ரெண்ட் ஆகியோரால் முன்மொழியப்பட்டது. இது ஒரு இணை முன்னொட்டு சேர்ப்பான் அல்லது ட்ரீ சேர்டர் ஆகும், இது அதன் நெகிழ்வுத்தன்மை காரணமாக டிஜிட்டல் வடிவமைப்பில் பரவலாகப் பயன்படுத்தப்படுகிறது. தர்க்க நிலைகளின் எண்ணிக்கையின் அடிப்படையில் இணை முன்னொட்டு சேர்ப்பிகளை பல வழிகளில் உருவாக்கலாம், தர்க்க வாயில்கள் ஒவ்வொரு வாயிலிலிருந்தும் மின்விசிறி மற்றும் நிலைகளுக்கு இடையில் உள்ள வயரிங் சம்பந்தப்பட்டது. பல்வேறு வகையான மரம் சேர்ப்பான்கள் கிடைக்கின்றன, அடிப்படை மரம் சேர்ப்பவர்கள் Sklanskym KoggeStone & Brent-Kung ஆகும், KSA (Kogge-Stone adder) உடன் ஒப்பிடும்போது, ​​இந்த சேர்ப்பான் சேர்ப்பவரின் கட்டமைப்பிற்கு அதிக ஒழுங்குமுறையை வழங்குகிறது மற்றும் இது குறைவான வயரிங் தடுப்பைக் கொண்டுள்ளது. இது சிறந்த செயல்திறன் மற்றும் குறைந்த தேவைப்படும் சிப் பகுதிக்கு வழிவகுக்கிறது. இக்கட்டுரை ஒரு பற்றிய சுருக்கமான தகவல்களை வழங்குகிறது ப்ரெண்ட் குங் ஆடர் .


ப்ரெண்ட் குங் சேடர் என்றால் என்ன?

முடிவைப் பெற குறைந்தபட்ச சர்க்யூட்ரியைப் பயன்படுத்தும் ஒரு சேர் ப்ரெண்ட் குங் ஆடர் என்று அழைக்கப்படுகிறது, மேலும் இது குறைந்த சக்தி சேர்ப்பான் அல்லது இணை சேர்ப்பான் என்றும் அழைக்கப்படுகிறது. இந்த ஆடர் சிப்பின் அளவைச் சேமிப்பதற்காக வடிவமைக்கப்பட்டுள்ளது, இதனால் இந்த ஆடர்களை தயாரிப்பது எளிதாகிவிடும். இந்த சேர்ப்பவரின் சமச்சீர் மற்றும் வழக்கமான கட்டுமான அமைப்பு உற்பத்திச் செலவுகளை வெகுவாகக் குறைக்கும் மற்றும் பைப்லைன் டோபாலஜிகளில் பயன்படுத்த அனுமதிக்கப்படுகிறது. நிரப்பு பாஸ் டிரான்சிஸ்டர் லாஜிக்கின் பயன்பாடு வடிவமைப்பு செயல்திறனை மேம்படுத்த உதவுகிறது மல்டிபிளெக்சர் பல்வேறு செல் வடிவமைப்புகளில் அணுகுமுறை.



ப்ரெண்ட் குங் ஆடர் சர்க்யூட்

ப்ரெண்ட்-குங் இணை முன்னொட்டு சேர்ப்பான் வரைபடம் கீழே காட்டப்பட்டுள்ளது, இதில் நிலை 1 (முந்தைய செயலாக்க நிலை), நிலைகள் 2 முதல் 7 வரை கேரி தலைமுறை நிலைகள் மற்றும் நிலை 8 பிந்தைய செயலாக்கம். இது ஒரு மேம்பட்ட கட்டிடக்கலை மற்றும் கட்டமைக்க மிகவும் எளிமையானது மற்றும் குறைந்த வயரிங் நெரிசலை வழங்குகிறது. எனவே, அதன் குறைவான வயரிங், கட்டிடக்கலையை இயக்க தேவையான இடத்தின் அளவைக் குறைக்கும். கூடுதலாக, குறுக்குவழி (அல்லது) குறைவான கம்பிகளை ஒன்றுடன் ஒன்று சேர்ப்பதால் ரூட்டிங் மிகவும் எளிதாகிறது. இருப்பினும், கட்டங்களின் எண்ணிக்கை அதிகரித்துள்ளதால், அபராதம் தாமதமாக அதிகரிக்கும், இந்த சேர்ப்பிற்கான ஃபேன் அவுட் அதிகரிக்கப்பட்டுள்ளது, பின்னர் தாமதம் அதிகரிக்கப்படும்.

  ப்ரெண்ட் குங் ஆடர்
                                                        ப்ரெண்ட் குங் ஆடர்

Brent Kung Adder எப்படி வேலை செய்கிறது?

4 பிட் குழு முன்னொட்டுகளைக் கண்டறிய பயனுள்ளதாக இருக்கும் இரண்டு பிட் குழுக்களுக்கான முன்னொட்டுகளைக் கணக்கிடுவதன் மூலம் ப்ரெண்ட் குங் ஆடர் செயல்படுகிறது. இந்த முன்னொட்டுகள் 8-பிட் குழுவின் முன்னொட்டுகளை கணக்கிடுவதற்குப் பயன்படுத்தப்படுகின்றன இந்த கேரிகள் அடுத்த கட்டத்தின் சம் பிட்டைக் கணக்கிடுவதற்கு அடுத்த கட்டத்தின் குழு பிரச்சாரத்துடன் பயன்படுத்தப்படுகின்றன. ப்ரெண்ட் குங் மரம் 2log2N - 1 நிலையைப் பயன்படுத்துகிறது.



32-பிட் ப்ரெண்ட் குங் ஆடர்

32-பிட் ப்ரெண்ட் குங் ஆடர் தளவமைப்பு கீழே காட்டப்பட்டுள்ளது. இந்த தளவமைப்பின் தொடக்கத்தில், NAND, இன்வெர்ட்டர், XOR, NOR போன்ற அடிப்படை லாஜிக் கேட்கள் வடிவமைக்கப்பட்டுள்ளன. அதன் பிறகு, கருப்பு செல்கள், சாம்பல் செல்கள், பஃபர்கள் மற்றும் PG லாஜிக் போன்ற தேவையான செல்கள் லாஜிக் கேட்களுடன் வடிவமைக்கப்பட்டுள்ளன.

  32-பிட் ப்ரெண்ட் குங் ஆடர்
                                  32-பிட் ப்ரெண்ட் குங் ஆடர்

கீழே உள்ள 32-பிட் ப்ரெண்ட் குங் சேர்டரில், AOI & OAI போன்ற தலைகீழ் வாயில்கள் முக்கியமாக சாம்பல் மற்றும் கருப்பு கலங்களுக்கு மாற்றாகப் பயன்படுத்தப்படுகின்றன. எனவே கருப்பு மற்றும் சாம்பல் கலங்கள் சாம்பல் மற்றும் கருப்பு தொகுதிகள் மூலம் குறிப்பிடப்படுகின்றன, அதேசமயம் இடையகங்கள் வட்டங்களுடன் குறிப்பிடப்படுகின்றன.

  பிசிபிவே   சேர்க்கையில் உள்ள அடிப்படை செல்கள்
சேர்க்கையில் உள்ள அடிப்படை செல்கள்

A & B போன்ற உள்ளீடுகள் PG தர்க்கத்திற்கு வழங்கப்படுகின்றன, இது தொகுதி வரைபடத்தில் காட்டப்பட்டுள்ளது. ஒரு 32-பிட் சேர்ப்பிற்கு, 32 பிஜி லாஜிக் பிளாக்குகள் அவசியம் மற்றும் ப்ராபகேட் (பி) & ஜெனரேட் (ஜி) சிக்னல்கள் இந்த பிளாக்கின் வெளியீடுகளாகும். இந்த சிக்னல்கள் ப்ரெண்ட் குங் ஆடர் மர அமைப்பிற்கு வழங்கப்படுகின்றன. இந்த சேர்ப்பியின் கட்டமைப்பில் சாம்பல் செல்கள் & கருப்பு செல்கள் அடங்கும்.

ஒரு சாம்பல் கலத்தில் மூன்று உள்ளீடுகள் & ஒற்றை வெளியீடு அடங்கும். தற்போதைய நிலையிலிருந்து சிக்னல்களை பரப்புதல் மற்றும் உருவாக்குதல் & முந்தைய நிலையிலிருந்து சிக்னல்களை உருவாக்குதல் ஆகியவை உள்ளீடுகளாகும், அதேசமயம் குழு உருவாக்கும் சிக்னல்கள் o/p ஆகும். எந்த மர அமைப்பிலும், ஒவ்வொரு நிலையும் சாம்பல் கலத்துடன் முடிவடையும் & இந்த கலத்தின் o/p என்பது குழு உருவாக்கும் சமிக்ஞையாகும். இந்த சமிக்ஞை வெறுமனே அந்த நிலையின் கேரியாக கருதப்படுகிறது. கருப்பு கலத்தில் நான்கு உள்ளீடுகள் மற்றும் இரண்டு வெளியீடுகள் உள்ளன. இந்த கலத்திற்கான உள்ளீடுகள் தற்போதைய நிலையின் பி & ஜி சிக்னல்கள் மற்றும் முந்தைய நிலையிலிருந்து பி, ஜி சிக்னல்கள் ஆகும்.

ஒரு PG லாஜிக்கில் AND & XOR வாயில்கள் உள்ளன, அங்கு AND லாஜிக் கேட் G சிக்னலை உருவாக்க பயன்படுகிறது & XOR லாஜிக் கேட் P சமிக்ஞையை வழங்குகிறது. தேவையற்ற இன்வெர்ட்டர்களை அகற்ற, இரண்டு வகையான சாம்பல் செல்கள் மற்றும் கருப்பு செல்கள் பயன்படுத்தப்படுகின்றன. சாம்பல் கலத்திற்கு ஒரு வரிசையில் பயன்படுத்தப்படும் தலைகீழ் வாயில்கள் AOI அல்லது AND-OR-Inverter & அடுத்த வரிசையில் உள்ள கருப்பு கலத்திற்கான தலைகீழ் வாயில்கள் OAI அல்லது OR-AND-Inverter ஐப் பயன்படுத்துகின்றன. AOI செல் தலைகீழ் வெளியீடுகளை வழங்க சாதாரண உள்ளீடுகளைப் பயன்படுத்துகிறது, அதேசமயம் OAI சாதாரண வெளியீடுகளை வழங்க தலைகீழ் உள்ளீடுகளைப் பயன்படுத்துகிறது.

ப்ரெண்ட் குங் ஆடர் ஆபரேஷன்

ப்ரென்ட் குங் சேர்டர் என்பது உயர் செயல்திறன் சேர்ப்பின் செயல்பாட்டிற்குப் பயன்படுத்தப்படும் இணையான முன்னொட்டு சேர்ப்பான் ஆகும். இந்த சேர்ப்பானது எண்கணித செயல்பாட்டைச் செய்யும் ஒரு மர அமைப்பு போல் தெரிகிறது. இந்த சேர்ப்பானில் கருப்பு செல்கள் மற்றும் சாம்பல் செல்கள் அடங்கும். ஒவ்வொரு கருப்பு கலத்திற்கும் இரண்டு மற்றும் வாயில்கள் & ஒற்றை அல்லது வாயில் உள்ளது மற்றும் ஒவ்வொரு சாம்பல் கலத்திற்கும் ஒரு மற்றும் கேட் மட்டுமே உள்ளது.

ப்ரெண்ட்-குங் சேர்டர் இரண்டு நிலைகளை உள்ளடக்கியது; முன் செயலாக்க நிலை மற்றும் தலைமுறை நிலை. முதல் கட்டத்தில், ஒவ்வொரு ஜோடி உள்ளீடுகளிலிருந்தும் உருவாக்குதல் & பரப்புதல். இங்கே ப்ராபகேட் உள்ளீட்டு பிட்களுக்கு ஒரு 'XOR' செயல்பாட்டை வழங்குகிறது, அதேசமயம் ஜெனரேட்கள் உள்ளீட்டு பிட்களுக்கு 'AND' செயல்பாட்டை வழங்குகிறது. 'பை' மற்றும் 'ஜி' போன்ற பரப்புதல் மற்றும் உருவாக்குதல் கீழே கொடுக்கப்பட்டுள்ளன.

பை = Ai XOR Bi மற்றும் Gi = Ai AND Bi.

இரண்டாவது கட்டத்தில், கேரி ஜெனரேட் 'சிஜி' என அறியப்படும் ஒவ்வொரு பிட்டிற்கும் கேரி உருவாக்கப்படும் & கேரி ஜெனரேட் 'சிபி' என அறியப்படும் ஒவ்வொரு பிட்டிற்கும் கேரி பிரச்சாரம் செய்யப்படும். மேலும் செயல்பாட்டிற்கு, கேரி ப்ராபகேட் & கேரி ஜெனரேட் உருவாக்கப்படும். ஒவ்வொரு பிட் செயல்பாட்டிலும் கிடைக்கும் இறுதி செல் கேரியை வழங்குகிறது. எனவே இறுதி பிட் கேரி கடைசி பிட் வரை ஒரே நேரத்தில் அடுத்த பிட்டின் கூட்டுக்கு உதவும். கேரி ஜெனரேட் & ப்ராபகேட் இவ்வாறு கொடுக்கப்பட்டுள்ளது;

Cp = P1 மற்றும் P0 மற்றும் Cg=G1 அல்லது (P1 மற்றும் G0)

இது முக்கியமாக இரண்டு முப்பத்திரண்டு பிட்களின் கூட்டல் செயல்பாட்டிற்குப் பயன்படுத்தப்படுகிறது & ஒவ்வொரு பிட்டும் முன்செயலாக்க நிலை மற்றும் தலைமுறை நிலையை அனுபவிக்கும் பின்னர் அது இறுதித் தொகையை வழங்குகிறது.

முதன்மை உள்ளீட்டு பிட்கள் முன் செயலாக்க நிலைக்கு கீழே செல்கின்றன மற்றும் அவை பிரச்சாரம் மற்றும் உருவாக்கத்தை உருவாக்குகின்றன. எனவே இவை பரப்புதல் மற்றும் உருவாக்குதல் ஆகியவை தலைமுறை நிலைக்கு உட்படுகின்றன Brent-kung adder படி-படி-படி செயல்முறை கீழே காட்டப்பட்டுள்ளது.

  திறமையான தொகுதி வரைபடம்
திறமையான தொகுதி வரைபடம்

ப்ரெண்ட்-குங் சேர்டர் அமைப்பு ஒரு மர அமைப்பு போல் தெரிகிறது மற்றும் இது கேட்-லெவல் தர்க்கத்தை குறிவைக்கும் அதிவேக சேர்ப்பான் ஆகும். லாஜிக் கேட்களின் எண்ணிக்கையைக் குறைத்து இந்த ஆடர் வடிவமைக்கப்படலாம். இதனால், இந்த கட்டிடக்கலையில் பயன்படுத்தப்படும் தாமதம் மற்றும் நினைவகத்தை இது குறைக்கிறது.

ப்ரெண்ட் குங் ஆடர் வெரிலாக் குறியீடு

Brent Kung adder verilog குறியீடு கீழே காட்டப்பட்டுள்ளது.

`INPUTSIZE 64 ஐ வரையறுக்கவும் //உள்ளீட்டு அளவை அமைக்கவும் n

`GROUPSIZE 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] சின்;

கம்பி [`INPUTSIZE / `GROUPSIZE * 2 – 1:0] q;

சின்[0] = 1’b0;

உருவாக்க

எங்கே;

(i = 0; i < `INPUTSIZE / `GROUPSIZE; i = i + 1) தொடங்கும்: parallel_FA_CLA_prefix

    group_q_generation #(.Groupsize(`GROUPSIZE))

    f(

        .a(A[`GROUPSIZE * (i + 1) – 1:`GROUPSIZE * i]),

        .b(B[`GROUPSIZE * (i + 1) – 1:`GROUPSIZE * i]),

        .சின்(சின்[i]),

        .s(S[`GROUPSIZE * (i + 1) – 1:`GROUPSIZE * i]),

        .qg(q[i * 2 + 1:i * 2])

    );

முடிவு

இணை_முன்னொட்டு_மரம்_முதல்_பாதி #(.மர அளவு(`INPUTSIZE / `GROUPSIZE))

t1(

    .q(q[`INPUTSIZE / `GROUPSIZE * 2 – 1:0]),

    .r(r_temp[`INPUTSIZE / `GROUPSIZE * 2 – 1:0])

);

இணை_முன்னொட்டு_மரம்_இரண்டாம்_பாதி #(.மர அளவு(`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),

        .சின்(சின்[i + 1])

    );

முடிவு

ஒதுக்க S[`INPUTSIZE] = சின்[`INPUTSIZE / `GROUPSIZE];

இறுதி தலைமுறை

இறுதி தொகுதி

// இணை முன்னொட்டு மரத்தின் முதல் பாதி

தொகுதி 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])

    );

முடிவு வேறு தொடங்கும்: recursive_case

    கம்பி [Treesize * 2 - 1:0] r_temp;

    இணை_முன்னொட்டு_மரம்_முதல்_பாதி #(.Treesize(Treesize / 2))

    recursion_lsbh(

        .q(q[Treesize – 1:0]),

        .r(r_temp[Treesize – 1:0])

    );

    இணை_முன்னொட்டு_மரம்_முதல்_பாதி #(.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) தொடங்கும்: parallel_stitch_up

        என்றால் (i != Treesize * 2 – 2) தொடங்கும்: parallel_stitch_up_pass

            ஒதுக்க r[i + 1:i] = r_temp[i + 1:i];

        இறுதியில் வேறு தொடங்கும்: 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])

            );

        முடிவு

    முடிவு

முடிவு

இறுதி தலைமுறை

இறுதி தொகுதி

// இணை முன்னொட்டு மரத்தின் இரண்டாம் பாதி

தொகுதி 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];

உருவாக்க

ஜென்வர் நான், ஜே;

(i = 0; i < $clog2(Treesize) – 2; i = i + 1) தொடங்கும்: second_half_level

    ஒதுக்க 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: Treesize * 2 * i];

    (j = (Treesize / (2 ** i)) – 1 – 2 ** ($clog2(Treesize / 4) – i); j < Treesize; j = j + 2 ** ($clog2(Treesize / 2 ) – i)) ஆரம்பம்: second_half_level_logic

        prefix_logic f(

            .ql(r_temp[Treesize * 2 * i + (j – 2 ** ($clog2(Treesize / 4) – i)) * 2 + 1:Treesize * 2 * i + (j – 2 ** ($clog2( Treesize / 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 != Treesize – 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:Treesize * 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 < Treesize; 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) + நான் * 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])

    );

முடிவு

இறுதி தலைமுறை

இறுதி தொகுதி

தொகுதி குழு_q_generation #(அளவுரு Groupsize = `GROUPSIZE)(a, b, cin, s, qg);

உள்ளீடு [குழு அளவு - 1:0] a;

உள்ளீடு [குழு அளவு - 1:0] b;

உள்ளீடு சின்;

வெளியீடு [குழு அளவு - 1:0] கள்;

வெளியீடு [1:0] qg;

கம்பி [2 * Groupsize – 1:0] q;

கம்பி [குழு அளவு - 1:0] c;

ஒதுக்கு c[0] = cin;

உருவாக்க

எங்கே;

(i = 0; i < Groupsize; i = i + 1) தொடங்கும்: parallel_FA_CLA_prefix

    FA_CLA_prefix f(

        .a(a[i]),

        .b(b[i]),

        .சின்(சி[i]),

        .s(s[i]),

        .q(q[i * 2 + 1:i * 2])

    );

    என்றால் (i != Groupsize – 1) start: 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];

இறுதியில் வேறு என்றால் (குழு அளவு == 2) தொடங்கினால்: case_gs2

    ஒதுக்க qg[1] = q[3] | (q[1] & q[2]);

    ஒதுக்க qg[0] = q[2] & q[0];

இறுதியில் வேறு என்றால் (குழு அளவு == 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];

(குழு அளவு == 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];

முடிவு

இறுதி தலைமுறை

இறுதி தொகுதி

// சின் தலைமுறை தர்க்கம்

தொகுதி cin_generation_logic(r, c0, cin);

உள்ளீடு [1:0] ஆர்;

உள்ளீடு c0;

வெளியீடு சின்;

ஒதுக்க சின் = (r[0] & c0) | ஆர்[1];

இறுதி தொகுதி

// முன்னொட்டு செயல்பாடுகளுக்கான அடிப்படை தர்க்கம்

தொகுதி முன்னொட்டு_லாஜிக்(ql, qh, r);

உள்ளீடு [1:0] ql;

உள்ளீடு [1:0] qh;

வெளியீடு [1:0] r;

ஒதுக்க r[0] = qh[0] & ql[0];

ஒதுக்க r[1] = (qh[0] & ql[1]) | qh[1];

இறுதி தொகுதி

// முழு ஆடர் செல் கேரி லுக்-அஹெட்

தொகுதி FA_CLA_prefix(a, b, cin, s, q);

உள்ளீடு a;

உள்ளீடு b;

உள்ளீடு சின்;

வெளியீடு கள்;

வெளியீடு [1:0] q;

ஒதுக்க q[0] = a ^ b;

ஒதுக்கு s = q[0] ^ cin;

ஒதுக்க q[1] = a & b;

இறுதி தொகுதி

நன்மைகள்

Brent Kung Adder இன் நன்மைகள் பின்வருவனவற்றை உள்ளடக்குகின்றன.

  • இது ஒரு குறைந்த-சக்தி சேர்ப்பான், ஏனெனில் இது முடிவைப் பெற குறைந்தபட்ச சுற்று பயன்படுத்துகிறது.
  • இது மிகவும் பிரபலமான மற்றும் பரவலாகப் பயன்படுத்தப்படும் சேர்க்கையாகும்.
  • கோகே-ஸ்டோன் சேர்ப்பருடன் ஒப்பிடும்போது குறைவான மாட்யூல்களைப் பயன்படுத்துவதன் மூலம் இந்த வகையான சேர்ப்பியை செயல்படுத்தலாம்.
  • ப்ரென்ட்-குங் ஆடர் டிசைனிங் மிகவும் எளிதானது.
  • இந்த ஆடர் மற்ற மாட்யூல்களுடன் குறைவான இணைப்புகளைக் கொண்டுள்ளது.
  • இந்த சேர்ப்பான்கள் முக்கியமாக கோகே-ஸ்டோன் சேர்ப்பவர்களின் குறைபாடுகளைத் தீர்க்க முன்மொழியப்பட்டது.

தீமைகள்

தி Brent Kung Adde இன் தீமைகள் r பின்வருவனவற்றை உள்ளடக்குகிறது.

  • இந்த சேர்ப்பான்கள் அதிக தாமதம் மற்றும் அனைத்து கேரி பிட்களையும் கணக்கிடுவதற்கு 2 log2 n - 2 லாஜிக் நிலைகள் தேவை.
  • இந்த சேர்ப்பாளரின் முக்கிய குறைபாடு ஃபேன்அவுட் ஆகும், இது சேர்ப்பான் முழுவதும் மின்னோட்டத்தைப் பரப்புவதால் பிளவுபடுவதற்கும் பலவீனமடைவதற்கும் காரணமாகிறது.

ப்ரெண்ட் குங் ஆடர் பயன்பாடுகள்

Brent Kung Adder இன் பயன்பாடுகளில் பின்வருவன அடங்கும்.

  • ஒரு ப்ரெண்ட்-குங் சேர்டர் ஒரு பைப்லைன் முறையில் பயன்படுத்தப்படுகிறது, இது ஒருங்கிணைந்த லாஜிக் ஆழம் மற்றும் குறைபாடுகள் நிலைப்படுத்தலைக் குறைப்பதன் மூலம் மின் நுகர்வைக் குறைக்கிறது.
  • ப்ரென்ட்-குங் சேர்டர் i/p இலிருந்து அனைத்து o/ps வரையிலும், சமச்சீரற்ற இடைநிலை நிலைகளை ஏற்றுவதன் மூலம் சிறந்த எண்ணிக்கையிலான நிலைகளை வழங்குகிறது.
  • இந்த சேர்ப்பியை பெருக்கி மற்றும் பிற தரவு பாதை கூறுகளுக்குள் பயன்படுத்தலாம்.

இவ்வாறு, இது ப்ரெண்ட் குங் சேடரின் கண்ணோட்டம் , அதன் வேலை, நன்மைகள், தீமைகள் மற்றும் அதன் பயன்பாடுகள். இது மிகவும் திறமையான சேர்ப்பான் மற்றும் அதன் அமைப்பு முக்கியமாக உயர்-செயல்திறன் எண்கணித செயல்பாடுகளுக்கு பயன்படுத்தப்படும் ஒரு மர அமைப்பு போல் தெரிகிறது. இந்த வகை சேர்ப்பான் மிக வேகமாகவும், முக்கியமாக கேட்-லெவல் தர்க்கத்தில் கவனம் செலுத்துகிறது. இந்த ஆடர் குறைந்த எண்ணிக்கையிலான லாஜிக் கேட்களைப் பயன்படுத்தி வடிவமைக்கப்பட்டுள்ளது. இதனால், இந்த கட்டிடக்கலையில் பயன்படுத்தப்படும் நினைவகத்தையும் தாமதத்தையும் குறைக்கிறது. இதோ உங்களுக்காக ஒரு கேள்வி, ப்ரெண்ட் குங் ஆடர் என்றும் அழைக்கப்படுகிறதா?