硬件工程師面試基礎知識

1 什麼是Setup 和Holdup時間?

硬件工程師面試基礎知識

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

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

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

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

在組合邏輯中,由於門的輸入信號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭。

產生毛刺叫冒險。

如果布爾式中有相反的信號則可能產生競爭和冒險現象。

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

3 用D觸發器實現2倍分頻的邏輯電路?

Verilog描述:

module divide2( clk , clk_o, reset);

input clk , reset;

output clk_o;

wire in;

reg out ;

always @ ( posedge clk or posedge reset)

if ( reset)

out <= 0;

else

out <= in;

assign in = ~out;

assign clk_o = out;

endmodule

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

線與邏輯是兩個輸出信號相連可以實現與的功能。在硬件上,要用oc門來實現,由於不用oc門可能使灌電流過大,而燒壞邏輯門。

同時在輸出端口應加一個上拉電阻。

5 什麼是同步邏輯和異步邏輯?

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

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

6 請畫出微機接口電路中,典型的輸入設備與微機接口邏輯示意圖(數據接口、控制接口、所存器/緩衝器)。

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

12,5,3.3

TTL和CMOS不可以直接互連,由於TTL是在0.3-3.6V之間,而CMOS則是有在12V的有在5V的。CMOS輸出接到TTL是可以直接互連。TTL接到CMOS需要在輸出端口加一上拉電阻接到5V或者12V。

8 可編程邏輯器件在現代電子設計中越來越重要,請問:你所知道的可編程邏輯器件有哪些?

PAL,PLD,CPLD,FPGA。

9 試用VHDL或VERILOG、ABLE描述8位D觸發器邏輯。

module dff8(clk , reset, d, q);

input clk;

input reset;

input [7:0] d;

output [7:0] q;

reg [7:0] q;

always @ (posedge clk or posedge reset)

if(reset)

q <= 0;

else

q <= d;

endmodule

10 設想你將設計完成一個電子電路方案。請簡述用EDA軟件(如PROTEL)進行設計(包

括原理圖和PCB圖)到調試出樣機的整個過程。在各環節應注意哪些問題?

電源的穩定上,電容的選取上,以及佈局的大小。

11 用邏輯門和cmos電路實現ab+cd

12 用一個二選一mux和一個inv實現異或

13 給了reg的setup,hold時間,求中間組合邏輯的delay範圍。

Delay < period - setup - hold

14 如何解決亞穩態

亞穩態是指觸發器無法在某個規定時間段內達到一個可確認的狀態。當一個觸發器進入亞穩態時,既無法預測該單元的輸出電平,也無法預測何時輸出才能穩定在某個正確的電平上。在這個穩定期間,觸發器輸出一些中間級電平,或者可能處於振盪狀態,並且這種無用的輸出電平可以沿信號通道上的各個觸發器級聯式傳播下去。

15 用verilog/vhdl寫一個fifo控制器

包括空,滿,半滿信號。

16 用verilog/vddl檢測stream中的特定字符串

分狀態用狀態機寫。

17 用mos管搭出一個二輸入與非門。

18 集成電路前段設計流程,寫出相關的工具。

19 名詞IRQ,BIOS,USB,VHDL,SDR

IRQ: Interrupt ReQuest

BIOS: Basic Input Output System

USB: Universal Serial Bus

VHDL: VHIC Hardware Description Language

SDR: Single Data Rate

20 unix 命令cp -r, rm,uname

21 用波形表示D觸發器的功能

22 寫異步D觸發器的log module

module dff8(clk , reset, d, q);

input clk;

input reset;

input d;

output q;

reg q;

always @ (posedge clk or posedge reset)

if(reset)

q <= 0;

else

q <= d;

endmodule

23 What is PC Chipset?

芯片組(Chipset)是主板的核心組成部分,按照在主板上的排列位置的不同,通常分爲北橋芯片和南橋芯片。北橋芯片提供對CPU的類型和主頻、內存的類型和最大容量、ISA/PCI/AGP插槽、ECC糾錯等支持。南橋芯片則提供對KBC(鍵盤控制器)、RTC(實時時鐘控制器)、USB(通用串行總線)、Ultra DMA/33(66)EIDE數據傳輸方式和ACPI(高級能源管理)等的支持。其中北橋芯片起着主導性的作用,也稱爲主橋(Host Bridge)。

除了最通用的南北橋結構外,目前芯片組正向更高級的加速集線架構發展,Intel的8xx系列芯片組就是這類芯片組的代表,它將一些子系統如IDE接口、音效、MODEM和USB直接接入主芯片,能夠提供比PCI總線寬一倍的帶寬,達到了266MB/s。

24 用傳輸門和反向器搭一個邊沿觸發器

25 畫狀態機,接受1,2,5分錢的賣報機,每份報紙5分錢