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

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

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

介紹一個(gè)IC設(shè)計(jì)錯(cuò)誤案例:可讀debug寄存器錯(cuò)誤跨時(shí)鐘

ruikundianzi ? 來源:IC芯視界 ? 2024-03-11 15:56 ? 次閱讀

本文將介紹一個(gè)跨時(shí)鐘錯(cuò)誤的案例如圖所示,phy_status作為一個(gè)多bit的phy_clk時(shí)鐘域的信號(hào),需要輸入csr模塊作為一個(gè)可讀狀態(tài)寄存器,目的是方便debug,而csr模塊是sys_clk時(shí)鐘域,此時(shí)phy_status需要進(jìn)行跨時(shí)鐘,得到sys_clk時(shí)鐘域的phy_status_sync送到csr模塊。

phy_rst_n是由上電復(fù)位釋放模塊產(chǎn)生的phy_clk時(shí)鐘域的復(fù)位信號(hào),在上電處理流程的初期phy_rst_n一直是0,處于復(fù)位狀態(tài),上電解復(fù)位流程進(jìn)行到一定階段后才會(huì)將phy_rst_n置為1。

74d5c5e4-df7c-11ee-a297-92fbcf53809c.png ? ? ? ? ?

ip_bus_sync跨時(shí)鐘模塊接口信號(hào)如下: 本模塊的特點(diǎn)就是只有輸入數(shù)據(jù),沒有vld信號(hào)。

phy_clk作為源時(shí)鐘(i_src_clk),而phy_rst_n作為源時(shí)鐘域復(fù)位信號(hào)(i_src_rst_n)。

sys_clk作為目的時(shí)鐘(i_dst_clk),而sys_rst_n作為源時(shí)鐘域復(fù)位信號(hào)(i_dst_rst_n)。

NOTE: 需要注意的是在在源時(shí)鐘復(fù)位phy_rst_n為0時(shí),輸出的o_dst_dout(phy_status_sync)是跨時(shí)鐘模塊Ip_bus_sync的復(fù)位值(每bit都是0)

信號(hào)名稱 信號(hào)IO 位寬 說明
i_src_clk in 1 源端時(shí)鐘
i_src_rst_n in 1 源時(shí)鐘域的復(fù)位信號(hào),0表示復(fù)位。根據(jù)代碼實(shí)現(xiàn)不同,可以是同步復(fù)位,也可以是異步復(fù)位
i_src_din in 1 源時(shí)鐘域bus信號(hào)
i_dst_clk in 1 目的端時(shí)鐘
i_dst_rst_n in 1 目的時(shí)鐘域的復(fù)位信號(hào),0表示復(fù)位。根據(jù)代碼實(shí)現(xiàn)不同,可以是同步復(fù)位,也可以是異步復(fù)位
o_dst_dout out DATA_WDTH 已完成跨時(shí)鐘的bus信號(hào)

錯(cuò)誤設(shè)計(jì):設(shè)計(jì)中將phy_status作為一個(gè)可讀狀態(tài)寄存器,本意是想在上電解復(fù)位流程出現(xiàn)異常的時(shí)候,能夠讀出phy_status的數(shù)值,從而進(jìn)行分析上電流程異常的原因。而在部分場景中,一旦phy_rst_n沒有從0跳變成1時(shí),此時(shí)phy_status_sync為0,無法獲取phy_status的真實(shí)數(shù)值 。

正確設(shè)計(jì):本文場景中應(yīng)該采用無復(fù)位的跨時(shí)鐘模塊進(jìn)行實(shí)現(xiàn),如果存在可用的無復(fù)位多bit跨時(shí)鐘模塊,可以直接采用,否則可以考慮采用多個(gè)無復(fù)位的bit跨時(shí)鐘模塊實(shí)現(xiàn)。雖然采用多個(gè)無復(fù)位的bit跨時(shí)鐘模塊實(shí)現(xiàn)多bit跨時(shí)鐘可能存在重匯聚問題,但是此場景中,一旦出現(xiàn)上電解復(fù)位異常,phy_status信號(hào)通常是處于穩(wěn)定狀態(tài),多bit跨時(shí)鐘重匯聚問題將不會(huì)存在。




