色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

CPLD設(shè)計(jì)故障異步時(shí)鐘域處理案例分析

454398 ? 來(lái)源:博客園 ? 作者:fpgatalk ? 2020-10-21 14:25 ? 次閱讀

麻雀雖小,五臟俱全。CPLD規(guī)模雖小,其原理和設(shè)計(jì)方法和FPGA確是一樣的。輕視在CPLD上的投入,就有可能存在設(shè)計(jì)隱患,導(dǎo)致客戶使用產(chǎn)品時(shí)出現(xiàn)故障,從而給公司帶來(lái)不可挽回的信譽(yù)損失。

近一段時(shí)間,我遇到了兩個(gè)CPLD設(shè)計(jì)故障,這兩個(gè)故障的根因(root cause)是一樣的。其中的一個(gè)故障發(fā)生在實(shí)驗(yàn)室測(cè)試階段,另一個(gè)發(fā)生在運(yùn)營(yíng)商的網(wǎng)絡(luò)上,造成了非常不好的負(fù)面影響,因此引起了高度重視,必須徹底找出原因并消除。雖然可以很容易讓故障不復(fù)現(xiàn),但是要想找到根因,并給相關(guān)人員解釋清楚, 卻并不是一件容易的事情。

問(wèn)題代碼:

圖 1. 問(wèn)題代碼截圖

這段代碼的功能是統(tǒng)計(jì) 輸入信號(hào)’status_in’ 的高電平持續(xù)時(shí)間。CPU寫相應(yīng)的寄存器產(chǎn)生’clr_cnt’把”cnt”清零。同時(shí),也會(huì)把”cnt”的值給回讀到CPU。實(shí)際上就是一個(gè)讀清操作。

很明顯,這里有一個(gè)問(wèn)題,就是異步時(shí)鐘域處理的問(wèn)題。’clr_cnt’的時(shí)鐘為’clk_sys’,而”cnt”的時(shí)鐘為’clk_io’, ‘clk_sys’和’clk_io’是異步的,沒(méi)有確定的相位關(guān)系。

測(cè)試方法:

測(cè)試中,CPU循環(huán)執(zhí)行以下四步。

1) 清零: CPU通過(guò)Local Bus寫寄存器,產(chǎn)生’clr_cnt’脈沖,把”cnt”清零;

2) 計(jì)數(shù): CPU等待一段時(shí)間。“cnt” 開始對(duì)外部輸入 ‘status_in’ 計(jì)數(shù);

3) 回讀: CPU通過(guò)Local Bus讀取 ”cnt” 值;

4) 循環(huán): goto 1)。

實(shí)際實(shí)現(xiàn)可能略有不同,CPLD邏輯在執(zhí)行清零1)的同時(shí)會(huì)把”cnt”的值鎖存下來(lái),供CPU回讀,也就是1)和3)也可以是一個(gè)步驟。這樣表述是為了突出問(wèn)題代碼。

問(wèn)題描述:

如果’status_in’ 恒為低電平’0’輸入, 那么”cnt”應(yīng)該恒為零值。可是,客戶發(fā)現(xiàn)一個(gè)非常奇觀的現(xiàn)象。測(cè)試中,讓 ‘status_in’ 恒為低電平’0’輸入時(shí),客戶發(fā)現(xiàn)CPU會(huì)低概率的回讀到非零的”cnt”值。朋友們,你們能解釋這種現(xiàn)象嗎?

初步分析:

‘status_in’恒為零,不可能引起”cnt”變化。

‘clr_cnt’在測(cè)試中是翻轉(zhuǎn)變化的。’clr_cnt’是從’clk_sys’時(shí)鐘域來(lái)的信號(hào)。而時(shí)鐘’clk_sys’和時(shí)鐘’clk_io’是異步關(guān)系,沒(méi)有固定的相位關(guān)系。也就是說(shuō)’clr_cnt’是可能違反觸發(fā)器”cnt”的建立/保持時(shí)間要求的,進(jìn)而出現(xiàn)亞穩(wěn)態(tài)。

但是有人認(rèn)為, “cnt”的值原來(lái)是零,“clr_cnt”只是把”cnt”的值清零, 這樣來(lái)說(shuō)觸發(fā)器“cnt”的輸入根本沒(méi)有發(fā)生過(guò)變化,怎么可能有亞穩(wěn)態(tài)事件? 而且故障出現(xiàn)的概率很高,遠(yuǎn)比亞穩(wěn)態(tài)的概率高,好像也不能用亞穩(wěn)態(tài)來(lái)解釋。

問(wèn)題根因:

要解釋問(wèn)題的真正原因,必須要知道 ”cnt” 對(duì)應(yīng)的電路網(wǎng)表是什么樣的。”cnt”電路網(wǎng)表由綜合工具(synthesis)生成,可以在綜合工具中查看電路圖, 圖2是網(wǎng)表的局部放大。

圖 2. “cnt”的Technology View電路

圖2中調(diào)用了進(jìn)位鏈模塊,看起來(lái)很亂,整理一下, 手工簡(jiǎn)化一下如圖3。

圖 3. 手工簡(jiǎn)化的“cnt”的電路圖

圖3中,可以看到,’clr_cnt’和’status_in’相或的結(jié)果控制觸發(fā)器的使能端(‘CE’)。另外,’clr_cnt’還決定了觸發(fā)器輸入(‘D’)是”cnt+1”還是”0”。真值表如下。

也許和你想象中的不一樣,電路使用了觸發(fā)器的兩個(gè)輸入端’D’和’CE’,而不是單單一個(gè)’D’端。于是,’clr_cnt’的跳變引起了’D’/’CE’的跳變。

為了說(shuō)明問(wèn)題方便,定義 ‘clr_cnt’ 跳變的時(shí)刻為t0,這個(gè)跳變事件傳播到觸發(fā)器’CE’端的時(shí)刻為t1, 傳播到觸發(fā)器’D’端的時(shí)刻為t2。見(jiàn)圖4。

圖4. “cnt”觸發(fā)器時(shí)序違反的演示

圖4中的場(chǎng)景, t2》t1》t0。 最初的時(shí)候,”cnt”的值為hex”0000”,”cnt+1”的值為hex”0001”。 由于’clk_io’的上升沿落在t1和t2之間, 因此”cnt”錯(cuò)誤地跳變?yōu)閔ex”0001”。

一個(gè)布局布線后的設(shè)計(jì),一般情況下CE的傳播延時(shí)(t1-t0)不會(huì)等于D的傳播延時(shí)(t2-t0)。由于’clk_io’和’clk_sys’之間的相位關(guān)系是隨機(jī)的, 肯定會(huì)出現(xiàn)’clk_io’的上升沿剛好位于t1和t2之間的情況。這種情況下,觸發(fā)器CNT[15:0]就會(huì)錯(cuò)誤的采樣到”cnt+1”,而不是期望的hex”0000”值。

忽略次要參數(shù)和亞穩(wěn)態(tài)事件,故障出現(xiàn)的概率可以被估算為 (t2-t1)/TCLK_IO 。(t2-t1)越大,故障概率越高。這就是為什么故障出現(xiàn)的概率這么高的原因。

顯然,對(duì)于t2

對(duì)于t2=t1的情況(應(yīng)該沒(méi)有可能),只有當(dāng)’clk_io’采樣到’D’/’CE’的邊沿附近時(shí),引起亞穩(wěn)態(tài)事件,CNT才會(huì)出錯(cuò),當(dāng)然這種故障的概率會(huì)低的多。

圖5. “cnt”觸發(fā)器的后仿真時(shí)序違反演示

解決措

通過(guò)以上的分析,問(wèn)題是由于信號(hào)跨異步時(shí)鐘域而產(chǎn)生了模糊的時(shí)序關(guān)系,布局布線工具無(wú)法也不可能分析出這種時(shí)序要求,只能從代碼上加以處理。

1.同步化

一個(gè)很成熟的異步信號(hào)同步化方法就是多拍處理。見(jiàn)圖6。

圖6. 優(yōu)化過(guò)后的代碼

‘clr_cnt’經(jīng)過(guò)同步化后, ’clr_cnt_sync’會(huì)在’clk_io’上升沿之后很短的時(shí)間內(nèi)穩(wěn)定下來(lái)。布局布線工具通過(guò)利用’clk_io’的時(shí)鐘周期,去約束’clr_cnt_sync’到’D’和’CE’的路徑。從而不會(huì)出現(xiàn)”cnt”非零的錯(cuò)誤。

如果’status_in’也是異步的信號(hào),原理是一樣的,會(huì)引起計(jì)數(shù)的不準(zhǔn)確,只是故障更隱蔽,同樣需要同步化。如果’status_in’是同步的引腳輸入,必須通過(guò)時(shí)序約束告知布局布線工具,’status_in’相對(duì)于’clk_io’的建立時(shí)間和保持時(shí)間。

2.禁止CE

有人提出過(guò)一種偽辦法,我們來(lái)討論一下。就是約束綜合工具,禁止使用觸發(fā)器的’CE’功能。這樣,觸發(fā)器只有D端口, 且D = ( clr_cnt ) ? “0000” : ( status_in ) ? cnt+1 : cnt 。

當(dāng)’status_in’==0且”cnt”=”0000”時(shí),D = ( clr_cnt ) ? “0000” : cnt = ”0000”,此時(shí),’clr_cnt’的跳變不會(huì)引起D端口上出現(xiàn)跳變,也就不會(huì)出現(xiàn)錯(cuò)誤的采樣。

這樣做局限性很大,首先限制了”cnt”=”0000”的狀態(tài)才適用, 如果”cnt”的當(dāng)前狀態(tài)非零,一樣會(huì)有問(wèn)題,只是錯(cuò)誤會(huì)跟隱蔽。再者,使用CE端口可以降低邏輯級(jí)數(shù),改善時(shí)序,節(jié)省面積,實(shí)際上可能的情況下應(yīng)該盡量使用。

