標(biāo)題: 怎樣測(cè)量加法器的速度?器件延遲的時(shí)間長(zhǎng)度 [打印本頁(yè)]

作者: Ele_insect    時(shí)間: 2022-10-31 18:28
標(biāo)題: 怎樣測(cè)量加法器的速度?器件延遲的時(shí)間長(zhǎng)度
第一章:設(shè)計(jì)

        經(jīng)過(guò)學(xué)習(xí),行波進(jìn)位加法器RCA和超前進(jìn)位加法器CLA后。
        自己動(dòng)手設(shè)計(jì)一個(gè)八位二進(jìn)制加法器。
        經(jīng)過(guò)分析,二進(jìn)制加法,可以分成三種情況。
        
        A:最特殊情況,兩個(gè)八位二進(jìn)制數(shù)的相同位,不同時(shí)為1,這樣就不會(huì)產(chǎn)生進(jìn)位。
        B:特殊情況,兩個(gè)數(shù)相加,產(chǎn)生進(jìn)位C,但是更高一位的S是0。
        Ω:普通情況,產(chǎn)生進(jìn)位后,需要繼續(xù)進(jìn)位的情況。
        對(duì)于A:8個(gè)半加器就可以輸出正確答案。
        對(duì)于B:8個(gè)半加器輸出S和C,用Cn和Sn+1異或,就可以輸出正確答案。
        對(duì)于Ω:就需要發(fā)現(xiàn)規(guī)律。
        當(dāng)?shù)臀籆向高位S進(jìn)位時(shí),有兩種情況。
        S=0,則直接進(jìn)位。
        S=1,則本位異或?yàn)?,進(jìn)位C向更高位,繼續(xù)進(jìn)位,直到遇見(jiàn)S=0。
        所以需要一種靈活的電路,當(dāng)S=1時(shí),能夠把低位C搬運(yùn)到高位去。
        把S組成的0111結(jié)構(gòu)稱(chēng)為段,C=0時(shí),異或出結(jié)果0111。C=1時(shí),異或出結(jié)果1000。進(jìn)位將是向段進(jìn)位的。
        下圖就是最終電路設(shè)計(jì)。使用八個(gè)串聯(lián)的傳輸門(mén),由各位的S控制通斷,靈活分配進(jìn)位C。
        
        由于低位C為1,向高位進(jìn)位,S為0時(shí),N邏輯傳輸門(mén)截止,P邏輯傳輸門(mén)導(dǎo)通,本位C可以通過(guò)P邏輯傳輸門(mén)進(jìn)入到下級(jí)異或門(mén)參與運(yùn)算得到運(yùn)算結(jié)果;當(dāng)S為 1時(shí),N邏輯傳輸門(mén)導(dǎo)通,P邏輯傳輸門(mén)截止,此時(shí)本位C無(wú)法參與下級(jí)異或門(mén)運(yùn)算,低位C則可以通過(guò)N邏輯傳輸門(mén)進(jìn)入下級(jí)異或門(mén)參與運(yùn)算,直到遇到S=0時(shí) 停止。低位C和段內(nèi)S異或運(yùn)算,得到計(jì)算結(jié)果。依次從低位到高位看S的值,從S為1開(kāi)始到S為0,稱(chēng)之為一段,此段內(nèi)的所有C都會(huì)被低位C(本級(jí)S為1的 上一級(jí)C)“覆蓋”,結(jié)果為新C。當(dāng)S出現(xiàn)極端情況0111...0結(jié)構(gòu)的段時(shí),最低位的C覆蓋所有高位C參與運(yùn)算。
        計(jì)算機(jī)是如何計(jì)算的(視頻有利于理解設(shè)計(jì))
        1探索篇
        2設(shè)計(jì)篇
        3優(yōu)化篇
        第二章:proteus驗(yàn)證。示波器測(cè)延遲
        經(jīng)過(guò)Proteus 7.8的驗(yàn)證,設(shè)計(jì)的加法器,能夠計(jì)算出正確結(jié)果。
        使用虛擬示波器測(cè)出RCA和SCA(本設(shè)計(jì))的延遲時(shí)間:
