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

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

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

模擬IC工程師都不知道的Cross高級(jí)玩法

冬至子 ? 來源:模擬混合信號(hào)設(shè)計(jì)驗(yàn)證 ? 作者:王憶 ? 2023-11-07 14:14 ? 次閱讀

Cross 函數(shù)經(jīng)常被用來處理仿真波形,從而獲得波形通過某個(gè)特定閾值時(shí)對(duì)應(yīng)的x軸數(shù)值。

圖片

在Number of occurrences”限定為“single”的情況下,通過變換“Edge Number”,能得到何種功效呢?

Edge Number的含義

“Edge Number”你填寫過什么值呢?它的含義是什么呢?

簡(jiǎn)單而言,“Edge Number”指定cross函數(shù)將返回第幾個(gè)信號(hào)沿通過給定閾值時(shí)對(duì)應(yīng)的x軸數(shù)值。當(dāng)這個(gè)參數(shù)正數(shù)時(shí), 從左往右數(shù) ;當(dāng)參數(shù)為負(fù)數(shù)時(shí), 從右往左數(shù) 。例子如下圖所示:

圖片

理論看完了,大家可以想想“Edge Number”為啥會(huì)如此設(shè)置,有哪些具體應(yīng)用實(shí)例呢?尤其還能寫“負(fù)數(shù)”的“Edge Number”。

例子****1:POR的釋放時(shí)間

普通青年知道的。。。

POR(Power On Reset)作為一個(gè)常用的模擬模塊,用來檢測(cè)電源上電的情況。在上電過程中,當(dāng)電源電壓小于給定閾值時(shí),POR輸出高電平。當(dāng)電源電壓高于給定閾值時(shí),POR輸出低電平。

當(dāng)POR的輸出沒有毛刺(Glitch)的時(shí)候(如下圖所示),可以通過獲取第一個(gè)下降沿的時(shí)間來獲得POR的釋放時(shí)間。對(duì)應(yīng)的cross函數(shù)為:

cross(VT(“/POR”), 0.5, 1,“falling”, nil, nil, nil)

圖片

資深工程師所考慮的。。。

但是當(dāng)POR的輸出有毛刺時(shí),特別是毛刺的個(gè)數(shù)不確定時(shí)(受到工藝,電壓或者溫度的影響),那么通過使用負(fù)值的“Edge Number”參數(shù)來獲取最后一個(gè)下降沿,則是一個(gè)很好的方法。

圖片

cross(VT(“/POR”), 0.5, -1 ,“falling”, nil, nil, nil)

例子2: 閉環(huán)負(fù)反饋系統(tǒng)的相位裕度

普通青年知道的。。。

對(duì)于一個(gè)閉環(huán)負(fù)反饋系統(tǒng),一個(gè)重要指標(biāo)就是系統(tǒng)的穩(wěn)定性。這個(gè)指標(biāo)通常是通過“相位裕度”來衡量的。

相位裕度的計(jì)算是,當(dāng)環(huán)路增益為1(0dB)時(shí),對(duì)應(yīng)的相移和180度之間的差值。大多數(shù)仿真工具中,默認(rèn)計(jì)算相位裕度的方法為(例如:調(diào)用“phase Margin”函數(shù)):

如在下圖所示的開環(huán)頻響波形中:

圖片

首先獲得單位增益頻率,UGF, (Unit Gain Frequency)

UGF = cross(Gain, 0, 1 ,“falling”, nil, nil, nil)

此后計(jì)算相位裕度

PM = 180 – (Phase(0) –Phase(UFG))

其中Phase(x)是給定頻率下,對(duì)應(yīng)的相移。

這里需要注意的是,在獲取UGF時(shí),是通過cross函數(shù)選則增益曲線中從左往右的第一個(gè)過零點(diǎn)。

資深工程師所考慮的。。。

下面考慮這樣一種情況(簡(jiǎn)化起見,相位曲線沒有做出針對(duì)性調(diào)整)

圖片

如上圖所示,當(dāng)增益曲線隨頻率增加,穿過0dB線后,由于高頻零極點(diǎn)的存在,再次上升,并產(chǎn)生一個(gè)大于0dB的尖峰。

如果仍然采用默認(rèn)的相位裕度計(jì)算方法,以從左往右的第一個(gè)過零點(diǎn)為UGF,那么在上述情況下,會(huì)獲得一個(gè)錯(cuò)誤的相位裕度。并且因?yàn)檫@個(gè)開環(huán)增益在更高頻率上仍有單位增益,此時(shí)可能由于大于180度的相移,而最終造成閉環(huán)后系統(tǒng)開始震蕩。

解決方法很簡(jiǎn)單,僅僅需要把cross函數(shù)中的“Edge Number”參數(shù)從“1”,改為“-1”即可:

UGF = cross(Gain, 0, -1 ,“falling”, nil, nil, nil)

