干貨 | 數字電路最常見的17個問題總結

▲  更多精彩內容 請點擊上方 藍字 關注我們吧!

熟悉一下數字電路一些問題,從細節入手,溫故而知新。

01 什么是同步邏輯和異步邏輯,同步電路和異步電路的區別是什么?

同步邏輯是時鐘之間有固定的因果關系。異步邏輯是各時鐘之間沒有固定的因果關系。

電路設計可分類為同步電路和異步電路設計。同步電路利用時鐘脈沖使其子系統同步運作,而異步電路不使用時鐘脈沖做同步,其子系統是使用特殊的“開始”和“完成”信號使之同步。


由于異步電路具有下列優點--無時鐘歪斜問題、低電源消耗、平均效能而非最差效能、模塊性、可組合和可復用性--因此近年來對異步電路研究增加快速,論文發表數以倍增,而Intel Pentium 4處理器設計,也開始采用異步電路設計。


異步電路主要是組合邏輯電路,用于產生地址譯碼器、FIFO或RAM的讀寫控制信號脈沖,其邏輯輸出與任何時鐘信號都沒有關系,譯碼輸出產生的毛刺通常是可以監控的。


同步電路是由時序電路(寄存器和各種觸發器)和組合邏輯電路構成的電路,其所有操作都是在嚴格的時鐘控制下完成的。這些時序電路共享同一個時鐘CLK,而所有的狀態變化都是在時鐘的上升沿(或下降沿)完成的。


02 什么是"線與"邏輯,要實現它,在硬件特性上有什么具體要求?

線與邏輯是兩個輸出信號相連可以實現與的功能。在硬件上,要用oc門來實現(漏極或者集電極開路)。


由于不用oc門可能使灌電流過大,而燒壞邏輯門,同時在輸出端口應加一個上拉電阻。(線或則是下拉電阻)


03 什么是Setup和Holdup時間,setup和holdup時間區別?

Setup/hold time 是測試芯片對輸入信號和時鐘信號之間的時間要求。建立時間是指觸發器的時鐘信號上升沿到來以前,數據穩定不變的時間。


輸入信號應提前時鐘上升沿(如上升沿有效)T時間到達芯片,這個T就是建立時間-Setup time。


如不滿足setup time,這個數據就不能被這一時鐘打入觸發器,只有在下一個時鐘上升沿,數據才能被打入觸發器。


保持時間是指觸發器的時鐘信號上升沿到來以后,數據穩定不變的時間。如果hold time不夠,數據同樣不能被打入觸發器。

建立時間(Setup Time)和保持時間(Hold time)。建立時間是指在時鐘邊沿前,數據信號需要保持不變的時間。保持時間是指時鐘跳變邊沿后數據信號需要保持不變的時間。


如果不滿足建立和保持時間的話,那么DFF將不能正確地采樣到數據,將會出現stability的情況。


如果數據信號在時鐘沿觸發前后持續的時間均超過建立和保持時間,那么超過量就分別被稱為建立時間裕量和保持時間裕量。


04 什么是競爭與冒險現象?怎樣判斷?如何消除?

在組合邏輯中,由于門的輸入信號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭。產生毛刺叫冒險。如果布爾式中有相反的信號則可能產生競爭和冒險現象。


解決方法:一是添加布爾式的消去項,二是在芯片外部加電容。


05 你知道哪些常用邏輯電平?TTL與COMS電平可以直接互連嗎?

常用邏輯電平:12V,5V,3.3V;TTL和CMOS不可以直接互連,由于TTL是在0.3-3.6V之間,而CMOS則是有在12V的有在5V的。


CMOS輸出接到TTL是可以直接互連。TTL接到CMOS需要在輸出端口加一上拉電阻接到5V或者12V。


cmos的高低電平分別為:

Vih>=0.7VDD,Vil<=0.3VDD;Voh>=0.9VDD,Vol<=0.1VDD. TTL的為:Vih>=2.0v,Vil<=0.8v;Voh>=2.4v,Vol<=0.4v. 

用cmos可直接驅動ttl;加上拉后,ttl可驅動cmos.


06 如何解決亞穩態?

亞穩態是指觸發器無法在某個規定時間段內達到一個可確認的狀態。當一個觸發器進入亞穩態時,既無法預測該單元的輸出電平,也無法預測何時輸出才能穩定在某個正確的電平上。


在這個穩定期間,觸發器輸出一些中間級電平,或者可能處于振蕩狀態,并且這種無用的輸出電平可以沿信號通道上的各個觸發器級聯式傳播下去。

解決方法:
1、降低系統時鐘
2、用反應更快的FF
3、引入同步機制,防止亞穩態傳播
4、改善時鐘質量,用邊沿變化快速的時鐘信號,關鍵是器件使用比較好的工藝和時鐘周期的裕量要大。


07 IC設計中同步復位與異步復位的區別?

同步復位在時鐘沿采復位信號,完成復位動作。異步復位不管時鐘,只要復位信號滿足條件,就完成復位動作。異


步復位對復位信號要求比較高,不能有毛刺,如果其與時鐘關系不確定,也可能出現亞穩態。


08 MOORE 與 MEELEY狀態機的特征?

Moore狀態機的輸出僅與當前狀態值有關, 且只在時鐘邊沿到來時才會有狀態變化。


Mealy 狀態機的輸出不僅與當前狀態值有關, 而且與當前輸入值有關。


09 多時域設計中,如何處理信號跨時域?