審核編輯:劉清

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

    關(guān)注

    31

    文章

    5294

    瀏覽量

    119814
  • IC設(shè)計(jì)
    +關(guān)注

    關(guān)注

    37

    文章

    1290

    瀏覽量

    103694
  • PHY
    PHY
    +關(guān)注

    關(guān)注

    2

    文章

    301

    瀏覽量

    51659
  • CLK
    CLK
    +關(guān)注

    關(guān)注

    0

    文章

    127

    瀏覽量

    17103

原文標(biāo)題:IC設(shè)計(jì)錯(cuò)誤案例:可讀debug寄存器錯(cuò)誤跨時(shí)鐘

文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    錯(cuò)誤時(shí)鐘偏移計(jì)算導(dǎo)致錯(cuò)誤時(shí)序收斂的解決方案

    描述 本設(shè)計(jì)咨詢主要介紹個(gè)錯(cuò)誤時(shí)鐘偏移計(jì)算導(dǎo)致錯(cuò)誤時(shí)序收斂的問題。 出現(xiàn)問題的情況: 這可能
    的頭像 發(fā)表于 12-24 11:16 ?5828次閱讀

    時(shí)鐘域?yàn)槭裁匆p寄存器同步

    出現(xiàn)了題目中的時(shí)鐘域的同步問題?怎么辦?十年不變的老難題。為了獲取穩(wěn)定可靠的異步時(shí)鐘域送來的信號(hào),種經(jīng)典的處理方式就是雙寄存器同步處理(
    發(fā)表于 08-20 11:32

    寄存器與移位寄存器

    寄存器與移位寄存器介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    GD32硬件中斷錯(cuò)誤寄存器及相應(yīng)位功能

    本文描述的是GD32硬件中斷錯(cuò)誤的所有寄存器以及相應(yīng)的位功能。
    發(fā)表于 08-28 15:32 ?10次下載

    主存和寄存器的區(qū)別介紹

    本文開始介紹了主存的概念和頻率及主存的大小,其次介紹寄存器工作原理與寄存器用途,最后介紹了主存和寄存器
    發(fā)表于 04-11 14:27 ?2.3w次閱讀

    PCIe總線的三種錯(cuò)誤報(bào)告方式

    PCIe設(shè)備的配置空間中的狀態(tài)與控制寄存器如上圖所示,通過這些寄存器可以使能(或禁止)通過錯(cuò)誤消息(Error Message)發(fā)送錯(cuò)誤報(bào)告、查詢錯(cuò)
    的頭像 發(fā)表于 08-23 10:14 ?1.4w次閱讀
    PCIe總線的三種<b class='flag-5'>錯(cuò)誤</b>報(bào)告方式

    ARM Cortex-M 系列 MCU 錯(cuò)誤追蹤庫 --- CmBacktrace

    Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault)故障原因 自動(dòng)診斷 :可在故障發(fā)生時(shí),自動(dòng)分析出故障的原因,定位發(fā)生故障的代碼位置,而無需再手動(dòng)分析繁雜的故障寄存器;輸出
    發(fā)表于 11-30 20:21 ?0次下載
    ARM Cortex-M 系列 MCU <b class='flag-5'>錯(cuò)誤</b>追蹤庫 --- CmBacktrace

    STM32學(xué)習(xí)筆記(2)——寄存器

    STM32 第二天寄存器寄存器功能:寄存器的功能是存儲(chǔ)二進(jìn)制代碼,它是由具有存儲(chǔ)功能的觸發(fā)組合起來構(gòu)成的。
    發(fā)表于 12-08 17:36 ?18次下載
    STM32學(xué)習(xí)筆記(2)——<b class='flag-5'>寄存器</b>

    如何在VHDL中實(shí)現(xiàn)個(gè)簡單的寄存器

    存儲(chǔ)的位數(shù)上有所不同,具體取決于系統(tǒng)的配置。在本教程中,我們將學(xué)習(xí)如何在 VHDL 中實(shí)現(xiàn)個(gè)簡單的寄存器
    發(fā)表于 07-29 16:48 ?4514次閱讀
    如何在VHDL中實(shí)現(xiàn)<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>簡單的<b class='flag-5'>寄存器</b>

    為調(diào)試寄存器 DBGDRAR 設(shè)置的值錯(cuò)誤

    每個(gè) RPU 處理都有 1 個(gè) DBGDRAR 寄存器,其中包含 CoreSight 根 ROM 表的地址。但讀取此寄存器時(shí)會(huì)返回錯(cuò)誤的地
    的頭像 發(fā)表于 08-02 15:57 ?938次閱讀

    Efinity在Debug時(shí)會(huì)出現(xiàn)UUID mismatch錯(cuò)誤案例分享

    Efinity在Debug時(shí)會(huì)出現(xiàn)UUID mismatch錯(cuò)誤。很多剛開始使用的人經(jīng)常遇到。
    的頭像 發(fā)表于 02-20 10:56 ?1739次閱讀
    Efinity在<b class='flag-5'>Debug</b>時(shí)會(huì)出現(xiàn)UUID mismatch<b class='flag-5'>錯(cuò)誤</b>案例分享

    虹科干貨 | 帶你全面認(rèn)識(shí)“CAN總線錯(cuò)誤”()——CAN總線錯(cuò)誤錯(cuò)誤

    AsimpleintrotoCANerrorsCAN總線錯(cuò)誤介紹在本系列文章中,我們將為您詳細(xì)介紹CAN總線錯(cuò)誤的相關(guān)知識(shí),包括CAN總線錯(cuò)誤
    的頭像 發(fā)表于 05-27 10:39 ?4494次閱讀
    虹科干貨 | 帶你全面認(rèn)識(shí)“CAN總線<b class='flag-5'>錯(cuò)誤</b>”(<b class='flag-5'>一</b>)——CAN總線<b class='flag-5'>錯(cuò)誤</b>與<b class='flag-5'>錯(cuò)誤</b>幀

    定要懂的CDC錯(cuò)誤

    本文描述的時(shí)鐘錯(cuò)誤在特定場景下,有些是允許的,甚至有些是正常設(shè)計(jì)。因此IC設(shè)計(jì)者想要確認(rèn)時(shí)鐘
    的頭像 發(fā)表于 07-24 17:00 ?3245次閱讀
    你<b class='flag-5'>一</b>定要懂的CDC<b class='flag-5'>錯(cuò)誤</b>

    CAN總線錯(cuò)誤分析與解決 CAN節(jié)點(diǎn)發(fā)送錯(cuò)誤不成功是什么原因

    CAN總線狀態(tài)直接進(jìn)入了BUS OFF狀態(tài),這意味著錯(cuò)誤計(jì)數(shù)已經(jīng)超限,查看CPU收發(fā)寄存器的收發(fā)錯(cuò)誤計(jì)數(shù)顯示發(fā)送錯(cuò)誤計(jì)數(shù)TEC達(dá)到248, 接收錯(cuò)誤
    發(fā)表于 08-01 14:37 ?4946次閱讀
    CAN總線<b class='flag-5'>錯(cuò)誤</b>分析與解決 CAN節(jié)點(diǎn)發(fā)送<b class='flag-5'>錯(cuò)誤</b>不成功是什么原因

    STM32 CAN接收/發(fā)送錯(cuò)誤寄存器如何清零?

    ,每一個(gè)節(jié)點(diǎn)都有個(gè)CAN控制,CAN控制通過內(nèi)部寄存器和接口與CAN總線連接。其中,在CA
    的頭像 發(fā)表于 09-14 14:22 ?4745次閱讀