PM = 180 – (Phase(0) –Phase(UFG))

這樣,永遠(yuǎn)是最高頻的一個(gè)增益過零點(diǎn)被記為UGF。

在上面的例子中,“EdgeNumber”的參數(shù)可以為正數(shù),也可以為負(fù)數(shù),那么這個(gè)參數(shù)可不可以為零呢?答案是可以的。

圖片

對(duì)應(yīng)開篇舉得正弦波的例子,當(dāng)使用“0”作為cross函數(shù)的參數(shù)時(shí),函數(shù)返回的是一個(gè)“l(fā)ist”,里面包含了波形所有通過給定閾值時(shí)對(duì)應(yīng)的x軸的數(shù)值,而次序是從左往右。如下圖所示的CIW窗口。Cross函數(shù)和他的返回值依次給出。

圖片

這里簡(jiǎn)單說明下,“l(fā)ist”是SKILL語言中的一個(gè)數(shù)據(jù)類型,可以理解為數(shù)列。而Cadence中的API都是通過SKILL語言給出的。而且大家常用的OCEAN也是SKILL中的一部分。

如果以“0”作為“EdgeNumber”參數(shù)的cross函數(shù),在ADE(L/XL/GXL)的表達(dá)式中直接使用,會(huì)得到“evalerr”。這是因?yàn)椤發(fā)ist”不是ADE(L/XL/GXL)接受的數(shù)據(jù)類型。

在ADE(L/XL/GXL)可以輸出的結(jié)果要么是波形(waveform),或者是個(gè)實(shí)數(shù)。在上面的截圖中,cross函數(shù)是在CIW窗口中直接輸入的,這個(gè)時(shí)候Cadence把他當(dāng)作SKILL腳本來處理。這里返回值的類型不受限制。

那么以“0”作為“EdgeNumber”參數(shù)的cross函數(shù)有用么?答案是:非常有用。

例子3:POR的輸出是否有毛刺

資深玩家所知道的。。。

為什么要設(shè)置函數(shù)來檢查POR的輸出是否有毛刺呢?第一個(gè)是為了效率,例如在處理大量仿真結(jié)果的時(shí)候(2000 個(gè)Monte Calro仿真),已經(jīng)無法來肉眼檢查每一個(gè)波形;第二個(gè)是為了可靠性,假如毛刺很靠近第一個(gè)下降沿,如果沒有充分的放大,就會(huì)很容易的漏掉。

圖片

如何來實(shí)現(xiàn)檢查毛刺的函數(shù):

length函數(shù)是SKILL語言中的一個(gè)基本函數(shù),它可以用來獲取一個(gè)“l(fā)ist”中有多少個(gè)項(xiàng)。那么通過length和cross函數(shù)的組合:

length( cross( VT(“/POR”), 0.5, 0 , “falling”, nil, nil, nil) )

則可以獲取POR的輸出中有多少個(gè)下降沿。

當(dāng)下降沿個(gè)數(shù)大于1時(shí),則表示有毛刺的產(chǎn)生。

除此之外,還可以利用如果以“0”作為“Edge Number”參數(shù)的cross函數(shù)獲取電荷泵每個(gè)周期輸出電荷的數(shù)量,然后以波形的方式輸出。

由此可以很直觀的觀察各種外界環(huán)境(PVT)對(duì)電荷泵輸出能力的影響。這樣的后處理會(huì)稍微復(fù)雜一下,沒有辦法通過幾個(gè)簡(jiǎn)單函數(shù)的組合在ADE的表達(dá)式中實(shí)現(xiàn)。