不同的時鐘域之間信號通信時需要進行同步處理,這樣可以防止新時鐘域中第一級觸發器的亞穩態信號對下級邏輯造成影響,其中對于單個控制信號可以用兩級同步器,如電平、邊沿檢測和脈沖,對多位信號可以用FIFO,雙口RAM,握手信號等。

跨時域的信號要經過同步器同步,防止亞穩態傳播。例如:時鐘域1中的一個信號,要送到時鐘域2,那么在這個信號送到時鐘域2之前,要先經過時鐘域2的同步器同步后,才能進入時鐘域2。


這個同步器就是兩級d觸發器,其時鐘為時鐘域2的時鐘。這樣做是怕時鐘域1中的這個信號,可能不滿足時鐘域2中觸發器的建立保持時間,而產生亞穩態,因為它們之間沒有必然關系,是異步的。


這樣做只能防止亞穩態傳播,但不能保證采進來的數據的正確性。所以通常只同步很少位數的信號。


比如控制信號,或地址。當同步的是地址時,一般該地址應采用格雷碼,因為格雷碼每次只變一位,相當于每次只有一個同步器在起作用,這樣可以降低出錯概率,像異步FIFO的設計中,比較讀寫地址的大小時,就是用這種方法。如果兩個時鐘域之間傳送大量的數據,可以用異步FIFO來解決問題。


10 給了reg的setup,hold時間,求中間組合邏輯的delay范圍
Delay < period - setup – hold


11 時鐘周期為T,觸發器D1的寄存器到輸出時間最大為T1max,最小為T1min。組合邏輯電路最大延遲為T2max,最小為T2min。問,觸發器D2的建立時間T3和保持時間應滿足什么條件?
T3setup>T+T2max,T3hold>T1min+T2min


12 給出某個一般時序電路的圖,有Tsetup,Tdelay,Tck->q,還有 clock的delay,寫出決定最大時鐘的因素,同時給出表達式
T+Tclkdealy>Tsetup+Tco+Tdelay;
Thold>Tclkdelay+Tco+Tdelay;


13 說說靜態、動態時序模擬的優缺點
靜態時序分析是采用窮盡分析方法來提取出整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤。


它不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內存較少,不僅可以對芯片設計進行全面的時序功能檢查,而且還可利用時序分析的結果來優化設計,因此靜態時序分析已經越來越多地被用到數字集成電路設計的驗證中。

動態時序模擬就是通常的仿真,因為不可能產生完備的測試向量,覆蓋門級網表中的每一條路徑。因此在動態時序分析中,無法暴露一些路徑上可能存在的時序問題。


14 一個四級的Mux,其中第二級信號為關鍵信號,如何改善timing
關鍵:將第二級信號放到最后輸出一級輸出,同時注意修改片選信號,保證其優先級未被修改。


15 為什么一個標準的倒相器中P管的寬長比要比N管的寬長比大?
和載流子有關,P管是空穴導電,N管電子導電,電子的遷移率大于空穴,同樣的電場下,N管的電流大于P管,因此要增大P管的寬長比,使之對稱,這樣才能使得兩者上升時間下降時間相等、高低電平的噪聲容限一樣、充電放電的時間相等。


16 latch與register的區別,為什么現在多用register。行為級描述中latch如何產生的?
latch是電平觸發,register是邊沿觸發,register在同一時鐘邊沿觸發下動作,符合同步電路的設計思想,而latch則屬于異步電路設計,往往會導致時序分析困難,不適當的應用latch則會大量浪費芯片資源。


17 BLOCKING NONBLOCKING 賦值的區別
非阻塞賦值:塊內的賦值語句同時賦值,一般用在時序電路描述中。

干貨 | 數字電路最常見的17個問題總結的圖1 干貨 | 數字電路最常見的17個問題總結的圖2

免責聲明:本文系網絡轉載,版權歸原作者所有。如本文所用視頻、圖片、文字如涉及作品版權問題,請在文末留言告知,我們將在第一時間處理!本文內容為原作者觀點,并不代表本公眾號贊同其觀點和對其真實性負責。

干貨 | 數字電路最常見的17個問題總結的圖3 干貨 | 數字電路最常見的17個問題總結的圖4


推薦閱讀
邀請函: EEWorld 十五周年嘉年華系列活動開啟,點此參與!

干貨|掌握這些技巧,讓你輕松操作DC-DC電路

干貨|一文看懂開關電源中的緩沖吸收電路

干貨 | 電動工具一般都用有刷電機,用無刷電機不行嗎?

眾號內回復您想搜索的任意內容 ,如問題關鍵字、技術名詞、bug代碼等, 就能輕松獲得與之相關的專業技術內容反饋 。快去試試吧!

由于微信公眾號近期改變了推送規則,如果您想經常看到我們的文章,可以在每次閱讀后,在頁面下方點一個「贊」或「在看」,這樣每次推送的文章才會第一時間出現在您的訂閱列表里。

或將我們的公眾號設為星標。進入公眾號主頁后點擊右上角「三個小點」,點擊「設為星標」,我們公眾號名稱旁邊就會出現一個黃色的五角星(Android 和 iOS 用戶操作相同)。

干貨 | 數字電路最常見的17個問題總結的圖5
聚焦行業熱點, 了解最新前沿
敬請長按二維碼,關注EEWorld電子頭條
干貨 | 數字電路最常見的17個問題總結的圖6
即時參與討論電子工程世界最火話題,
搶先知曉電子工程業界最新資訊
歡迎長按二維碼關注:
干貨 | 數字電路最常見的17個問題總結的圖7
EEWorld訂閱號: 電子工程世界
干貨 | 數字電路最常見的17個問題總結的圖8
EEWorld服務號: 電子工程世界福利社
登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP