数字IC设计工程师笔试面试经典题
說(shuō)明:
文章來(lái)源于: 數(shù)字IC設(shè)計(jì)工程師筆試面試經(jīng)典100題_TroubleMaker-CSDN博客_數(shù)字ic設(shè)計(jì)面試題,經(jīng)過(guò)本人補(bǔ)充和整理后所得。
1:什么是同步邏輯和異步邏輯?
答:同步和異步描述的是時(shí)鐘的關(guān)系;同步——時(shí)鐘之間關(guān)系確定;異步——時(shí)鐘的關(guān)系無(wú)法確定;
同步邏輯是時(shí)鐘之間有固定的因果關(guān)系。異步邏輯是各時(shí)鐘之間沒(méi)有固定的因果關(guān)系。
同步時(shí)序邏輯電路的特點(diǎn):各觸發(fā)器的時(shí)鐘端全部連接在一起,并接在系統(tǒng)時(shí)鐘端,只有當(dāng)時(shí)鐘脈沖到來(lái)時(shí),電路的狀態(tài)才能改變。改變后的狀態(tài)將一直保持到下一個(gè)時(shí)鐘脈沖的到來(lái),此時(shí)無(wú)論外部輸入x有無(wú)變化,狀態(tài)表中的每個(gè)狀態(tài)都是穩(wěn)定的。
異步時(shí)序邏輯電路的特點(diǎn):電路中除可以使用帶時(shí)鐘的觸發(fā)器外,還可以使用不帶時(shí)鐘的觸發(fā)器和延遲元件作為存儲(chǔ)元件,電路中沒(méi)有統(tǒng)一的時(shí)鐘,電路狀態(tài)的改變由外部輸入的變化直接引起。
同步時(shí)序邏輯電路 異步時(shí)序邏輯電路2:同步電路和異步電路的區(qū)別:
同步電路:存儲(chǔ)電路中所有觸發(fā)器的時(shí)鐘輸入端都接同一個(gè)時(shí)鐘脈沖源,因而所有觸發(fā)器的狀態(tài)的變化都與所加的時(shí)鐘脈沖信號(hào)同步。
異步電路:電路沒(méi)有統(tǒng)一的時(shí)鐘,有些觸發(fā)器的時(shí)鐘輸入端與時(shí)鐘脈沖源相連,只有這些觸發(fā)器的狀態(tài)變化與時(shí)鐘脈沖同步,而其他的觸發(fā)器的狀態(tài)變化不與時(shí)鐘脈沖同步。
3:時(shí)序設(shè)計(jì)的實(shí)質(zhì):
時(shí)序設(shè)計(jì)的實(shí)質(zhì)就是滿足每一個(gè)觸發(fā)器的建立/保持時(shí)間的要求。
4:建立時(shí)間與保持時(shí)間的概念?
建立時(shí)間:觸發(fā)器在時(shí)鐘上升沿到來(lái)之前,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的最小時(shí)間。
保持時(shí)間:觸發(fā)器在時(shí)鐘上升沿到來(lái)之后,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的最小時(shí)間。
5:為什么觸發(fā)器要滿足建立時(shí)間和保持時(shí)間?
因?yàn)橛|發(fā)器內(nèi)部數(shù)據(jù)的形成是需要一定的時(shí)間的,如果不滿足建立和保持時(shí)間,觸發(fā)器將進(jìn)入亞穩(wěn)態(tài),進(jìn)入亞穩(wěn)態(tài)后觸發(fā)器的輸出將不穩(wěn)定,在0和1之間變化,這時(shí)需要經(jīng)過(guò)一個(gè)恢復(fù)時(shí)間,其輸出才能穩(wěn)定,但穩(wěn)定后的值并不一定是你的輸入值。這就是為什么要用兩級(jí)觸發(fā)器來(lái)同步異步輸入信號(hào)。這樣做可以防止由于異步輸入信號(hào)對(duì)于本級(jí)時(shí)鐘可能不滿足建立保持時(shí)間而使本級(jí)觸發(fā)器產(chǎn)生的亞穩(wěn)態(tài)傳播到后面邏輯中,導(dǎo)致亞穩(wěn)態(tài)的傳播。
(比較容易理解的方式)換個(gè)方式理解:需要建立時(shí)間是因?yàn)橛|發(fā)器的D端像一個(gè)鎖存器在接受數(shù)據(jù),為了穩(wěn)定的設(shè)置前級(jí)門的狀態(tài)需要一段穩(wěn)定時(shí)間;需要保持時(shí)間是因?yàn)樵跁r(shí)鐘沿到來(lái)之后,觸發(fā)器要通過(guò)反饋來(lái)鎖存狀態(tài),從后級(jí)門傳到前級(jí)門需要時(shí)間。
答:建立時(shí)間:前級(jí)信號(hào)傳到后級(jí)需要穩(wěn)定一段時(shí)間;
保持時(shí)間:后級(jí)信號(hào)反饋到前級(jí)需要穩(wěn)定一段時(shí)間。
6:什么是亞穩(wěn)態(tài)?為什么兩級(jí)觸發(fā)器可以防止亞穩(wěn)態(tài)傳播?
這也是一個(gè)異步電路同步化的問(wèn)題。亞穩(wěn)態(tài)是指觸發(fā)器無(wú)法在某個(gè)規(guī)定的時(shí)間段內(nèi)到達(dá)一個(gè)可以確認(rèn)的狀態(tài)。使用兩級(jí)觸發(fā)器來(lái)使異步電路同步化的電路其實(shí)叫做“一位同步器”,他只能用來(lái)對(duì)一位異步信號(hào)進(jìn)行同步。兩級(jí)觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理:假設(shè)第一級(jí)觸發(fā)器的輸入不滿足其建立保持時(shí)間,它在第一個(gè)脈沖沿到來(lái)后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個(gè)脈沖沿到來(lái)之前,其輸出的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復(fù)時(shí) 間后必須穩(wěn)定下來(lái),而且穩(wěn)定的數(shù)據(jù)必須滿足第二級(jí)觸發(fā)器的建立時(shí)間,如果都滿足了,在下一個(gè)脈沖沿到來(lái)時(shí),第二級(jí)觸發(fā)器將不會(huì)出現(xiàn)亞穩(wěn)態(tài),因?yàn)槠漭斎攵说?數(shù)據(jù)滿足其建立保持時(shí)間。同步器有效的條件:第一級(jí)觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后的恢復(fù)時(shí)間 + 第二級(jí)觸發(fā)器的建立時(shí)間 < = 時(shí)鐘周期。
更確切地說(shuō),輸入脈沖寬度必須大于同步時(shí)鐘周期與第一級(jí)觸發(fā)器所需的保持時(shí)間之和。最保險(xiǎn)的脈沖寬度是兩倍同步時(shí)鐘周期。所以,這樣的同步電路對(duì)于從較慢的時(shí)鐘域來(lái)的異步信號(hào)進(jìn)入較快的時(shí)鐘域比較有效,對(duì)于進(jìn)入一個(gè)較慢的時(shí)鐘域,則沒(méi)有作用。
答:亞穩(wěn)態(tài)只能減小發(fā)生的可能,不能完全避免;兩級(jí)觸發(fā)器同步法只能適合將慢時(shí)鐘域的信號(hào)傳遞給快的時(shí)鐘域(即快域采慢域)
7:系統(tǒng)最高速度計(jì)算(最快時(shí)鐘頻率)和流水線設(shè)計(jì)思想:
同步電路的速度是指同步系統(tǒng)時(shí)鐘的速度,同步時(shí)鐘愈快,電路處理數(shù)據(jù)的時(shí)間間隔越短,電路在單位時(shí)間內(nèi)處理的數(shù)據(jù)量就愈大。
假設(shè)Tco是觸發(fā)器的輸入數(shù)據(jù)被時(shí)鐘打入到觸發(fā)器到數(shù)據(jù)到達(dá)觸發(fā)器輸出端的延時(shí)時(shí)間(Tco=Tsetpup+Thold);Tdelay是組合邏輯的延時(shí);Tsetup是D觸發(fā)器的建立時(shí)間。
假設(shè)數(shù)據(jù)已被時(shí)鐘打入D觸發(fā)器,那么數(shù)據(jù)到達(dá)第一個(gè)觸發(fā)器的Q輸出端需要的延時(shí)時(shí)間是Tco,經(jīng)過(guò)組合邏輯的延時(shí)時(shí)間為Tdelay,然后到達(dá)第二個(gè)觸發(fā)器的D端,要希望時(shí)鐘能在第二個(gè)觸發(fā)器再次被穩(wěn)定地打入觸發(fā)器,則時(shí)鐘的延遲必須大于Tco+Tdelay+Tsetup,也就是說(shuō)最小的時(shí)鐘周期Tmin =Tco+Tdelay+Tsetup,即最快的時(shí)鐘頻率Fmax =1/Tmin。
FPGA開(kāi)發(fā)軟件也是通過(guò)這種方法來(lái)計(jì)算系統(tǒng)最高運(yùn)行速度Fmax。因?yàn)?strong>Tco和Tsetup是由具體的器件工藝決定的,故設(shè)計(jì)電路時(shí)只能改變組合邏輯的延遲時(shí)間Tdelay,所以說(shuō)縮短觸發(fā)器間組合邏輯的延時(shí)時(shí)間是提高同步電路速度的關(guān)鍵所在。由于一般同步電路都大于一級(jí)鎖存,而要使電路穩(wěn)定工作,時(shí)鐘周期必須滿足最大延時(shí)要求。故只有縮短最長(zhǎng)延時(shí)路徑,才能提高電路的工作頻率。可以將較大的組合邏輯分解為較小的N塊,通過(guò)適當(dāng)?shù)姆椒?strong>平均分配組合邏輯,然后在中間插入觸發(fā)器,并和原觸發(fā)器使用相同的時(shí)鐘,就可以避免在兩個(gè)觸發(fā)器之間出現(xiàn)過(guò)大的延時(shí),消除速度瓶頸,這樣可以提高電路的工作頻率。這就是所謂"流水線"技術(shù)的基本設(shè)計(jì)思想,即原設(shè)計(jì)速度受限部分用一個(gè)時(shí)鐘周期實(shí)現(xiàn),采用流水線技術(shù)插入觸發(fā)器后,可用N個(gè)時(shí)鐘周期實(shí)現(xiàn),因此系統(tǒng)的工作速度可以加快,吞吐量加大。注意,流水線設(shè)計(jì)會(huì)在原數(shù)據(jù)通路上加入延時(shí),另外硬件面積也會(huì)稍有增加。
8:時(shí)序約束的概念和基本策略?
時(shí)序約束主要包括周期約束,偏移約束,靜態(tài)時(shí)序路徑約束三種。通過(guò)附加時(shí)序約束可以綜合布線工具調(diào)整映射和布局布線,使設(shè)計(jì)達(dá)到時(shí)序要求。
附加時(shí)序約束的一般策略是先附加全局約束,然后對(duì)快速和慢速例外路徑附加專門約束。附加全局約束時(shí),首先定義設(shè)計(jì)的所有時(shí)鐘,對(duì)各時(shí)鐘域內(nèi)的同步元件進(jìn)行分組,對(duì)分組附加周期約束,然后對(duì)FPGA/CPLD輸入輸出PAD附加偏移約束、對(duì)全組合邏輯的PAD TO PAD路徑附加約束。附加專門約束時(shí),首先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其他特殊路徑。
9:附加約束的作用?
10:FPGA設(shè)計(jì)工程師努力的方向:
SOPC,高速串行I/O,低功耗,可靠性,可測(cè)試性和設(shè)計(jì)驗(yàn)證流程的優(yōu)化等方面。
隨著芯片工藝的提高,芯片容量、集成度都在增加,FPGA設(shè)計(jì)也朝著高速、高度集成、低功耗、高可靠性、高可測(cè)、可驗(yàn)證性發(fā)展。芯片可測(cè)、可驗(yàn)證,正在成為復(fù)雜設(shè)計(jì)所必備的條件,盡量在上板之前查出bug,將發(fā)現(xiàn)bug的時(shí)間提前,這也是一些公司花大力氣設(shè)計(jì)仿真平臺(tái)的原因。另外隨著單板功能的提高、成本的壓力,低功耗也逐漸進(jìn)入FPGA設(shè)計(jì)者的考慮范圍,完成相同的功能下,考慮如何能夠使芯片的功耗最低,據(jù)說(shuō)altera、xilinx都在根據(jù)自己的芯片特點(diǎn)整理如何降低功耗的文檔。高速串行IO的應(yīng)用,也豐富了FPGA的應(yīng)用范圍,象xilinx的v2pro中的高速鏈路也逐漸被應(yīng)用。
11:對(duì)于多位的異步信號(hào)如何進(jìn)行同步?
對(duì)以一位的異步信號(hào)可以使用“一位同步器進(jìn)行同步”(使用兩級(jí)觸發(fā)器),而對(duì)于多位的異步信號(hào),可以采用如下方法:1:可以采用保持寄存器加握手信號(hào)的方法(多數(shù)據(jù),控制,地址);2:特殊的具體應(yīng)用電路結(jié)構(gòu),根據(jù)應(yīng)用的不同而不同;3:異步FIFO。(最常用的緩存單元是DPRAM)
12:FPGA和CPLD的區(qū)別?
| FPGA | CPLD | |
| 內(nèi)部結(jié)構(gòu) | Product term(基于乘積項(xiàng)) | Look up Table(基于查找表) |
| 程序存儲(chǔ) | 內(nèi)部EEPROM/FLASH | SRAM,外掛EEPROM |
| 資源類型 | 組合邏輯資源豐富 | 時(shí)序邏輯資源豐富 |
| 集成度 | 低 | 高 |
| 使用場(chǎng)合 | 完成控制邏輯 | 能完成比較復(fù)雜的算法 |
| 速度 | 慢 | 快 |
| 其他資源 | - | PLL、RAM和乘法器等 |
| 保密性 | 可加密 | 一般不能保密 |
13:鎖存器(latch)和觸發(fā)器(flip-flop)區(qū)別?
電平敏感的存儲(chǔ)器件稱為鎖存器??煞譃楦唠娖芥i存器和低電平鎖存器,用于不同時(shí)鐘之間的信號(hào)同步。
有交叉耦合的門構(gòu)成的雙穩(wěn)態(tài)的存儲(chǔ)原件稱為觸發(fā)器。分為上升沿觸發(fā)和下降沿觸發(fā)。可以認(rèn)為是兩個(gè)不同電平敏感的鎖存器串連而成。前一個(gè)鎖存器決定了觸發(fā)器的建立時(shí)間,后一個(gè)鎖存器則決定了保持時(shí)間。
答:
高電平觸發(fā)的D鎖存器 上升沿觸發(fā)的D觸發(fā)器(FF1、FF2為D鎖存器)14:FPGA芯片內(nèi)有哪兩種存儲(chǔ)器資源?
FPGA芯片內(nèi)有兩種存儲(chǔ)器資源:一種叫BLOCK RAM,另一種是由LUT配置成的內(nèi)部存儲(chǔ)器(也就是分布式RAM)。BLOCK RAM由一定數(shù)量固定大小的存儲(chǔ)塊構(gòu)成的,使用BLOCK RAM資源不占用額外的邏輯資源,并且速度快。但是使用的時(shí)候消耗的BLOCK RAM資源是其塊大小的整數(shù)倍。
?15:什么是時(shí)鐘抖動(dòng)?
時(shí)鐘抖動(dòng)是指芯片的某一個(gè)給定點(diǎn)上時(shí)鐘周期發(fā)生暫時(shí)性變化,也就是說(shuō)時(shí)鐘周期在不同的周期上可能加長(zhǎng)或縮短。它是一個(gè)平均值為0的平均變量。
答:
把時(shí)鐘送到示波器那里觀察發(fā)現(xiàn),每個(gè)時(shí)鐘周期總會(huì)有點(diǎn)差異,這種差異是具有隨機(jī)性的,被稱為抖動(dòng)。
幸好這個(gè)抖動(dòng),一般影響不大,也是可以忽略不計(jì)的。
16:FPGA設(shè)計(jì)中對(duì)時(shí)鐘的使用?(例如分頻等)
FPGA芯片有固定的時(shí)鐘路由,這些路由能有減少時(shí)鐘抖動(dòng)和偏差。需要對(duì)時(shí)鐘進(jìn)行相位移動(dòng)或變頻的時(shí)候,一般不允許對(duì)時(shí)鐘進(jìn)行邏輯操作,這樣不僅會(huì)增加時(shí)鐘的偏差和抖動(dòng),還會(huì)使時(shí)鐘帶上毛刺。一般的處理方法是采用FPGA芯片自帶的時(shí)鐘管理器如PLL,DLL或DCM,或者把邏輯轉(zhuǎn)換到觸發(fā)器的D輸入(這些也是對(duì)時(shí)鐘邏輯操作的替代方案)。
17:FPGA設(shè)計(jì)中如何實(shí)現(xiàn)同步時(shí)序電路的延時(shí)?
首先說(shuō)說(shuō)異步電路的延時(shí)實(shí)現(xiàn):異步電路一般是通過(guò)加buffer、兩級(jí)與非門等來(lái)實(shí)現(xiàn)延時(shí)(我還沒(méi)用過(guò)所以也不是很清楚),但這是不適合同步電路實(shí)現(xiàn)延時(shí)的。
在同步電路中,對(duì)于比較大的和特殊要求的延時(shí),一般通過(guò)高速時(shí)鐘產(chǎn)生計(jì)數(shù)器,通過(guò)計(jì)數(shù)器來(lái)控制延時(shí);對(duì)于比較小的延時(shí),可以通過(guò)觸發(fā)器打一拍,不過(guò)這樣只能延遲一個(gè)時(shí)鐘周期。
18:FPGA中可以綜合實(shí)現(xiàn)為RAM/ROM/CAM的三種資源及其注意事項(xiàng)?
三種資源:BLOCK RAM,觸發(fā)器(FF),查找表(LUT);
注意事項(xiàng):
19:Xilinx中與全局時(shí)鐘資源和DLL相關(guān)的硬件原語(yǔ):
常用的與全局時(shí)鐘資源相關(guān)的Xilinx器件原語(yǔ)包括:IBUFG,IBUFGDS,BUFG,BUFGP,BUFGCE,BUFGMUX,BUFGDLL,DCM等。關(guān)于各個(gè)器件原語(yǔ)的解釋可以參考《FPGA設(shè)計(jì)指導(dǎo)準(zhǔn)則》p50部分。
20:HDL語(yǔ)言的層次概念?
HDL語(yǔ)言是分層次的、類型的,最常用的層次概念有系統(tǒng)與標(biāo)準(zhǔn)級(jí)、功能模塊級(jí),行為級(jí),寄存器傳輸級(jí)和門級(jí)。
答:
四個(gè)抽象層次:模塊內(nèi)部可以在四個(gè)抽象層次中進(jìn)行描述,而對(duì)外顯示功能都是一樣的。
- 1.行為或算法級(jí):
- Verilog所支持的最高抽象級(jí)別,設(shè)計(jì)者只需要注重算法而不關(guān)心具體的硬件實(shí)現(xiàn)。
- 2.數(shù)據(jù)流級(jí)(RTL級(jí)):
- 通過(guò)說(shuō)明數(shù)據(jù)的流程對(duì)模塊進(jìn)行描述,設(shè)計(jì)者關(guān)心的是數(shù)據(jù)如何在各個(gè)寄存器之間流動(dòng)和如何處理。
- 3.門級(jí):
- 從組成電路的邏輯門及其相互之間的互聯(lián)關(guān)系來(lái)描述設(shè)計(jì)模塊。
- 4開(kāi)關(guān)級(jí):
- 最低抽象級(jí)別,通過(guò)使用開(kāi)關(guān),存儲(chǔ)節(jié)點(diǎn)及其互連關(guān)系來(lái)設(shè)計(jì)。需要了解開(kāi)關(guān)級(jí)別的具體實(shí)現(xiàn)細(xì)節(jié)。
抽象層次越高,設(shè)計(jì)的靈活性和工藝無(wú)關(guān)性就會(huì)越強(qiáng);隨著抽象級(jí)別的降低,對(duì)底層了解的就越清楚,微小的調(diào)整可能會(huì)導(dǎo)致對(duì)設(shè)計(jì)的多處修改。
21:查找表的原理與結(jié)構(gòu)?
查找表(look-up-table)簡(jiǎn)稱為L(zhǎng)UT,LUT本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有 4位地址線的16x1的RAM。當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路以后,PLD/FPGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可
22:IC設(shè)計(jì)前端到后端的流程和EDA工具?
設(shè)計(jì)前端也稱邏輯設(shè)計(jì),后端設(shè)計(jì)也稱物理設(shè)計(jì),兩者并沒(méi)有嚴(yán)格的界限,一般涉及到與工藝有關(guān)的設(shè)計(jì)就是后端設(shè)計(jì)。
規(guī)格制定:客戶向芯片設(shè)計(jì)公司提出設(shè)計(jì)要求。
詳細(xì)設(shè)計(jì):芯片設(shè)計(jì)公司(Fabless)根據(jù)客戶提出的規(guī)格要求,拿出設(shè)計(jì)解決方案和具體實(shí)現(xiàn)架構(gòu),劃分模塊功能。目前架構(gòu)的驗(yàn)證一般基于systemC語(yǔ)言,對(duì)價(jià)后模型的仿真可以使用systemC的仿真工具。例如:CoCentric和Visual Elite等。
HDL編碼:設(shè)計(jì)輸入工具:ultra ,visual VHDL等
仿真驗(yàn)證:modelsim
邏輯綜合:synplify
靜態(tài)時(shí)序分析:synopsys的Prime Time
形式驗(yàn)證:Synopsys的Formality.
23:寄生效應(yīng)在IC設(shè)計(jì)中怎樣加以克服和利用
(這是我的理解,原題好像是說(shuō),IC設(shè)計(jì)過(guò)程中將寄生效應(yīng)的怎樣反饋影響設(shè)計(jì)師的設(shè)計(jì)方案)?
所謂寄生效應(yīng)就是那些溜進(jìn)你的PCB并在電路中大施破壞、令人頭痛、原因不明的小故障。它們就是滲入高速電路中隱藏的寄生電容和寄生電感。其中包括由封裝引腳和印制線過(guò)長(zhǎng)形成的寄生電感;焊盤到地、焊盤到電源平面和焊盤到印制線之間形成的寄生電容;通孔之間的相互影響,以及許多其它可能的寄生效應(yīng)。
理想狀態(tài)下,導(dǎo)線是沒(méi)有電阻,電容和電感的。而在實(shí)際中,導(dǎo)線用到了金屬銅,它有一定的電阻率,如果導(dǎo)線足夠長(zhǎng),積累的電阻也相當(dāng)可觀。兩條平行的導(dǎo)線,如 果互相之間有電壓差異,就相當(dāng)于形成了一個(gè)平行板電容器(你想象一下)。通電的導(dǎo)線周圍會(huì)形成磁場(chǎng)(特別是電流變化時(shí)),磁場(chǎng)會(huì)產(chǎn)生感生電場(chǎng),會(huì)對(duì)電子的移動(dòng)產(chǎn)生影響,可以說(shuō)每條實(shí)際的導(dǎo)線包括元器件的管腳都會(huì)產(chǎn)生感生電動(dòng)勢(shì),這也就是寄生電感。
在直流或者低頻情況下,這種寄生效應(yīng)看不太出來(lái)。而在交流特別是高頻交流條件下,影響就非常巨大了。根據(jù)復(fù)阻抗公式,電容、電感會(huì)在交流情況下會(huì)對(duì)電流的移動(dòng)產(chǎn)生巨大阻礙,也就可以折算成阻抗。這種寄生效應(yīng)很難克服,也難摸到。只能通過(guò)優(yōu)化線路,盡量使用管腳短的SMT元器件來(lái)減少其影響,要完全消除是不可能的。
24:用flip-flop和logic-gate設(shè)計(jì)一個(gè)1位加法器,輸入carryin和current-stage,輸出carryout和next-stage?
carryout=carryin*current-stage;與門
next-stage=carryin’*current-stage+carryin*current-stage’;與門,非門,或門(或者異或門)
module(clk,current-stage,carryin,next-stage,carryout);
inputclk, current-stage,carryin;
outputnext-stage,carryout;
always@(posedgeclk)
carryout<=carryin¤t-stage;
nextstage<=
25:設(shè)計(jì)一個(gè)自動(dòng)飲料售賣機(jī),飲料10分錢,硬幣有5分和10分兩種,并考慮找零
1.畫出fsm(有限狀態(tài)機(jī))
2.用verilog編程,語(yǔ)法要符合FPGA設(shè)計(jì)的要求
3.設(shè)計(jì)工程中可使用的工具及設(shè)計(jì)大致過(guò)程?
設(shè)計(jì)過(guò)程:
1、首先確定輸入輸出,A=1表示投入10分,B=1表示投入5分,Y=1表示彈出飲料,Z=1表示找零。
2、確定電路的狀態(tài),S0表示沒(méi)有進(jìn)行投幣,S1表示已經(jīng)有5分硬幣。
3、畫出狀態(tài)轉(zhuǎn)移圖。
答:
module Vending_Machine( clk,rst_n,a,b,y,z );input clk,rst_n;//時(shí)鐘、復(fù)位信號(hào) input a,b;//a=1表示投入5分錢,b=1表示投入10分錢 output reg y,z;//y=1表示出飲料,z=1表示找零reg CS,NS;parameter S0 = 1'b0; parameter S1 = 1'b1;//同步時(shí)序描述狀態(tài)轉(zhuǎn)移 always @(posedge clk, negedge rst_n) beginif(!rst_n)CS <= S0;elseCS <= NS; end//組合邏輯判斷轉(zhuǎn)態(tài)轉(zhuǎn)移條件并輸出 always@(CS, a, b) begin{y,z} = 2'b00;NS = 1'bz;//狀態(tài)、輸出初始化case(CS)S0: beginif(a&~b) beginNS = S1;{y,z} = 2'b00;endelse if(~a&b) beginNS = S0;{y,z} = 2'b10;endendS1: beginif(a&~b) beginNS = S0;{y,z} = 2'b10;endelse if(~a&b) beginNS = S0;{y,z} = 2'b11;endenddefault: NS = S0;endcase endendmodule26:什么是"線與"邏輯,要實(shí)現(xiàn)它,在硬件特性上有什么具體要求?
線與邏輯是兩個(gè)輸出信號(hào)相連可以實(shí)現(xiàn)與的功能。在硬件上,要用oc門來(lái)實(shí)現(xiàn),由于不用oc門可能使灌電流過(guò)大,而燒壞邏輯門. 同時(shí)在輸出端口應(yīng)加一個(gè)上拉電阻。oc門就是集電極開(kāi)路門。od門是漏極開(kāi)路門。
27:什么是競(jìng)爭(zhēng)與冒險(xiǎn)現(xiàn)象?怎樣判斷?如何消除?
在組合電路中,某一輸入變量經(jīng)過(guò)不同途徑傳輸后,到達(dá)電路中某一匯合點(diǎn)的時(shí)間有先有后,這種現(xiàn)象稱競(jìng)爭(zhēng);由于競(jìng)爭(zhēng)而使電路輸出發(fā)生瞬時(shí)錯(cuò)誤的現(xiàn)象叫做冒險(xiǎn)。(也就是由于競(jìng)爭(zhēng)產(chǎn)生的毛刺叫做冒險(xiǎn))。
判斷方法:
- 代數(shù)法:如果布爾式中有相反的信號(hào)則可能產(chǎn)生競(jìng)爭(zhēng)和冒險(xiǎn)現(xiàn)象:如果邏輯函數(shù)在一定條件下可以化簡(jiǎn)成Y=A+A’或Y=AA’則可以判斷存在競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象(只是一個(gè)變量變化的情況);
- 卡諾圖:有兩個(gè)相切的卡諾圈并且相切處沒(méi)有被其他卡諾圈包圍,就有可能出現(xiàn)競(jìng)爭(zhēng)冒險(xiǎn);
- 實(shí)驗(yàn)法:示波器觀測(cè);
解決方法:
- 1:加濾波電容,消除毛刺的影響;
- 2:加選通信號(hào),避開(kāi)毛刺;
- 3:增加冗余項(xiàng)消除邏輯冒險(xiǎn)。
28:你知道那些常用邏輯電平?TTL與COMS電平可以直接互連嗎?
常用邏輯電平:
- TTL、CMOS、LVTTL、LVCMOS、ECL(Emitter Coupled Logic)、PECL(Pseudo/Positive Emitter Coupled Logic)、LVDS(Low Voltage Differential Signaling)、GTL(Gunning Transceiver Logic)、BTL(Backplane Transceiver Logic)、ETL(enhanced transceiver logic)、GTLP(Gunning Transceiver Logic Plus);RS232、RS422、RS485(12V,5V,3.3V);
也有一種答案是:
- 常用邏輯電平:12V,5V,3.3V。
TTL和CMOS 不可以直接互連,由于TTL是在0.3-3.6V之間,而CMOS則是有在12V的,有在5V的。CMOS輸出接到TTL是可以直接互連。TTL接到 CMOS需要在輸出端口加一上拉電阻接到5V或者12V。
用CMOS可直接驅(qū)動(dòng)TTL;加上拉電阻后,TTL可驅(qū)動(dòng)CMOS.
上拉電阻用途:
1、當(dāng)TTL電路驅(qū)動(dòng)COMS電路時(shí),如果TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5V),這時(shí)就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。
2、OC門電路必須加上拉電阻,以提高輸出的高電平值。
3、為加大輸出引腳的驅(qū)動(dòng)能力,有的單片機(jī)管腳上也常使用上拉電阻。
4、在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產(chǎn)生降低輸入阻抗,提供泄荷通路。
5、芯片的管腳加上拉電阻來(lái)提高輸出電平,從而提高芯片輸入信號(hào)的噪聲容限增強(qiáng)抗干擾能力。
6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。
7、長(zhǎng)線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。
上拉電阻阻值的選擇原則包括:
1、從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,電流小。
2、從確保足夠的驅(qū)動(dòng)電流考慮應(yīng)當(dāng)足夠小;電阻小,電流大。
3、對(duì)于高速電路,過(guò)大的上拉電阻可能邊沿變平緩。綜合考慮以上三點(diǎn),通常在1k到10k之間選取。對(duì)下拉電阻也有類似道理。
OC門電路必須加上拉電阻,以提高輸出的高電平值。
OC門電路要輸出“1”時(shí)才需要加上拉電阻不加根本就沒(méi)有高電平
在有時(shí)我們用OC門作驅(qū)動(dòng)(例如控制一個(gè) LED)灌電流工作時(shí)就可以不加上拉電阻
總之加上拉電阻能夠提高驅(qū)動(dòng)能力。
29:IC設(shè)計(jì)中同步復(fù)位與異步復(fù)位的區(qū)別?
同步復(fù)位在時(shí)鐘沿變化時(shí),完成復(fù)位動(dòng)作。
異步復(fù)位不管時(shí)鐘,只要復(fù)位信號(hào)滿足條件,就完成復(fù)位動(dòng)作。
異步復(fù)位對(duì)復(fù)位信號(hào)要求比較高,不能有毛刺,如果其與時(shí)鐘關(guān)系不確定,也可能出現(xiàn)亞穩(wěn)態(tài)。
同步復(fù)位 異步復(fù)位30:MOORE 與 MEELEY狀態(tài)機(jī)的特征?
Moore 狀態(tài)機(jī)的輸出僅與當(dāng)前狀態(tài)值有關(guān), 且只在時(shí)鐘邊沿到來(lái)時(shí)才會(huì)有狀態(tài)變化。
Mealy 狀態(tài)機(jī)的輸出不僅與當(dāng)前狀態(tài)值有關(guān), 而且與當(dāng)前輸入值有關(guān)。
?31:多時(shí)域設(shè)計(jì)中,如何處理信號(hào)跨時(shí)域?
不同的時(shí)鐘域之間信號(hào)通信時(shí)需要進(jìn)行同步處理,這樣可以防止新時(shí)鐘域中第一級(jí)觸發(fā)器的亞穩(wěn)態(tài)信號(hào)對(duì)下級(jí)邏輯造成影響。
信號(hào)跨時(shí)鐘域同步:當(dāng)單個(gè)信號(hào)跨時(shí)鐘域時(shí),可以采用兩級(jí)觸發(fā)器來(lái)同步;數(shù)據(jù)或地址總線跨時(shí)鐘域時(shí)可以采用異步FIFO來(lái)實(shí)現(xiàn)時(shí)鐘同步;第三種方法就是采用握手信號(hào)。
單bit信號(hào)(控制信號(hào):脈沖、電平等):兩級(jí)觸發(fā)器
多bit信號(hào)(數(shù)據(jù)、地址總線):異步FIFO+雙端口RAM、握手信號(hào)
32:說(shuō)說(shuō)靜態(tài)、動(dòng)態(tài)時(shí)序模擬的優(yōu)缺點(diǎn)?
靜態(tài)時(shí)序分析是采用窮盡分析方法來(lái)提取出整個(gè)電路存在的所有時(shí)序路徑, 計(jì)算信號(hào)在這些路徑上的傳播延時(shí),檢查信號(hào)的建立和保持時(shí)間是否滿足時(shí)序要求,通過(guò)對(duì)最大路徑延時(shí)和最小路徑延時(shí)的分析,找出違背時(shí)序約束的錯(cuò)誤。它不需要輸入向量就能窮盡所有的路徑,且運(yùn)行速度很快、占用內(nèi)存較少,不僅可以對(duì)芯片設(shè)計(jì)進(jìn)行全面的時(shí)序功能檢查,而且還可利用時(shí)序分析的結(jié)果來(lái)優(yōu)化設(shè)計(jì),因此靜態(tài)時(shí)序分析已經(jīng)越來(lái)越多地被用到數(shù)字集成電路設(shè)計(jì)的驗(yàn)證中。
動(dòng)態(tài)時(shí)序模擬就是通常的仿真,因?yàn)椴豢赡墚a(chǎn)生完備的測(cè)試向量,覆蓋門級(jí)網(wǎng)表中的每一條路徑。因此在動(dòng)態(tài)時(shí)序分析中,無(wú)法暴露一些路徑上可能存在的時(shí)序問(wèn)題;
33:一個(gè)四級(jí)的Mux,其中第二級(jí)信號(hào)為關(guān)鍵信號(hào)如何改善timing.?
關(guān)鍵:將第二級(jí)信號(hào)放到最后輸出一級(jí)輸出,同時(shí)注意修改片選信號(hào),保證其優(yōu)先級(jí)未被修改。(為什么?)
34:給出一個(gè)門級(jí)的圖,又給了各個(gè)門的傳輸延時(shí),問(wèn)關(guān)鍵路徑是什么,還問(wèn)給出輸入, 使得輸出依賴于關(guān)鍵路徑?
關(guān)鍵路徑就是輸入到輸出延時(shí)最大的路徑,找到了關(guān)鍵路徑便能求得最大時(shí)鐘頻率。
35:為什么一個(gè)標(biāo)準(zhǔn)的倒相器中P管的寬長(zhǎng)比要比N管的寬長(zhǎng)比大?
和載流子有關(guān),P管是空穴導(dǎo)電,N管是電子導(dǎo)電,電子的遷移率大于空穴,同樣的電場(chǎng)下,N管的電流大于P管,因此要增大P管的寬長(zhǎng)比,使之對(duì)稱,這樣才能使得兩者上升時(shí)間下降時(shí)間相等、高低電平的噪聲容限一樣、充電放電的時(shí)間相等。
36:用mos管搭出一個(gè)二輸入與非門?
<數(shù)字電子技術(shù)基礎(chǔ)(第五版)> 92頁(yè)
與非門:上P下N-上并下串 或非門:上P下N-上串下并
?37:畫出NOT,NAND,NOR的符號(hào),真值表,還有transistor level(晶體管級(jí))的電路?
?給出CMOS電路圖:
38:畫出CMOS的圖,畫出tow-to-one muxgate.?
Y=SA+S’B 利用與非門和反相器,進(jìn)行變換后Y=((SA)’*(S’A)’)’,三個(gè)與非門,一個(gè)反相器。也可以用傳輸門來(lái)實(shí)現(xiàn)數(shù)據(jù)選擇器或者是異或門。
?
39:用一個(gè)二選一mux和一個(gè)inv實(shí)現(xiàn)異或?
其中:B連接的是地址輸入端,A和A非連接的是數(shù)據(jù)選擇端,F對(duì)應(yīng)的的是輸出端,使能端固定接地置零(沒(méi)有畫出來(lái)).
?40:畫出CMOS電路的晶體管級(jí)電路圖,實(shí)現(xiàn)Y=A*B+C(D+E).?
畫出Y=A*B+C的CMOS電路圖,畫出Y=A*B+C*D的CMOS電路圖。
利用與非門和或非門實(shí)現(xiàn)
Y=A*B+C(D+E)=((AB’)(CD)’(CE)’)’ 三個(gè)兩輸入與非門,一個(gè)三輸入與非門
Y=A*B+C=((AB)’C’) 一個(gè)反相器,兩個(gè)兩輸入與非門
Y=A*B+C*D=((AB)’(CD)’)’ 三個(gè)兩輸入與非門
41:用與非門等設(shè)計(jì)全加法器?
《數(shù)字電子技術(shù)基礎(chǔ)》192頁(yè)。
通過(guò)摩根定律化成用與非門實(shí)現(xiàn)。
?S = A'B + AB' = [(A'B)'(AB')]'
?42:A,B,C,D,E進(jìn)行投票,多數(shù)服從少數(shù),輸出是F(也就是如果A,B,C,D,E中1的個(gè)數(shù)比0 多,那么F輸出為1,否則F為0),用與非門實(shí)現(xiàn),輸入數(shù)目沒(méi)有限制?(與非-與非形式)
先畫出卡諾圖來(lái)化簡(jiǎn),化成與或形式,再兩次取反便可。
43:畫出一種CMOS的D鎖存器的電路圖和版圖?
44:LATCH和DFF的概念和區(qū)別?
Latch:電平觸發(fā);
DFF:上升沿觸發(fā);
都具備記憶功能;
45:latch與register的區(qū)別,為什么現(xiàn)在多用register.行為級(jí)描述中l(wèi)atch如何產(chǎn)生的?
latch是電平觸發(fā),register是邊沿觸發(fā),register在同一時(shí)鐘邊沿觸發(fā)下動(dòng)作,符合同步電路的設(shè)計(jì)思想,而latch則屬于異步電路設(shè)計(jì),往往會(huì)導(dǎo)致時(shí)序分析困難,不適當(dāng)?shù)膽?yīng)用latch則會(huì)大量浪費(fèi)芯片資源。
46:用D觸發(fā)器做個(gè)二分頻的電路?畫出邏輯電路?
module div2(clk,rst,clk_out);
????input clk,rst;
????output reg clk_out;
????always@(posedge clk)
????begin
????????if(!rst)
????????clk_out <=0;
????????else
????????clk_out <=~ clk_out;
????end
endmodule
現(xiàn)實(shí)工程設(shè)計(jì)中一般不采用這樣的方式來(lái)設(shè)計(jì),二分頻一般通過(guò)DCM來(lái)實(shí)現(xiàn)。通過(guò)DCM得到的分頻信號(hào)沒(méi)有相位差。
或者是從Q端引出加一個(gè)反相器。
47:什么是狀態(tài)圖?
狀態(tài)圖是以幾何圖形的方式來(lái)描述時(shí)序邏輯電路的狀態(tài)轉(zhuǎn)移規(guī)律以及輸出與輸入的關(guān)系。
48:用你熟悉的設(shè)計(jì)方式設(shè)計(jì)一個(gè)可預(yù)置初值的7進(jìn)制循環(huán)計(jì)數(shù)器,15進(jìn)制的呢?
module counter7(clk,rst,load,data,cout);input clk,rst,load;input [2:0] data;output reg [2:0] cout;always@(posedge clk)beginif(!rst)cout<=3’d0;else if(load)cout<=data; ?????else if(cout>=3’d6)//7進(jìn)制cout<=3’d0;elsecout<=cout+3’d1;endendmodule49:你所知道的可編程邏輯器件有哪些?
PAL,PLA,GAL,CPLD,FPGA
50:用Verilog或VHDL寫一段代碼,實(shí)現(xiàn)消除一個(gè)glitch(毛刺)?
將傳輸過(guò)來(lái)的信號(hào)經(jīng)過(guò)兩級(jí)觸發(fā)器就可以消除毛刺。(這是我自己采用的方式:這種方式消除毛刺是需要滿足一定條件的,并不能保證一定可以消除)
module(clk,data,q_out)input clk,data;output reg q_out;reg q1;always@(posedgeclk)beginq1<=data;//q1寄存q_out<=q1;end51:SRAM,FALSHMEMORY,DRAM,SSRAM及SDRAM的區(qū)別?
SRAM:靜態(tài)隨機(jī)存儲(chǔ)器,存取速度快,但容量小,掉電后數(shù)據(jù)會(huì)丟失,不像DRAM 需要不停的REFRESH,制造成本較高,通常用來(lái)作為快取(CACHE) 記憶體使用。
FLASH:閃存,存取速度慢,容量大,掉電后數(shù)據(jù)不會(huì)丟失
DRAM:動(dòng)態(tài)隨機(jī)存儲(chǔ)器,必須不斷的重新的加強(qiáng)(REFRESHED) 電位差量,否則電位差將降低至無(wú)法有足夠的能量表現(xiàn)每一個(gè)記憶單位處于何種狀態(tài)。價(jià)格比SRAM便宜,但訪問(wèn)速度較慢,耗電量較大,常用作計(jì)算機(jī)的內(nèi)存使用。
SSRAM:即同步靜態(tài)隨機(jī)存取存儲(chǔ)器。對(duì)于SSRAM的所有訪問(wèn)都在時(shí)鐘的上升/下降沿啟動(dòng)。地址、數(shù)據(jù)輸入和其它控制信號(hào)均于時(shí)鐘信號(hào)相關(guān)。
SDRAM:即同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。
52:有四種復(fù)用方式,頻分多路復(fù)用,寫出另外三種?
四種復(fù)用方式:頻分多路復(fù)用(FDMA),時(shí)分多路復(fù)用(TDMA),碼分多路復(fù)用(CDMA),波分多路復(fù)用(WDMA)。
Frequency/ Time/ Code/ Wave Division Multiple Access
53:ASIC設(shè)計(jì)流程中什么時(shí)候修正Setup time violation 和Hold time violation?如何修正?解釋setup和hold time violation,畫圖說(shuō)明,并說(shuō)明解決辦法。(威盛VIA2003.11.06 上海筆試試題)
見(jiàn)前面的建立時(shí)間和保持時(shí)間,violation違反,不滿足
54:給出一個(gè)組合邏輯電路,要求分析邏輯功能。
所謂組合邏輯電路的分析,就是找出給定邏輯電路輸出和輸入之間的關(guān)系,并指出電路的邏輯功能。
分析過(guò)程一般按下列步驟進(jìn)行:
1:根據(jù)給定的邏輯電路,從輸入端開(kāi)始,逐級(jí)推導(dǎo)出輸出端的邏輯函數(shù)表達(dá)式。
2:根據(jù)輸出函數(shù)表達(dá)式列出真值表;
3:用文字概括處電路的邏輯功能;
55:如何防止亞穩(wěn)態(tài)?
亞穩(wěn)態(tài)是指觸發(fā)器無(wú)法在某個(gè)規(guī)定時(shí)間段內(nèi)達(dá)到一個(gè)可確認(rèn)的狀態(tài)。當(dāng)一個(gè)觸發(fā)器進(jìn)入亞穩(wěn)態(tài)時(shí),既無(wú)法預(yù)測(cè)該單元的輸出電平,也無(wú)法預(yù)測(cè)何時(shí)輸出才能穩(wěn)定在某個(gè) 正確的電平上。在這個(gè)穩(wěn)定期間,觸發(fā)器輸出一些中間級(jí)電平,或者可能處于振蕩狀態(tài),并且這種無(wú)用的輸出電平可以沿信號(hào)通道上的各個(gè)觸發(fā)器級(jí)聯(lián)式傳播下去。
解決方法:
56:基爾霍夫定理的內(nèi)容
基爾霍夫定律包括電流定律和電壓定律:
電流定律:在集總電路中,在任一瞬時(shí),流向某一結(jié)點(diǎn)的電流之和恒等于由該結(jié)點(diǎn)流出的電流之和。
電壓定律:在集總電路中,在任一瞬間,沿電路中的任一回路繞行一周,在該回路上電動(dòng)勢(shì)之和恒等于各電阻上的電壓降之和。
57:描述反饋電路的概念,列舉他們的應(yīng)用。
反饋,就是在電路系統(tǒng)中,把輸出回路中的電量(電壓或電流)輸入到輸入回路中去。
反饋的類型有:電壓串聯(lián)負(fù)反饋、電流串聯(lián)負(fù)反饋、電壓并聯(lián)負(fù)反饋、電流并聯(lián)負(fù)反饋。
負(fù)反饋的優(yōu)點(diǎn):降低放大器的增益靈敏度,改變輸入電阻和輸出電阻,改善放大器的線性和非線性失真,有效地?cái)U(kuò)展放大器的通頻帶,自動(dòng)調(diào)節(jié)作用。
電壓負(fù)反饋的特點(diǎn):電路的輸出電壓趨向于維持恒定。
電流負(fù)反饋的特點(diǎn):電路的輸出電流趨向于維持恒定。
58:有源濾波器和無(wú)源濾波器的區(qū)別
無(wú)源濾波器:這種電路主要有無(wú)源元件R、L和C組成
有源濾波器:集成運(yùn)放和R、C組成,具有不用電感、體積小、重量輕等優(yōu)點(diǎn)。
集成運(yùn)放的開(kāi)環(huán)電壓增益和輸入阻抗均很高,輸出電阻小,構(gòu)成有源濾波電路后還具有一定的電壓放大和緩沖作用。但集成運(yùn)放帶寬有限,所以目前的有源濾波電路的工作頻率難以做得很高。
59:給了reg的setup,hold時(shí)間,求中間組合邏輯的delay范圍。
Tdelay < Tperiod - Tsetup – Thold
Tperiod > Tsetup + Thold +Tdelay (用來(lái)計(jì)算最高時(shí)鐘頻率)
Tco= Tsetup + Thold 即觸發(fā)器的傳輸延時(shí)
60、時(shí)鐘周期為T,觸發(fā)器D1的寄存器到輸出時(shí)間(觸發(fā)器延時(shí)Tco)最大為T1max,最小為T1min。
(組合邏輯電路最大延遲為T2max,最小為T2min。問(wèn),觸發(fā)器D2的建立時(shí)間T3和保持時(shí)間應(yīng)滿足什么條件。)
T3setup>T+T2max 時(shí)鐘沿到來(lái)之前數(shù)據(jù)穩(wěn)定的時(shí)間(越大越好),一個(gè)時(shí)鐘周期T加上最大的邏輯延時(shí)。
T3hold>T1min+T2min 時(shí)鐘沿到來(lái)之后數(shù)據(jù)保持的最短時(shí)間,一定要大于最小的延時(shí)也就是T1min+T2min
61、給出某個(gè)一般時(shí)序電路的圖,有Tsetup,Tdelay,Tck->q(Tco),還有 clock的delay,寫出決定最大時(shí)鐘的因素,同時(shí)給出表達(dá)式。
T+Tclkdealy>Tsetup+Tco+Tdelay;
Thold>Tclkdelay+Tco+Tdelay; 保持時(shí)間與時(shí)鐘周期無(wú)關(guān)
62、實(shí)現(xiàn)三分頻電路,3/2分頻電路等(偶數(shù)倍分頻奇數(shù)倍分頻)
圖2是3分頻電路,用JK-FF實(shí)現(xiàn)3分頻很方便,不需要附加任何邏輯電路就能實(shí)現(xiàn)同步計(jì)數(shù)分頻。但用D-FF實(shí)現(xiàn)3分頻時(shí),必須附加譯碼反饋電路,如圖2所示的譯碼復(fù)位電路,強(qiáng)制計(jì)數(shù)狀態(tài)返回到初始全零狀態(tài),就是用NOR門電路把Q2,Q1=“11B”的狀態(tài)譯碼產(chǎn)生“H”電平復(fù)位脈沖,強(qiáng)迫FF1和FF2同時(shí)瞬間(在下一時(shí)鐘輸入Fi的脈沖到來(lái)之前)復(fù)零,于是Q2,Q1=“11B”狀態(tài)僅瞬間作為“毛刺”存在而不影響分頻的周期,這種“毛刺”僅在Q1中存在,實(shí)用中可能會(huì)造成錯(cuò)誤,應(yīng)當(dāng)附加時(shí)鐘同步電路或阻容低通濾波電路來(lái)濾除,或者僅使用Q2作為輸出。D-FF的3分頻,還可以用AND門對(duì)Q2,Q1譯碼來(lái)實(shí)現(xiàn)返回復(fù)零。
63、名詞解釋
CMOS(Complementary Metal Oxide Semiconductor),互補(bǔ)金屬氧化物半導(dǎo)體,電壓控制的一種放大器件。是組成CMOS數(shù)字集成電路的基本單元。
MCU(Micro Controller Unit)中文名稱為微控制單元,又稱單片微型計(jì)算機(jī)(Single Chip Microcomputer)或者單片機(jī),是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計(jì)算機(jī)的CPU、RAM、ROM、定時(shí)數(shù)計(jì)器和多種I/O接口集成在一片芯片上,形成芯片級(jí)的計(jì)算機(jī),為不同的應(yīng)用場(chǎng)合做不同組合控制。
RISC(reduced instruction set computer,精簡(jiǎn)指令集計(jì)算機(jī))是一種執(zhí)行較少類型計(jì)算機(jī)指令的微處理器,起源于80年代的MIPS主機(jī)(即RISC機(jī)),RISC機(jī)中采用的微處理器統(tǒng)稱RISC處理器。這樣一來(lái),它能夠以更快的速度執(zhí)行操作(每秒執(zhí)行更多百萬(wàn)條指令,即MIPS)。因?yàn)橛?jì)算機(jī)執(zhí)行每個(gè)指令類型都需要額外的晶體管和電路元件,計(jì)算機(jī)指令集越大就會(huì)使微處理器更復(fù)雜,執(zhí)行操作也會(huì)更慢。
CISC是復(fù)雜指令系統(tǒng)計(jì)算機(jī)(Complex Instruction Set Computer)的簡(jiǎn)稱,微處理器是臺(tái)式計(jì)算機(jī)系統(tǒng)的基本處理部件,每個(gè)微處理器的核心是運(yùn)行指令的電路。指令由完成任務(wù)的多個(gè)步驟所組成,把數(shù)值傳送進(jìn)寄存器或進(jìn)行相加運(yùn)算。
DSP(digital signal processor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來(lái)處理大量信息的器件。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào)。 再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千 萬(wàn)條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過(guò)通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。
FPGA(Field-Programmable GateArray),即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。
ASIC:專用集成電路,它是面向?qū)iT用途的電路,專門為一個(gè)用戶設(shè)計(jì)和制造的。根據(jù)一個(gè)用戶的特定要求,能以低研制成本,短、交貨周期供貨的全定制,半定制集成電路。與門陣列等其它ASIC(ApplicationSpecific IC)相比,它們又具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn)
PCI(Peripheral Component Interconnect) 外圍組件互連,一種由英特爾(Intel)公司1991年推出的用于定義局部總線的標(biāo)準(zhǔn)。
ECC是“Error Correcting Code”的簡(jiǎn)寫,中文名稱是“錯(cuò)誤檢查和糾正”。ECC是一種能夠?qū)崿F(xiàn)“錯(cuò)誤檢查和糾正”的技術(shù),ECC內(nèi)存就是應(yīng)用了這種技術(shù)的內(nèi)存,一般多應(yīng)用在服務(wù)器及圖形工作站上,這將使整個(gè)電腦系統(tǒng)在工作時(shí)更趨于安全穩(wěn)定。
DDR=Double Data Rate雙倍速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。嚴(yán)格的說(shuō)DDR應(yīng)該叫DDR SDRAM,人們習(xí)慣稱為DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的縮寫,即同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器。
IRQ全稱為Interrupt Request,即是“中斷請(qǐng)求”的意思(以下使用IRQ稱呼)。IRQ的作用就是在我們所用的電腦中,執(zhí)行硬件中斷請(qǐng)求的動(dòng)作,用來(lái)停止其相關(guān)硬件的工作狀態(tài)
USB ,是英文Universal Serial BUS(通用串行總線)的縮寫,而其中文簡(jiǎn)稱為“通串線,是一個(gè)外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。
BIOS是英文"Basic Input Output System"的縮略語(yǔ),直譯過(guò)來(lái)后中文名稱就是"基本輸入輸出系統(tǒng)"。其實(shí),它是一組固化到計(jì)算機(jī)內(nèi)主板上一個(gè)ROM芯片上的程序,它保存著計(jì)算機(jī)最重要的基本輸入輸出的程序、系統(tǒng)設(shè)置信息、開(kāi)機(jī)后自檢程序和系統(tǒng)自啟動(dòng)程序。其主要功能是為計(jì)算機(jī)提供最底層的、最直接的硬件設(shè)置和控制。
64、三極管特性曲線
輸入特性曲線:i_B與u_BE的關(guān)系
輸出特性曲線:i_C與u_CE的關(guān)系
65、Please show the CMOS inverter schematic, layout and its cross section with P-well process. Plot itstransfer curve (Vout-Vin) and also explain the operation region of PMOS and NMOS for each segment of the transfer curve? (威盛筆試題circuitdesign-beijing-03.11.09)
66、To design a CMOS inverter with balance rise and fall time, please define the ration ofchannel width of PMOS and NMOS and explain? P管要比N管寬
67、Please draw the transistor level schematic of a CMOS 2 input AND gate and explain which inputhas faster response for output rising edge.(less delay time)。(威盛筆試題circuit design-beijing-03.11.09)
68、為了實(shí)現(xiàn)邏輯Y=A’B+AB’+CD,請(qǐng)選用以下邏輯中的一種,并說(shuō)明為什么?
1)INV 2)AND 3)OR 4)NAND 5)NOR 6)XOR 答案:NAND(未知)
69、用波形表示D觸發(fā)器的功能。(揚(yáng)智電子筆試)
70、用傳輸門和倒向器搭一個(gè)邊沿觸發(fā)器(DFF)。
71、用邏輯門畫出D觸發(fā)器。
電平觸發(fā)的D觸發(fā)器(D鎖存器)牢記!
邊沿觸發(fā)的D觸發(fā)器,有兩個(gè)D鎖存器構(gòu)成
72、畫出DFF的結(jié)構(gòu)圖,用verilog實(shí)現(xiàn)之。
module dff(clk,d,qout);input clk,d;output qout;reg qout;always@(posedgeclk)beginif(!reset)qout<=0;elseqout<=d;endendmodule73、畫出一種CMOS的D鎖存器的電路圖和版圖。
74、用filp-flop和logic-gate設(shè)計(jì)一個(gè)1位加法器,輸入carryin和current-stage,輸出carryout和next-stage.
75、用D觸發(fā)器做個(gè)4進(jìn)制的計(jì)數(shù)。
按照時(shí)序邏輯電路的設(shè)計(jì)步驟來(lái):
寫出狀態(tài)轉(zhuǎn)換表
寄存器的個(gè)數(shù)確定
狀態(tài)編碼
卡諾圖化簡(jiǎn)
狀態(tài)方程,驅(qū)動(dòng)方程等
閻石數(shù)字電路 P314
76、實(shí)現(xiàn)N位Johnson Counter, N=5。
78、數(shù)字電路設(shè)計(jì)當(dāng)然必問(wèn)Verilog/VHDL,如設(shè)計(jì)計(jì)數(shù)器。
79、請(qǐng)用HDL描述四位的全加法器、5分頻電路。
module adder4(a,b,ci,s,co);
????input ci;
????input [3:0] a,b;
????output co;
????output [3:0] s;
????assign {co,s}=a+b+ci;
endmodule
module div5(clk,rst,clk_out);
????input clk,rst;
????output clk_out;
????reg [3:0] count;
????always@(posedge clk)
????begin
????????if(!rst)
????????????begin
????????????count<=0;
????????????clk_out=0;
????????????end
????????else if(count==3’d5)
????????????begin
????????????count<=0;
????????????clk_out=~clk_out;
????????????end
????????else
????????????count<=count+1;
????????end
endmodule
實(shí)現(xiàn)奇數(shù)倍分頻且占空比為50%的情況:
module div7 ( clk, reset_n, clkout );
????input clk,reset_n;
????output clkout;
????reg [3:0] count;
????reg div1;
????reg div2;
????always @( posedge clk )
????begin
????????if ( ! reset_n )
????????count <= 3'b000;
????????else
????????case ( count )
????????3'b000 : count <=3'b001;
????????3'b001 : count <=3'b010;
????????3'b010 : count <=3'b011;
????????3'b011 : count <=3'b100;
????????3'b100 : count <=3'b101;
????????3'b101 : count <=3'b110;
????????3'b110 : count <=3'b000;
????????default :
????????count <= 3'b000;
????????endcase
????end
????always @( posedge clk )
????begin
????????if ( ! reset_n )
????????div1 <= 1'b0;
????????else if ( count == 3'b000 )
????????div1 <= ~ div1;
????end
????always @( negedge clk )
????begin
????????if ( ! reset_n )
????????div2 <= 1'b0;
????????else if ( count == 3'b100 )
????????div2 <= ~ div2;
????end
????????assign clkout = div1 ^ div2;
endmodule
80、用VERILOG或VHDL寫一段代碼,實(shí)現(xiàn)10進(jìn)制計(jì)數(shù)器。
module counter10(clk,rst,count);
????input clk,rst;
????output [3:0] count;
????reg [3:0] count;
????always@(posedge clk)
????begin
????????if(!rst)
????????????count<=0;
????????else if(count>=4’d9)
????????????count<=0;
????????else
????????????count<=count+1;
????end
endmodule
81、描述一個(gè)交通信號(hào)燈的設(shè)計(jì)。
按照時(shí)序邏輯電路的設(shè)計(jì)方法:
82、畫狀態(tài)機(jī),接受1,2,5分錢的賣報(bào)機(jī),每份報(bào)紙5分錢。(揚(yáng)智電子筆試)
1、確定輸入輸出,投1分錢A=1,投2分錢B=1,投5分錢C=1,給出報(bào)紙Y=1
2、確定狀態(tài)數(shù)畫出狀態(tài)轉(zhuǎn)移圖,沒(méi)有投幣之前的初始狀態(tài)S0,投入了1分硬幣S1,投入了2分硬幣S2,投入了3分硬幣S3,投入了4分硬幣S4。
3、畫卡諾圖或者是利用verilog編碼
83、設(shè)計(jì)一個(gè)自動(dòng)售貨機(jī)系統(tǒng),賣soda水的,只能投進(jìn)三種硬幣,要正確的找回錢數(shù)。
(1)畫出fsm(有限狀態(tài)機(jī));(2)用verilog編程,語(yǔ)法要符合fpga設(shè)計(jì)的要求。
84、設(shè)計(jì)一個(gè)自動(dòng)飲料售賣機(jī),飲料10分錢,硬幣有5分和10分兩種,并考慮找零:(1)畫出fsm(有限狀態(tài)機(jī));(2)用verilog編程,語(yǔ)法要符合fpga設(shè)計(jì)的要求;(3)設(shè)計(jì)工程中可使用的工具及設(shè)計(jì)大致過(guò)程。
1、輸入A=1表示投5分錢,B=1表示投10分錢,輸出Y=1表示給飲料,Z=1表示找零
2、確定狀態(tài)數(shù),沒(méi)投幣之前S0,投入了5分S1
85、畫出可以檢測(cè)10010串的狀態(tài)圖,并verilog實(shí)現(xiàn)之。
1、輸入data,1和0兩種情況,輸出Y=1表示連續(xù)輸入了10010
2、確定狀態(tài)數(shù)沒(méi)輸入之前S0,輸入一個(gè)0到了S1,10為S2,010為S3,0010為S4
86、用FSM實(shí)現(xiàn)101101的序列檢測(cè)模塊。
a為輸入端,b為輸出端,如果a連續(xù)輸入為101101則b輸出為1,否則為0。
例如 a: 0001100110110110100110
b: 0000000000100100000000
請(qǐng)畫出state machine;請(qǐng)用RTL描述其state machine。
確定狀態(tài)數(shù),沒(méi)有輸入或輸入0為S0,1為S1,01為S2,101為S3,1101為S4,01101為S5。知道了輸入輸出和狀態(tài)轉(zhuǎn)移的關(guān)系很容易寫出狀態(tài)機(jī)的verilog代碼,一般采用兩段式狀態(tài)機(jī)
87、給出單管DRAM的原理圖
88、什么叫做OTP片(OTP(一次性可編程))、掩膜片,兩者的區(qū)別何在?
OTP與掩膜 OTP是一次性寫入的單片機(jī)。過(guò)去認(rèn)為一個(gè)單片機(jī)產(chǎn)品的成熟是以投產(chǎn)掩膜型單片機(jī)為標(biāo)志的。由于掩膜需要一定的生產(chǎn)周期,而OTP型單片機(jī)價(jià)格不斷下降,使得近年來(lái)直接使用OTP完成最終產(chǎn)品制造更為流行。它較之掩膜具有生產(chǎn)周期短、風(fēng)險(xiǎn)小的特點(diǎn)。近年來(lái),OTP型單片機(jī)需量大幅度上揚(yáng),為適應(yīng)這種需求許多單片機(jī)都采用了在系統(tǒng)編程技術(shù)(In System Programming)。未編程的OTP芯片可采用裸片Bonding技術(shù)或表面貼技術(shù),先焊在印刷板上,然后通過(guò)單片機(jī)上引出的編程線、串行數(shù)據(jù)、時(shí)鐘線等對(duì)單片機(jī)編程。解決了批量寫OTP 芯片時(shí)容易出現(xiàn)的芯片與寫入器接觸不好的問(wèn)題。使OTP的裸片得以廣泛使用,降低了產(chǎn)品的成本。編程線與I/O線共用,不增加單片機(jī)的額外引腳。而一些生產(chǎn)廠商推出的單片機(jī)不再有掩膜型,全部為有ISP功能的OTP。
89、你知道的集成電路設(shè)計(jì)的表達(dá)方式有哪幾種?
90、描述你對(duì)集成電路設(shè)計(jì)流程的認(rèn)識(shí)。(仕蘭微面試題目)
制定規(guī)格書-任務(wù)劃分-設(shè)計(jì)輸入-功能仿真-綜合-優(yōu)化-布局布線-時(shí)序仿真時(shí)序分析-芯片流片-芯片測(cè)試驗(yàn)證
91、描述你對(duì)集成電路工藝的認(rèn)識(shí)。(仕蘭微面試題目)
工藝分類:TTL,CMOS兩種比較流行,TTL速度快功耗高,CMOS速度慢功耗低。
集成電路的工藝主要是指CMOS電路的制造工藝,主要分為以下幾個(gè)步驟:襯底準(zhǔn)備-氧化、光刻-擴(kuò)散和離子注入-淀積-刻蝕-平面化。
92、簡(jiǎn)述FPGA等可編程邏輯器件設(shè)計(jì)流程。
通??蓪PGA/CPLD設(shè)計(jì)流程歸納為以下7個(gè)步驟,這與ASIC設(shè)計(jì)有相似之處。
1.設(shè)計(jì)輸入。Verilog或VHDL編寫代碼。
2.前仿真(功能仿真)。設(shè)計(jì)的電路必須在布局布線前驗(yàn)證電路功能是否有效。(ASCI設(shè)計(jì)中,這一步驟稱為第一次Sign-off)PLD設(shè)計(jì)中,有時(shí)跳過(guò)這一步。
3.設(shè)計(jì)編譯(綜合)。設(shè)計(jì)輸入之后就有一個(gè)從高層次系統(tǒng)行為設(shè)計(jì)向門級(jí)邏輯電路設(shè)轉(zhuǎn)化翻譯過(guò)程,即把設(shè)計(jì)輸入的某種或某幾種數(shù)據(jù)格式(網(wǎng)表)轉(zhuǎn)化為軟件可識(shí)別的某種數(shù)據(jù)格式(網(wǎng)表)。
4.優(yōu)化。對(duì)于上述綜合生成的網(wǎng)表,根據(jù)布爾方程功能等效的原則,用更小更快的綜合結(jié)果代替一些復(fù)雜的單元,并與指定的庫(kù)映射生成新的網(wǎng)表,這是減小電路規(guī)模的一條必由之路。
5.布局布線。
6.后仿真(時(shí)序仿真)需要利用在布局布線中獲得的精確參數(shù)再次驗(yàn)證電路的時(shí)序。(ASCI設(shè)計(jì)中,這一步驟稱為第二次Sign—off)。
7.生產(chǎn)。布線和后仿真完成之后,就可以開(kāi)始ASCI或PLD芯片的投產(chǎn)
93、分別寫出IC設(shè)計(jì)前端到后端的流程和eda工具。(未知)
邏輯設(shè)計(jì)--子功能分解--詳細(xì)時(shí)序框圖--分塊邏輯仿真--電路設(shè)計(jì)(RTL級(jí)描述)--功能仿真--綜合(加時(shí)序約束和設(shè)計(jì)庫(kù))--電路網(wǎng)表--網(wǎng)表仿真)-預(yù)布局布線(SDF文件)--網(wǎng)表仿真(帶延時(shí)文件)--靜態(tài)時(shí)序分析--布局布線--參數(shù)提取--SDF文件--后仿真--靜態(tài)時(shí)序分析--測(cè)試向量生成--工藝設(shè)計(jì)與生產(chǎn)--芯片測(cè)試--芯片應(yīng)用,在驗(yàn)證過(guò)程中出現(xiàn)的時(shí)序收斂,功耗,面積問(wèn)題,應(yīng)返回前端的代碼輸入進(jìn)行重新修改,再仿真,再綜合,再驗(yàn)證,一般都要反復(fù)好幾次才能最后送去foundry廠流片。設(shè)計(jì)公司是fabless
數(shù)字IC設(shè)計(jì)流程(zz)
1.需求分析(制定規(guī)格書)。分析用戶或市場(chǎng)的需求,并將其翻譯成對(duì)芯片產(chǎn)品的技術(shù)需求。
2.算法設(shè)計(jì)。設(shè)計(jì)和優(yōu)化芯片鐘所使用的算法。這一階段一般使用高級(jí)編程語(yǔ)言(如C/C++),利用算法級(jí)建模和仿真工具(如MATLAB,SPW)進(jìn)行浮點(diǎn)和定點(diǎn)的仿真,進(jìn)而對(duì)算法進(jìn)行評(píng)估和優(yōu)化。
3.構(gòu)架設(shè)計(jì)。根據(jù)設(shè)計(jì)的功能需求和算法分析的結(jié)果,設(shè)計(jì)芯片的構(gòu)架,并對(duì)不同的方案進(jìn)行比較,選擇性能價(jià)格最優(yōu)的方案。這一階段可以使用SystemC語(yǔ)言對(duì)芯片構(gòu)架進(jìn)行模擬和分析。
4.RTL設(shè)計(jì)(代碼輸入)。使用HDL語(yǔ)言完成對(duì)設(shè)計(jì)實(shí)體的RTL級(jí)描述。這一階段使用VHDL和Verilog HDL語(yǔ)言的輸入工具編寫代碼。
5. RTL驗(yàn)證(功能仿真)。使用仿真工具或其他RTL代碼分析工具,驗(yàn)證RTL代碼的質(zhì)量和性能。
6.綜合。從RTL代碼生成描述實(shí)際電路的門級(jí)網(wǎng)表文件。
7.門級(jí)驗(yàn)證(綜合后仿真)。對(duì)綜合產(chǎn)生的門級(jí)網(wǎng)表進(jìn)行驗(yàn)證。這一階段通常會(huì)使用仿真、靜態(tài)時(shí)序分析和形式驗(yàn)證等工具。
8. 布局布線。后端設(shè)計(jì)對(duì)綜合產(chǎn)生的門級(jí)網(wǎng)表進(jìn)行布局規(guī)劃(Floorplanning)、布局(Placement)、布線(Routing),生成生產(chǎn)用的版圖。
9.電路參數(shù)提取確定芯片中互連線的寄生參數(shù),從而獲得門級(jí)的延時(shí)信息。
10.版圖后驗(yàn)證。根據(jù)后端設(shè)計(jì)后取得的新的延時(shí)信息,再次驗(yàn)證設(shè)計(jì)是否能夠?qū)崿F(xiàn)所有的功能和性能指標(biāo)。
11.芯片生產(chǎn)。生產(chǎn)在特定的芯片工藝線上制造出芯片。
12. 芯片測(cè)試。對(duì)制造好的芯片進(jìn)行測(cè)試,檢測(cè)生產(chǎn)中產(chǎn)生的缺陷和問(wèn)題。
數(shù)字IC后端設(shè)計(jì)流程
1. 數(shù)據(jù)準(zhǔn)備。對(duì)于 Cadance的 SE而言后端設(shè)計(jì)所需的數(shù)據(jù)主要有是Foundry廠提供的標(biāo)準(zhǔn)單元、宏單元和I/O Pad的庫(kù)文件,它包括物理庫(kù)、時(shí)序庫(kù)及網(wǎng)表庫(kù),分別以.lef、.tlf和.v的形式給出。前端的芯片設(shè)計(jì)經(jīng)過(guò)綜合后生成的門級(jí)網(wǎng)表,具有時(shí)序約束和時(shí)鐘定義的腳本文件和由此產(chǎn)生的.gcf約束文件以及定義電源Pad的DEF(Design Exchange Format)文件。(對(duì)synopsys 的Astro 而言, 經(jīng)過(guò)綜合后生成的門級(jí)網(wǎng)表,時(shí)序約束文件 SDC 是一樣的,Pad的定義文件--tdf , .tf 文件 --technology file, Foundry廠提供的標(biāo)準(zhǔn)單元、宏單元和I/O Pad的庫(kù)文件就與FRAM, CELL view, LM view 形式給出(Milkway 參考庫(kù) and DB, LIB file)
2.布局規(guī)劃。主要是標(biāo)準(zhǔn)單元、I/O Pad和宏單元的布局。I/O Pad預(yù)先給出了位置,而宏單元?jiǎng)t根據(jù)時(shí)序要求進(jìn)行擺放,標(biāo)準(zhǔn)單元?jiǎng)t是給出了一定的區(qū)域由工具自動(dòng)擺放。布局規(guī)劃后,芯片的大小,Core的面積,Row的形式、電源及地線的Ring和Strip都確定下來(lái)了。如果必要在自動(dòng)放置標(biāo)準(zhǔn)單元和宏單元之后, 你可以先做一次PNA(power network analysis)--IR drop and EM .
3. Placement -自動(dòng)放置標(biāo)準(zhǔn)單元。布局規(guī)劃后,宏單元、I/O Pad的位置和放置標(biāo)準(zhǔn)單元的區(qū)域都已確定,這些信息SE(Silicon Ensemble)會(huì)通過(guò)DEF文件傳遞給PC(Physical Compiler),PC根據(jù)由綜合給出的.DB文件獲得網(wǎng)表和時(shí)序約束信息進(jìn)行自動(dòng)放置標(biāo)準(zhǔn)單元,同時(shí)進(jìn)行時(shí)序檢查和單元放置優(yōu)化。如果你用的是PC +Astro那你可用write_milkway, read_milkway傳遞數(shù)據(jù)。
4. 時(shí)鐘樹生成(CTS Clock tree synthesis)。芯片中的時(shí)鐘網(wǎng)絡(luò)要驅(qū)動(dòng)電路中所有的時(shí)序單元,所以時(shí)鐘源端門單元帶載很多,其負(fù)載延時(shí)很大并且不平衡,需要插入緩沖器減小負(fù)載和平衡延時(shí)。時(shí)鐘網(wǎng)絡(luò)及其上的緩沖器構(gòu)成了時(shí)鐘樹。一般要反復(fù)幾次才可以做出一個(gè)比較理想的時(shí)鐘樹。
5. STA靜態(tài)時(shí)序分析和后仿真。時(shí)鐘樹插入后,每個(gè)單元的位置都確定下來(lái)了,工具可以提出Global Route形式的連線寄生參數(shù),此時(shí)對(duì)延時(shí)參數(shù)的提取就比較準(zhǔn)確了。SE把.V和.SDF文件傳遞給PrimeTime做靜態(tài)時(shí)序分析。確認(rèn)沒(méi)有時(shí)序違規(guī)后,將這來(lái)兩個(gè)文件傳遞給前端人員做后仿真。對(duì)Astro 而言,在detail routing 之后, 用starRC XT參數(shù)提取,生成的E.V和.SDF文件傳遞給PrimeTime做靜態(tài)時(shí)序分析,那將會(huì)更準(zhǔn)確。
6. ECO(Engineering Change Order)。針對(duì)靜態(tài)時(shí)序分析和后仿真中出現(xiàn)的問(wèn)題,對(duì)電路和單元布局進(jìn)行小范圍的改動(dòng).
7. filler的插入(pad fliier, cell filler)。Filler指的是標(biāo)準(zhǔn)單元庫(kù)和I/O Pad庫(kù)中定義的與邏輯無(wú)關(guān)的填充物,用來(lái)填充標(biāo)準(zhǔn)單元和標(biāo)準(zhǔn)單元之間,I/O Pad和I/O Pad之間的間隙,它主要是把擴(kuò)散層連接起來(lái),滿足DRC規(guī)則和設(shè)計(jì)需要。
8.布線(Routing)。Global route-- Track assign --Detail routing—Routing optimization布線是指在滿足工藝規(guī)則和布線層數(shù)限制、線寬、線間距限制和各線網(wǎng)可靠絕緣的電性能約束的條件下,根據(jù)電路的連接關(guān)系將各單元和I/O Pad用互連線連接起來(lái),這些是在時(shí)序驅(qū)動(dòng)(Timing driven ) 的條件下進(jìn)行的,保證關(guān)鍵時(shí)序路徑上的連線長(zhǎng)度能夠最小。--Timing report clear
9. Dummy Metal的增加。Foundry廠都有對(duì)金屬密度的規(guī)定,使其金屬密度不要低于一定的值,以防在芯片制造過(guò)程中的刻蝕階段對(duì)連線的金屬層過(guò)度刻蝕從而降低電路的性能。加入Dummy Metal是為了增加金屬的密度。
10. DRC和LVS。DRC是對(duì)芯片版圖中的各層物理圖形進(jìn)行設(shè)計(jì)規(guī)則檢查(spacing ,width),它也包括天線效應(yīng)的檢查,以確保芯片正常流片。LVS主要是將版圖和電路網(wǎng)表進(jìn)行比較,來(lái)保證流片出來(lái)的版圖電路和實(shí)際需要的電路一致。DRC和LVS的檢查--EDA工具Synopsy hercules/ mentor calibre/ CDN Dracula進(jìn)行的.Astro also include LVS/DRC check commands.
11. Tape out。在所有檢查和驗(yàn)證都正確無(wú)誤的情況下把最后的版圖GDSⅡ文件傳遞給Foundry廠進(jìn)行掩膜制造
94、從RTL synthesis到tape out之間的設(shè)計(jì)flow,并列出其中各步使用的tool.
綜合-布局布線-時(shí)序仿真-時(shí)序分析
簡(jiǎn)單說(shuō)來(lái),一顆芯片的誕生可以分成設(shè)計(jì)和制造。當(dāng)設(shè)計(jì)結(jié)束的時(shí)候,設(shè)計(jì)方會(huì)把設(shè)計(jì)數(shù)據(jù)送給制造方。tapeout 是集成電路設(shè)計(jì)中一個(gè)重要的階段性成果,是值得慶祝的。慶祝之后,就是等待,等待制造完的芯片回來(lái)做檢測(cè),看是不是符合設(shè)計(jì)要求,是否有什么嚴(yán)重的問(wèn)題等等。
In electronics,tape-out is the name of the final stage of the design of an integrated circuitsuch as a microprocessor; the point at which the description of a circuit issent for manufacture.
95、是否接觸過(guò)自動(dòng)布局布線?請(qǐng)說(shuō)出一兩種工具軟件。自動(dòng)布局布線需要哪些基本元素?
自動(dòng)布局布線其基本流程如下:
1、讀入網(wǎng)表,跟foundry提供的標(biāo)準(zhǔn)單元庫(kù)和Pad庫(kù)以及宏模塊庫(kù)進(jìn)行映射;
2、整體布局,規(guī)定了芯片的大致面積和管腳位置以及宏單元位置等粗略的信息;
3、讀入時(shí)序約束文件,設(shè)置好timing setup菜單,為后面進(jìn)行時(shí)序驅(qū)動(dòng)的布局布線做準(zhǔn)備;
4、詳細(xì)布局,力求使后面布線能順利滿足布線布通率100%的要求和時(shí)序的要求;
5、時(shí)鐘樹綜合,為了降低clock skew而產(chǎn)生由許多buffer單元組成的“時(shí)鐘樹”;
6、布線,先對(duì)電源線和時(shí)鐘信號(hào)布線,然后對(duì)信號(hào)線布線,目標(biāo)是最大程度地滿足時(shí)序;
7、為滿足design rule從而foundry能成功制造出該芯片而做的修補(bǔ)工作,如填充一些dummy等。
常用的工具有Synopsys的ASTRO,Cadence的SE,ISE,Quartus II也可實(shí)現(xiàn)布局布線。
96、列舉幾種集成電路典型工藝。工藝上常提到0.25,0.18指的是什么?
典型工藝:氧化,離子注入,光刻,刻蝕,擴(kuò)散,淀積。/0.13,90,65
制造工藝:我們經(jīng)常說(shuō)的0.18微米、0.13微米制程,就是指制造工藝了。制造工藝直接關(guān)系到cpu的電氣性能。而0.18微米、0.13微米這個(gè)尺度就是指的是cpu核心中線路的寬度。線寬越小,cpu的功耗和發(fā)熱量就越低,并可以工作在更高的頻率上了。所以以前0.18微米的cpu最高的頻率比較低,用0.13微米制造工藝的cpu會(huì)比0.18微米的制造工藝的發(fā)熱量低都是這個(gè)道理了。
97、請(qǐng)描述一下國(guó)內(nèi)的工藝現(xiàn)狀。
98、半導(dǎo)體工藝中,摻雜有哪幾種方式?
根據(jù)摻入的雜質(zhì)不同,雜質(zhì)半導(dǎo)體可以分為N型和P型兩大類。 N型半導(dǎo)體中摻入的雜質(zhì)為磷等五價(jià)元素,磷原子在取代原晶體結(jié)構(gòu)中的原子并構(gòu)成共價(jià)鍵時(shí),多余的第五個(gè)價(jià)電子很容易擺脫磷原子核的束縛而成為自由電子,于是半導(dǎo)體中的自由電子數(shù)目大量增加,自由電子成為多數(shù)載流子,空穴則成為少數(shù)載流子。P型半導(dǎo)體中摻入的雜質(zhì)為硼或其他三價(jià)元素,硼原子在取代原晶體結(jié)構(gòu)中的原子并構(gòu)成共價(jià)鍵時(shí),將因缺少一個(gè)價(jià)電子而形成一個(gè)空穴,于是半導(dǎo)體中的空穴數(shù)目大量增加,空穴成為多數(shù)載流子,而自由電子則成為少數(shù)載流子。
99、描述CMOS電路中閂鎖效應(yīng)產(chǎn)生的過(guò)程及最后的結(jié)果?
閂鎖效應(yīng)是CMOS工藝所特有的寄生效應(yīng),嚴(yán)重會(huì)導(dǎo)致電路的失效,甚至燒毀芯片。閂鎖效應(yīng)是由NMOS的有源區(qū)、P襯底、N阱、PMOS的有源區(qū)構(gòu)成的n-p-n-p結(jié)構(gòu)產(chǎn)生的,當(dāng)其中一個(gè)三極管正偏時(shí),就會(huì)構(gòu)成正反饋形成閂鎖。避免閂鎖的方法就是要減小襯底和N阱的寄生電阻,使寄生的三極管不會(huì)處于正偏狀態(tài)。靜電是一種看不見(jiàn)的破壞力,會(huì)對(duì)電子元器件產(chǎn)生影響。ESD 和相關(guān)的電壓瞬變都會(huì)引起閂鎖效應(yīng)(latch-up)是半導(dǎo)體器件失效的主要原因之一。如果有一個(gè)強(qiáng)電場(chǎng)施加在器件結(jié)構(gòu)中的氧化物薄膜上,則該氧化物薄膜就會(huì)因介質(zhì)擊穿而損壞。很細(xì)的金屬化跡線會(huì)由于大電流而損壞,并會(huì)由于浪涌電流造成的過(guò)熱而形成開(kāi)路。這就是所謂的“閂鎖效應(yīng)”。在閂鎖情況下,器件在電源與地之間形成短路,造成大電流、EOS(電過(guò)載)和器件損壞。
100、解釋latch-up現(xiàn)象和Antenna effect及其預(yù)防措施.
在芯片生產(chǎn)過(guò)程中,暴露的金屬線或者多晶硅(polysilicon)等導(dǎo)體,就象是一根根天線,會(huì)收集電荷(如等離子刻蝕產(chǎn)生的帶電粒子)導(dǎo)致電位升高。天線越長(zhǎng),收集的電荷也就越多,電壓就越高。若這片導(dǎo)體碰巧只接了MOS 的柵,那么高電壓就可能把薄柵氧化層擊穿,使電路失效,這種現(xiàn)象我們稱之為“天線效應(yīng)”。隨著工藝技術(shù)的發(fā)展,柵的尺寸越來(lái)越小,金屬的層數(shù)越來(lái)越多,發(fā)生天線效應(yīng)的可能性就越大(完)
總結(jié)
以上是生活随笔為你收集整理的数字IC设计工程师笔试面试经典题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 小程序 获取 用户 unionid
- 下一篇: 浅析dedecms织梦网站留言板提交时验