99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

PCB線路板打樣 ? 來(lái)源:LONG ? 2019-08-08 11:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

雖然ASIC公司和“良好的工程實(shí)踐”強(qiáng)調(diào)同步設(shè)計(jì)技術(shù),但時(shí)鐘速度的增加使用速度高達(dá)50至200 MHz,這迫使設(shè)計(jì)人員實(shí)施異步邏輯電路。不幸的是,雖然大多數(shù)數(shù)字設(shè)計(jì)工程師都熟悉組合和同步時(shí)序邏輯電路,但異步時(shí)序邏輯設(shè)計(jì)的世界仍然模糊不清。過(guò)渡地圖可以指導(dǎo)設(shè)計(jì)人員通過(guò)這個(gè)不熟悉的世界來(lái)實(shí)現(xiàn)可靠的異步設(shè)計(jì)。旅程從一些基本概念和定義開始。數(shù)字電路可以分為組合電路或順序電路。組合電路是那些輸出值完全取決于輸入信號(hào)電平的電路。順序電路的輸出值和當(dāng)前狀態(tài)值不僅取決于當(dāng)前輸入值,還取決于電路的先前狀態(tài)。您可以將時(shí)序電路分為兩種類型:同步和異步。在同步電路中,當(dāng)前狀態(tài)在時(shí)鐘的邊沿上變化(圖1 a)。異步電路中的當(dāng)前狀態(tài)在一個(gè)或多個(gè)輸入變量的轉(zhuǎn)換之后發(fā)生變化,然后是電路的傳播延遲周期(t pd )。

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

圖1同步(a)和異步(b)電路的行為設(shè)計(jì)模型幾乎相同。主要區(qū)別在于異步電路依賴于傳播延遲來(lái)達(dá)到當(dāng)前狀態(tài)值。

創(chuàng)建順序異步邏輯電路時(shí),請(qǐng)注意電路中的傳播延遲。否則,可能發(fā)生不希望的輸出毛刺或甚至永久的不希望的狀態(tài)。為避免異步電路的危險(xiǎn),設(shè)計(jì)人員更多地選擇同步實(shí)現(xiàn)。然而,同步電路也存在固有問(wèn)題。設(shè)計(jì)人員必須將輸入信號(hào)與狀態(tài)機(jī)時(shí)鐘同步,以避免亞穩(wěn)態(tài)。此外,輸入值的變化僅在同步時(shí)鐘發(fā)生之后影響輸出值,增加了電路響應(yīng)所需的時(shí)間(即延遲)。時(shí)鐘延遲和輸入信號(hào)同步的需要會(huì)嚴(yán)重降低系統(tǒng)的性能。

圖1 b是異步順序狀態(tài)機(jī)的框圖模型。該模型由一個(gè)組合邏輯塊組成,其輸出信號(hào)決定了下一個(gè)狀態(tài)值。塊的輸入變量是外部輸入信號(hào)和當(dāng)前狀態(tài)變量。該模型假設(shè)組合邏輯沒有傳播延遲,并且當(dāng)前狀態(tài)變量在建立時(shí)間之后采用下一狀態(tài)變量的值。建立時(shí)間等于真實(shí)組合邏輯塊中可能出現(xiàn)的最長(zhǎng)傳播延遲(t pd )。

當(dāng)電路穩(wěn)定時(shí)(定義為在等于或長(zhǎng)于t pd 的時(shí)間段內(nèi)保持相同的變量),當(dāng)前和下一狀態(tài)變量具有相同的值。然而,有時(shí),狀態(tài)變量在當(dāng)前狀態(tài)和下一狀態(tài)變量達(dá)到穩(wěn)定狀態(tài)之前呈現(xiàn)幾個(gè)中間值。這些中間值表示不穩(wěn)定狀態(tài),其中輸出變量值對(duì)于給定的輸入值組合保持變化。在極端情況下,電路會(huì)振蕩。

由于通過(guò)電路的各種信號(hào)路徑具有不同的傳播延遲,因此兩個(gè)或多個(gè)輸入信號(hào)的同時(shí)變化可能會(huì)導(dǎo)致不可預(yù)測(cè)的狀態(tài)轉(zhuǎn)換。因此,為了避免不受控制的行為,設(shè)計(jì)應(yīng)該一次只允許一個(gè)輸入變量。此外,連續(xù)輸入信號(hào)變化之間的時(shí)間間隔應(yīng)該比達(dá)到穩(wěn)定狀態(tài)所需的時(shí)間長(zhǎng)。當(dāng)強(qiáng)制執(zhí)行這些限制時(shí),電路以“基本模式”運(yùn)行。

