數字IC設計筆試面試經典100題

2021-04-18 04:54:43 字數 4589 閱讀 8879

1:什麼是同步邏輯和非同步邏輯?(漢王)

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

同步時序邏輯電路的特點:各觸發器的時鐘端全部連線在一起,並接在系統時鐘端,只有當時鐘脈衝到來時,電路的狀態才能改變。改變後的狀態將一直保持到下乙個時鐘脈衝的到來,此時無論外部輸入 x 有無變化,狀態表中的每個狀態都是穩定的。

非同步時序邏輯電路的特點:電路中除可以使用帶時鐘的觸發器外,還可以使用不帶時鐘的觸發器和延遲元件作為儲存元件,電路中沒有統一的時鐘,電路狀態的改變由外部輸入的變化直接引起。

2:同步電路和非同步電路的區別:

同步電路:儲存電路中所有觸發器的時鐘輸入端都接同乙個時鐘脈衝源,因而所有觸發器的狀態的變化都與所加的時鐘脈衝訊號同步。

非同步電路:電路沒有統一的時鐘,有些觸發器的時鐘輸入端與時鐘脈衝源相連,只有這些觸發器的狀態變化與時鐘脈衝同步,而其他的觸發器的狀態變化不與時鐘脈衝同步。

3:時序設計的實質:

時序設計的實質就是滿足每乙個觸發器的建立/保持時間的要求。

4:建立時間與保持時間的概念?

建立時間:觸發器在時鐘上公升沿到來之前,其資料輸入端的資料必須保持不變的最小時間。

保持時間:觸發器在時鐘上公升沿到來之後,其資料輸入端的資料必須保持不變的最小時間。

5:為什麼觸發器要滿足建立時間和保持時間?

因為觸發器內部資料的形成是需要一定的時間的,如果不滿足建立和保持時間,觸發器將進入亞穩態,進入亞穩態後觸發器的輸出將不穩定,在0和1之間變化,這時需要經過乙個恢復時間,其輸出才能穩定,但穩定後的值並不一定是你的輸入值。這就是為什麼要用兩級觸發器來同步非同步輸入訊號。,導致亞穩態的傳播。

(比較容易理解的方式)換個方式理解:需要建立時間是因為觸發器的d端像乙個鎖存器在接受資料,為了穩定的設定前級門的狀態需要一段穩定時間;需要保持時間是因為在時鐘沿到來之後,觸發器要通過反饋來鎖存狀態,從后級門傳到前級門需要時間。

6:什麼是亞穩態?為什麼兩級觸發器可以防止亞穩態傳播?

這也是乙個非同步電路同步化的問題。亞穩態是指觸發器無法在某個規定的時間段內到達乙個可以確認的狀態。使用兩級觸發器來使非同步電路同步化的電路其實叫做「一位同步器」,他只能用來對一位非同步訊號進行同步。

兩級觸發器可防止亞穩態傳播的原理:假設第一級觸發器的輸入不滿足其建立保持時間,它在第乙個脈衝沿到來後輸出的資料就為亞穩態,那麼在下乙個脈衝沿到來之前,其輸出的亞穩態資料在一段恢復時間後必須穩定下來,而且穩定的資料必須滿足第二級觸發器的建立時間,如果都滿足了,在下乙個脈衝沿到來時,第二級觸發器將不會出現亞穩態,因為其輸入端的資料滿足其建立保持時間。同步器有效的條件:

第一級觸發器進入亞穩態後的恢復時間 + 第二級觸發器的建立時間 < = 時鐘週期。

更確切地說,輸入脈衝寬度必須大於同步時鐘週期與第一級觸發器所需的保持時間之和。最保險的脈衝寬度是兩倍同步時鐘週期。 所以,這樣的同步電路對於從較慢的時鐘域來的非同步訊號進入較快的時鐘域比較有效,對於進入乙個較慢的時鐘域,則沒有作用 。

7:系統最高速度計算(最快時鐘頻率)和流水線設計思想:

