一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

寫RTL代碼時,盡可能地做到代碼風格與硬件結(jié)構(gòu)相匹配

FPGA技術(shù)驛站 ? 來源:Lauren的FPGA ? 作者:Lauren的FPGA ? 2020-09-24 14:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

兩個數(shù)相加,三個數(shù)相加有什么不同 接下來,我們考慮4個32-bit有符號數(shù)相加該如何實現(xiàn),其中目標時鐘頻率仍為400MHz。以UltraScale Plus系列芯片為目標芯片。 第一種方案:四個數(shù)直接相加此方案對應的電路圖如下圖所示。這里不難看出關(guān)鍵路徑是三個加法器所在路徑,這將是時序收斂的瓶頸。

此電路對應的SystemVerilog代碼如下圖所示。

從綜合后的結(jié)果來看,邏輯級數(shù)最高為7。

第二種方案:加法樹

加法樹的結(jié)構(gòu)如下圖所示,兩兩相加。與第一種方案相比,可以有效降低邏輯級數(shù)。

此電路對應的SystemVerilog代碼如下圖所示。

從綜合后的結(jié)果來看,邏輯級數(shù)最高為6。 第三種方案:加法鏈之所以選用加法鏈的結(jié)構(gòu)是因為DSP48本身就是這種鏈式結(jié)構(gòu)。對應的電路如下圖所示。其中a0和a1端口有一級寄存器,a2端口有兩級寄存器,a3端口有三級寄存器。

此電路對應的SystemVerilog代碼如下圖所示。

接下來,我們對這三種方案進行比較,如下圖所示。不難看出,第一種方案邏輯級數(shù)最高,消耗的LUT也最多,時序結(jié)果也是最差的(盡管達到了收斂的目的)。后兩種方案不相上下。

如果將這三種方案通過綜合屬性USE_DSP使其映射到DSP48上,結(jié)果如何呢?如下圖所示。不難看出,第一種方案只消耗了兩個DSP,資源利用率最低,但時序也是最糟糕的。后兩種方案都用了三個DSP,但第三種方案由于可以很好地匹配硬件結(jié)構(gòu),故時序最好。

對比下來不難得出這樣的結(jié)論:寫RTL代碼時,盡可能地做到代碼風格與硬件結(jié)構(gòu)相匹配,可達到更好的性能。

Tcl之$$a 80%的概率...... AI Engine到底是什么?

ACAP不可不知的幾個基本概念

嵌套的for循環(huán),到底對哪個執(zhí)行pipeline更好

HLS中循環(huán)的并行性(2)

HLS中循環(huán)的并行性(1)

HLS優(yōu)化方法DATAFLOW你用了嗎

HLS中如何控制流水程度

Vivado HLS學習資料有哪些

如何查看可綜合C代碼的中間結(jié)果

如何在C代碼中插入移位寄存器

HLS IP Library? HLS Math Library:csim ?C/RTL co-sim(2) HLS Math Library:csim ?C/RTL co-sim(1) 加法運算很簡單? AXI-4 Lite與AXI-4 Memory Mapped有什么區(qū)別? 深入理解AXI-4 Memory Mapped 接口協(xié)議 AXI是Interface還是Bus? 如何閱讀時序報告 時序報告要看哪些指標 如何使set_max_delay不被覆蓋 一些小巧的IP IP是用DCP還是XCI? 如果使用第三方綜合工具,Xilinx IP… IP生成文件知多少 IP的約束需要處理嗎? IP為什么被Locked? copy_ip你用過嗎? IP是XCI還是XCIX 如何降低OSERDES/CLK和CLKDIV的Clock Skew 如何獲取Device DNA 談談設(shè)計復用 過約束到底怎么做 時序收斂之Baseline 什么情況下要用OOC綜合方式 異步跨時鐘域電路該怎么約束 如何復用關(guān)鍵路徑的布局布線信息 Vivado學習資料有哪些? 異步跨時鐘域電路怎么設(shè)計 ECO都有哪些應用 FPGA中的CLOCK REGION和SLR是什么含義 FPGA中的BEL, SITE, TILE是什么含義 約束文件有哪些 如何高效復用Block的位置信息? 如何復用關(guān)鍵寄存器的位置信息 部分可重配置都生成哪些.bit文件 VIO你用對了嗎 Device視圖下能看到什么 Schematic視圖下能看到什么 都是pin,有什么區(qū)別 都是net,有什么區(qū)別 如何快速查找目標cell 學習筆記:深度學習與INT8 學習筆記:多層感知器 學習筆記:單層感知器的局限性 學習筆記:單層感知器基礎(chǔ)知識 學習筆記:神經(jīng)網(wǎng)絡學習算法 學習筆記:神經(jīng)網(wǎng)絡模型 學習筆記:ReLU的各種變形函數(shù) 學習筆記:神經(jīng)元模型(2) 學習筆記:神經(jīng)元模型(1) 學習筆記:深度學習之“深” 學習筆記:深度學習之“學習” 學習筆記:人工智能、機器學習和深度學習 2019文章匯總

