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

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

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

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

動態(tài)時鐘的使用

OpenFPGA ? 來源:OpenFPGA ? 2023-07-05 09:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時鐘是每個 FPGA 設(shè)計的核心。如果我們正確地設(shè)計時鐘架構(gòu)、沒有 CDC 問題并正確進(jìn)行約束設(shè)計,就可以減少與工具斗爭的時間。

但對于某些應(yīng)用,我們希望能夠更改某些IP中的時鐘頻率。其中一個例子是在圖像處理管道中,輸出分辨率可以動態(tài)變化,從而需要改變像素時鐘。

眾所周知,我們可以在 Zynq SoC 和 Zynq MPSoC 中使用結(jié)構(gòu)時鐘并在運行時更改結(jié)構(gòu)時鐘的頻率。但是,如果我們在 Zynq 或 ZYNQ MPSoC 中使用 FPGA 或 PL,我們?nèi)匀豢梢允褂脛討B(tài)配置的時鐘向?qū)г谶\行時更改頻率。

動態(tài)配置時鐘允許我們使用 AXI 接口在運行時更改時鐘頻率。

c0c858fc-1acb-11ee-962d-dac502259ad0.png

為了創(chuàng)建一個簡單的示例,我們將實例化PS并將動態(tài)配置時鐘IP連接到主 AXI 接口。我們將輸出時鐘連接到 IO 引腳,以便我們可以對其進(jìn)行觀察并查看頻率的變化。

c0df5052-1acb-11ee-962d-dac502259ad0.png

上面的時鐘是我們打算使用的最大頻率,這樣可以確保時序約束和時序性能正確。下圖是我們這次demo的最終設(shè)計。

c0fb9730-1acb-11ee-962d-dac502259ad0.png

接下來我們將在 Vitis 中開發(fā)軟件,并且將在設(shè)計中的 IP 下看到相關(guān)驅(qū)動及文檔。

開發(fā)這個IP的驅(qū)動和其他 AXI Lite 接口一樣,需要對IP寄存器空間進(jìn)行寫入和讀取。

要更改時鐘頻率輸出,我們有兩種選擇。如果只生成一個時鐘,我們可以使用名為 SetRate 的函數(shù)。該函數(shù)將通過AXI Lite總線傳遞到IP中,IP會給出我們所需的頻率輸出,并計算必要的分頻器、乘法器和相位參數(shù)實現(xiàn)所需的輸出頻率。

然而,如果我們有多個時鐘,那么我們需要分別計算這些寄存器的值并單獨更新時鐘寄存器(每個時鐘有兩個寄存器)。

這里有個注意點就是在進(jìn)行時鐘更改前最好等待IP鎖定到之前的頻率后再進(jìn)行新操作。

更改頻率的代碼還是比較簡單的,如下:

#include
#include"platform.h"
#include"xil_printf.h"

#include"xclk_wiz.h"

XClk_WizClkWiz_Dynamic;
XClk_Wiz_Config*CfgPtr_Dynamic;

#defineXCLK_WIZARD_DEVICE_IDXPAR_CLK_WIZ_0_DEVICE_ID
#defineXCLK_US_WIZ_RECONFIG_OFFSET0x0000025C
#defineCLK_LOCK1

