1. 程式人生 > >IC攻城獅求職寶典05鉅泉光電筆試題

IC攻城獅求職寶典05鉅泉光電筆試題

1.同步電路(synchronous circuits)和非同步電路(asynchronous circuits)的區別?
解析:
同步電路的時鐘源是一個,包括通過PLL分頻和倍頻的時鐘,都可以認為是同步時鐘電路。
非同步電路是的時鐘源是不同,時鐘的相位和時鐘週期,沒有關係。
同步電路即電路的狀態運轉隨某個時鐘而跳轉,所有電路之間利用時鐘沿來做同步。而非同步電路之間的不受某個時鐘沿控制,而是各個電路之間由各種握手訊號來完成資料之間的互動與同步。
同步電路相比於非同步電路好分析,時序約束簡單,同時能夠容忍一定的毛刺。但是由於時鐘一直處於跳變狀態,暫存器的功耗較大。
非同步電路相對於同步電路其分析與時序約束更加複雜,但是具有低電源功耗,無時鐘偏斜等問題。
非同步電路容易產生亞穩態問題,需要在設計是進行特殊的設計處理。比如兩級同步,非同步FIFO,格雷碼等。
思考:可以從多個角度來解答這個問題:1. 基本概念,2電路特性,3.設計方法,4.時序分析

  1. 畫出下面RTL code 的邏輯電路圖?
    IC攻城獅求職寶典05鉅泉光電筆試題
    解析:
    IC攻城獅求職寶典05鉅泉光電筆試題
    生成latch

思考題:以上程式碼會生成鎖存器。這在典型的電路設計中,是要避免的。

  1. 建立時間和保持時間的概念?不考慮時鐘偏移(clock skew)和時鐘抖動(clock jitter),下圖setup timing和hold timing應滿足的關係?
    解析:IC攻城獅求職寶典05鉅泉光電筆試題

建立時間:對於暫存器,資料必須提前於時鍾沿帶來之前多長時間到來並穩定,才能保證資料的採集不出問題。
保持時間:對於暫存器資料必須在時鐘沿之後再繼續保持多長時間,才能使得資料的採集不會出問題。
Tcycle-Tpd-Tcq-Tsetup+Tcd>0
Tpd+Tcq-Tcd-Thold>0

  1. 解釋下面程式碼:
    typedef volatile unsigned long RP;
    #define do(reg,data)
    (RP)(reg) = data

解析:C語言的基本語法
IC攻城獅求職寶典05鉅泉光電筆試題