原文標題:加法樹還是加法鏈?

文章出處:【微信公眾號:Lauren的FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    10414

    文章

    10738

    瀏覽量

    543253
  • 32-bit
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    6465

原文標題:加法樹還是加法鏈?

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    HarmonyOS AI輔助編程工具(CodeGenie)代碼續(xù)

    理解的情況下進行代碼生成。在編輯器中的內(nèi)容較少時,AI可能無法有效理解用戶的意圖并生成相應的代碼。 模型反饋需滿足規(guī)則:光標上文10行內(nèi),有效代碼行數(shù)超過5行(排除單獨{}、()、[]
    發(fā)表于 07-15 16:15

    【JVM開發(fā)者必看】IntelliJ IDEA代碼分析實踐指南:實時糾錯、冗余檢測、自動修復等

    【IntelliJ IDEA中的代碼分析技巧】靜態(tài)代碼分析是指在不實際運行代碼的情況下掃描代碼以發(fā)現(xiàn)潛在問題。IntelliJ IDEA中的檢查可以在您編譯項目之前檢測到其中的潛在問題
    的頭像 發(fā)表于 03-13 10:34 ?448次閱讀
    【JVM開發(fā)者必看】IntelliJ IDEA<b class='flag-5'>代碼</b>分析實踐指南:實時糾錯、冗余檢測、自動修復等

    分析C語言代碼結(jié)構(gòu)的設(shè)計問題

    來分析一個C語言代碼結(jié)構(gòu)的設(shè)計問題。 這段代碼,使用了兩次malloc,分別給 p1 和 p2 申請了內(nèi)存。用完后,內(nèi)存釋放,防止內(nèi)存泄漏。 大家覺得,這樣的代碼設(shè)計有沒有問題。
    的頭像 發(fā)表于 02-11 09:31 ?371次閱讀

    什么樣的代碼會被編譯器優(yōu)化

    現(xiàn)在的編譯器有多智能,可能你辛辛苦苦代碼,在編譯器看來就是幾句廢話,直接被刪除掉。
    的頭像 發(fā)表于 01-16 16:38 ?599次閱讀

    如何寫出穩(wěn)定的單片機代碼

    這篇文章分享怎么寫出穩(wěn)定的單片機代碼。? ?? 我對優(yōu)秀代碼的理解,大體分為兩個部分:高效和穩(wěn)定。 ? 兩者都能做到很好的,如果靠自己摸索,沒有刻意去練習,可能需要花10年,甚至更久
    的頭像 發(fā)表于 11-15 16:40 ?824次閱讀
    如何寫出穩(wěn)定的單片機<b class='flag-5'>代碼</b>

    汽車異構(gòu)硬件平臺開發(fā)如何進行靜態(tài)代碼分析

    隨著汽車軟件開發(fā)復雜度的提升,異構(gòu)硬件平臺的應用已成為必然趨勢。多編譯器環(huán)境的引入不僅是技術(shù)發(fā)展的自然產(chǎn)物,更是解決日益增長的功能需求和技術(shù)挑戰(zhàn)的有效途徑。在此背景下,Helix QAC 作為一款
    的頭像 發(fā)表于 10-09 16:15 ?890次閱讀
    汽車異構(gòu)<b class='flag-5'>硬件</b>平臺開發(fā)如何進行靜態(tài)<b class='flag-5'>代碼</b>分析

    Verilog 如何做到心中有電路?

    :要在 Verilog 代碼做到心中有電路,可以嘗試以下方法: 深入學習數(shù)字電路基礎(chǔ)知識:包括各種邏輯門、組合邏輯電路、時序邏輯電路的原理和結(jié)構(gòu),理解它們的工作方式和功能。 分解復
    發(fā)表于 09-26 20:30

    代碼整潔之道-大師眼中的整潔代碼是什么樣

    幾個月前寫了一篇文章“如何寫出難以維護的代碼”,從中能大概了解到不好維護的代碼是什么樣,有哪些壞味道,那肯定有人會反問,難以維護的代碼見的太多了,也知道長什么樣,但是對于好維護的代碼
    的頭像 發(fā)表于 09-09 16:30 ?653次閱讀
    <b class='flag-5'>代碼</b>整潔之道-大師眼中的整潔<b class='flag-5'>代碼</b>是什么樣

    ida反編譯出來代碼能直接用嗎

    一些有助于人類閱讀但不影響機器執(zhí)行的元信息,如注釋、文檔字符串以及某些編譯時優(yōu)化的細節(jié)。因此,反編譯出來的代碼可能無法完全還原原始代碼的意圖和結(jié)構(gòu)。 二、依賴性問題 即使反編譯出來的
    的頭像 發(fā)表于 09-02 10:55 ?1449次閱讀

    hex文件如何查看原c語言代碼

    直接將 .hex 文件轉(zhuǎn)換回原始的 C 語言代碼是不可能的,因為 .hex 文件是二進制文件,它包含了單片機程序編譯后的機器碼,這些機器碼與原始的 C 語言代碼結(jié)構(gòu)和表達上存在巨大的
    的頭像 發(fā)表于 09-02 10:37 ?4958次閱讀

    低噪聲放大器的第一級放大電路要盡可能的放大,為什么?

    為什么低噪聲放大器的第一級放大電路要盡可能的放大?
    發(fā)表于 08-30 07:40

    為了盡可能的消除模擬開關(guān)的影響,xtr105的電壓至少需要多少伏?

    開關(guān),那么RZ,Rg應該怎么確定阻值,模擬開關(guān)應該算進線路電阻中嗎?。為了盡可能的消除模擬開關(guān)的影響,xtr105的電壓至少需要多少伏?Q1選擇除了datasheet中給的三個選項有可以替代的嗎,三個三極管好像都是比較老的產(chǎn)品了。最后,xtr105的輸出可以直接連到ADC上嗎?
    發(fā)表于 08-26 06:27

    請問怎樣修改電路使帶寬盡可能加寬到200MHz以上,增益不要有太大的波動?

    在此電路中輸入為100mV,但是在50MHz到100MHz才能進行五倍的增益,超過這個頻率就會迅速衰減,我想請問怎樣修改電路使帶寬盡可能加寬到200MHz以上,增益不要有太大的波動謝謝。
    發(fā)表于 08-23 07:04

    軟件設(shè)計哲學:新“代碼整潔之道”

    ”、“方法長度最多不要超過 5 行”和“優(yōu)秀的代碼都是自解釋的,很少會有注釋”等等觀點奉為圭臬,但是由于其成書較早,其中的一些觀點顯然已經(jīng)不再使用當前業(yè)務開發(fā)環(huán)境了。就拿前兩點來說,看上去能讓每個小方法盡可能
    的頭像 發(fā)表于 07-22 12:18 ?491次閱讀
    軟件設(shè)計哲學:新“<b class='flag-5'>代碼</b>整潔之道”

    請問stm32f103VCT6的spi1的兩處接口可以混用嗎?

    我在設(shè)計硬件時spi連岔了線,為了盡可能少改動已有的線,我發(fā)現(xiàn)spi1在stm32f103vct6上有兩處。我想用PB5作為MOSI,用PA5PA6作為SCK和MISO,但是在cubemx設(shè)置發(fā)現(xiàn)不能同時設(shè)置,如果不用cubemx而是靠標準庫
    發(fā)表于 07-22 07:32