chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度解析FPGA時序的進(jìn)位鏈

454398 ? 來源: 科學(xué)計算 technomania ? 作者:貓叔 ? 2020-11-16 16:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA中我們寫的最大的邏輯是什么?相信對大部分朋友來說應(yīng)該是計數(shù)器,從最初板卡的測試時我們會閃爍LED,到復(fù)雜的AXI總線中產(chǎn)生地址或者last等信號,都會用到計數(shù)器,使用計數(shù)器那必然會用到進(jìn)位鏈。

可能很多剛開始接觸FPGA的同學(xué)沒聽過進(jìn)位鏈,也就是Carry Chain,我們這里再回顧一下。FPGA的三個主要資源為:

1. 最低邏輯單元

可配置邏輯單元(CLB)

存儲單元

運(yùn)算單元(DSP48)

2. 一流的I / O資源

3. 布線資源

其中,CLB在FPGA中最豐富,在7系列的FPGA中,一個CLB中有兩個Slice,Slice中包含4個LUT6、3個數(shù)據(jù)選擇器MUX,兩個獨立進(jìn)位鏈(Carry4,Ultrascale是CARRY8)和8個主軸。

首先,我們來看下Carry Chain的結(jié)構(gòu)原理,其輸入輸出接口如下:

其中,

CI是上一個CARRY4的進(jìn)位輸出,位寬為1;

CYINT是進(jìn)位的初始化值,位寬為1;

DI是數(shù)據(jù)的輸入(兩個加數(shù)的任意一個),位寬為4;

SI是兩個加數(shù)的異或,位寬為4;

O是加法結(jié)果輸出,位寬為4;

CO是進(jìn)位輸出,位寬為4;(為什么進(jìn)位輸出是4bit?后面有解釋)

Carry4的內(nèi)部結(jié)構(gòu)如下圖所示:

這里我們要先解釋一下FPGA中利用卡里鏈(Carry Chain)實現(xiàn)加法的原理,比如兩個加數(shù)分別為a = 4'b1000和b=4'b1100,其結(jié)果應(yīng)該是8+12=20。

a = 4'b1000;
b = 4'b1100;

S = a ^ b = 4'b0100;
D = b = 4'b1100;          //D取a也可以
CIN = 0;                  //沒有上一級的進(jìn)位輸入
CYINIT = 0;               //初始值為0
// 下面為CARRY4的計算過程,具體的算法跟上圖中過程一樣
S0 = 0;                  //S的第0位
O0 = S0 ^ 0 = 0 ^ 0 = 0;
CO0 = DI0 = 0;            //上圖中的MUXCY,S0為0時,選擇1,也就是DI0,S0為1是選擇2
S1 = 0;
O1 = S1 ^ CO0 = 0 ^ 0 = 0;
CO1 = DI1 = 0;
S2 = 1;
O2 = S2 ^ CO1 = 0 ^ 1 = 1;
CO2 = CO1 = 0;
S3 = 0;
O3 = S3 ^ CO2 = 0 ^ 0 = 0;
CO3 = DI3 = 1;

加法最終的輸出結(jié)果為:{CO3,O3,O2,O1,O0} = 5'b10100 =20。進(jìn)位輸出在CARRY4的內(nèi)部也使用到了,因此有4個位的進(jìn)位輸出CO,但輸出給下一級的只是CO [3]。

再來看完下面的例子就更清晰了。Example的代碼如下:

module top(

 input clk,
 input [7:0] din_a,
 input [7:0] din_b,
 output reg[7:0] dout
    );

 always @ ( posedge clk )
 begin
    dout <= din_a + din_b;
 end  
endmodule

綜合之后的電路如下:

在本程序中,加數(shù)為din_a和din_b,圖中

1 表示CARRY4的進(jìn)位輸出到下一級的進(jìn)入輸入;

2 表示輸入的一個加數(shù)din_a(換成din_b也是可以的);

3 表示第二級輸入的DI端口,因為第二級CARRY是通過第一級的進(jìn)位輸出進(jìn)行累加,因此該接口為0;

4 表示輸入兩個加數(shù)的異或結(jié)果。

