精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

關于跨時鐘域的詳細解答

FPGA之家 ? 來源:似猿非猿的FPGA ? 作者:似猿非猿的FPGA ? 2021-04-27 10:52 ? 次閱讀

每一個做數字邏輯的都繞不開跨時鐘域處理,談一談SpinalHDL里用于跨時鐘域處理的一些手段方法。

打拍處理 跨時鐘域信號的打拍處理往往用于單比特信號或類似于格林碼這種信號的跨時鐘域處理。其邏輯電路很簡單。SpinalHDL提供了BufferCC用于實現這種跨時鐘域打拍處理方式:

BufferCC(input: T, init: T = null, bufferDepth: Int = 2)

bufferDepth可用于指定打拍級數。input信號的時鐘域為源時鐘域,BUfferCC調用的地方的時鐘域為目的時鐘域。 在日常的電路設計里,計數器是常見的DFX信號,有些情況下需要將一個時鐘域的DFX信號轉換到另一個時鐘域進行HPI讀取,這種情況也可以通過打拍進行處理,不過前提是需轉換成格林碼,如此在源時鐘域和目的時鐘域需分別做一次轉換與反轉換。但如果計數器采用格林碼進行計數則可以少進行一次轉換。SpinalHDL有提供一個GrayCounter方法用于生成格林碼計數器:

GrayCounter(width: Int, enable: Bool)

提供一個小demo,GtayCounter+BufferCC:

f4efce9e-a67e-11eb-aece-12bb97331649.png

這里GrayCounter在時鐘域clkA中實現,通過BufferCC將其跨時鐘域至clkB,bufferDepth為3.Tips:BufferCC的第二個參數init數據類型是T,而T《:Data,即意味著init數據類型為“硬件”數據類型,因而上面init賦值需為U(0,8 bits)而不能直接寫0》》脈沖信號處理 脈沖信號的跨時鐘域處理,SpinalHDL提供了PulseCCByToggle方法:

PulseCCByToggle(input: Bool,clockIn: ClockDomain,clockOut: ClockDomain): Bool

握手處理

對于吞吐要求不是特別高的場合,跨時鐘域信號采用握手形式 進行處理也是一種不錯的選擇。SpinalHDL有兩個抽象類型個人一直很喜歡:Stream,Flow。這兩種形式基本囊括了所有的信號交互行為,其也可以說是SpinalHDL lib庫的基石。針對跨時鐘域的握手處理,SpinalHDL有一個StreamCCByToggle可以使用:

StreamCCByToggle(input: Stream[T], inputClock: ClockDomain, outputClock: ClockDomain): Stream[T]

其輸入參數包含源時鐘域信號,源時鐘域,目的時鐘域,其返回一個目的時鐘域的Stream信號:

f54fad50-a67e-11eb-aece-12bb97331649.png

這里srcIn隸屬于時鐘域clkA,destOut隸屬于時鐘域clkB。 除了StreamCCByToggle,SpinalHDL里還有一個FlowCCByToggle。由于Flow類型沒有反壓,因而從低時鐘域向高時鐘域進行傳輸則沒什么問題,但從高時鐘域向低時鐘域進行轉換則存在丟失數據的風險。》》FIFO跨時鐘域緩存 對于高吞吐的多比特信號跨時鐘域處理,則往往采用FIFO的形式進行處理。在SpinalHDL里則有StreamFifoCC供使用:

val myFifo = StreamFifoCC( dataType = Bits(8 bits), depth = 128, pushClock = clockA, popClock = clockB)myFifo.io.push 《《 streamAmyFifo.io.pop 》》 streamB
編輯:lyn

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

    關注

    6665

    文章

    2426

    瀏覽量

    203300
  • 計數器
    +關注

    關注

    32

    文章

    2253

    瀏覽量

    94351
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9528

原文標題:跨時鐘域那點事兒

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

