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

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

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

數(shù)字電路設(shè)計(jì)中什么時(shí)候需要分析競(jìng)爭(zhēng)與冒險(xiǎn)

lp7u_bia ? 來(lái)源:珠海芯思科技 ? 作者:珠海芯思科技 ? 2021-08-09 14:43 ? 次閱讀

1. 前言

數(shù)字電路課程中,老師在講組合邏輯的時(shí)候,一般都會(huì)講競(jìng)爭(zhēng)與冒險(xiǎn)。sky當(dāng)時(shí)也聽(tīng)的云里霧里,沒(méi)有想清楚如下問(wèn)題:

1) 競(jìng)爭(zhēng)與冒險(xiǎn)究竟是什么東西?有啥物理現(xiàn)象?

2) 在數(shù)字電路設(shè)計(jì)中,什么時(shí)候需要關(guān)心(分析)競(jìng)爭(zhēng)與冒險(xiǎn)?

3) 如何避免競(jìng)爭(zhēng)與冒險(xiǎn)導(dǎo)致的問(wèn)題呢?

經(jīng)過(guò)多年實(shí)際工作的實(shí)踐與理解,在此文略作分析。

2. 競(jìng)爭(zhēng)與冒險(xiǎn)的產(chǎn)生

在數(shù)字電路中,調(diào)用一個(gè)AND gate,用verilog可以如下描述:

assign out = in0 & in1;

其綜合后對(duì)應(yīng)的電路與波形如下:

4b170f80-f878-11eb-9bcf-12bb97331649.png

如果in0/in1分別有1--》0/0--》1的變化,如果同時(shí)滿(mǎn)足如下兩個(gè)條件:

1) in0/in1同時(shí)變化;

2) 從in0/in1的driver到AND gate的delay絕對(duì)匹配;

則,AND gate的輸出端不會(huì)有毛刺,一直穩(wěn)定的輸出logic 0。

但是在實(shí)際電路中,經(jīng)過(guò)place & route后,如上兩個(gè)條件基本不能滿(mǎn)足。抽象簡(jiǎn)化后,實(shí)際電路和波形如下:

4b25cd90-f878-11eb-9bcf-12bb97331649.png

可以看到,由于in0/in1到AND gate輸入pin上delay的不匹配,導(dǎo)致AND的輸出out出現(xiàn)一個(gè)logic 1的小脈沖,一般也叫毛刺(glitch)。

對(duì)于一個(gè)簡(jiǎn)單的AND gate,就會(huì)產(chǎn)生毛刺;那么對(duì)于一個(gè)更復(fù)雜的電路,比如:加法器,乘法器,glitch更是起起伏伏,直到一定的時(shí)間后,才會(huì)輸出穩(wěn)定的值。

這就是信號(hào)的競(jìng)爭(zhēng)與冒險(xiǎn):邏輯上(真值表)輸入的變化本來(lái)不會(huì)導(dǎo)致組合邏輯輸出的變化;但是因?yàn)樵谳斎脒壿媑ate的PIN上,輸入信號(hào)變化時(shí)間上的差異,導(dǎo)致組合邏輯的輸出端產(chǎn)生一些不必要的0--》1/1--》0變化,出現(xiàn)glitch。

3. 競(jìng)爭(zhēng)與冒險(xiǎn)分析

A. 對(duì)于同步電路(比如DFF的clk是同一個(gè)信號(hào)),我們需要分析(關(guān)心)競(jìng)爭(zhēng)與冒險(xiǎn)嗎?

答案是不需要。

在實(shí)際同步數(shù)字電路中,組合邏輯通常伴隨時(shí)序邏輯(DFF等),其結(jié)構(gòu)如下圖:

4b3b4864-f878-11eb-9bcf-12bb97331649.png

因?yàn)樵谕诫娐分?,我們?huì)做STA時(shí)序分析,計(jì)算每條path的delay(如上圖綠色線)。AND gate在各條path的最大delay后,out PIN上的信號(hào)是穩(wěn)定不變的。再分析后級(jí)DFF是否滿(mǎn)足setup/hold timing需求,則后級(jí)DFF一定采樣到out PIN上穩(wěn)定的輸出值,而非中間的glitch。

也就是說(shuō):在同步電路中,我們利用STA分析,已經(jīng)把out PIN產(chǎn)生glitch的期間給濾除(mask)掉了;只要后級(jí)DFF的setup/hold timing分析pass,則后級(jí)DFF肯定采樣到正確的邏輯計(jì)算值,不會(huì)采樣到毛刺。

B. 對(duì)于異步電路(比如DFF的clk不是同一個(gè)信號(hào)),我們需要分析(關(guān)心)競(jìng)爭(zhēng)與冒險(xiǎn)嗎?

答案是需要。

在實(shí)際異步數(shù)字電路中,組合邏輯也通常伴隨時(shí)序邏輯(DFF等),其結(jié)構(gòu)如下圖:

4b48645e-f878-11eb-9bcf-12bb97331649.png

