1.為什么需要debug時(shí)鐘頻率
在芯片設(shè)計(jì)中,為了便于定位故障,有時(shí)候需要確認(rèn)部分時(shí)鐘頻率是否正確,需要部分debug手段。常見的方式是:將時(shí)鐘信號(hào)引到芯片管腳,通過儀器測(cè)量。這類方式必須要測(cè)量儀器,并且需要熟練使用,耗時(shí)較長。還有一種簡(jiǎn)單的方式,通過時(shí)鐘計(jì)數(shù)的方式判斷時(shí)鐘頻率是否正確。
2.Debug時(shí)鐘頻率原理
本文以serdes用戶側(cè)并行接口的恢復(fù)時(shí)鐘為例,說明一下如何判斷serdes恢復(fù)時(shí)鐘頻率是否正常。
本文以host_clk(100MHz)時(shí)鐘為基準(zhǔn)時(shí)鐘,進(jìn)行判斷。host_clk為100MHz,以serdes_clk為830.078125MHz進(jìn)行分析
配置cfg_host_cnt_period為10000(10進(jìn)制),則在10000個(gè)host_clk周期里,serdes_clk應(yīng)該跳變了8300781次。首先在host_clk時(shí)鐘域下,存在遞增循環(huán)計(jì)數(shù)host_clk_cnt,host_clk_cnt在0~cfg_hostcnt_period-1范圍內(nèi)遞增,不斷循環(huán)。在serdes_clk時(shí)鐘域下,存在計(jì)數(shù)serdes_clk_cnt,serdes_clk_cnt不斷遞增,直到存在有效脈沖serdes_pulse則清零。
每次host_clk_cnt計(jì)數(shù)到cfg_hostcnt_period-1,則產(chǎn)生一個(gè)有效脈沖host_pulse。host_pulse通過脈沖跨時(shí)鐘模塊輸出serdes_pulse。serdes_pulse下一個(gè)周期將serdes_clk_cnt清零,并且將serdes_clk_cnt當(dāng)前值鎖存到serdes_clk_period_cnt,serdes_clk_period_cnt通過跨時(shí)鐘模塊同步到host_clk時(shí)鐘域并且送到host_clk下的配置讀總線(配置讀寫總線通常是一個(gè)模塊)。
此方法的精度雖然有限,但是卻能很方便地判斷時(shí)鐘頻率是否穩(wěn)定,能夠判斷目標(biāo)時(shí)鐘頻率范圍。
審核編輯:湯梓紅
-
接口
+關(guān)注
關(guān)注
33文章
8933瀏覽量
153189 -
時(shí)鐘頻率
+關(guān)注
關(guān)注
0文章
50瀏覽量
20615 -
時(shí)鐘信號(hào)
+關(guān)注
關(guān)注
4文章
465瀏覽量
29070 -
DEBUG
+關(guān)注
關(guān)注
3文章
94瀏覽量
20364
原文標(biāo)題:verilog 定位:debug時(shí)鐘頻率
文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
時(shí)鐘和debug配置
分析引起較高時(shí)鐘頻率仿真失敗的原因

時(shí)鐘頻率是什么意思

基于SERDES時(shí)鐘的頻率跟隨的設(shè)計(jì)

什么是時(shí)鐘頻率_時(shí)鐘頻率詳解和編程

cpu時(shí)鐘頻率計(jì)算公式_CPU頻率計(jì)算方法詳解
cpu時(shí)鐘頻率的單位是什么
如何修改時(shí)鐘頻率
PLL設(shè)計(jì)和時(shí)鐘頻率產(chǎn)生
關(guān)于外部時(shí)鐘晶振頻率選擇

51/時(shí)鐘周期、時(shí)鐘頻率、狀態(tài)周期、機(jī)器周期

評(píng)論