0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

如何捕獲后門路徑信號(hào)的跳變?

sanyue7758 ? 來(lái)源: 驗(yàn)證芯發(fā)現(xiàn) ? 2023-09-24 11:34 ? 次閱讀

使用后門方式測(cè)量時(shí)鐘頻率的需求來(lái)源更多是SOC驗(yàn)證的場(chǎng)景,由于SOC的規(guī)模較大,一次編譯時(shí)間成本較高,在N個(gè)小時(shí)級(jí)別。如果采用前門方式,比如編寫測(cè)量頻率的module或者interface,一旦有新的測(cè)量需求則就需要TB重新連接時(shí)鐘信號(hào),重新編譯環(huán)境。

此前的一篇文章,提出了一個(gè)問(wèn)題:如何后門準(zhǔn)確地捕獲到信號(hào)地跳變沿?

如何捕獲后門路徑信號(hào)的跳變?

69b0daa2-5960-11ee-939d-92fbcf53809c.png

如果無(wú)法精確捕獲到信號(hào)地跳變沿,那么也就無(wú)法"精確地"測(cè)量出時(shí)鐘地頻率。容易想到的辦法,是可以使用如下的方法進(jìn)行測(cè)量:

bitdut_value=1
//step1:找到信號(hào)低電平
while(dut_value)begin
hdl_read("xxx",dut_value)
#N
end

//step2:找到高電平,作為測(cè)量的第一個(gè)上升沿時(shí)刻
bitdut_value=0
//找到信號(hào)低電平
while(!dut_value)begin
hdl_read("xxx",dut_value)
#N
end

//step3:找到低電平,作為下降沿
...
//step4:找到高電平,作為測(cè)量的第二個(gè)上升沿。記錄此時(shí)的仿真時(shí)間,減去step2的仿真時(shí)間,得到時(shí)鐘周期
...

上述的代碼需要考慮如下問(wèn)題:

時(shí)鐘頻率,時(shí)鐘頻率的大小決定了兩次后門讀取的間隔,即上述代碼中的#N,這也是后門方式測(cè)不準(zhǔn)的來(lái)源。

timescale,dut信號(hào)的timescale和后門測(cè)量所在的scope的timescale可能并不一致。

那怎么解決測(cè)不準(zhǔn)的問(wèn)題?

第一次意識(shí)到這個(gè)問(wèn)題,作者也曾一度陷入苦思冥想,始終找不到完美的解決辦法。曾經(jīng)也想過(guò)用#1step來(lái)進(jìn)行step級(jí)別的delay,但也由于仿真器的差異、環(huán)境結(jié)構(gòu)的差異,表現(xiàn)不夠穩(wěn)定。雖然已過(guò)去了近一年的時(shí)間,工作也換了新的公司,還好對(duì)此的思考沒(méi)有停止。

最近終于開(kāi)發(fā)出了clock_probe_pkg,一個(gè)可以使用后門方式,精確測(cè)量時(shí)鐘頻率的package。

請(qǐng)看下面的demo:

`timescale1ps/1ps
moduletb;
importclock_probe_pkg::*;
regclk1,clk2,clk3;

initialbegin
clk1=0;
clk2=0;
clk3=0;
fork
foreverbegin#11;clk1=~clk1;end
foreverbegin#17;clk2=~clk2;end
foreverbegin#19;clk3=~clk3;end
join_none
end
initialbegin
realfreq1,freq2,freq3;
#100;
get_clock_freq("tb.clk1",freq1);
get_clock_freq("tb.clk2",freq2);
get_clock_freq("tb.clk3",freq3);
$display("freq1=%f,freq2=%f,freq3=%f",freq1,freq2,freq3);
$finish();
end
endmodule

仿真結(jié)果如下:

clock_probe_pkg:getclockhier:tb,2
clock_probe_pkg:getclockscopetimeunit:-12
clock_probe_pkg:@110.000000tb.clk1=0,0
clock_probe_pkg:@121.000000tb.clk1=1,1
clock_probe_pkg:@132.000000tb.clk1=0,2
probeclockfreqdone,freq=45454.545455@0
clock_probe_pkg:getclockhier:tb,2
clock_probe_pkg:getclockscopetimeunit:-12
clock_probe_pkg:@153.000000tb.clk2=1,0
clock_probe_pkg:@170.000000tb.clk2=0,1
clock_probe_pkg:@187.000000tb.clk2=1,2
probeclockfreqdone,freq=29411.764706@0
clock_probe_pkg:getclockhier:tb,2
clock_probe_pkg:getclockscopetimeunit:-12
clock_probe_pkg:@209.000000tb.clk3=1,0
clock_probe_pkg:@228.000000tb.clk3=0,1
clock_probe_pkg:@247.000000tb.clk3=1,2
probeclockfreqdone,freq=26315.789474@0
freq1=45454.545455,freq2=29411.764706,freq3=26315.789474
$finishcalledfromfile"testbench.sv",line26.
$finishatsimulationtime266

clock_probe_pkg可以自動(dòng)識(shí)別時(shí)鐘信號(hào)所在scope的timescale,而且僅有一個(gè)接口,方便使用。get_clock_freq:

taskget_clock_freq(stringpath,outputrealx_freq);
...
endtask

第一個(gè)參數(shù)為字符串類型的時(shí)鐘信號(hào)的后門路徑,第二個(gè)參數(shù)即為返回的時(shí)鐘頻率,單位為MHz。

clock_probe_pkg也是目前作者能找到的"完美"解決方案。雖然這個(gè)需求非常小眾,可能也不一定能完全滿足需求,可能后續(xù)還會(huì)更好的解決方案,但這個(gè)嘗試的過(guò)程,作者覺(jué)得仍然是有意義的嘗試,因?yàn)椋?/p>

真理存在于尋求過(guò)程之中。

審核編輯:湯梓紅

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

    關(guān)注

    38

    文章

    4239

    瀏覽量

    219801
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2819

    瀏覽量

    77349
  • 時(shí)鐘頻率
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    20481
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4857

    瀏覽量

    69475
  • 高電平
    +關(guān)注

    關(guān)注

    6

    文章

    155

    瀏覽量

    21590

原文標(biāo)題:耗時(shí)一年,終于測(cè)準(zhǔn)了時(shí)鐘頻率

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    信號(hào)怎么測(cè)量頻率切換時(shí)間

    隨著技術(shù)發(fā)展,頻電臺(tái)、捷變頻雷達(dá)、寬帶頻雷達(dá)等設(shè)備的頻率范圍越來(lái)越寬,頻率切換時(shí)間越來(lái)越短,從而產(chǎn)生了兩個(gè)測(cè)試難題.
    發(fā)表于 03-29 15:25 ?4688次閱讀

    tc377調(diào)試pwm輸入捕獲,輸入頻率小于10hz時(shí)輸入占空比就會(huì)的原因?

    我在調(diào)試pwm輸入捕獲遇到一個(gè)問(wèn)題,我用的是tc377的板件,當(dāng)輸入頻率小于10hz時(shí)輸入占空比就會(huì)(0和輸入占空比之間)您能幫我簡(jiǎn)單的分析一下是什么原因造成的嗎?有什么解決方案,或者在初始化時(shí)有什么濾波的 結(jié)構(gòu)體可以配置。
    發(fā)表于 03-05 06:39

    如何用LabVIEW檢測(cè)下降沿

    如何用LabVIEW檢測(cè)信號(hào)的下降沿并記錄次數(shù)
    發(fā)表于 03-05 15:49

    如何用LabVIEW檢測(cè)下降沿

    如何用LabVIEW檢測(cè)信號(hào)的下降沿并記錄次數(shù)
    發(fā)表于 03-05 15:51

    霍爾信號(hào)沿,并且能把捕獲間隔的時(shí)長(zhǎng)用通用定時(shí)器計(jì)數(shù)得到,但是捕獲計(jì)數(shù)怎么差這么多?

    各位老師好,我想測(cè)一下電機(jī)霍爾信號(hào)的間隔時(shí)間是否一致,我現(xiàn)在捕獲霍爾信號(hào)沿,并且能把捕獲間隔
    發(fā)表于 05-21 20:41

    ADL5304接通電源時(shí),輸出信號(hào),請(qǐng)問(wèn)是什么原因?

    ADL5304輸入端是光電二極管,二極管已經(jīng)做了遮光處理(不漏光),但是接通電源時(shí),ADL5304輸出信號(hào)。下面有正常信號(hào)
    發(fā)表于 08-03 07:57

    AD2S1210位置信號(hào)

    使用AD2S1210進(jìn)行位置讀取,在恒轉(zhuǎn)速模式下,串口模式SPI讀取的位置信號(hào)(12位)偶爾會(huì)出現(xiàn)異常跳,如附件顯示(讀取的位置誤差,兩個(gè)數(shù)據(jù)之間的時(shí)間為100us,單位弧度)。
    發(fā)表于 11-25 19:47

    什么是捕獲?如何去輸入捕獲模式

    捕獲和比較捕獲什么是捕獲所謂捕獲就是通過(guò)檢測(cè)捕獲通道上的邊沿信號(hào)。在邊沿
    發(fā)表于 07-16 15:22

    什么是輸入捕獲?STM32輸入捕獲

    ,簡(jiǎn)單的說(shuō)就是通過(guò)檢測(cè) TIMx_CHx 上的邊沿信號(hào),在邊沿信號(hào)發(fā)生(比如上升沿/下降沿)的時(shí)候,將當(dāng)前定時(shí)器的值(TIMx_CNT)存放到對(duì)應(yīng)的通道的
    發(fā)表于 01-06 07:54

    采用AD603對(duì)傳感器接收到的信號(hào)放大時(shí),遇到信號(hào)怎么解決?

    采用AD603對(duì)傳感器接收到的信號(hào)放大時(shí),遇到信號(hào)問(wèn)題。采用AD603進(jìn)行程控放大,把前面的串?dāng)_縮小, 對(duì)有效信號(hào)進(jìn)行放大,在有效
    發(fā)表于 11-14 06:07

    SOC時(shí)序分析中的點(diǎn)

      點(diǎn)是所有重要時(shí)序分析工具中的一個(gè)重要概念。點(diǎn)被時(shí)序分析工具用來(lái)計(jì)算設(shè)計(jì)節(jié)點(diǎn)上的時(shí)延與過(guò)渡值。
    發(fā)表于 09-15 10:48 ?1769次閱讀
    SOC時(shí)序分析中的<b class='flag-5'>跳</b><b class='flag-5'>變</b>點(diǎn)

    基于時(shí)頻投影的信號(hào)分選研究

    提出一種基于時(shí)頻投影的信號(hào)分選算法。從頻域投影信號(hào)分選出潛在信號(hào)頻率集合。根據(jù)
    發(fā)表于 06-21 17:42 ?20次下載
    基于時(shí)頻投影的<b class='flag-5'>跳</b>頻<b class='flag-5'>信號(hào)</b>分選研究

    基于雙譜頻率估計(jì)的快捕獲方法

    ,BFE)的捕獲方法。該方法通過(guò)重構(gòu)解信號(hào),計(jì)算重構(gòu)信號(hào)的雙譜(三階自相關(guān)函數(shù)的傅里葉變換)來(lái)估計(jì)當(dāng)前
    發(fā)表于 12-21 10:16 ?7次下載

    多FPGA解決航天測(cè)控信號(hào)捕獲問(wèn)題的方案

    多片F(xiàn)PGA組成的星形系統(tǒng)可解決頻和直接序列混合擴(kuò)頻(FHDS)衛(wèi)星測(cè)控信號(hào)大時(shí)延差高動(dòng)態(tài)條件下的快速捕獲問(wèn)題。捕獲搜索時(shí)采用1“主”+N“副”形式的Multi-FPGA組分時(shí)進(jìn)行多
    發(fā)表于 11-16 15:11 ?1790次閱讀
    多FPGA解決航天測(cè)控<b class='flag-5'>信號(hào)</b>的<b class='flag-5'>捕獲</b>問(wèn)題的方案

    如何在不間斷測(cè)試中抓捕記錄信號(hào)?與之解決辦法

     工程師在日常測(cè)試中,是否有遇到產(chǎn)品不穩(wěn)定經(jīng)常被干擾、偶發(fā)性問(wèn)題又抓不到這樣的技術(shù)問(wèn)題?例如時(shí)序的波動(dòng)、幅值的等。如何在連續(xù)不間斷的測(cè)試中抓捕并記錄這些
    的頭像 發(fā)表于 03-11 17:10 ?2525次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品