電路實(shí)現(xiàn)可能允許兩個(gè)或多個(gè)狀態(tài)變量由于輸入信號(hào)轉(zhuǎn)換而同時(shí)發(fā)生變化。這種電路具有競(jìng)爭(zhēng)條件,電路行為取決于哪個(gè)狀態(tài)變量變化最快。如果在幾次臨時(shí)狀態(tài)轉(zhuǎn)換后電路達(dá)到的穩(wěn)定狀態(tài)是相同的,無(wú)論哪個(gè)狀態(tài)變量更快,電路都有非關(guān)鍵的比賽。如果最終狀態(tài)不同,則該賽道有重要的比賽。良好的設(shè)計(jì)必須在基本模式下運(yùn)行,避免關(guān)鍵競(jìng)爭(zhēng)條件。

鎖存器保持當(dāng)前狀態(tài)值

在同步狀態(tài)機(jī)中,觸發(fā)器是保存當(dāng)前狀態(tài)值的存儲(chǔ)器元素。在異步狀態(tài)機(jī)中,存儲(chǔ)器單元是鎖存器;圖2顯示了這樣的鎖存電路。產(chǎn)品術(shù)語(yǔ)(A& B)稱為START術(shù)語(yǔ)。當(dāng)該項(xiàng)為真時(shí),輸出Z為真。產(chǎn)品項(xiàng)(B& Z),其中一個(gè)輸入變量是來(lái)自輸出的反饋,稱為HOLD項(xiàng)。一旦START為真,長(zhǎng)于t pd ,只要HOLD項(xiàng)保持為真,輸出Z就會(huì)保持設(shè)置。

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

圖2鎖存電路(a)是異步狀態(tài)機(jī)的存儲(chǔ)元件。鎖存器的異步模型(b)和轉(zhuǎn)換映射(c)提供了對(duì)電路行為的深入了解。

圖2 b說(shuō)明了異步鎖存器的模型。假設(shè)原始門具有零延遲并且組合電路(Z *)的輸出是下一狀態(tài)變量。輸出Z在通過(guò)電路等于傳播延遲(t pd )的時(shí)間之后取值Z *。下一狀態(tài)變量Z *可以表示為布爾方程:Z *(t)= A& B + B& Z(t)。輸出Z(當(dāng)前狀態(tài)變量)是Z(t + t pd )= Z *(t)。除了塊延遲之外,該電路模型可以作為組合邏輯進(jìn)行分析;因此,您可以使用稱為轉(zhuǎn)換映射的卡諾圖類型來(lái)研究其行為。圖2 c顯示了鎖存模型的轉(zhuǎn)換映射。

轉(zhuǎn)換映射的每一列代表外部輸入變量的組合,每行代表一個(gè)組合現(xiàn)狀變量。這些組合被安排成使得相鄰的行或列的差異僅在于一個(gè)變量的變化。由行和列定義的方塊包含電路的相應(yīng)下一狀態(tài)值(Z *)。在圖2中,因?yàn)锳和B是外部輸入變量而Z是唯一的當(dāng)前狀態(tài)變量,所以你需要確定這個(gè)鎖存器的行為是一個(gè)映射四列兩行。

此映射包含許多參考標(biāo)記,有助于理解相應(yīng)電路的行為。在每個(gè)輸入變量名稱下面有一個(gè)水平條,它覆蓋變量為true的那些方塊。正方形的角落有數(shù)字,方便參考。地圖頂部列之間的傾斜箭頭表示Z-的電平轉(zhuǎn)換 - 如果有的話 - 由于輸入轉(zhuǎn)換。

如果將電路的總狀態(tài)定義為輸入和當(dāng)前狀態(tài)變量的當(dāng)前組合,過(guò)渡圖的每個(gè)方格與電路的總狀態(tài)具有唯一的對(duì)應(yīng)關(guān)系。在地圖內(nèi)從正方形移動(dòng)到正方形對(duì)應(yīng)于電路總狀態(tài)的變化。當(dāng)電路到達(dá)其下一狀態(tài)值與其各自的行值一致的方形時(shí),電路已達(dá)到穩(wěn)定狀態(tài)。過(guò)渡圖顯示了圈出的所有穩(wěn)定狀態(tài)。其余的方塊表示不穩(wěn)定狀態(tài)。

轉(zhuǎn)換映射跟蹤電路變化