加法器延遲
4位
8位
16位
32位
RCA
1.3微秒
1.64微秒
2.4微秒
3.8微秒
SCA
1.4微秒
1.4微秒
1.4微秒
1.4微秒
        RCA:
        
        


        SCA:
        



        以上是,Proteus7.8的測(cè)試結(jié)果
        第三章:multisim驗(yàn)證。示波器測(cè)延遲
        使用multisim 14的虛擬示波器測(cè)出RCA和SCA(本設(shè)計(jì))的延遲時(shí)間:
加法器延遲
4位
8位
16位
RCA
723納秒
1439納秒
2879納秒
SCA
454納秒
454納秒
454納秒
        RCA:
        


        SCA:
        


        以上是,multisim 14的測(cè)試結(jié)果
        第四章:PCB實(shí)物驗(yàn)證延遲
        由于模擬軟件的延遲測(cè)試,僅僅只能參考。
        計(jì)劃利用74HC系列芯片,制作出RCA和SCA(本設(shè)計(jì))的PCB電路板。使用示波器對(duì)兩種加法器進(jìn)行對(duì)比。
        SCA-4示波器測(cè)延遲:
        
        RCA-4示波器測(cè)延遲:
        
        實(shí)物圖:
        
        中間兩行是輸入開(kāi)關(guān),為A1-4,B1-4D的輸入,SW9為Cin。
        上半部分的5顆芯片,組成RCA-4,
        下半部分的6顆芯片,組成SCA-4。LED輸出結(jié)果。
        開(kāi)關(guān)向右波動(dòng)為3V,開(kāi)關(guān)向左波動(dòng)為0V。
        圖中A為1111,B為0000。輸出LED顯示1111。
        結(jié)果正確。
        已經(jīng)試過(guò)所有的4位加法,全部正確。
作者: Ele_insect    時(shí)間: 2022-10-31 18:29
雖然通過(guò)protues7.8和multisim14的虛擬示波器測(cè)試了加法器速度。
但還是做出來(lái)pcb板,用真實(shí)的示波器測(cè)延遲了,但用的不好!也不會(huì)讀數(shù)!
我接下來(lái)該怎么辦(準(zhǔn)確測(cè)量加法器速度的快慢)?
是使用Verilog時(shí)序仿真,還是怎么搞? 希望大家給點(diǎn)建議!謝謝了!
作者: Hephaestus    時(shí)間: 2022-10-31 21:48
我覺(jué)得你的做法真沒(méi)什么實(shí)際意義,跟74系列小規(guī)模集成電路搭建CPU一樣無(wú)聊。

弄一個(gè)FPGA開(kāi)發(fā)板,就算你不會(huì)Verilog也沒(méi)問(wèn)題,F(xiàn)PGA設(shè)計(jì)軟件都是支持原理圖的,也就是說(shuō)你在仿真軟件里面畫(huà)的那些圖,在FPGA軟件里面一樣可以畫(huà),下載后,一樣可以用萬(wàn)用表來(lái)驗(yàn)證。

