在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

HLS中組合電路對設(shè)計的影響

OpenFPGA ? 來源:OpenFPGA ? 2023-11-03 09:04 ? 次閱讀

組合電路在 HLS 中的重要性

該項目通過一個示例演示了 HLS 中組合電路對設(shè)計的影響。

3aa9319a-79e1-11ee-939d-92fbcf53809c.png

在 HLS 中描述組合任務(wù)非常重要,因為它直接影響整個系統(tǒng)的性能。這里我舉一個簡單的例子來解釋一下這個問題。

介紹

高級綜合工具將算法轉(zhuǎn)換為等效的 RTL 描述。該描述代表邏輯電路,可以通過ASICFPGA技術(shù)來綜合。

3abe6da8-79e1-11ee-939d-92fbcf53809c.png

邏輯電路可以是以下兩種類型之一:組合電路或時序電路。組合電路的輸出僅是其輸入上的當(dāng)前邏輯值的函數(shù)。如圖1所示,只需使用基本邏輯門即可實現(xiàn)組合電路,不需要存儲單元。

3ada9b54-79e1-11ee-939d-92fbcf53809c.png

圖1

另一方面,時序電路的輸出不僅取決于其輸入的當(dāng)前值,還取決于過去時間的輸入值的歷史記錄。

電路狀態(tài)通常模擬輸入值歷史的影響。一組存儲單元可以代表這些狀態(tài)。

3af3d93e-79e1-11ee-939d-92fbcf53809c.png

圖2

圖2顯示了由組合電路和一組保存電路狀態(tài)的存儲單元組成的時序電路的結(jié)構(gòu)。存儲器單元可以是觸發(fā)器、BRAM或DDR存儲器的形式。

組合部分接收兩組數(shù)據(jù):主輸入和狀態(tài)。然后它生成兩組輸出:主要輸出和下一個狀態(tài)。系統(tǒng)中的其他模塊使用主輸出,而下一個狀態(tài)數(shù)據(jù)修改存儲單元并定義新的電路狀態(tài)。

動機

所有組合電路都需要一個時間間隔,以便在其輸入發(fā)生任何變化后產(chǎn)生穩(wěn)定的輸出。這個時間被稱為傳播延遲。組合電路中從輸入到輸出的不同路徑可能具有各種延遲。最長路徑也稱為關(guān)鍵路徑,被定義為設(shè)計傳播延遲。

在時序電路中,時鐘周期對設(shè)計性能有直接影響。圖 2 中組合部分的傳播延遲決定了最小時鐘周期。因此,它的好壞直接影響到整個系統(tǒng)的性能。

時序電路通常需要幾個時鐘周期來完成其相關(guān)任務(wù)。所需時鐘周期的最大數(shù)量稱為設(shè)計延遲。組合部分也對相關(guān)時序電路的延遲有直接影響。

因此,了解如何在 HLS 中設(shè)計高效的組合電路是在硬件上開發(fā)高性能算法的第一步。

組合電路的影響

在這里,將通過一個例子來解釋正確的 C/C++ 描述組合設(shè)計如何能夠加快實現(xiàn)速度。

假設(shè)我們要在如圖 3 所示的 Basys3 FPGA 評估板上可用的四個七段上顯示數(shù)字的四位十進制數(shù)字。

3b0e9f1c-79e1-11ee-939d-92fbcf53809c.png

圖3

第一步是提取四位十進制數(shù)字,然后找到每個數(shù)字對應(yīng)的七段代碼,并將代碼發(fā)送到板上的段選擇上。這里我只解釋第一個任務(wù),即提取四位小數(shù)。

讓我們考慮以下 Vivado-HLS 代碼,該代碼提取 4 位無符號整數(shù)的十進制數(shù)字。設(shè)計頂部函數(shù)是extract_decimal_digits ,它接受輸入參數(shù)(即a )并生成四個輸出(即 digital_1、digit_2、digit_3、digit_4)。它調(diào)用函數(shù)get_digit四次來提取每個數(shù)字。get_digit函數(shù)提取接收到的號碼的第一位數(shù)字,然后對其進行修改。

3b2b29a2-79e1-11ee-939d-92fbcf53809c.png

如果我們執(zhí)行高級綜合過程來生成等效的 RTL 設(shè)計,則圖 5 顯示了 Basys3 板的報告。Vivado-HLS 綜合過程利用參數(shù)化的 Xilinx LogiCORE 除法器內(nèi)核來實現(xiàn)模運算。該代碼具有流水線結(jié)構(gòu)。

可以看出,設(shè)計時鐘周期約束為10 ns(用1注釋)。流水線設(shè)計需要 35 個周期來完成其任務(wù),即 0.35 us(用 2 表示)。此外,它還使用了 12 個 DSP、1474 個 FF 和 1057 個 LUT。

