熟悉一下數字電路一些問題,從細節入手,溫故而知新。
什么是同步邏輯和異步邏輯?同步電路和異步電路的區別是什么?
同步邏輯是時鐘之間有固定的因果關系。異步邏輯是各時鐘之間沒有固定的因果關系。
電路設計可分類為同步電路和異步電路設計。同步電路利用時鐘脈沖使其子系統同步運作,而異步電路不使用時鐘脈沖做同步,其子系統是使用特殊的“開始”和“完成”信號使之同步。
由于異步電路具有下列優點--無時鐘歪斜問題、低電源消耗、平均效能而非最差效能、模塊性、可組合和可復用性--因此近年來對異步電路研究增加快速,論文發表數以倍增,而Intel Pentium 4處理器設計,也開始采用異步電路設計。v異步電路主要是組合邏輯電路,用于產生地址譯碼器、FIFO或RAM的讀寫控制信號脈沖,其邏輯輸出與任何時鐘信號都沒有關系,譯碼輸出產生的毛刺通常是可以監控的。
同步電路是由時序電路(寄存器和各種觸發器)和組合邏輯電路構成的電路,其所有操作都是在嚴格的時鐘控制下完成的。這些時序電路共享同一個時鐘CLK,而所有的狀態變化都是在時鐘的上升沿(或下降沿)完成的。
什么是"線與"邏輯,要實現它,在硬件特性上有什么具體要求?
線與邏輯是兩個輸出信號相連可以實現與的功能。在硬件上,要用oc門來實現(漏極或者集電極開路),由于不用oc門可能使灌電流過大,而燒壞邏輯門,同時在輸出端口應加一個上拉電阻。(線或則是下拉電阻)
什么是Setup 和Holdup時間,setup和holdup時間區別?
Setup/hold time 是測試芯片對輸入信號和時鐘信號之間的時間要求。建立時間是指觸發器的時鐘信號上升沿到來以前,數據穩定不變的時間。輸入信號應提前時鐘上升沿(如上升沿有效)T時間到達芯片,這個T就是建立時間-Setup time.如不滿足setup time,這個數據就不能被這一時鐘打入觸發器,只有在下一個時鐘上升沿,數據才能被打入觸發器。保持時間是指觸發器的時鐘信號上升沿到來以后,數據穩定不變的時間。如果hold time不夠,數據同樣不能被打入觸發器。
建立時間(Setup Time)和保持時間(Hold time)。建立時間是指在時鐘邊沿前,數據信號需要保持不變的時間。保持時間是指時鐘跳變邊沿后數據信號需要保持不變的時間。如果不滿足建立和保持時間的話,那么DFF將不能正確地采樣到數據,將會出現stability的情況。如果數據信號在時鐘沿觸發前后持續的時間均超過建立和保持時間,那么超過量就分別被稱為建立時間裕量和保持時間裕量。
什么是競爭與冒險現象?怎樣判斷?如何消除?
在組合邏輯中,由于門的輸入信號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭。產生毛刺叫冒險。如果布爾式中有相反的信號則可能產生競爭和冒險現象。
解決方法:一是添加布爾式的消去項,二是在芯片外部加電容。
你知道那些常用邏輯電平?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。
如何解決亞穩態?
亞穩態是指觸發器無法在某個規定時間段內達到一個可確認的狀態。當一個觸發器進入亞穩態時,既無法預測該單元的輸出電平,也無法預測何時輸出才能穩定在某個正確的電平上。在這個穩定期間,觸發器輸出一些中間級電平,或者可能處于振蕩狀態,并且這種無用的輸出電平可以沿信號通道上的各個觸發器級聯式傳播下去。
解決方法:
1、降低系統時鐘
2、用反應更快的FF
3、引入同步機制,防止亞穩態傳播
4、改善時鐘質量,用邊沿變化快速的時鐘信號,關鍵是器件使用比較好的工藝和時鐘周期的裕量要大。
IC設計中同步復位與異步復位的區別
同步復位在時鐘沿采復位信號,完成復位動作。異步復位不管時鐘,只要復位信號滿足條件,就完成復位動作。異步復位對復位信號要求比較高,不能有毛刺,如果其與時鐘關系不確定,也可能出現亞穩態。
MOORE 與 MEELEY狀態機的特征
Moore狀態機的輸出僅與當前狀態值有關, 且只在時鐘邊沿到來時才會有狀態變化. Mealy 狀態機的輸出不僅與當前狀態值有關, 而且與當前輸入值有關。
多時域設計中,如何處理信號跨時域
不同的時鐘域之間信號通信時需要進行同步處理,這樣可以防止新時鐘域中第一級觸發器的亞穩態信號對下級邏輯造成影響,其中對于單個控制信號可以用兩級同步器,如電平、邊沿檢測和脈沖,對多位信號可以用FIFO,雙口RAM,握手信號等。
跨時域的信號要經過同步器同步,防止亞穩態傳播。例如:時鐘域1中的一個信號,要送到時鐘域2,那么在這個信號送到時鐘域2之前,要先經過時鐘域2的同步器同步后,才能進入時鐘域2。這個同步器就是兩級d觸發器,其時鐘為時鐘域2的時鐘。這樣做是怕時鐘域1中的這個信號,可能不滿足時鐘域2中觸發器的建立保持時間,而產生亞穩態,因為它們之間沒有必然關系,是異步的。這樣做只能防止亞穩態傳播,但不能保證采進來的數據的正確性。所以通常只同步很少位數的信號。比如控制信號,或地址。當同步的是地址時,一般該地址應采用格雷碼,因為格雷碼每次只變一位,相當于每次只有一個同步器在起作用,這樣可以降低出錯概率,象異步FIFO的設計中,比較讀寫地址的大小時,就是用這種方法。如果兩個時鐘域之間傳送大量的數據,可以用異步FIFO來解決問題。
給了reg的setup,hold時間,求中間組合邏輯的delay范圍
Delay < period - setup – hold
時鐘周期為T,觸發器D1的寄存器到輸出時間最大為T1max,最小為T1min。組合邏輯電路最大延遲為T2max,最小為T2min。問,觸發器D2的建立時間T3和保持時間應滿足什么條件?
T3setup>T+T2max,T3hold>T1min+T2min
給出某個一般時序電路的圖,有Tsetup,Tdelay,Tck->q,還有 clock的delay,寫出決定最大時鐘的因素,同時給出表達式
T+Tclkdealy>Tsetup+Tco+Tdelay;
Thold>Tclkdelay+Tco+Tdelay;
說說靜態、動態時序模擬的優缺點
靜態時序分析是采用窮盡分析方法來提取出整個電路存在的所有時序路徑,計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤。它不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內存較少,不僅可以對芯片設計進行全面的時序功能檢查,而且還可利用時序分析的結果來優化設計,因此靜態時序分析已經越來越多地被用到數字集成電路設計的驗證中。
動態時序模擬就是通常的仿真,因為不可能產生完備的測試向量,覆蓋門級網表中的每一條路徑。因此在動態時序分析中,無法暴露一些路徑上可能存在的時序問題;
一個四級的Mux,其中第二級信號為關鍵信號 如何改善timing
關鍵:將第二級信號放到最后輸出一級輸出,同時注意修改片選信號,保證其優先級未被修改。
為什么一個標準的倒相器中P管的寬長比要比N管的寬長比大?
和載流子有關,P管是空穴導電,N管電子導電,電子的遷移率大于空穴,同樣的電場下,N管的電流大于P管,因此要增大P管的寬長比,使之對稱,這樣才能使得兩者上升時間下降時間相等、高低電平的噪聲容限一樣、充電放電的時間相等
latch與register的區別,為什么現在多用register.行為級描述中latch如何產生的?
latch是電平觸發,register是邊沿觸發,register在同一時鐘邊沿觸發下動作,符合同步電路的設計思想,而latch則屬于異步電路設計,往往會導致時序分析困難,不適當的應用latch則會大量浪費芯片資源。
BLOCKING NONBLOCKING 賦值的區別
非阻塞賦值:塊內的賦值語句同時賦值,一般用在時序電路描述中。
責任編輯:lq
-
寄存器
+關注
關注
31文章
5325瀏覽量
120052 -
數字電路
+關注
關注
193文章
1601瀏覽量
80513 -
異步電路
+關注
關注
2文章
48瀏覽量
11088
原文標題:干貨!數字電路常見問題解析
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論