intmain()
{
init_platform();
intStatus;
print("HelloWorld

");

CfgPtr_Dynamic=XClk_Wiz_LookupConfig(XCLK_WIZARD_DEVICE_ID);
XClk_Wiz_CfgInitialize(&ClkWiz_Dynamic,CfgPtr_Dynamic,
CfgPtr_Dynamic->BaseAddr);

while(1){
XClk_Wiz_WriteReg(CfgPtr_Dynamic->BaseAddr,
XCLK_WIZ_REG25_OFFSET,0);
XClk_Wiz_SetRate(&ClkWiz_Dynamic,10);
XClk_Wiz_WriteReg(CfgPtr_Dynamic->BaseAddr,
XCLK_US_WIZ_RECONFIG_OFFSET,
(XCLK_WIZ_RECONFIG_LOAD|
XCLK_WIZ_RECONFIG_SADDR));
Status=XClk_Wiz_WaitForLock(&ClkWiz_Dynamic);
usleep(10000000);
XClk_Wiz_WriteReg(CfgPtr_Dynamic->BaseAddr,
XCLK_WIZ_REG25_OFFSET,0);
XClk_Wiz_SetRate(&ClkWiz_Dynamic,14);
XClk_Wiz_WriteReg(CfgPtr_Dynamic->BaseAddr,
XCLK_US_WIZ_RECONFIG_OFFSET,
(XCLK_WIZ_RECONFIG_LOAD|
XCLK_WIZ_RECONFIG_SADDR));
Status=XClk_Wiz_WaitForLock(&ClkWiz_Dynamic);
usleep(10000000);
}
cleanup_platform();
return0;
}

當(dāng)然,我們也可以使用類似的方法,通過將時鐘頻率降低來實現(xiàn)不同功耗模式下 FPGA 的功耗,從而實現(xiàn)降低功耗的功能。

c12269a0-1acb-11ee-962d-dac502259ad0.pngc13cb7c4-1acb-11ee-962d-dac502259ad0.png






審核編輯:劉清

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

    關(guān)注

    9

    文章

    428

    瀏覽量

    27359
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5434

    瀏覽量

    124513
  • CDC
    CDC
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    18222
  • AXI總線
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    14559
  • 動態(tài)時鐘
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    7018

原文標(biāo)題:【Vivado那些事兒】動態(tài)時鐘的使用

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    動態(tài)時鐘配置下的SoC低功耗管理詳解

    SoC中CMOS電路功耗有:一是靜態(tài)功耗,主要是由靜電流、漏電流等因素造成的;二是動態(tài)功耗,主要是由電路中信號變換時造成的瞬態(tài)開路電流(crowbar current)和負(fù)載電流(load current)等因素造成的,它是SoC芯片中功耗的主要來源。
    發(fā)表于 02-12 17:31 ?3588次閱讀
    <b class='flag-5'>動態(tài)</b><b class='flag-5'>時鐘</b>配置下的SoC低功耗管理詳解

    12864帶字庫串口怎么顯示時鐘

    求助大神,我買了一塊12864串口的液晶,在網(wǎng)上找了好多例程都是并口的,串口的到底怎么寫動態(tài)時鐘啊。。。下面我附上我程序結(jié)構(gòu),看下怎么在這里添加動態(tài)時鐘
    發(fā)表于 12-04 12:39

    LCD顯示動態(tài)時鐘原理是什么?

    哪位大神可以告訴我圖片中的顯示原理
    發(fā)表于 01-13 23:06

    TMS320C2809 SPI 動態(tài)時鐘速率是多少?

    。我可不可以通過 SPIBRR 寄存器動態(tài)地更改 SPI 時鐘速率,以使其在發(fā)送模式下為 25MHz,在接收模式下為 12.5MHz?(這符合從芯片的規(guī)范,因為它最高可以工作在 26MHz)。如果我能夠
    發(fā)表于 05-12 09:21

    請問怎樣平滑無誤地實現(xiàn)時鐘切換?

    常用的冗余時鐘方案有哪些?動態(tài)時鐘切換與基于DCXO的時鐘切換各有什么優(yōu)缺點?參考時鐘和晶振之間的動態(tài)
    發(fā)表于 04-19 07:32

    動態(tài)時鐘配置下的SoC低功耗管理 電子資料

    摘要:隨著芯片集成度的提高,對一些功能復(fù)雜的系統(tǒng)芯片功耗的管理,已經(jīng)引起大家越來越多的重視,如何控制好SoC的功耗將成為芯片能否成功的重要因素。本文提出一種通過動態(tài)管理時鐘的策略,達(dá)到降低整個So...
    發(fā)表于 04-22 06:00

    動態(tài)時鐘配置下的SoC低功耗管理

    摘要:隨著芯片集成度的提高,對一些功能復(fù)雜的系統(tǒng)芯片功耗的管理,已
    發(fā)表于 04-16 23:32 ?1340次閱讀
    <b class='flag-5'>動態(tài)</b><b class='flag-5'>時鐘</b>配置下的SoC低功耗管理

    低功耗MCU動態(tài)時鐘分析

    文結(jié)合MSP430系列微處理器,詳細(xì)論述了通過控制改變MCU的時鐘頻率來降低功耗的設(shè)計方法。
    發(fā)表于 04-15 11:11 ?2425次閱讀
    低功耗MCU<b class='flag-5'>動態(tài)</b><b class='flag-5'>時鐘</b>分析

    低功耗MCU動態(tài)時鐘分析與應(yīng)用

    地影響著芯片的尺寸、成本和性能。本文結(jié)合MSP430系列微處理器,詳細(xì)論述了通過控制改變MCU的時鐘頻率來降低功耗的設(shè)計方法。 1 功耗產(chǎn)生的原因 在CMOS電路中,功耗損失主要包括靜態(tài)功耗損失和動態(tài)功耗損失兩部分。其中靜態(tài)功耗
    發(fā)表于 12-01 17:39 ?652次閱讀
     低功耗MCU<b class='flag-5'>動態(tài)</b><b class='flag-5'>時鐘</b>分析與應(yīng)用

    動態(tài)時鐘停止重啟太快,可通過編程LPDDR2控制器解決

    在沒有內(nèi)存事務(wù)處理執(zhí)行以及如果接收到內(nèi)存請求重啟時鐘時,用戶可通過編程 LPDDR2 控制器來停止 DRAM 時鐘
    發(fā)表于 06-23 08:53 ?1633次閱讀

    Linux時間子系統(tǒng)之一:動態(tài)時鐘框架(CONFIG_NO_HZ、tickless)

    動態(tài)時鐘正確工作之前,系統(tǒng)需要切換至動態(tài)時鐘模式,而要切換至動態(tài)時鐘模式,需要一些前提條件,最
    發(fā)表于 05-12 09:09 ?2218次閱讀

    基于51單片機(jī)數(shù)碼管動態(tài)時鐘電路圖原理圖

    SEG數(shù)碼管4個共陰極(小編用的共陽極的)、10k排阻(小編沒有直接做了個)、51單片機(jī)、按鈕、30p電容、12MHz晶振、10k電阻、10uf電容、插針、74ls245(小編用三極管代替了)。
    的頭像 發(fā)表于 09-17 09:36 ?1.6w次閱讀

    藍(lán)橋杯51單片機(jī)之?dāng)?shù)碼管從點亮到動態(tài)時鐘的實現(xiàn)【單片機(jī)開發(fā)初學(xué)者必掌握】

    51單片機(jī)最基礎(chǔ)的是流水燈,入門看的就是數(shù)碼管,本篇文章便是對數(shù)碼管的各種操作。從點亮一位數(shù)碼管,到程序中斷的實現(xiàn),最后就是完成一個動態(tài)時鐘
    發(fā)表于 11-23 16:36 ?1次下載
    藍(lán)橋杯51單片機(jī)之?dāng)?shù)碼管從點亮到<b class='flag-5'>動態(tài)</b><b class='flag-5'>時鐘</b>的實現(xiàn)【單片機(jī)開發(fā)初學(xué)者必掌握】

    FPGA設(shè)計中動態(tài)時鐘的使用方法

    時鐘是每個 FPGA 設(shè)計的核心。如果我們正確地設(shè)計時鐘架構(gòu)、沒有 CDC 問題并正確進(jìn)行約束設(shè)計,就可以減少與工具斗爭的時間。
    發(fā)表于 07-12 11:17 ?1531次閱讀
    FPGA設(shè)計中<b class='flag-5'>動態(tài)</b><b class='flag-5'>時鐘</b>的使用方法

    RISC-V核低功耗MCU動態(tài)時鐘門控技術(shù)解析

    ? ? ? RISC-V核低功耗MCU通過動態(tài)時鐘門控技術(shù),實現(xiàn)了從模塊級到系統(tǒng)級的精細(xì)化功耗管理,顯著延長了智能終端設(shè)備的續(xù)航能力,并滿足工 業(yè)、汽車等場景的實時性要求?。 一、?技術(shù)原理與實現(xiàn)
    的頭像 發(fā)表于 04-24 15:11 ?351次閱讀