3b53dbae-79e1-11ee-939d-92fbcf53809c.png

圖5

現(xiàn)在讓我們考慮以下實現(xiàn),將模運算替換為其等效的算術(shù)表達式,即 a%10 = a – 10*(a/10)。如果我們直接使用這個表達式,編譯器會優(yōu)化代碼,再次使用模運算,并生成相同的 RTL 描述。為了阻止編譯器優(yōu)化代碼,我使用了一個單獨的子函數(shù)來執(zhí)行除 10 運算符。另外,還關(guān)閉了編譯器函數(shù)內(nèi)聯(lián)功能。

3b5e692a-79e1-11ee-939d-92fbcf53809c.png

現(xiàn)在,如果我們綜合此代碼,圖 7 將顯示相應(yīng)的報告。

該電路完全由組合電路搭建。電路傳播延遲為23.607 ns,使用28個DSP和262個LUT。

3b7790c6-79e1-11ee-939d-92fbcf53809c.png

圖7

比較這兩種實現(xiàn)方式:圖 8 顯示了比較結(jié)果。在該圖中,“Solution 1”對應(yīng)于使用模運算符的第一種方案,“Solution 2”代表第二種方案。

3b9fef8a-79e1-11ee-939d-92fbcf53809c.png

可以看出,第一種方案需要 35 個時鐘周期,由于時鐘周期為 10 ns,因此需要 350 ns才能生成輸出。然而,第二種方案只需要 23.607 ns 即可生成輸出。所以第二個實現(xiàn)速度快了 14.83 倍。

此外,第二種方案在 FPGA 上使用的資源要少得多。

結(jié)論

設(shè)計高效的組合電路是在 HLS 中開發(fā)算法或系統(tǒng)控制器的第一步。多種優(yōu)化技術(shù)和編碼風(fēng)格可用于描述復(fù)雜算法的組合部分。






審核編輯:劉清

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

    關(guān)注

    13

    文章

    494

    瀏覽量

    42709
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1206

    瀏覽量

    120757
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59950
  • 組合電路
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6714
  • HLS
    HLS
    +關(guān)注

    關(guān)注

    1

    文章

    130

    瀏覽量

    24208

原文標(biāo)題:組合電路在 HLS 中的重要性

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

收藏 人收藏

    評論

    相關(guān)推薦

    探索Vivado HLS設(shè)計流,Vivado HLS高層次綜合設(shè)計

    設(shè)計來滿足各種約束 用不用的指令來探索多個HLS解決方案 2.實驗內(nèi)容 實驗中文件包含一個矩陣乘法器的實現(xiàn),實現(xiàn)兩個矩陣inA和inB相乘得出結(jié)果,并且提供了一個包含了計算結(jié)果的testbench
    的頭像 發(fā)表于 12-21 16:27 ?3667次閱讀

    如何在HLS 14.3編寫pow功能?

    嗨? 如何在HLS 14.3編寫pow功能? HLS 14.3不支持exp和pow功能。我在我的代碼寫了“#include math.h”。但是,它不起作用。 另外,我想知道C代碼
    發(fā)表于 03-05 13:40

    如何使用Vivado HLS生成了一個IP

    你好,我使用Vivado HLS生成了一個IP。從HLS測量的執(zhí)行和測量的執(zhí)行時間實際上顯著不同。由HLS計算的執(zhí)行非常小(0.14 ms),但是當(dāng)我使用AXI計時器在真實場景測量它
    發(fā)表于 05-05 08:01

    合成的Vivado HLS的Pragma錯誤怎么解決

    模擬過程完成沒有0錯誤,但在合成期間顯示錯誤。我無法找到錯誤。我在合成期間在HLS工具收到這樣的錯誤“在E包含的文件:/thaus / fact_L / facoriall
    發(fā)表于 05-21 13:58

    【正點原子FPGA連載】第一章HLS簡介-領(lǐng)航者ZYNQ之HLS 開發(fā)指南

    處理所需的電路。算法的本質(zhì)定義出數(shù)據(jù)通路和控制元件,設(shè)計者可以在 HLS 采取專門的步驟來最小化控制元件的復(fù)雜度。調(diào)度和綁定HLS 是由兩個主要過程組成的:調(diào)度(Scheduling
    發(fā)表于 10-10 16:44

    Vivado HLS設(shè)計流的相關(guān)資料分享

    多個HLS解決方案2.實驗內(nèi)容實驗中文件包含一個矩陣乘法器的實現(xiàn),實現(xiàn)兩個矩陣inA和inB相乘得出結(jié)果,并且提供了一個包含了計算結(jié)果的testbench文件來與所得結(jié)果進行對比驗證。...
    發(fā)表于 11-11 07:09

    FPGA高層次綜合HLS之Vitis HLS知識庫簡析

    1、HLS最全知識庫介紹高層次綜合(High-level Synthesis)簡稱HLS,指的是將高層次語言描述的邏輯結(jié)構(gòu),自動轉(zhuǎn)換成低抽象級語言描述的電路模型的過程。對于AMD Xilinx而言
    發(fā)表于 09-07 15:21

    使用Vitis HLS創(chuàng)建屬于自己的IP相關(guān)資料分享

    1、使用Vitis HLS創(chuàng)建屬于自己的IP高層次綜合(High-level Synthesis)簡稱HLS,指的是將高層次語言描述的邏輯結(jié)構(gòu),自動轉(zhuǎn)換成低抽象級語言描述的電路模型的過程。對于AMD
    發(fā)表于 09-09 16:45

    HLSRTL無法導(dǎo)出IP核是為什么?

    請教一下,我在HLS里面要將以下程序生成IP核,C Synthesis已經(jīng)做好了,但是在export RTL的時候一直在運行 int sum_single(int A int B
    發(fā)表于 09-28 06:03

    組合邏輯電路的競爭冒險

    組合邏輯電路的競爭冒險   前面分析組合邏輯電路時,都沒有考慮門電路的延遲時間對
    發(fā)表于 04-07 10:13 ?1.1w次閱讀
    <b class='flag-5'>組合</b>邏輯<b class='flag-5'>電路</b><b class='flag-5'>中</b>的競爭冒險

    hls協(xié)議是什么?hls協(xié)議詳細介紹

     摘要:HTTP Live Streaming(縮寫是HLS)是一個由蘋果公司提出的基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議。今天主要以HLS協(xié)議為中心講述它的一些原理。
    發(fā)表于 12-10 09:25 ?5.6w次閱讀

    FPGA設(shè)計HLS 工具應(yīng)用

    在集成電路行業(yè)飛速發(fā)展的今天,縮短產(chǎn)品開發(fā)的周期而又不犧牲驗證過程,這不可避免地成為了商業(yè)市場的一個關(guān)鍵因素。Xilinx Vivado High Level Synthesis (即Vivado
    發(fā)表于 06-04 01:43 ?7453次閱讀
    FPGA設(shè)計<b class='flag-5'>中</b>的<b class='flag-5'>HLS</b> 工具應(yīng)用

    hls之xfopencv

    vivado本身集成了opencv庫以及hls視頻庫了,opencv不能被綜合導(dǎo)出為RTL電路hls視頻庫的功能有所欠缺,因此引入xfopencv作為既可以被綜合導(dǎo)出為RTL電路,也
    的頭像 發(fā)表于 09-09 15:07 ?1916次閱讀

    組合邏輯電路的危害

    本文介紹開發(fā)組合邏輯電路時可能發(fā)生的意外開關(guān)事件,稱為危險。 本文是關(guān)于使用邏輯門進行組合電路設(shè)計和仿真的介紹性系列文章的第二部分。在上一篇文章
    的頭像 發(fā)表于 01-27 14:18 ?1810次閱讀
    <b class='flag-5'>組合</b>邏輯<b class='flag-5'>電路</b><b class='flag-5'>中</b>的危害

    FPGA——HLS簡介

    是Vitis HLS。在Vivado 2020版本替代原先的Vivado HLS, 功能略有差異。 HLS 的機理 ? ?簡單地講,HLS
    的頭像 發(fā)表于 01-15 12:10 ?5131次閱讀
    主站蜘蛛池模板: tom影院亚洲国产日本一区 | 国产成人精品怡红院 | 亚洲高清视频一区 | 中国一级黄色毛片 | 日韩1024 | 午夜在线播放视频在线观看视频 | 男人透女人超爽视频免费 | 1024手机在线看片 | 黄 色 成 年人网站 黄 色 成 年人在线 | 人人澡人人澡人人看青草 | 天天干天天噜 | 男人和女人做免费做爽爽视频 | 三级www| 欧美一区二区三区四区在线观看 | 国产一区二区在线观看免费 | 久久久一本波多野结衣 | 日鲁夜鲁鲁狠狠综合视频 | 99pao在线视频精品免费 | 欧美一区二区三区影院 | 精品国产自在在线在线观看 | 久久精品免费视频观看 | 美日毛片| 天堂网在线www资源网 | 91视频免费观看 | 亚洲综合色在线 | 黄网站视频 | 最新亚洲人成网站在线影院 | 国产成人综合自拍 | 久久香蕉国产视频 | 啪啪免费视频网站 | 夜性影院| 天堂综合 | 人人看人人做 | 天天摸天天看天天做天天爽 | 2021国产精品午夜久久 | 欧美专区欧美吧 | 成人激情在线 | 你懂的在线视频播放 | 岛国片欧美一级毛片 | 一区二区三区在线观看视频 | 日本3级视频 |