色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

動態時鐘的使用

OpenFPGA ? 來源:OpenFPGA ? 2023-07-05 09:05 ? 次閱讀

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

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

眾所周知,我們可以在 Zynq SoC 和 Zynq MPSoC 中使用結構時鐘并在運行時更改結構時鐘的頻率。但是,如果我們在 Zynq 或 ZYNQ MPSoC 中使用 FPGA 或 PL,我們仍然可以使用動態配置的時鐘向導在運行時更改頻率。

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

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

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

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

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

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

接下來我們將在 Vitis 中開發軟件,并且將在設計中的 IP 下看到相關驅動及文檔。

開發這個IP的驅動和其他 AXI Lite 接口一樣,需要對IP寄存器空間進行寫入和讀取。

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

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

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

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

#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;
}

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

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






審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    26585
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    120954
  • CDC
    CDC
    +關注

    關注

    0

    文章

    57

    瀏覽量

    17838
  • AXI總線
    +關注

    關注

    0

    文章

    66

    瀏覽量

    14297
  • 動態時鐘
    +關注

    關注

    0

    文章

    5

    瀏覽量

    6969

原文標題:【Vivado那些事兒】動態時鐘的使用

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    動態時鐘配置下的SoC低功耗管理詳解

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

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

    求助大神,我買了一塊12864串口的液晶,在網上找了好多例程都是并口的,串口的到底怎么寫動態時鐘啊。。。下面我附上我程序結構,看下怎么在這里添加動態時鐘
    發表于 12-04 12:39

    LCD顯示動態時鐘原理是什么?

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

    TMS320C2809 SPI 動態時鐘速率是多少?

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

    請問怎樣平滑無誤地實現時鐘切換?

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

    動態時鐘配置下的SoC低功耗管理 電子資料

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

    動態時鐘配置下的SoC低功耗管理

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

    低功耗MCU動態時鐘分析

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

    低功耗MCU動態時鐘分析與應用

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

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

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

    Linux時間子系統之一:動態時鐘框架(CONFIG_NO_HZ、tickless)

    動態時鐘正確工作之前,系統需要切換至動態時鐘模式,而要切換至動態時鐘模式,需要一些前提條件,最
    發表于 05-12 09:09 ?2070次閱讀

    基于51單片機數碼管動態時鐘電路圖原理圖

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

    Flash淘汰導致Fliqlo崩潰的修復方法

    Fliqlo 是很多人都喜歡的一款屏保軟件,由于酷似 MacOS 里的動態時鐘屏保,點擊率很高。不過很多網友發現,這兩天 Fliqlo 貌似出問題了,沒有了酷酷的翻頁時鐘,而是下面這個鬼樣子!顯然,這是 Flash Player
    的頭像 發表于 01-25 09:24 ?1.3w次閱讀

    藍橋杯51單片機之數碼管從點亮到動態時鐘的實現【單片機開發初學者必掌握】

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

    FPGA設計中動態時鐘的使用方法

    時鐘是每個 FPGA 設計的核心。如果我們正確地設計時鐘架構、沒有 CDC 問題并正確進行約束設計,就可以減少與工具斗爭的時間。
    發表于 07-12 11:17 ?1235次閱讀
    FPGA設計中<b class='flag-5'>動態</b><b class='flag-5'>時鐘</b>的使用方法
    主站蜘蛛池模板: 制服丝袜第一页 | 最新中文字幕在线视频 | 曰批视频免费40分钟不要钱 | 大乳牛奶女在线观看 | 爽a中文字幕一区 | 国产亚洲精品成人a在线 | 国产午夜电影院 | 变形金刚7免费观看完整 | 果冻传媒MV免费播放在线观看 | 国产精品一区二区三区免费 | 高hnp全肉 | freevideoshd| 国产午夜三区视频在线 | 高潮久久久久久久久不卡 | 91九色porny蝌蚪 | 最近更新2019中文字幕免费 | 久久91精品国产91久 | 久久精品国产福利电影网 | 久久99re7在线视频精品 | 姑娘日本大全免费观看版中文翻译 | 久久综合给合久久狠狠狠… | 日本一区二区三区在线观看网站 | 成人在线观看视频免费 | 中文在线免费看视频 | 一边亲着一面膜下奶韩剧免费 | 国产亚洲日韩另类在线播放 | 亚洲国产日韩a精品乱码 | 久久久久久久网 | 性高跟鞋xxxxhd | 免费看 a一级毛片 免费久久狼人香蕉网 | 伦理片qvod | 在线欧美精品一区二区三区 | tobu中国日本高清 | 日本大片免a费观看视频 | 国产精品嫩草免费视频 | 在线精品国精品国产不卡 | 国产精品久久久久久久伊一 | 中文字幕视频在线免费观看 | 午夜看片福利在线观看 | 久久精品国产午夜伦班片 | 秋霞网在线伦理免费 |