此時(shí),請(qǐng)注意異步電路的狀態(tài)幾乎在外部輸入改變后立即改變,而不是像在同步電路中那樣跟隨時(shí)鐘的邊沿。在使用轉(zhuǎn)換映射分析異步電路的行為時(shí),請(qǐng)記住,當(dāng)輸入變量發(fā)生變化時(shí),電路的狀態(tài)變化對(duì)應(yīng)于表示新輸入組合的列的立即水平過(guò)渡。如果下一狀態(tài)Z *的新值與當(dāng)前狀態(tài)Z一致,則新狀態(tài)是穩(wěn)定的。否則,垂直轉(zhuǎn)換隨后發(fā)生,直到電路達(dá)到Z * = Z的狀態(tài)。

分析圖2 c中的映射,其中說(shuō)明這種行為。假設(shè)輸入和輸出變量值分別為AB = 00和Z = 0;然后,square 0表示電路的狀態(tài),并給出下一個(gè)狀態(tài)值Z * = 0。由于Z *和Z相同,因此輸出保持穩(wěn)定。如果B變?yōu)椤?”,則當(dāng)前狀態(tài)仍為“0”,盡管方形1表示總狀態(tài)。如果A現(xiàn)在變?yōu)椤?”,則下一狀態(tài)Z *變?yōu)椤?”并且不再等于Z.電路狀態(tài)移至平方3.該狀態(tài)不穩(wěn)定,迫使鎖存器狀態(tài)垂直移動(dòng)到穩(wěn)定狀態(tài)狀態(tài)為7,因?yàn)锳B保持為“11”。以類似的方式,每次輸入值改變時(shí)分析鎖存器的下一個(gè)狀態(tài)。

分析也適用于具有多個(gè)狀態(tài)的電路 - 記憶元素。圖3 a顯示了一個(gè)邏輯圖,您可以通過(guò)檢查圖3中相應(yīng)的布爾方程和卡諾圖來(lái)推導(dǎo)出span> b 。轉(zhuǎn)換圖圖3 c,是兩個(gè)卡諾圖的組合,通過(guò)連接Z *和Q的相應(yīng)值形成*。地圖頂部的值表示電路輸入變量A和B的當(dāng)前值。地圖左側(cè)的值表示電路的當(dāng)前狀態(tài)值(ZQ)。穩(wěn)定狀態(tài),正方形具有下一州的價(jià)值es與相應(yīng)的行值重合,用圓圈表示。

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

圖3從該采樣電路的邏輯圖(a)中,您可以導(dǎo)出卡諾圖(b)中的下一狀態(tài)變量Z *和Q *。組合這些映射會(huì)產(chǎn)生電路的轉(zhuǎn)換映射(c)。

假設(shè)系統(tǒng)以對(duì)應(yīng)于平方1(ABZQ = 0100)的狀態(tài)啟動(dòng)。如果A然后變?yōu)椤?”,則總狀態(tài)移動(dòng)到方形3,其顯示下一個(gè)狀態(tài)“10”。方形3的狀態(tài)不穩(wěn)定,因?yàn)閆Q和Z * Q *不同。因此,電路狀態(tài)移動(dòng)到方形11,其中下一個(gè)狀態(tài)是“10”。這是穩(wěn)定狀態(tài)(ABZQ = 1110),因?yàn)楫?dāng)前狀態(tài)和下一狀態(tài)是相同的。電路保持穩(wěn)定狀態(tài)(ABZQ = 1110)。

如果B然后變?yōu)椤?”,則系統(tǒng)移動(dòng)到方形10,顯示下一個(gè)狀態(tài)“11 “因?yàn)檫@種狀態(tài)不穩(wěn)定,系統(tǒng)狀態(tài)在方形14處移動(dòng)到穩(wěn)定狀態(tài)(ABZQ = 1011)。同樣,您可以繼續(xù)分析轉(zhuǎn)換圖的其余部分。參見圖3 c用于所有可能的轉(zhuǎn)換。

對(duì)于此電路,每次A置位,Z置位,當(dāng)B置位時(shí),Z復(fù)位。此行為描述了置位/復(fù)位翻轉(zhuǎn)的特性-flop,其輸出取決于輸入邊沿轉(zhuǎn)換。

地圖圖表競(jìng)爭(zhēng)條件

轉(zhuǎn)換圖提供了一種有價(jià)值的工具,用于分析競(jìng)爭(zhēng)條件,當(dāng)兩個(gè)或多個(gè)下一個(gè)狀態(tài)因輸入值轉(zhuǎn)換而同時(shí)發(fā)生變化時(shí)會(huì)發(fā)生競(jìng)爭(zhēng)條件。以下示例有助于說(shuō)明轉(zhuǎn)換映射作為分析工具的用處:

案例1:在圖4 a的電路,假設(shè)初始狀態(tài)(ABZQ = 1101)。當(dāng)轉(zhuǎn)換圖(圖4 b)表示時(shí),當(dāng)前狀態(tài)變量ZQ和下一狀態(tài)變量Z * Q *是“01”。如果輸入變量A變?yōu)椤?”(AB = 01),則下一狀態(tài)Z * Q *變?yōu)?0. Z和Q同時(shí)變化,這將設(shè)置競(jìng)爭(zhēng)條件。如果路徑延遲Z和Q相等,電路經(jīng)歷以下轉(zhuǎn)換:01-> 10-> 00。

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

圖4案例1:該電路(a)包含非關(guān)鍵競(jìng)爭(zhēng)條件。如果電路在穩(wěn)態(tài)ABZQ = 1101上電,則它可以以兩種方式響應(yīng)A中的負(fù)轉(zhuǎn)變。如轉(zhuǎn)換圖(b)所示,兩個(gè)響應(yīng)都達(dá)到相同的結(jié)束狀態(tài)。然而,穩(wěn)定所需的時(shí)間隨路徑而變化。

因?yàn)閆和Q的路徑延遲通常不同,但是從01到10的過(guò)渡不會(huì)直接發(fā)生,而是由兩個(gè)中的一個(gè)發(fā)生。潛在序列:01-> 11-> 10-> 00或01-> 00。在這個(gè)例子中,電路在任何一種情況下達(dá)到相同的穩(wěn)定狀態(tài)“00”,這說(shuō)明了一個(gè)非關(guān)鍵的競(jìng)賽。然而,在最終狀態(tài)下穩(wěn)定所需的時(shí)間仍然不確定,因?yàn)樗Q于路徑延遲。

案例2:在圖5 a的電路中,假設(shè)起始狀態(tài)為( ABZQ = 1101)。如圖中的映射所示,當(dāng)A變?yōu)椤?”時(shí),以下序列是可能的:01-> 10-> 00,01-> 00或01-> 11。因此,兩個(gè)不同最終的穩(wěn)定狀態(tài)可以用于輸入轉(zhuǎn)換。這是關(guān)鍵競(jìng)賽的一個(gè)例子。應(yīng)該避免具有關(guān)鍵競(jìng)賽的電路設(shè)計(jì),因?yàn)檗D(zhuǎn)換的結(jié)果是不可預(yù)測(cè)的。

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

圖5案例2:該電路(a)包含嚴(yán)重的競(jìng)爭(zhēng)條件。如轉(zhuǎn)換圖(b)所示,電路可以在A變化后穩(wěn)定在兩種穩(wěn)定狀態(tài)之一。電路到達(dá)的狀態(tài)取決于哪個(gè)邏輯塊更快。

案例3:圖6a 和過(guò)渡圖中的邏輯圖(圖6 > b)對(duì)應(yīng)于不穩(wěn)定的電路。當(dāng)AB從11變?yōu)?1時(shí),ZQ無(wú)限期地在不穩(wěn)定狀態(tài)“01”和“11”之間轉(zhuǎn)換,即,輸出Z振蕩達(dá)AB = 01。在穩(wěn)定電路的映射中避免這種行為。

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

圖6情況3:該電路(a)振蕩時(shí)輸入變量AB從AB = 11變?yōu)锳B = 01。轉(zhuǎn)換圖(b)清楚地顯示了危險(xiǎn)。

通過(guò)分析這三種情況,很明顯,為了正確操作和預(yù)測(cè)電路行為,有必要確保只有一個(gè)下一狀態(tài)變量對(duì)于任何給定的輸入轉(zhuǎn)換都會(huì)發(fā)生變化。

使用地圖計(jì)劃設(shè)計(jì)

轉(zhuǎn)換圖不僅可用于分析異步電路,還可用于合成設(shè)計(jì)。例如,考慮設(shè)計(jì)一個(gè)電路,當(dāng)B為高電平時(shí),其輸出Z跟隨A的轉(zhuǎn)換,當(dāng)B為低電平時(shí),電路保持穩(wěn)定。對(duì)于任何給定的AB值組合,輸出Z可以是“0”或“1”。該電路不能是簡(jiǎn)單的組合邏輯。它必須是順序的,因?yàn)檩敵鲋等Q于當(dāng)前輸入的值和先前的狀態(tài)。這種電路的時(shí)序圖出現(xiàn)在圖7 a中。

如何設(shè)計(jì)轉(zhuǎn)換映射指導(dǎo)成功的異步狀態(tài)機(jī)

圖7建議電路的時(shí)序圖(a)顯示,當(dāng)B = 1時(shí),Z跟隨A,如果B = 0,則Z保持不變。為電路創(chuàng)建轉(zhuǎn)換圖(b)從假設(shè)的穩(wěn)定狀態(tài)開始,并用所需的下一狀態(tài)值填充相鄰的正方形,同時(shí)避免狀態(tài)沖突(c)。最終的狀態(tài)圖(d)構(gòu)成了卡諾圖(e)的基礎(chǔ),從中可以得出最終的電路(f)。