因此禁止CE的手段是不能作為解決措施的。
編輯:hfy

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21786

    瀏覽量

    605067
  • 電路圖
    +關(guān)注

    關(guān)注

    10354

    文章

    10723

    瀏覽量

    532206
  • cpld
    +關(guān)注

    關(guān)注

    32

    文章

    1248

    瀏覽量

    169515
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10899

    瀏覽量

    212611
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2002

    瀏覽量

    61284
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    混合示波器的原理和應(yīng)用

    故障、評(píng)估通信系統(tǒng)的性能和穩(wěn)定性等。 優(yōu)化系統(tǒng)性能:在嵌入式系統(tǒng)開發(fā)、汽車電子和電源電子學(xué)等領(lǐng)域,混合示波器可用于監(jiān)測(cè)和分析系統(tǒng)中的模擬和數(shù)字信號(hào),以確保系統(tǒng)按照預(yù)期工作。工程師可以通過(guò)
    發(fā)表于 12-27 15:54

    CPLD輸出(3.3V)作TLC5510A的時(shí)鐘,為什么CPLD和板子共地,芯片就發(fā)熱?

    TLC5510A時(shí)鐘電壓多少伏? 我用CPLD輸出(3.3V)作TLC5510A的時(shí)鐘,為什么CPLD和板子共地,芯片就發(fā)熱? 謝謝!
    發(fā)表于 12-26 07:09

    一文解析跨時(shí)鐘傳輸

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

    變頻器過(guò)熱故障原因分析處理措施

    變頻器過(guò)熱故障原因分析處理措施 ? 1 )變頻器過(guò)熱故障原因分析 ? 此故障現(xiàn)象較為常見(jiàn),一般
    的頭像 發(fā)表于 10-11 13:10 ?889次閱讀
    變頻器過(guò)熱<b class='flag-5'>故障</b>原因<b class='flag-5'>分析</b>與<b class='flag-5'>處理</b>措施

    pcm1794能否支持異步時(shí)鐘模式?

    MCLK接在pcm2706c上的12Mhz輸出上面,則正常出聲。。手頭還有一塊es9023 dac,可以支持49.152Mhz輸入到MCLK工作在異步模式,但是pcm1794不行,我想問(wèn)一下pcm1794能否支持異步時(shí)鐘模式?
    發(fā)表于 09-29 06:56

    如何處理時(shí)鐘電路的常見(jiàn)故障

    處理時(shí)鐘電路的常見(jiàn)故障是一個(gè)涉及多個(gè)步驟和細(xì)節(jié)的過(guò)程,需要仔細(xì)分析和逐步排查。時(shí)鐘電路在電子設(shè)備中扮演著至關(guān)重要的角色,負(fù)責(zé)提供穩(wěn)定的
    的頭像 發(fā)表于 09-09 16:49 ?1127次閱讀

    如何診斷三相異步電動(dòng)機(jī)繞組故障

    三相異步電動(dòng)機(jī)的繞組故障是電機(jī)運(yùn)行中的常見(jiàn)問(wèn)題,其成因復(fù)雜多樣。本文將對(duì)三相異步電動(dòng)機(jī)繞組故障進(jìn)行詳細(xì)解析,以助于準(zhǔn)確診斷和及時(shí)處理。 缺相
    的頭像 發(fā)表于 08-15 17:46 ?584次閱讀

    開源芯片系列講座第22期:異步電路機(jī)制為RISC-V處理器賦能

    鷺島論壇開源芯片系列講座第22期「異步電路機(jī)制為RISC-V處理器賦能」明晚(31號(hào))20:00精彩開播期待與您云相聚,共襄學(xué)術(shù)盛宴!|直播信息報(bào)告題目異步電路機(jī)制為RISC-V處理
    的頭像 發(fā)表于 07-31 08:37 ?428次閱讀
    開源芯片系列講座第22期:<b class='flag-5'>異步</b>電路機(jī)制為RISC-V<b class='flag-5'>處理</b>器賦能

    同步電路和異步電路的優(yōu)缺點(diǎn)

    下降沿進(jìn)行傳輸和處理。 優(yōu)點(diǎn) 設(shè)計(jì)簡(jiǎn)單性 :同步電路的設(shè)計(jì)相對(duì)簡(jiǎn)單,因?yàn)樗械男盘?hào)都遵循統(tǒng)一的時(shí)鐘信號(hào),這使得電路的邏輯設(shè)計(jì)和時(shí)序分析更加直觀。 可預(yù)測(cè)性 :由于所有操作都與時(shí)鐘同步,
    的頭像 發(fā)表于 07-22 17:35 ?1567次閱讀

    直播預(yù)告 |開源芯片系列講座第22期:異步電路機(jī)制為RISC-V處理器賦能

    鷺島論壇開源芯片系列講座第22期「異步電路機(jī)制為RISC-V處理器賦能」7月31號(hào)(周三)20:00精彩開播期待與您云相聚,共襄學(xué)術(shù)盛宴!|直播信息報(bào)告題目異步電路機(jī)制為RISC-V處理
    的頭像 發(fā)表于 07-18 08:37 ?334次閱讀
    直播預(yù)告 |開源芯片系列講座第22期:<b class='flag-5'>異步</b>電路機(jī)制為RISC-V<b class='flag-5'>處理</b>器賦能

    FPGA異步信號(hào)處理方法

    FPGA(現(xiàn)場(chǎng)可編程門陣列)在處理異步信號(hào)時(shí),需要特別關(guān)注信號(hào)的同步化、穩(wěn)定性以及潛在的亞穩(wěn)態(tài)問(wèn)題。由于異步信號(hào)可能來(lái)自不同的時(shí)鐘或外部設(shè)
    的頭像 發(fā)表于 07-17 11:10 ?1242次閱讀

    FPGA 高級(jí)設(shè)計(jì):時(shí)序分析和收斂

    PERIOD 約束檢查時(shí)鐘內(nèi)所有同步元件的時(shí)序是否滿足要求。PERIOD 約束會(huì)自動(dòng)處理寄存器時(shí)鐘端的反相問(wèn)題,如果相鄰?fù)皆?b class='flag-5'>時(shí)鐘相位相
    發(fā)表于 06-17 17:07

    同步FIFO和異步FIFO區(qū)別介紹

    ,并且間隔時(shí)間長(zhǎng),也就是突發(fā)寫入。那么通過(guò)設(shè)置一定深度的FIFO,可以起到數(shù)據(jù)暫存的功能,且使得后續(xù)處理流程平滑。 時(shí)鐘的隔離:主要用異步FIFO。對(duì)于不同
    的頭像 發(fā)表于 06-04 14:27 ?1776次閱讀
    同步FIFO和<b class='flag-5'>異步</b>FIFO區(qū)別介紹

    異步電動(dòng)機(jī)的常見(jiàn)故障處理方法

    異步電動(dòng)機(jī),作為工業(yè)生產(chǎn)中的關(guān)鍵設(shè)備,其運(yùn)行狀態(tài)直接影響到生產(chǎn)效率和產(chǎn)品質(zhì)量。然而,在實(shí)際應(yīng)用中,由于環(huán)境、使用和維護(hù)等多方面因素的影響,異步電動(dòng)機(jī)難免會(huì)出現(xiàn)各種故障。本文將詳細(xì)介紹異步
    的頭像 發(fā)表于 06-03 15:30 ?1194次閱讀

    如何解決同步時(shí)鐘系統(tǒng)中的常見(jiàn)問(wèn)題和故障

    同步時(shí)鐘系統(tǒng) 在電力、通信、交通等領(lǐng)域中應(yīng)用廣泛,為保證其正常運(yùn)行,需要進(jìn)行系統(tǒng)的維護(hù)和保養(yǎng)。下面是述泰時(shí)鐘總結(jié)的時(shí)鐘同步系統(tǒng)維護(hù)常見(jiàn)問(wèn)題及解決方法的介紹。 常見(jiàn)問(wèn)題 GPS接收天線故障
    的頭像 發(fā)表于 03-19 10:42 ?1769次閱讀
    如何解決同步<b class='flag-5'>時(shí)鐘</b>系統(tǒng)中的常見(jiàn)問(wèn)題和<b class='flag-5'>故障</b>?
    主站蜘蛛池模板: 美女国产毛片A区内射| 狠狠啪 日日啪| 亚洲第一国产| 日本亚洲精品无码区国产电影| 精品国产露脸久久AV麻豆| 二色AV天堂在线| np高h肉文| 69国产精品人妻无码免费| 亚洲欧美韩国综合色| 色呦呦导航| 欧美巨大xxxx做受高清| 男人J桶进男人屁股过程| 久久大综合| 花蝴蝶在线观看免费8| 国产亚洲日韩另类在线观看| 国产精品高潮AV久久无码| yy8090韩国理伦片在线| 99精品福利视频| 中文字幕永久在线| 伊人久久精品中文字幕| 亚洲精品午睡沙发系列| 性夜a爽黄爽| 亚洲av欧美在我| 亚洲精品久久午夜麻豆| 一二三四在线视频社区8| 97久久超碰中文字幕| 99精品在线| 97成人免费视频| 草莓视频在线免费观看| 草神被爆漫画羞羞漫画| 国产乱码精品一区二区三区四川| 国产精品亚洲一区二区三区久久| 精品国产乱码久久久久久口爆| 免费果冻传媒在线完整观看| 日韩精品一卡二卡三卡四卡2021| 且试天下芒果免费观看| 人人模人人干| 色爰情人网站| 一级做a爰片久久毛片潮喷动漫| FREEHDXXXX学生妹| 动漫女生的逼|