在異步電路中,我們?cè)谧鯯TA時(shí)序分析,會(huì)有困難。雖然我們?nèi)匀荒軠?zhǔn)確計(jì)算每條path的delay(如上圖綠色線),但是我們無(wú)法預(yù)知clk0/clk1的相位(phase)關(guān)系,導(dǎo)致無(wú)法分析后級(jí)DFF的setup/hold time,即:我準(zhǔn)確計(jì)算out PIN在glitch產(chǎn)生期間是否會(huì)有clk1的上升沿。在工程實(shí)踐中,一般是設(shè)置:set_flase_path -from clk0 -to clk1。這樣,后級(jí)DFF(圖中橙色DFF)可能會(huì)采樣到毛刺。

這時(shí),我們就得關(guān)心glitch了,即競(jìng)爭(zhēng)與冒險(xiǎn)。

不是說(shuō)了不能計(jì)算了嗎?那怎么“關(guān)心”呢?

既然不能計(jì)算,就從電路結(jié)構(gòu)上解決問(wèn)題:

通過(guò)增加一個(gè)clk0 domain的DFF,讓clk0--》clk1的數(shù)據(jù)交互是DFF輸出,是不是就肯定不會(huì)有g(shù)litch啦 ^_^?!皁ut_reg”P(pán)IN是DFF輸出,不會(huì)有g(shù)litch的。

啊,講到這兒,是否突然明白,老師講:跨時(shí)鐘域時(shí),信號(hào)一定要DFF的Q端直接輸出。

C. 還有哪兒需要分析(關(guān)心)競(jìng)爭(zhēng)與冒險(xiǎn)嗎?

當(dāng)然是有的。

比如:chip IO上的異步信號(hào)。比如IIC接口的SCL/SDA。這2信號(hào)在chip輸出時(shí),是不是應(yīng)該(必須)用DFF輸出呢?不能搞組合邏輯輸出,否則接收方chip可能看到SCL上的glitch,導(dǎo)致功能錯(cuò)誤。

4. 總結(jié)

綜上:

1) 在同步電路中,我們并不關(guān)心競(jìng)爭(zhēng)與冒險(xiǎn),因?yàn)橛蠸TA做保障;

2) 在異步電路中,我們關(guān)心競(jìng)爭(zhēng)與冒險(xiǎn)(從電路結(jié)構(gòu)解決問(wèn)題),因?yàn)闆](méi)有STA做保障;

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 同步電路
    +關(guān)注

    關(guān)注

    1

    文章

    60

    瀏覽量

    13311
  • STA
    STA
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    18964
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    17081