設(shè)計(jì)這個(gè)電路的第一步是繪制轉(zhuǎn)換圖,假設(shè)您可以使用2狀態(tài)變量狀態(tài)機(jī)實(shí)現(xiàn)該電路。輸出Z是當(dāng)前狀態(tài)變量之一; Q是第二個(gè)現(xiàn)狀變量。由于電路具有兩個(gè)輸入變量和兩個(gè)當(dāng)前狀態(tài)變量,因此轉(zhuǎn)換映射包含16個(gè)方塊(圖7 b)。每個(gè)方塊標(biāo)識(shí)輸入和當(dāng)前狀態(tài)變量的一個(gè)組合。

過(guò)渡圖上方的箭頭表示Z的所需過(guò)渡。如圖所示,當(dāng)B為“1”時(shí),Z的變化遵循A的過(guò)渡。即,當(dāng)Z從“01”變?yōu)椤?1”時(shí),如果Z不是“1”,則Z從“0”變?yōu)椤?”。如果Z,則Z從“1”變?yōu)椤?”。當(dāng)AB從“11”變?yōu)椤?1”時(shí),該值不是“0”。沒有其他輸入轉(zhuǎn)換會(huì)導(dǎo)致Z改變。

第二步是用適當(dāng)?shù)南乱粻顟B(tài)變量Z * Q *的值填充方塊。請(qǐng)記住,Z *和Q *分別是在通過(guò)電路的傳播延遲之后Z和Q所采用的值。 Z *和Q *實(shí)際上是虛擬變量,有助于理解電路的過(guò)渡行為; Z *和Q *沒有物理現(xiàn)實(shí)。

按照以下幾條規(guī)則填寫過(guò)渡地圖:

1。每次輸入變量改變時(shí),電路立即水平轉(zhuǎn)換到標(biāo)識(shí)新輸入組合的列;即水平轉(zhuǎn)換表示輸入變化。

2。如果新的下一狀態(tài)值與行值一致,則電路已達(dá)到穩(wěn)定狀態(tài)。

3。如果新狀態(tài)不穩(wěn)定,則電路在同一列內(nèi)移動(dòng),直到下一個(gè)和當(dāng)前狀態(tài)變量相同。垂直轉(zhuǎn)換表示輸出變化。每個(gè)垂直狀態(tài)轉(zhuǎn)換需要一個(gè)傳播延遲,因此,為了最大化電路性能,您的設(shè)計(jì)應(yīng)該在達(dá)到穩(wěn)定狀態(tài)之前具有最小數(shù)量的垂直狀態(tài)轉(zhuǎn)換。

4。為了避免競(jìng)爭(zhēng)條件,只有一個(gè)下一狀態(tài)變量應(yīng)該作為狀態(tài)轉(zhuǎn)換的結(jié)果而改變。

開始填充地圖(圖7 b),假設(shè)電路處于方形5(ABZQ = 0101)指示的狀態(tài),并且系統(tǒng)在該位置穩(wěn)定。因?yàn)檫@表示穩(wěn)定狀態(tài),所以下一狀態(tài)等于當(dāng)前狀態(tài),因此您可以在方塊中寫入“01”并在其周圍畫一個(gè)圓圈。

如果A現(xiàn)在變?yōu)椤?”, Z也應(yīng)為“1”,因?yàn)锽 = 1。電路水平轉(zhuǎn)移一個(gè)方格到右方到方形7,在那里你寫“11”,顯示Z的變化,而Q保持不變。在這種狀態(tài)下,Z * Q * = 11與ZQ = 01不匹配;因此,電路垂直移動(dòng)(保持AB = 11)至方形15,其中ZQ = 11。在這個(gè)方塊中,電路達(dá)到穩(wěn)定狀態(tài),所以你可以寫“11”并圈出它。

如果A再次從“1”變?yōu)椤?”,“Z應(yīng)該是”0 “新的下一個(gè)狀態(tài)是”01“?,F(xiàn)在,電路水平轉(zhuǎn)換到13號(hào)方,你寫”01“。因?yàn)閆 * Q * = 01且ZQ = 11,所以該狀態(tài)不穩(wěn)定。因此,電路垂直移動(dòng)到方形5,這是原始的穩(wěn)定狀態(tài)(ABZQ = 0101)。