我覺(jué)得你實(shí)在是跑偏了,周?chē)蜎](méi)有懂點(diǎn)的人告訴你么?大學(xué)里面思路寬廣的人太多了,你是畢業(yè)了吧?
作者: wufa1986    時(shí)間: 2022-11-1 07:54
你這只是理論而已
作者: yzwzfyz    時(shí)間: 2022-11-1 11:12
速度 = 距離/時(shí)間。
對(duì)于命題而言實(shí)際上是時(shí)間長(zhǎng)短,而不存在距。
時(shí)間的長(zhǎng)短認(rèn)定,必須有起點(diǎn)和終點(diǎn)。
1、時(shí)間起始點(diǎn)在何處?
2、時(shí)間終止點(diǎn)在何處?
方案:
起點(diǎn)認(rèn)定,需要你加一個(gè)信號(hào),即認(rèn)為輸入數(shù)據(jù)穩(wěn)定了,被確認(rèn)的信號(hào),建議用A、B栓鎖信號(hào)認(rèn)定。當(dāng)A、B全部被確定后(栓鎖),作為開(kāi)始信號(hào)。
終止認(rèn)定:應(yīng)當(dāng)是計(jì)算結(jié)果正確且穩(wěn)定后,才能認(rèn)定的終止。
應(yīng)該取8位輸出全部穩(wěn)定(不再變化)的時(shí)刻作為終止點(diǎn)。這需要你對(duì)各種輸入計(jì)算結(jié)果進(jìn)行對(duì)比。取最不利的結(jié)果作為最終結(jié)果。
作者: 一事無(wú)成    時(shí)間: 2022-11-1 13:15
不太懂,據(jù)我所知,單純的Verilog好像看不出來(lái)實(shí)際延時(shí),要結(jié)合用的器件才行,直接用電路搭的外部因素很多,和FPGA內(nèi)部也不一樣,設(shè)計(jì)時(shí)應(yīng)該是讓一次數(shù)據(jù)處理的時(shí)間在一個(gè)時(shí)鐘周期內(nèi)完成,用流水線(xiàn)提高時(shí)鐘頻率,所有的運(yùn)算都可以砍成幾個(gè)步驟。
這么看來(lái),只要提高時(shí)鐘頻率直到輸出錯(cuò)誤,應(yīng)該就可以算出延時(shí)。
作者: Ele_insect    時(shí)間: 2022-11-1 13:50
Hephaestus 發(fā)表于 2022-10-31 21:48
我覺(jué)得你的做法真沒(méi)什么實(shí)際意義,跟74系列小規(guī)模集成電路搭建CPU一樣無(wú)聊。

弄一個(gè)FPGA開(kāi)發(fā)板,就算你 ...

我不認(rèn)識(shí)電子專(zhuān)業(yè)的人。
做pcb是為了證明實(shí)際可以實(shí)現(xiàn)加法器功能,想用示波器測(cè)加法器的速度。
作者: Ele_insect    時(shí)間: 2022-11-1 13:52
wufa1986 發(fā)表于 2022-11-1 07:54
你這只是理論而已

兩個(gè)仿真軟件和PCB,都證明了,加法器的功能是沒(méi)有問(wèn)題的。

仿真軟件的虛擬示波器,測(cè)試出的數(shù)據(jù),也呈現(xiàn)出與理論相同的增長(zhǎng)比,就是不知道怎么更加精確的測(cè)量出加法器速度。
作者: Ele_insect    時(shí)間: 2022-11-1 13:57
yzwzfyz 發(fā)表于 2022-11-1 11:12
速度 = 距離/時(shí)間。
對(duì)于命題而言實(shí)際上是時(shí)間長(zhǎng)短,而不存在距。
時(shí)間的長(zhǎng)短認(rèn)定,必須有起點(diǎn)和終點(diǎn)。

【對(duì)各種輸入計(jì)算結(jié)果進(jìn)行對(duì)比】8位+8位,有256*256種加法,速度是不相同的。
但是一般可以分析出最大路徑的那個(gè),就能代表其他了。

我現(xiàn)在是不會(huì)用示波器,也沒(méi)有一個(gè)精度很高的示波器。
作者: 1951387254    時(shí)間: 2022-11-1 14:23
速度 = 距離/時(shí)間。 對(duì)于命題而言實(shí)際上是時(shí)間長(zhǎng)短,而不存在距。 時(shí)間的長(zhǎng)短認(rèn)定,必須有起點(diǎn)和終點(diǎn)。 1、時(shí)間起始點(diǎn)在何處? 2、時(shí)間終止點(diǎn)在何處? 方案: 起點(diǎn)認(rèn)定,需要你加一個(gè)信號(hào),即認(rèn)為輸入數(shù)據(jù)穩(wěn)定了,被確認(rèn)的信號(hào),建議用A、B栓鎖信號(hào)認(rèn)定。當(dāng)A、B全部被確定后(栓鎖),作為開(kāi)始信號(hào)。 終止認(rèn)定:應(yīng)當(dāng)是計(jì)算結(jié)果正確且穩(wěn)定后,才能認(rèn)定的終止。 應(yīng)該取8位輸出全部穩(wěn)定(不再變化)的時(shí)刻作為終止點(diǎn)。這需要你對(duì)各種輸入計(jì)算結(jié)果進(jìn)行對(duì)比。取最不利的結(jié)果作為最終結(jié)果。
作者: Ele_insect    時(shí)間: 2022-11-1 14:40
1951387254 發(fā)表于 2022-11-1 14:23
速度 = 距離/時(shí)間。 對(duì)于命題而言實(shí)際上是時(shí)間長(zhǎng)短,而不存在距。 時(shí)間的長(zhǎng)短認(rèn)定,必須有起點(diǎn)和終點(diǎn)。 1、 ...

