標(biāo)題: 怎樣測量加法器的速度?器件延遲的時間長度 [打印本頁]

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

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


        SCA:
        


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

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

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

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

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

兩個仿真軟件和PCB,都證明了,加法器的功能是沒有問題的。

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

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

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

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

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

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

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

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

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

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

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

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

文章中,Multisim 的SCA-4圖片錯了!



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

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

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

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

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

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




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