到目前為止,電路符合要求,Z的值跟蹤A的轉(zhuǎn)換而B為真。剩下的要求是當(dāng)B為假(B = 0)時(shí)Z不會(huì)改變。同樣,從方形5開始(圖7 c),當(dāng)B從“1”變?yōu)椤?”時(shí),電路水平移動(dòng)到方形4。 Z不應(yīng)該改變,但你可能想要用新的總狀態(tài)來(lái)識(shí)別這種轉(zhuǎn)變。因此,切換Q的值,并在方形4處寫入“00”。這是一個(gè)不穩(wěn)定的狀態(tài),因此電路移動(dòng)到方形0(ABZQ = 0000),在那里它將達(dá)到穩(wěn)定狀態(tài),因?yàn)閆 * Q * = ZQ = 00。寫“00”,并在方塊0處圈出。

避免狀態(tài)沖突

如果A現(xiàn)在從“0”變?yōu)椤?”,則“Z”應(yīng)保持為“0” '因?yàn)锽 = 0(請(qǐng)記住,只有當(dāng)B為高電平時(shí),Z才會(huì)跟隨A的變化。)電路水平移動(dòng)到方形2(ABZQ = 1000),在那里達(dá)到穩(wěn)定狀態(tài)。用“00”填充這個(gè)方格,然后圈出來(lái)。如果B現(xiàn)在變?yōu)椤?”,則電路在方形3(ABZQ = 1100)處移動(dòng)到穩(wěn)定狀態(tài),因此用“00”填充該方塊并將其圈起來(lái)。如果A現(xiàn)在變?yōu)椤?”,則Z保持為“0”,電路狀態(tài)變?yōu)槠椒?.

此時(shí),為Q分配值“0”或“1”。你將Q指定為“0”,Z * Q * = ZQ = 00,并且電路將在方形1處達(dá)到穩(wěn)定狀態(tài)。然而,這種狀態(tài)分配存在一個(gè)問(wèn)題:如果A隨后從“0”變?yōu)椤?”,然后Z應(yīng)該從“0”移動(dòng)到“1”,這將迫使方形3包含10作為其下一個(gè)狀態(tài)。因?yàn)榉叫?的下一個(gè)狀態(tài)已經(jīng)是“00”,所以在方形1處賦值Q = 0導(dǎo)致狀態(tài)沖突。

要避免狀態(tài)沖突,必須在方形1(圖7 c)中指定Q = 1。當(dāng)方形1處的“01”時(shí),狀態(tài)不穩(wěn)定并且電路狀態(tài)垂直移動(dòng)到方形5(狀態(tài)ABZQ = 0101)。以類似的方式,通過(guò)其余狀態(tài)來(lái)完成地圖(圖7 d)。

示例在方塊5中的起始值是任意的。因此,轉(zhuǎn)換映射中給定函數(shù)的狀態(tài)賦值可能會(huì)有所不同,具體取決于初始選擇并不總是有效。碰撞的發(fā)生可能會(huì)迫使您從不同的初始穩(wěn)定狀態(tài)重新啟動(dòng)轉(zhuǎn)換映射狀態(tài)分配。練習(xí)最終會(huì)產(chǎn)生最佳狀態(tài)分配的直觀知識(shí),在達(dá)到穩(wěn)定狀態(tài)并消除所有潛在碰撞之前最小化轉(zhuǎn)換次數(shù)。

一旦填寫轉(zhuǎn)換圖,合成設(shè)計(jì)的第三步是從轉(zhuǎn)換圖生成卡諾圖。每個(gè)next-state條目的第一個(gè)值對(duì)應(yīng)于Z的值;第二個(gè)對(duì)應(yīng)于Q的值。圖7 e顯示了該例子的卡諾圖。

治療不在乎

從這些地圖中推斷出相應(yīng)的布爾方程。選擇公式的乘積項(xiàng)時(shí),請(qǐng)注意避免出現(xiàn)輸出毛刺的電路。避免此類危害的經(jīng)驗(yàn)法則是指定足夠的產(chǎn)品術(shù)語(yǔ)以涵蓋所有細(xì)節(jié),并添加冗余的產(chǎn)品術(shù)語(yǔ),以便相鄰的產(chǎn)品術(shù)語(yǔ)重疊。

同樣,您需要對(duì)待“不關(guān)心” (X)仔細(xì)。為它們分配有助于簡(jiǎn)化產(chǎn)品術(shù)語(yǔ)的值。然后,將這些值恢復(fù)到轉(zhuǎn)換映射,并驗(yàn)證分配不會(huì)產(chǎn)生潛在的電路振蕩,例如那些情況3 指示。