可以拋光,當(dāng)進(jìn)行兩個兩個bit的數(shù)據(jù)進(jìn)行加法操作時,會使用兩個CARRY4級聯(lián),那如果是對48位的數(shù)據(jù)進(jìn)行相加,那就會用到12個的CARRY4的級聯(lián),這樣(此處需要注意的是,在Vivado的設(shè)置下,如果進(jìn)行的是12bit以下的數(shù)據(jù)加1'b1的操作,那么Vivado綜合的結(jié)果并不會使用CARYY4,或者使用LUT來實現(xiàn)加法器)。

那如何解決這種問題呢?我們可以把加法操作進(jìn)行拆解,比如拆解成3個16bit的計數(shù)器,那這樣就會只有4個CARRY4的級聯(lián),時序情況就好了很多。

對比程序如下:

module top(

 input clk,
 input [47:0] din1,
 input [47:0] din2,
 output reg[47:0] dout1,
 output    [47:0] dout2
 );

 always @ ( posedge clk )
 begin
    dout1 <= din1 + 1'b1;
 end  

 genvar i;
 generate
 for(i = 0;i < 3;i=i+1) begin:LOOP
    wire carry_co;
    reg [15:0] carry_o=0;
    wire ci;
    if(i==0)  begin
        always @ ( posedge clk )
         begin
            carry_o <= din2[i*16+:16] + 1'b1;
         end
     end //if
     else begin
        always @ (posedge clk) begin
            if(LOOP[i-1].carry_co == 1)
                carry_o <= carry_o + 1'b1;
        end
     end //else
    assign LOOP[i].carry_co = (LOOP[i].carry_o==16'hffff)?1'b1:1'b0;
    assign dout2[i*16+:16] = LOOP[i].carry_o;

 end //for

 endgenerate

endmodule

:綜合后的schematic后可以發(fā)現(xiàn),在dout2的輸出中,每4個CARRY4后都會有一級的觸發(fā),這樣時序就會好很多,但造成的代價是LUT會增加。

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1650

    文章

    22217

    瀏覽量

    628055
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2303

    瀏覽量

    97332
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    亞馬遜 SP-API 深度開發(fā):關(guān)鍵字搜索接口的購物意圖挖掘與合規(guī)競品分析

    本文深度解析亞馬遜SP-API關(guān)鍵字搜索接口的合規(guī)調(diào)用與商業(yè)應(yīng)用,涵蓋意圖識別、競品分析、性能優(yōu)化全路。通過COSMO算法解析用戶購物意圖,結(jié)合合規(guī)技術(shù)方案提升關(guān)鍵詞轉(zhuǎn)化率,助力賣家
    的頭像 發(fā)表于 10-17 14:59 ?183次閱讀

    微機(jī)消諧器是什么?技術(shù)原理深度解析

    在6-35kV中性點不接地電網(wǎng)中,**鐵磁諧振**是引發(fā)電壓異常(如PT爆炸、設(shè)備損壞)的主要元兇。微機(jī)消諧器正是專為解決這一頑疾而生的智能裝置。 核心技術(shù)原理深度解析: 1. ?精準(zhǔn)“感知”諧振
    的頭像 發(fā)表于 08-15 09:07 ?500次閱讀

    聚徽深度解析國內(nèi)工控平板電腦的工業(yè)級抗干擾技術(shù)如何實現(xiàn)?

    在工業(yè)自動化與智能制造領(lǐng)域,工控平板電腦作為核心人機(jī)交互終端,其抗干擾能力直接決定了生產(chǎn)系統(tǒng)的穩(wěn)定性與可靠性。國內(nèi)廠商通過技術(shù)創(chuàng)新與場景適配,構(gòu)建了從硬件設(shè)計到軟件優(yōu)化的全路抗干擾體系。本文將從技術(shù)原理、硬件架構(gòu)、軟件策略及場景驗證四個維度,深度
    的頭像 發(fā)表于 07-11 18:11 ?491次閱讀

    GPU架構(gòu)深度解析

    GPU架構(gòu)深度解析從圖形處理到通用計算的進(jìn)化之路圖形處理單元(GPU),作為現(xiàn)代計算機(jī)中不可或缺的一部分,已經(jīng)從最初的圖形渲染專用處理器,發(fā)展成為強(qiáng)大的并行計算引擎,廣泛應(yīng)用于人工智能、科學(xué)計算
    的頭像 發(fā)表于 05-30 10:36 ?931次閱讀
    GPU架構(gòu)<b class='flag-5'>深度</b><b class='flag-5'>解析</b>

    Nginx核心功能深度解析

    Nginx核心功能深度解析
    的頭像 發(fā)表于 05-09 10:50 ?549次閱讀

    邊緣AI MPU深度盤點:品牌、型號與技術(shù)特性全解析

    邊緣AI MPU深度盤點:品牌、型號與技術(shù)特性全解析 隨著邊緣計算與人工智能的深度融合,邊緣AI MPU(微處理器)已成為支撐物聯(lián)網(wǎng)、智能制造、自動駕駛等場景的核心硬件。本文從品牌、型號、技術(shù)特性
    的頭像 發(fā)表于 04-30 17:27 ?2980次閱讀

    解鎖未來汽車電子技術(shù):軟件定義車輛與區(qū)域架構(gòu)深度解析

    解鎖未來汽車電子技術(shù):軟件定義車輛與區(qū)域架構(gòu)深度解析 ——立即下載白皮書,搶占智能汽車發(fā)展先機(jī) *附件:解鎖未來汽車電子技術(shù):軟件定義車輛與區(qū)域架構(gòu)深度解析.pdf 為什么這份白皮書值
    的頭像 發(fā)表于 04-27 11:58 ?925次閱讀

    FPGA時序約束之設(shè)置時鐘組

    Vivado中時序分析工具默認(rèn)會分析設(shè)計中所有時鐘相關(guān)的時序路徑,除非時序約束中設(shè)置了時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組中時
    的頭像 發(fā)表于 04-23 09:50 ?849次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時序</b>約束之設(shè)置時鐘組

    風(fēng)華電容命名方法深度解析

    在電子元器件領(lǐng)域,風(fēng)華電容憑借其清晰的命名體系、全面的技術(shù)參數(shù)和廣泛的應(yīng)用場景,成為國內(nèi)外市場的標(biāo)志性品牌。本文將從命名規(guī)則、技術(shù)參數(shù)、行業(yè)應(yīng)用及市場優(yōu)勢四個維度,深度解析風(fēng)華電容的技術(shù)特性
    的頭像 發(fā)表于 04-11 11:58 ?889次閱讀

    深度解析Linux中的DNS服務(wù)

    dns,Domain Name Server,它的作用是將域名解析為 IP 地址,或者將IP地址解析為域名。
    的頭像 發(fā)表于 04-09 16:13 ?552次閱讀

    國產(chǎn)自研新標(biāo)桿:龍芯GM9-3003主板深度解析

    國產(chǎn)自研新標(biāo)桿:龍芯GM9-3003主板深度解析
    的頭像 發(fā)表于 03-04 13:55 ?717次閱讀

    有沒有對appsfpga_io模塊輸入端功能時序的控制的資料?

    我們的要求,只是按行輸入數(shù)據(jù),全局reset。有沒有對appsfpga_io模塊輸入端功能時序的控制的資料?
    發(fā)表于 02-27 07:02

    玻璃通孔(TGV)技術(shù)深度解析

    的性能和可靠性,還推動了整個電子封裝行業(yè)的創(chuàng)新發(fā)展。本文將對TGV技術(shù)的基本原理、制造流程、應(yīng)用優(yōu)勢以及未來發(fā)展進(jìn)行深度解析
    的頭像 發(fā)表于 02-02 14:52 ?5392次閱讀

    FPGA驅(qū)動AD芯片之實現(xiàn)與芯片通信

    概述:?利用FPGA實現(xiàn)AD芯片的時序,進(jìn)一步實現(xiàn)與AD芯片數(shù)據(jù)的交互,主要熟悉FPGA時序圖的實現(xiàn),掌握時序圖轉(zhuǎn)換Verilog硬件描述
    的頭像 發(fā)表于 12-17 15:27 ?1389次閱讀
    <b class='flag-5'>FPGA</b>驅(qū)動AD芯片之實現(xiàn)與芯片通信

    深度解析研華全棧式AI產(chǎn)品布局

    在人工智能邁向邊緣智能化的浪潮中,研華科技通過“Edge AI+生態(tài)協(xié)同”戰(zhàn)略推動AIoT 2.0時代的產(chǎn)業(yè)落地。本文專訪研華科技產(chǎn)品總監(jiān)邱柏儒,深度解析研華全棧式AI產(chǎn)品布局、差異化技術(shù)積累與生態(tài)共創(chuàng)實踐。
    的頭像 發(fā)表于 12-05 09:51 ?1344次閱讀