原文標(biāo)題:數(shù)字IC/FPGA設(shè)計(jì)基礎(chǔ)_競(jìng)爭(zhēng)與冒險(xiǎn)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用 Verilog 進(jìn)行數(shù)字電路設(shè)計(jì)

    使用Verilog進(jìn)行數(shù)字電路設(shè)計(jì)是一個(gè)復(fù)雜但有序的過(guò)程,它涉及從概念設(shè)計(jì)到實(shí)現(xiàn)、驗(yàn)證和優(yōu)化的多個(gè)階段。以下是一個(gè)基本的步驟指南,幫助你理解如何使用Verilog來(lái)設(shè)計(jì)數(shù)字電路: 1. 明確設(shè)計(jì)需求
    的頭像 發(fā)表于 12-17 09:47 ?217次閱讀

    邏輯異或在數(shù)字電路的作用

    邏輯異或(Exclusive OR,簡(jiǎn)稱(chēng)XOR)在數(shù)字電路扮演著至關(guān)重要的角色。以下是邏輯異或在數(shù)字電路的幾個(gè)主要作用: 一、實(shí)現(xiàn)基本邏輯功能 異或門(mén)(Exclusive OR G
    的頭像 發(fā)表于 11-19 09:44 ?446次閱讀

    一般運(yùn)算放大器什么時(shí)候數(shù)字電壓供電什么時(shí)候是模擬電壓供電?

    您好,我發(fā)現(xiàn)在有的電路,運(yùn)算放大器是數(shù)字電源,有時(shí)候又是模擬電源供電,請(qǐng)問(wèn)一般運(yùn)算放大器什么時(shí)候
    發(fā)表于 09-11 06:03

    數(shù)字電路是對(duì)什么信號(hào)進(jìn)行傳輸?shù)?/a>

    的邏輯電平。 在現(xiàn)代電子技術(shù)數(shù)字電路扮演著至關(guān)重要的角色。從計(jì)算機(jī)、智能手機(jī)到家用電器,數(shù)字電路無(wú)處不在。 數(shù)字電路的基本原理 1. 數(shù)字
    的頭像 發(fā)表于 08-11 11:00 ?770次閱讀

    數(shù)字電路晶體管大多處于什么狀態(tài)

    數(shù)字電路,晶體管大多處于飽和或截止?fàn)顟B(tài)。這是因?yàn)?b class='flag-5'>數(shù)字電路的信號(hào)只有兩種狀態(tài):高電平和低電平,分別對(duì)應(yīng)晶體管的導(dǎo)通和截止?fàn)顟B(tài)。本文將介紹數(shù)字電路
    的頭像 發(fā)表于 07-18 15:25 ?781次閱讀

    數(shù)字電路的亞穩(wěn)態(tài)是什么

    數(shù)字電路的設(shè)計(jì)與實(shí)現(xiàn),亞穩(wěn)態(tài)是一個(gè)不可忽視的現(xiàn)象。它可能由多種因素引發(fā),對(duì)電路的穩(wěn)定性和可靠性產(chǎn)生嚴(yán)重影響。本文將深入探討數(shù)字電路中亞穩(wěn)態(tài)的概念、產(chǎn)生原因、影響以及應(yīng)對(duì)策略,以期為
    的頭像 發(fā)表于 05-21 15:29 ?1263次閱讀

    數(shù)字電路和模擬電路的區(qū)別與聯(lián)系

    數(shù)字電路和模擬電路是電子電路的兩個(gè)主要分支,它們?cè)陔娮蛹夹g(shù)具有不同的應(yīng)用和工作原理。本文將詳細(xì)討論數(shù)字電路和模擬
    的頭像 發(fā)表于 04-21 10:29 ?2921次閱讀

    數(shù)字電路仿真元件符號(hào)是什么

    數(shù)字電路仿真元件通常用符號(hào)來(lái)表示。這些符號(hào)是通過(guò)簡(jiǎn)潔和易于理解的圖形來(lái)表示元件的特性和功能。符號(hào)是數(shù)字電路設(shè)計(jì)和仿真過(guò)程中非常重要的一部分,幫助工程師和設(shè)計(jì)者有效地溝通和理解電路的功能。在本文
    的頭像 發(fā)表于 04-21 09:20 ?2285次閱讀

    數(shù)字電路與邏輯設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《數(shù)字電路與邏輯設(shè)計(jì).ppt》資料免費(fèi)下載
    發(fā)表于 03-11 09:21 ?9次下載

    FPGA競(jìng)爭(zhēng)冒險(xiǎn)的前世今生

    消除的。 2、采用格雷碼 我們可以通過(guò)改變?cè)O(shè)計(jì),破壞毛刺產(chǎn)生的條件,來(lái)減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計(jì),常常采用格雷碼計(jì)數(shù)器取代普通的二進(jìn)制計(jì)數(shù)器,這是因?yàn)楦窭状a計(jì)數(shù)器的輸出每次只有一位跳變 消除
    發(fā)表于 02-21 16:26

    競(jìng)爭(zhēng)冒險(xiǎn)產(chǎn)生的原因,判斷方法和避免競(jìng)爭(zhēng)冒險(xiǎn)的方法

    在實(shí)際的電路設(shè)計(jì)過(guò)程,存在傳播延時(shí)和信號(hào)變換延時(shí)。由延時(shí)引起的競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象會(huì)影響輸出的正確與否。下面將就 競(jìng)爭(zhēng)
    的頭像 發(fā)表于 02-18 14:34 ?7897次閱讀
    <b class='flag-5'>競(jìng)爭(zhēng)</b>與<b class='flag-5'>冒險(xiǎn)</b>產(chǎn)生的原因,判斷方法和避免<b class='flag-5'>競(jìng)爭(zhēng)</b>與<b class='flag-5'>冒險(xiǎn)</b>的方法

    數(shù)字電路邏輯門(mén)的電路符號(hào)圖

    把基本邏輯運(yùn)算的電子電路稱(chēng)之為邏輯門(mén)電路。在數(shù)字電路關(guān)系應(yīng)用,邏輯門(mén)電路的門(mén)代表著基本邏輯關(guān)
    的頭像 發(fā)表于 02-04 14:58 ?3059次閱讀
    <b class='flag-5'>數(shù)字電路</b><b class='flag-5'>中</b>邏輯門(mén)的<b class='flag-5'>電路</b>符號(hào)圖

    數(shù)字電路的邏輯門(mén)電路分類(lèi)

    數(shù)字電路的邏輯門(mén)電路分類(lèi) 數(shù)字電路是計(jì)算機(jī)系統(tǒng)的重要組成部分,它們由邏輯門(mén)電路構(gòu)成。邏輯門(mén)
    的頭像 發(fā)表于 02-04 09:14 ?3653次閱讀

    與模擬電路數(shù)字電路的優(yōu)點(diǎn)

    模擬電路數(shù)字電路是電子工程的兩個(gè)基本概念。在很多應(yīng)用數(shù)字電路已經(jīng)取代了模擬電路,但是模擬
    的頭像 發(fā)表于 01-24 14:25 ?1741次閱讀

    數(shù)字電路設(shè)計(jì)有哪些仿真驗(yàn)證流程

    數(shù)字電路設(shè)計(jì)的仿真驗(yàn)證流程是確保設(shè)計(jì)能夠正確運(yùn)行的重要步驟之一。在現(xiàn)代電子設(shè)備,數(shù)字電路被廣泛應(yīng)用于各種應(yīng)用領(lǐng)域,如計(jì)算機(jī)、通信設(shè)備、汽車(chē)電子等等。因此,設(shè)計(jì)師必須通過(guò)仿真驗(yàn)證來(lái)確保電路
    的頭像 發(fā)表于 01-02 17:00 ?1690次閱讀