在圖7 d中,square 6有一個(gè)不關(guān)心下一個(gè)狀態(tài)。圖7 e中的布爾方程假設(shè)方形6中Z * = 1且Q * = 1.如果在上電期間,電路進(jìn)入對(duì)應(yīng)的狀態(tài)方波6(ABZQ = 1001),下一個(gè)狀態(tài)為“11”,電路進(jìn)入穩(wěn)態(tài)ABZQ = 1011(方形14)。

設(shè)計(jì)綜合的第四步(也是最后一步)是繪制Z和Q的邏輯圖。如圖7 f中的邏輯圖所示,該實(shí)現(xiàn)包括2級(jí)門電路。這種類型的架構(gòu)非常便于PAL實(shí)現(xiàn)和ASIC應(yīng)用;它可以讓您構(gòu)建方便的專用模塊,傳播延遲最小。當(dāng)前狀態(tài)變量Z是電路的實(shí)際輸出,Q是輔助變量。回想一下,Z *和Q *是虛構(gòu)變量,代表異步電路模型中的下一狀態(tài)值。當(dāng)前狀態(tài)變量Z和Q是物理存在且出現(xiàn)在電路邏輯圖中的唯一變量。

通過(guò)使用更復(fù)雜和正式的程序,轉(zhuǎn)換圖分析可以處理具有三個(gè)或更多外部輸入變量的電路。這種情況超出了本文的范圍,但是,這提供了對(duì)異步電路的概念性理解。通常,同步電路可能更容易理解和設(shè)計(jì)。然而,當(dāng)速度是高優(yōu)先級(jí)時(shí),異步邏輯就是答案。過(guò)渡地圖分析可以指導(dǎo)您實(shí)現(xiàn)可靠的實(shí)施。