【取最不利的結(jié)果作為最終結(jié)果�!�
加法器里面有,最長(zhǎng)路徑的,這個(gè)是最慢的。只用測(cè)量這個(gè)的速度,就好了!
作者: Y_G_G    時(shí)間: 2022-11-1 15:14
你是做什么的?或者是說(shuō)你要做什么?為什么對(duì)"加法器速度"如此的執(zhí)著?
我個(gè)人認(rèn)為,這種古怪的問(wèn)題是由于新手剛剛學(xué)習(xí)某些專(zhuān)業(yè),基礎(chǔ)還沒(méi)有打好,然后就自己想當(dāng)然的去覺(jué)得應(yīng)該這么這么的,然后就冒出一個(gè)問(wèn)題來(lái)了
你仿真的時(shí)候,用的是理想元件,實(shí)際PCB的時(shí)候卻并不是理想元件,誤差肯定有的了
而且,你不會(huì)告訴我說(shuō),你用示波器不會(huì)看時(shí)間差吧?
而且,你這一堆操作的意義何在?是要看加法器的延時(shí)?還是說(shuō)問(wèn)題,本來(lái)就不是這個(gè)問(wèn)題,"加法器延時(shí)"只是你自己覺(jué)得應(yīng)該要看的?
作者: Ele_insect    時(shí)間: 2022-11-1 17:04
Y_G_G 發(fā)表于 2022-11-1 15:14
你是做什么的?或者是說(shuō)你要做什么?為什么對(duì)"加法器速度"如此的執(zhí)著?
我個(gè)人認(rèn)為,這種古怪的問(wèn)題是由于新手 ...

我要做:一個(gè)拓?fù)浣Y(jié)構(gòu)和RCA一樣簡(jiǎn)單的,晶體管數(shù)量少的,速度比CLA快的加法器。

只需要簡(jiǎn)單的并聯(lián),就能拼出32位,拼出64位的加法器,速度還要快過(guò)CLA【超前進(jìn)位加法器】
作者: Y_G_G    時(shí)間: 2022-11-1 19:24
Ele_insect 發(fā)表于 2022-11-1 17:04
我要做:一個(gè)拓?fù)浣Y(jié)構(gòu)和RCA一樣簡(jiǎn)單的,晶體管數(shù)量少的,速度比CLA快的加法器。

只需要簡(jiǎn)單的并聯(lián),就 ...

你的專(zhuān)業(yè)是什么?
FPGA還是嵌入式?
作者: Ele_insect    時(shí)間: 2022-11-1 19:46
Y_G_G 發(fā)表于 2022-11-1 19:24
你的專(zhuān)業(yè)是什么?
FPGA還是嵌入式?

機(jī)械。。。加法器功能,我已經(jīng)實(shí)現(xiàn)了。就缺最大延遲的測(cè)量了
作者: yzwzfyz    時(shí)間: 2022-11-2 10:22
【加法器里面有,最長(zhǎng)路徑的,這個(gè)是最慢的。只用測(cè)量這個(gè)的速度,就好了!】
1、電速如光速,最長(zhǎng)路徑能比其它路徑多幾何哉!如何證明它是最慢的。
2、即使是最短的路徑,如果其分布電容、電感大,也可能響應(yīng)是最慢的。
3、如果不做對(duì)比,你如何知道8個(gè)位,哪個(gè)位最慢。況且數(shù)字不同,結(jié)果不同,不可能每次都是某位最慢。
比如,第3位,本次計(jì)算結(jié)果與上次不相同,而其它位本次計(jì)算結(jié)果與上次相同(即沒(méi)有延時(shí))!你能說(shuō)第3位最慢嗎?
4、許多變化還與鄰近的線(xiàn)路相關(guān),當(dāng)相鄰的線(xiàn)路穩(wěn)定時(shí),它不受干擾,而相鄰線(xiàn)路波動(dòng)時(shí),它就被干擾了。也即不同的數(shù)據(jù)相加,某位受到的干擾不同,延時(shí)也會(huì)不同。要認(rèn)定哪一位延時(shí)最多,是需要做整體數(shù)據(jù)驗(yàn)證的。不是你所想像地線(xiàn)路最長(zhǎng)。
作者: Ele_insect    時(shí)間: 2022-11-2 12:17
yzwzfyz 發(fā)表于 2022-11-2 10:22
【加法器里面有,最長(zhǎng)路徑的,這個(gè)是最慢的。只用測(cè)量這個(gè)的速度,就好了!】
1、電速如光速,最長(zhǎng)路徑能 ...