收藏 人收藏

    評論

    相關推薦

    一文解析時鐘傳輸

    一、單比特CDC傳輸1.1 慢到快 快時鐘相比慢時鐘采樣速度更快,也就是說從慢時鐘來到快
    的頭像 發表于 11-16 11:55 ?304次閱讀
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>傳輸

    京準時鐘科普:關于北斗衛星同步時鐘的那些事?

    京準時鐘科普:關于北斗衛星同步時鐘的那些事?
    的頭像 發表于 10-29 09:28 ?221次閱讀
    京準<b class='flag-5'>時鐘</b>科普:<b class='flag-5'>關于</b>北斗衛星同步<b class='flag-5'>時鐘</b>的那些事?

    關于UCC25640x LLC諧振控制器的常見問題解答

    電子發燒友網站提供《關于UCC25640x LLC諧振控制器的常見問題解答.pdf》資料免費下載
    發表于 09-04 09:37 ?0次下載
    <b class='flag-5'>關于</b>UCC25640x LLC諧振控制器的常見問題<b class='flag-5'>解答</b>

    極限失控的大模型使電力系統面臨的攻擊風險及應對措施

    分析大規模生成式預訓練模型(以下簡稱為大模型)發生極限失控、使電力系統面臨的攻擊風險及相關的應對措施,以期引起業內對這一風險的重視、討論與行動。基于大模型的現狀、發展趨勢以及它與人工智能反叛之間
    發表于 07-22 12:09 ?0次下載

    單芯片運行六個操作系統,芯馳科技交卷融合

    關于智能汽車的整車架構如何發展,行業內已經達成了三步走的共識。過去汽車行業采用的是分布式的計算架構,目前正邁入更加集成化的融合階段,而對于未來的設想則是實現中央計算。
    的頭像 發表于 05-09 15:17 ?506次閱讀

    航盛與高通發布全新一代墨子艙駕融合平臺

    在2024年的北京國際汽車展覽會上,深圳市航盛電子股份有限公司攜手高通技術公司,共同發布了全新一代墨子艙駕融合平臺。該平臺是基于高通技術公司領先的Snapdragon Ride? Flex SoC(SA8775P)研發的,針對中央計算艙駕融合域控制器系統進行了深度設計
    的頭像 發表于 05-07 10:31 ?577次閱讀

    利用LWIP實現的Web server,如何修改響應報文中HTTP header里面的Access-Control-Allow-Origin的值?

    請求。 注:通過不在同一個下瀏覽器頁面,給跑著lwip-httpServer的板子發送get請求,會涉及到問題,需要改變響應HTTP header里面的Access-Contr
    發表于 04-30 06:54

    黑芝麻智能與斑馬智行達成單芯片融合平臺項目合作

    第十八屆北京國際汽車展覽會如火如荼進行中。4月26日,黑芝麻智能參展期間再度公布產業鏈新伙伴,與斑馬智行達成單芯片融合平臺項目合作。
    的頭像 發表于 04-26 18:16 ?597次閱讀

    介紹一個IC設計錯誤案例:可讀debug寄存器錯誤時鐘

    本文將介紹一個時鐘錯誤的案例如圖所示,phy_status作為一個多bit的phy_clk時鐘的信號,需要輸入csr模塊作為一個可讀狀態寄存器
    的頭像 發表于 03-11 15:56 ?474次閱讀
    介紹一個IC設計錯誤案例:可讀debug寄存器錯誤<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b>

    芯片時鐘設計案例簡析(一)

    最經典的2DFF 1-bit同步器如下,下圖結構通常用于單bit控制信號的異步處理
    的頭像 發表于 01-18 09:24 ?983次閱讀
    芯片<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>設計案例簡析(一)

    如何生成關于時鐘同步功能的DTC?

    如何生成關于時鐘同步功能的DTC? 時鐘同步功能是指在一個系統內的多個時鐘源進行同步,確保它們的時間保持一致。這在許多實時系統中都非常重要,特別是在需要多個設備或組件協同工作的場景中。
    的頭像 發表于 01-16 15:10 ?565次閱讀

    時鐘的解決方案

    在很久之前便陸續談過亞穩態,FIFO,復位的設計。本次亦安做一個簡單的總結,從宏觀上給大家展示時鐘的解決方案。
    的頭像 發表于 01-08 09:42 ?862次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的解決方案

    如何處理時鐘這些基礎問題

    對于數字設計人員來講,只要信號從一個時鐘跨越到另一個時鐘,那么就可能發生亞穩態。我們稱為“時鐘
    發表于 01-08 09:39 ?582次閱讀
    如何處理<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>這些基礎問題

    FPGA設計技巧—多時鐘和異步信號處理解決方案

    有一個有趣的現象,眾多數字設計特別是與FPGA設計相關的教科書都特別強調整個設計最好采用唯一的時鐘
    的頭像 發表于 12-22 09:04 ?1441次閱讀
    FPGA設計技巧—多<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>和異步信號處理解決方案

    求助,關于AD9957若干問題求解答

    問題1:關于CCI_OVFL引腳一直為高的情況。文章解答說CCI溢出一般與參考源的穩定性和低噪聲有關。我理解的參考源是時鐘參考源,我測試了我的時鐘輸入管腳,在頻譜上顯示是相位穩定,低噪
    發表于 12-12 07:56