聲明:本文內(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)投訴
  • 電路設(shè)計(jì)
    +關(guān)注

    關(guān)注

    6708

    文章

    2541

    瀏覽量

    214863
  • PCB打樣
    +關(guān)注

    關(guān)注

    17

    文章

    2977

    瀏覽量

    22586
  • 華強(qiáng)PCB
    +關(guān)注

    關(guān)注

    8

    文章

    1831

    瀏覽量

    28620
  • 華強(qiáng)pcb線路板打樣

    關(guān)注

    5

    文章

    14629

    瀏覽量

    43937
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何設(shè)計(jì)自動(dòng)駕駛系統(tǒng)的狀態(tài)機(jī)

    狀態(tài)機(jī)模塊在自動(dòng)駕駛系統(tǒng)中扮演著關(guān)鍵的角色,它負(fù)責(zé)管理和控制各個(gè)功能的狀態(tài)轉(zhuǎn)換和行為執(zhí)行。今天我們來(lái)聊聊如何設(shè)計(jì)自動(dòng)駕駛系統(tǒng)的狀態(tài)機(jī) 。
    發(fā)表于 09-19 15:07 ?3493次閱讀
    如何設(shè)計(jì)自動(dòng)駕駛系統(tǒng)的<b class='flag-5'>狀態(tài)機(jī)</b>

    Verilog狀態(tài)機(jī)+設(shè)計(jì)實(shí)例

    在verilog中狀態(tài)機(jī)的一種很常用的邏輯結(jié)構(gòu),學(xué)習(xí)和理解狀態(tài)機(jī)的運(yùn)行規(guī)律能夠幫助我們更好地書寫代碼,同時(shí)作為一種思想方法,在別的代碼設(shè)計(jì)中也會(huì)有所幫助。 一、簡(jiǎn)介 在使用過(guò)程中我們常說(shuō)
    的頭像 發(fā)表于 02-12 19:07 ?5475次閱讀
    Verilog<b class='flag-5'>狀態(tài)機(jī)</b>+設(shè)計(jì)實(shí)例

    如何寫好狀態(tài)機(jī)

    如何寫好狀態(tài)機(jī):狀態(tài)機(jī)是邏輯設(shè)計(jì)的重要內(nèi)容,狀態(tài)機(jī)的設(shè)計(jì)水平直接反應(yīng)工程師的邏輯功底,所以許多公司的硬件和邏輯工程師面試中,狀態(tài)機(jī)設(shè)計(jì)幾乎是必選題目。本章在引入
    發(fā)表于 06-14 19:24 ?97次下載

    狀態(tài)機(jī)舉例

    狀態(tài)機(jī)舉例 你可以指定狀態(tài)寄存器和狀態(tài)機(jī)狀態(tài)。以下是一個(gè)有四種狀態(tài)的普通狀態(tài)機(jī)。 // Th
    發(fā)表于 03-28 15:18 ?1097次閱讀

    狀態(tài)機(jī)代碼生成工具

    狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具
    發(fā)表于 11-19 15:12 ?9次下載

    狀態(tài)機(jī)原理及用法

    狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法
    發(fā)表于 03-15 15:25 ?0次下載

    使用ModelSim自動(dòng)生成狀態(tài)機(jī)FSM的狀態(tài)轉(zhuǎn)換

    HDL代碼設(shè)計(jì)中重要的內(nèi)容之一就是設(shè)計(jì)程序的狀態(tài)機(jī)FSM,狀態(tài)轉(zhuǎn)換控制著整個(gè)程序的流程,為了理解程序,我們經(jīng)常需要把狀態(tài)機(jī)狀態(tài)
    發(fā)表于 02-10 15:39 ?1.6w次閱讀
    使用ModelSim自動(dòng)生成<b class='flag-5'>狀態(tài)機(jī)</b>FSM的<b class='flag-5'>狀態(tài)</b><b class='flag-5'>轉(zhuǎn)換</b>圖

    狀態(tài)機(jī)概述 如何理解狀態(tài)機(jī)

    本篇文章包括狀態(tài)機(jī)的基本概述以及通過(guò)簡(jiǎn)單的實(shí)例理解狀態(tài)機(jī)
    的頭像 發(fā)表于 01-02 18:03 ?1.1w次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>概述  如何理解<b class='flag-5'>狀態(tài)機(jī)</b>

    什么是狀態(tài)機(jī) 狀態(tài)機(jī)的描述三種方法

    狀態(tài)機(jī) 1、狀態(tài)機(jī)是許多數(shù)字系統(tǒng)的核心部件,是一類重要的時(shí)序邏輯電路。通常包括三個(gè)部分:一是下一個(gè)狀態(tài)的邏輯電路,二是存儲(chǔ)狀態(tài)機(jī)當(dāng)前狀態(tài)的時(shí)
    的頭像 發(fā)表于 11-16 17:39 ?2.7w次閱讀

    FPGA:狀態(tài)機(jī)簡(jiǎn)述

    本文目錄 前言 狀態(tài)機(jī)簡(jiǎn)介 狀態(tài)機(jī)分類 Mealy 型狀態(tài)機(jī) Moore 型狀態(tài)機(jī) 狀態(tài)機(jī)描述 一段式
    的頭像 發(fā)表于 11-05 17:58 ?8063次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機(jī)</b>簡(jiǎn)述

    什么是狀態(tài)機(jī)?狀態(tài)機(jī)5要素

    玩單片機(jī)還可以,各個(gè)外設(shè)也都會(huì)驅(qū)動(dòng),但是如果讓你完整的寫一套代碼時(shí),卻無(wú)邏輯與框架可言。這說(shuō)明編程還處于比較低的水平,你需要學(xué)會(huì)一種好的編程框架或者一種編程思想!比如模塊化編程、狀態(tài)機(jī)編程、分層思想
    的頭像 發(fā)表于 07-27 11:23 ?2.1w次閱讀
    什么是<b class='flag-5'>狀態(tài)機(jī)</b>?<b class='flag-5'>狀態(tài)機(jī)</b>5要素

    狀態(tài)模式(狀態(tài)機(jī))

    以前寫狀態(tài)機(jī),比較常用的方式是用 if-else 或 switch-case,高級(jí)的一點(diǎn)是函數(shù)指針列表。最近,看了一文章《c語(yǔ)言設(shè)計(jì)模式–狀態(tài)模式(狀態(tài)機(jī))》(來(lái)源:embed linux
    發(fā)表于 12-16 16:53 ?9次下載
    <b class='flag-5'>狀態(tài)</b>模式(<b class='flag-5'>狀態(tài)機(jī)</b>)

    labview狀態(tài)機(jī)分享

    labview狀態(tài)機(jī)
    發(fā)表于 10-31 15:50 ?18次下載

    如何設(shè)計(jì)ADAS系統(tǒng)功能狀態(tài)機(jī)(一)

    狀態(tài)機(jī)模塊的主要作用是跟蹤系統(tǒng)的當(dāng)前狀態(tài),并根據(jù)特定的事件和條件進(jìn)行狀態(tài)轉(zhuǎn)換。
    發(fā)表于 07-21 14:44 ?1233次閱讀
    如何設(shè)計(jì)ADAS系統(tǒng)功能<b class='flag-5'>狀態(tài)機(jī)</b>(一)

    什么是狀態(tài)機(jī)?狀態(tài)機(jī)的種類與實(shí)現(xiàn)

    狀態(tài)機(jī),又稱有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)或米利狀態(tài)機(jī)(Mealy Machine),是一種描述系統(tǒng)狀態(tài)變化的模型。在芯片設(shè)計(jì)中,
    的頭像 發(fā)表于 10-19 10:27 ?1.2w次閱讀