同步電路的速度是指同步系統時鐘的速度,同步時鐘愈快,電路處理資料的時間間隔越短,電路在單位時間內處理的資料量就愈大。假設tco是觸發器的輸入資料被時鐘打入到觸發器到資料到達觸發器輸出端的延時時間(tco=tsetpup+thold);tdelay是組合邏輯的延時;tsetup是d觸發器的建立時間。假設資料已被時鐘打入d觸發器,那麼資料到達第乙個觸發器的q輸出端需要的延時時間是tco,經過組合邏輯的延時時間為tdelay,然後到達第二個觸發器的d端,要希望時鐘能在第二個觸發器再次被穩定地打入觸發器,則時鐘的延遲必須大於tco+tdelay+tsetup,也就是說最小的時鐘週期tmin =tco+tdelay+tsetup,即最快的時鐘頻率fmax =1/tmin。

fpga開發軟體也是通過這種方法來計算系統最高執行速度fmax。因為tco和tsetup是由具體的器件工藝決定的,故設計電路時只能改變組合邏輯的延遲時間tdelay,所以說縮短觸發器間組合邏輯的延時時間是提高同步電路速度的關鍵所在。由於一般同步電路都大於一級鎖存,而要使電路穩定工作,時鐘週期必須滿足最大延時要求。

故只有縮短最長延時路徑,才能提高電路的工作頻率。可以將較大的組合邏輯分解為較小的n塊,通過適當的方法平均分配組合邏輯,然後在中間插入觸發器,並和原觸發器使用相同的時鐘,就可以避免在兩個觸發器之間出現過大的延時,消除速度瓶頸,這樣可以提高電路的工作頻率。這就是所謂"流水線"技術的基本設計思想,即原設計速度受限部分用乙個時鐘週期實現,採用流水線技術插入觸發器後,可用n個時鐘週期實現,因此系統的工作速度可以加快,吞吐量加大。

注意,流水線設計會在原資料通路上加入延時,另外硬體面積也會稍有增加。

8:時序約束的概念和基本策略?

時序約束主要包括週期約束,偏移約束,靜態時序路徑約束三種。通過附加時序約束可以綜合佈線工具調整對映和布局佈線,使設計達到時序要求。

附加時序約束的一般策略是先附加全域性約束,然後對快速和慢速例外路徑附加專門約束。附加全域性約束時,首先定義設計的所有時鐘,對各時鐘域內的同步元件進行分組,對分組附加週期約束,然後對fpga/cpld輸入輸出pad附加偏移約束、對全組合邏輯的pad to pad路徑附加約束。附加專門約束時,首先約束分組之間的路徑,然後約束快、慢速例外路徑和多週期路徑,以及其他特殊路徑。

9:附加約束的作用?

1:提高設計的工作頻率(減少了邏輯和佈線延時);2:獲得正確的時序分析報告;(靜態時序分析工具以約束作為判斷時序是否滿足設計要求的標準,因此要求設計者正確輸入約束,以便靜態時序分析工具可以正確的輸出時序報告)3:

指定fpga/cpld的電氣標準和引腳位置。

10:fpga設計工程師努力的方向:

sopc,高速序列i/o,低功耗,可靠性,可測試性和設計驗證流程的優化等方面。

隨著晶元工藝的提高,晶元容量、整合度都在增加,fpga設計也朝著高速、高度整合、低功耗、高可靠性、高可測、可驗證性發展。晶元可測、可驗證,正在成為複雜設計所必備的條件,盡量在上板之前查出bug,將發現bug的時間提前,這也是一些公司花大力氣設計**平台的原因。另外隨著單板功能的提高、成本的壓力,低功耗也逐漸進入fpga設計者的考慮範圍,完成相同的功能下,考慮如何能夠使晶元的功耗最低,據說altera、xilinx都在根據自己的晶元特點整理如何降低功耗的文件。

高速序列io的應用,也豐富了fpga的應用範圍,象xilinx的v2pro中的高速鏈路也逐漸被應用。

11:對於多位的非同步訊號如何進行同步?

對以一位的非同步訊號可以使用「一位同步器進行同步」(使用兩級觸發器),而對於多位的非同步訊號,可以採用如下方法:1:可以採用保持暫存器加握手訊號的方法(多資料,控制,位址);2:

特殊的具體應用電路結構,根據應用的不同而不同;3:非同步fifo。(最常用的快取單元是dpram)

12:fpga和cpld的區別?

13:鎖存器(latch)和觸發器(flip-flop)區別?

