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

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

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

如何理解HLS Block-level輸入輸出信號之間的時序關(guān)系

FPGA技術(shù)驛站 ? 來源:FPGA技術(shù)驛站 ? 作者:FPGA技術(shù)驛站 ? 2022-11-11 11:54 ? 次閱讀

默認(rèn)情況下,VitisHLS會對待綜合的C函數(shù)使用ap_ctrl_hs接口,這其實是一種握手方式。在這個接口中,我們會看到ap_start、ap_idle、ap_ready和ap_done等信號(這些信號被稱為Block-level輸入/輸出信號)。其中ap_start是輸入信號,而其余三個信號是輸出信號。那么我們?nèi)绾胃鶕?jù)這些信號管理輸入數(shù)據(jù)呢?這就要理解這些信號之間的時序關(guān)系。為便于說明,我們以一個簡單的算法為例。

如下圖所示代碼片段。函數(shù)array_mult有3個形參。其中a1和a2是長度為N的一維數(shù)組,兩者對應(yīng)元素相減再平方即為另一形參prod。顯然,prod也是長度為N的一維數(shù)組。

4920de9e-6173-11ed-8abf-dac502259ad0.png

為了觀察這些Block-level信號之間的時序關(guān)系,我們在仿真時將多次調(diào)用函數(shù)array_mult。為此,在描述測試激勵時,輸入激勵以兩個二維數(shù)組形式給出,這兩個二維數(shù)組對應(yīng)的每一列作為array_mult的輸入。假定這兩個二維數(shù)組是8行4列的數(shù)組,C/RTLco-sim仿真結(jié)果波形如下圖所示。

494622c6-6173-11ed-8abf-dac502259ad0.png

標(biāo)記1為數(shù)組a2對應(yīng)存儲單元的讀地址a2_address,共8個數(shù)據(jù);標(biāo)記2顯示了讀書的數(shù)據(jù)數(shù)值a2_q0,可以看到兩者相差一個時鐘周期。那么什么時候a2_address可以發(fā)生變化呢?我們從標(biāo)記A可以看到,在標(biāo)記A左邊,ap_idle為高電平,表明該模塊處于空閑狀態(tài),標(biāo)記A之后,ap_start為高電平,同時ap_idle變?yōu)榈碗娖?。一旦ap_start為高,a2_ce0即為高,表明可以開始讀取a2對應(yīng)的數(shù)據(jù)。當(dāng)?shù)谝粠?個數(shù)據(jù)讀取完畢,即讀取到第一幀最后一個數(shù)據(jù)時,ap_ready為由低電平變?yōu)楦唠娖角页掷m(xù)一個時鐘周期,表明第一幀輸入數(shù)據(jù)已讀取完畢,如圖中標(biāo)記B。緊接著ap_start也由高電平變?yōu)榈碗娖?。?dāng)?shù)谝粠嬎阃戤?,輸出對?yīng)的8個數(shù)據(jù)后,ap_done由低電平變?yōu)楦唠娖讲⒊掷m(xù)一個時鐘周期,如圖中標(biāo)記C。當(dāng)ap_done由高變低時,ap_idle則由低變高,表明可以再次啟動該模塊。因此,我們可以看到標(biāo)記D處ap_start為高,之后a2_ce0由低變高開始讀取第二幀輸入數(shù)據(jù)。讀取到第二幀輸入數(shù)據(jù)的最后一個數(shù)據(jù)后,ap_ready由低電平變?yōu)楦唠娖健?/p>

由此我們可以得出如下結(jié)論:

ap_start受ap_idle影響,只有當(dāng)ap_idle為高時,才可以啟動ap_start,將其由低電平變?yōu)楦唠娖?

ap_ready為高電平時,表明已完成一幀的輸入數(shù)據(jù)讀取任務(wù);

ap_done為高電平時,表明已完成一幀的輸出數(shù)據(jù)寫入任務(wù);

ap_done持續(xù)一個時鐘周期由高變低后,ap_idle會由低變高。

審核編輯:湯梓紅

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

    關(guān)注

    3

    文章

    4260

    瀏覽量

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

    關(guān)注

    1

    文章

    128

    瀏覽量

    23967

原文標(biāo)題:如何理解HLS Block-level輸入輸出信號之間的時序關(guān)系

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何在不輸入傳遞函數(shù)的情況下測量輸入輸出信號之間的...

    如何在不輸入傳遞函數(shù)(同時也沒零極點信息,只有信號)的情況下測量輸入輸出信號之間的帶寬???
    發(fā)表于 05-22 15:21

    請問倍頻器的輸入信號輸出信號的相位關(guān)系?

    如題:1. 倍頻器的輸入信號輸出信號的相位關(guān)系能否用相應(yīng)的公式來進行表征?2. 鎖相環(huán)的參考和輸出
    發(fā)表于 10-12 09:10

    視頻打印機的輸入輸出

    視頻打印機的輸入輸出            輸入輸出指的是產(chǎn)品輸入輸出視頻信號的端口,比較常見
    發(fā)表于 12-31 10:38 ?1467次閱讀

    數(shù)字信號輸入輸出接口電路

    數(shù)字信號輸入輸出接口電路【更齊全】
    發(fā)表于 12-16 21:32 ?0次下載

    HLS系列 – High LevelSynthesis(HLS) 的端口綜合1

    → clock_enable) Block-Level Interface端口: 顧名思義,Block端口的作用就是用來控制Block的操作。它在c參數(shù)中沒有直接的對應(yīng),但是它對應(yīng)了c函數(shù)的調(diào)用/返回過程。默認(rèn)Bloc
    發(fā)表于 02-08 03:29 ?816次閱讀
    <b class='flag-5'>HLS</b>系列 – High LevelSynthesis(<b class='flag-5'>HLS</b>) 的端口綜合1

    HLS系列–High Level Synthesis(HLS)的端口綜合6

    在上一章,介紹了Block Level Interface。 本章里著重介紹下Port Level Interface的2中子類別:No I/O Protocol和Wire handshakes
    發(fā)表于 02-08 03:45 ?665次閱讀
    <b class='flag-5'>HLS</b>系列–High <b class='flag-5'>Level</b> Synthesis(<b class='flag-5'>HLS</b>)的端口綜合6

    一文詳解FPGA編程技巧輸入輸出偏移約束

    偏移約束(Offset Constraint)用來定義一個外部時鐘引腳(Pad)和數(shù)據(jù)輸入輸出引腳之間時序關(guān)系,這種時序
    的頭像 發(fā)表于 07-14 07:14 ?5413次閱讀
    一文詳解FPGA編程技巧<b class='flag-5'>輸入輸出</b>偏移約束

    什么是輸入輸出模塊_輸入輸出模塊有什么作用

    輸入輸出模塊也稱為控制模塊,在有控制要求時可以輸出信號,或者提供一個開關(guān)量信號,使被控設(shè)備動作,同時可以接收設(shè)備的反饋信號,以向主機報告,是
    發(fā)表于 05-21 10:28 ?11.9w次閱讀

    GPIO通用輸入輸出

    GPIO通用輸入輸出一、GPIO的功能概述用途:GPIO是通用輸入輸出(General Purpose I/O)的簡稱,主要用于工業(yè)現(xiàn)場需要用到數(shù)字量輸入/輸出的場合。例如:
    發(fā)表于 12-20 18:58 ?6次下載
    GPIO通用<b class='flag-5'>輸入輸出</b>

    創(chuàng)建輸入輸出接口時序約束的竅門

    輸入輸出接口的約束,整理出了一套非常實用的InputDelay/Output Delay Constraints Language Templates。
    的頭像 發(fā)表于 08-02 09:54 ?2412次閱讀
    創(chuàng)建<b class='flag-5'>輸入輸出</b>接口<b class='flag-5'>時序</b>約束的竅門

    boost升壓電路輸入輸出關(guān)系

    boost升壓電路輸入輸出關(guān)系 升壓電路是一種常用的電路,它可以將電壓從一個較低的水平升高到一個較高的水平,以滿足不同的應(yīng)用需求。升壓電路的輸入輸出之間有很重要的
    的頭像 發(fā)表于 08-27 15:01 ?3023次閱讀

    plc帶模擬量輸入輸出和不帶模擬量輸入輸出有什么區(qū)別?。?/a>

    的PLC類型,它們之間有很大的差異。 PLC帶模擬量輸入輸出與PLC不帶模擬量輸入輸出的區(qū)別在于它們可以控制和處理的不同信號類型。模擬量輸入輸出
    的頭像 發(fā)表于 10-17 16:44 ?1510次閱讀

    輸入輸出電壓差與效率的關(guān)系

    在開關(guān)穩(wěn)壓電源中,輸入電壓的范圍是預(yù)知的,輸出電壓也是知道的,但是輸入輸出的電壓差和轉(zhuǎn)換效率的關(guān)系很多人 不清楚,有經(jīng)驗的工程師就會根據(jù)公式去推導(dǎo)出來
    發(fā)表于 01-05 15:12 ?738次閱讀
    <b class='flag-5'>輸入輸出</b>電壓差與效率的<b class='flag-5'>關(guān)系</b>

    鎖相環(huán)的輸入輸出相位一致嗎?

    鎖相環(huán)是保證相位一致,還是相位差一致?鎖相環(huán)的輸入輸出相位一致嗎? 鎖相環(huán)(PLL)是一種回路控制系統(tǒng),用于保持輸出信號的相位與參考信號的相位之間
    的頭像 發(fā)表于 01-31 15:45 ?862次閱讀

    誤差放大器的輸入輸出關(guān)系

    誤差放大器(Error Amplifier)在電子測量和控制系統(tǒng)中扮演著至關(guān)重要的角色,其輸入輸出關(guān)系對于理解和設(shè)計這些系統(tǒng)至關(guān)重要。以下是對誤差放大器輸入輸出關(guān)系的詳細(xì)解析,包括其工作原理、
    的頭像 發(fā)表于 09-11 15:32 ?569次閱讀