需要通過SKILL語言,把他包裝成“User Defined Skill Function”,然后在Calculator中調(diào)用。

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

    關(guān)注

    14

    文章

    1008

    瀏覽量

    83437
  • 電源電壓
    +關(guān)注

    關(guān)注

    2

    文章

    966

    瀏覽量

    23767
  • Cross
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6762
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IC設(shè)計(jì)工程師

    大家好,我學(xué)FPGA也有幾個(gè)月了,都是學(xué)習(xí)板上的設(shè)計(jì),現(xiàn)在可以隨便的編寫一些簡(jiǎn)單的邏輯;我琢磨著以后想往IC設(shè)計(jì)工程師這個(gè)職位走,不知道IC設(shè)計(jì)工程
    發(fā)表于 05-25 01:02

    模擬IC設(shè)計(jì)工程師

    模擬IC設(shè)計(jì)工程師工作地點(diǎn):上海。杭州,廣東職位職能:集成電路IC設(shè)計(jì)/應(yīng)用工程師 職位描述:職責(zé):從事
    發(fā)表于 04-22 12:11

    硬件工程師要學(xué)習(xí)哪些知識(shí)

    大家好,版主好,本人新來報(bào)道,好多事情要問要請(qǐng)教呀.......本人想考硬件工程師這個(gè)專業(yè),但卻不知道給如何下手,從何學(xué)起.......在網(wǎng)上百度了一晚,硬件工程師分許多種,搞的我都不知道
    發(fā)表于 09-02 01:45

    如何成為一個(gè)硬件工程師

    我是剛畢業(yè)的應(yīng)屆生,進(jìn)入電子行業(yè)初涉硬件工程師這份工作,發(fā)現(xiàn)自己什么都不會(huì),而且不知道自己不會(huì)什么,就是不知道要學(xué)習(xí)什么,沒人教,求大家賜教{:34:}
    發(fā)表于 09-15 14:16

    高級(jí)模擬IC設(shè)計(jì)工程師(LED AC-DC電源)-上海

    高級(jí)模擬IC設(shè)計(jì)工程師(LED AC-DC電源)-上海崗位職責(zé):1、模擬電路模塊包括帶隙基準(zhǔn)源、低壓差穩(wěn)壓電路、運(yùn)放、比較器、振蕩器、鎖相環(huán)
    發(fā)表于 01-26 16:23

    高級(jí)模擬IC設(shè)計(jì)工程師-上海

    高級(jí)模擬IC設(shè)計(jì)工程師(LED AC-DC電源)-上海崗位職責(zé):1、模擬電路模塊包括帶隙基準(zhǔn)源、低壓差穩(wěn)壓電路、運(yùn)放、比較器、振蕩器、鎖相環(huán)
    發(fā)表于 02-28 14:03

    高級(jí)模擬IC設(shè)計(jì)工程師(電源DC-DC)-上海 昆山 深圳

    高級(jí)模擬IC設(shè)計(jì)工程師(電源DC-DC)-上海 昆山 深圳崗位職責(zé):1、電源管理芯片模擬電路的設(shè)計(jì);2、協(xié)助layout
    發(fā)表于 03-19 17:15

    招聘數(shù)字ic設(shè)計(jì)工程師/數(shù)字集成電路工程師/DFT負(fù)責(zé)人/高級(jí)DFT工程師

    招聘三個(gè)人1、專做ic設(shè)計(jì)流程的高級(jí)工程師2、主要做pcie開發(fā)的高級(jí)工程師3、dft負(fù)責(zé)人,全模塊都負(fù)責(zé)過的高級(jí)工程師(ATPG,MBIST,SCAN 等)招聘2-5年的數(shù)字
    發(fā)表于 09-07 17:04

    蘇州某醫(yī)療器械公司招聘高級(jí)模擬ic設(shè)計(jì)工程師

    高級(jí)模擬IC設(shè)計(jì)工程師JD 崗位職責(zé) 1、負(fù)責(zé)集成電路中模擬電路子電路模塊的原理圖設(shè)計(jì)與仿真; 2、指導(dǎo)版圖
    發(fā)表于 02-17 12:25

    急招模擬IC設(shè)計(jì)工程師

    1、模擬IC設(shè)計(jì)工程師25-60W(電源方向:初級(jí)、高工、經(jīng)理、 目前需求職位如下1、模擬IC設(shè)計(jì)工程師
    發(fā)表于 06-29 16:47

    電氣工程師知道哪些平常人不知道的事情?

    `1)插座有額定電流,普通人知道用電電器的電流不能超過插座額定電流,電氣工程師知道它的原因是插座發(fā)熱不允許超過它的額定溫升。2)普通人理解的溫升就是電器的使用溫度與環(huán)境溫度的差值,電氣工程師
    發(fā)表于 04-15 17:45

    招聘射頻IC工程師模擬IC版圖工程師-上海浦東+蘇州

    招聘射頻IC工程師,模擬IC版圖工程師,工作地點(diǎn)上海浦東,蘇州。要求2年及以上工作經(jīng)驗(yàn)或優(yōu)秀畢業(yè)生歡迎自薦或推薦cadeor@sina.co
    發(fā)表于 11-26 10:23

    電氣工程師100條運(yùn)營(yíng)知識(shí)

    對(duì)于剛?cè)腴T的電氣工程師,對(duì)于很多技術(shù)問題都不知道如何下手,本身為大家介紹你必須知道的電氣工程師100條運(yùn)營(yíng)知識(shí),共大家學(xué)習(xí)參考!
    發(fā)表于 11-28 13:23 ?2147次閱讀

    軟件工程師如何獲得更好的發(fā)展

    我得面對(duì)現(xiàn)實(shí),成為軟件工程師需要有很多技能,這些我之前都不知道?;仡欉^去,顯然學(xué)會(huì)那些東西是很好的。
    的頭像 發(fā)表于 12-12 11:36 ?2522次閱讀

    MDK下99%用戶都不知道的萬能printf方法

    本篇將介紹MDK下99%用戶都不知道的萬能printf方法。
    的頭像 發(fā)表于 04-12 10:21 ?1899次閱讀