電平敏感的儲存器件稱為鎖存器。可分為高電平鎖存器和低電平鎖存器,用於不同時鐘之間的訊號同步。

有交叉耦合的門構成的雙穩態的儲存原件稱為觸發器。分為上公升沿觸發和下降沿觸發。可以認為是兩個不同電平敏感的鎖存器串連而成。

前乙個鎖存器決定了觸發器的建立時間,後乙個鎖存器則決定了保持時間。

14:fpga晶元內有哪兩種儲存器資源?

fpga晶元內有兩種儲存器資源:一種叫block ram,另一種是由lut配置成的內部儲存器(也就是分布式ram)。block ram由一定數量固定大小的儲存塊構成的,使用block ram資源不占用額外的邏輯資源,並且速度快。

但是使用的時候消耗的block ram資源是其塊大小的整數倍。

15:什麼是時鐘抖動?

時鐘抖動是指晶元的某乙個給定點上時鐘週期發生暫時性變化,也就是說時鐘週期在不同的週期上可能加長或縮短。它是乙個平均值為0的平均變數。

16:fpga設計中對時鐘的使用?(例如分頻等)

fpga晶元有固定的時鐘路由,這些路由能有減少時鐘抖動和偏差。需要對時鐘進行相位移動或變頻的時候,一般不允許對時鐘進行邏輯操作,這樣不僅會增加時鐘的偏差和抖動,還會使時鐘帶上毛刺。一般的處理方法是採用fpga晶元自帶的時鐘管理器如pll,dll或dcm,或者把邏輯轉換到觸發器的d輸入(這些也是對時鐘邏輯操作的替代方案)。

17:fpga設計中如何實現同步時序電路的延時?

首先說說非同步電路的延時實現:非同步電路一半是通過加buffer、兩級與非門等來實現延時(我還沒用過所以也不是很清楚),但這是不適合同步電路實現延時的。在同步電路中,對於比較大的和特殊要求的延時,一半通過高速時鐘產生計數器,通過計數器來控制延時;對於比較小的延時,可以通過觸發器打一拍,不過這樣只能延遲乙個時鐘週期。

18:fpga中可以綜合實現為ram/rom/cam的三種資源及其注意事項?

三種資源:block ram,觸發器(ff),查詢表(lut);

注意事項:

1:在生成ram等儲存單元時,應該首選block ram 資源;其原因有二:第一:

使用block ram等資源,可以節約更多的ff和4-lut等底層可程式設計單元。使用block ram可以說是「不用白不用」,是最大程度發揮器件效能,節約成本的一種體現;第二:block ram是一種可以配置的硬體結構,其可靠性和速度與用lut和register構建的儲存器更有優勢。

2:弄清fpga的硬體結構,合理使用block ram資源;

3:分析block ram容量,高效使用block ram資源;

4:分布式ram資源(distribute ram)

19:xilinx中與全域性時鐘資源和dll相關的硬體原語:

數字IC設計工程師筆試面試經典100題 大部分有答案

1 什麼是同步邏輯和非同步邏輯?漢王 同步邏輯是時鐘之間有固定的因果關係。非同步邏輯是各時鐘之間沒有固定的因果關係。同步時序邏輯電路的特點 各觸發器的時鐘端全部連線在一起,並接在系統時鐘端,只有當時鐘脈衝到來時,電路的狀態才能改變。改變後的狀態將一直保持到下乙個時鐘脈衝的到來,此時無論外部輸入 x ...

EE筆試面試題目集合分類 IC設計基礎

1 我們公司的產品是積體電路,請描述一下你對積體電路的認識,列舉一些與積體電路 相關的內容 如講清楚模擬 數字 雙極型 cmos mcu risc cisc dsp asic fpga等的概念 仕蘭微面試題目 2 fpga和asic的概念,他們的區別。未知 答案 fpga是可程式設計asic。asi...

2023年整理IC筆試面試基礎題目集合

1 基爾霍夫定律的內容是什麼?基爾霍夫定律 kirchhoff law 基爾霍夫電流定律 kcl 對任一集總引數電路中的任一節點,在任一瞬間,流出該節點的所有電流的代數和恒為零。基爾霍夫電壓定律 kvl 對任一集總引數電路中的任一回路,在任一瞬間,模擬電路 1 基爾霍夫定律的內容是什麼?基爾霍夫定律...