關(guān)于第一點(diǎn):最長(zhǎng)路徑指的是門(mén)延遲最多的一條線(xiàn),線(xiàn)延遲相對(duì)于門(mén)延遲要小很多!

關(guān)于第三點(diǎn):不是8位對(duì)比的,8種情況。而是256*256=65536種情況(0到255分別加0到255),窮舉法測(cè)量,那就太多了,只能靠FPGA寫(xiě)出加法器,再通過(guò)程序進(jìn)行全面的測(cè)量時(shí)序了。

大致同意您的意見(jiàn)!
我現(xiàn)在應(yīng)該買(mǎi)一塊FPGA,然后寫(xiě)入我的設(shè)計(jì),之后用程序測(cè)量嗎?(FPGA測(cè)出的數(shù)據(jù)符合現(xiàn)實(shí)嗎?)
這個(gè)好學(xué)嗎?我就只用這一部分的東西,比較簡(jiǎn)單的!
作者: Ele_insect    時(shí)間: 2022-11-3 10:47
本帖最后由 Ele_insect 于 2022-11-3 11:19 編輯

文章中,Multisim 的SCA-4圖片錯(cuò)了!



作者: 風(fēng)吹過(guò)后    時(shí)間: 2022-11-6 21:01
加法器的速度翻倍,ALU的計(jì)算能力會(huì)不會(huì)翻倍?cpu的性能,能不能翻倍?

51單片機(jī)換上這個(gè)加法器,性能會(huì)翻倍嗎?
作者: Ele_insect    時(shí)間: 2022-11-7 10:44
風(fēng)吹過(guò)后 發(fā)表于 2022-11-6 21:01
加法器的速度翻倍,ALU的計(jì)算能力會(huì)不會(huì)翻倍?cpu的性能,能不能翻倍?

51單片機(jī)換上這個(gè)加法器,性能會(huì) ...

在微處理器芯片中,加法器是進(jìn)行數(shù)字信號(hào)處理的核心,同時(shí)也是微處理器中進(jìn)行數(shù)據(jù)處理的關(guān)鍵部件。
加法器完成一次操作的周期,基本上決定了微處理器的主頻。加法器的速度和面積優(yōu)化對(duì)于整個(gè)CPU的性能來(lái)說(shuō)是非常重要的。為了加快加法器的執(zhí)行速度,減少加法器的面積,有必要對(duì)加法器的算法、結(jié)構(gòu)及電路的具體實(shí)現(xiàn)做深入的研究。
我現(xiàn)在就搞了一個(gè)晶體管數(shù)量少的,速度快的,S分段C覆蓋并行加法器。
作者: Ele_insect    時(shí)間: 2022-11-16 09:34
Ele_insect 發(fā)表于 2022-11-7 10:44
在微處理器芯片中,加法器是進(jìn)行數(shù)字信號(hào)處理的核心,同時(shí)也是微處理器中進(jìn)行數(shù)據(jù)處理的關(guān)鍵部件。
加法 ...

我自己覺(jué)得,這個(gè)加法器挺好的,能加快ALU的計(jì)算速度,提升CPU性能!
作者: Ele_insect    時(shí)間: 2023-5-8 09:40
Ele_insect 發(fā)表于 2022-11-16 09:34
我自己覺(jué)得,這個(gè)加法器挺好的,能加快ALU的計(jì)算速度,提升CPU性能!

其實(shí)GPU的流處理器數(shù)量更多!我的2070顯卡,就有2300個(gè)流處理器,也就是說(shuō),一個(gè)顯卡里面可能會(huì)使用近萬(wàn)個(gè)加法器!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1