版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)字IC設(shè)計(jì)經(jīng)典筆試題資料僅供參考數(shù)字IC設(shè)計(jì)經(jīng)典筆試題張戎王舵蔣鵬程王福生袁波摘要本文搜集了近年來數(shù)字IC設(shè)計(jì)公司的經(jīng)典筆試題目,內(nèi)容涵蓋FPGA、VerilogHDL編程和IC設(shè)計(jì)基礎(chǔ)知識。AbstractThisarticleincludessomeclassicaltestswhichhavebeenintroducedintointerviewbycompaniesindigitalICdesigninginrecentyears.ThesetestsarevariedfromFPGA,verlogHDLtobaseknowledgeinICdesigning.關(guān)鍵詞FPGAVerilogHDLIC設(shè)計(jì)引言近年來,國內(nèi)的IC設(shè)計(jì)公司逐漸增多,IC公司對人才的要求也不斷提高,不但反映在對相關(guān)項(xiàng)目經(jīng)驗(yàn)的要求,更體現(xiàn)在專業(yè)筆試題目難度的增加和廣度的延伸。為參加數(shù)字IC設(shè)計(jì)公司的筆試做準(zhǔn)備,我們需要提前熟悉那些在筆試中出現(xiàn)的經(jīng)典題目。IC設(shè)計(jì)基礎(chǔ)1:什么是同步邏輯和異步邏輯?同步邏輯是時(shí)鐘之間有固定的因果關(guān)系。異步邏輯是各時(shí)鐘之間沒有固定的因果關(guān)系。同步時(shí)序邏輯電路的特點(diǎn):各觸發(fā)器的時(shí)鐘端全部連接在一起,并接在系統(tǒng)時(shí)鐘端,只有當(dāng)時(shí)鐘脈沖到來時(shí),電路的狀態(tài)才能改變。改變后的狀態(tài)將一直保持到下一個(gè)時(shí)鐘脈沖的到來,此時(shí)無論外部輸入x有無變化,狀態(tài)表中的每個(gè)狀態(tài)都是穩(wěn)定的。異步時(shí)序邏輯電路的特點(diǎn):電路中除能夠使用帶時(shí)鐘的觸發(fā)器外,還能夠使用不帶時(shí)鐘的觸發(fā)器和延遲元件作為存儲元件,電路中沒有統(tǒng)一的時(shí)鐘,電路狀態(tài)的改變由外部輸入的變化直接引起。2:同步電路和異步電路的區(qū)別:同步電路:存儲電路中所有觸發(fā)器的時(shí)鐘輸入端都接同一個(gè)時(shí)鐘脈沖源,因而所有觸發(fā)器的狀態(tài)的變化都與所加的時(shí)鐘脈沖信號同步。異步電路:電路沒有統(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í)鐘上升沿到來之前,其數(shù)據(jù)輸入端的數(shù)據(jù)必須保持不變的最小時(shí)間。保持時(shí)間:觸發(fā)器在時(shí)鐘上升沿到來之后,其數(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)過一個(gè)恢復(fù)時(shí)間,其輸出才能穩(wěn)定,但穩(wěn)定后的值并不一定是你的輸入值。這就是為什么要用兩級觸發(fā)器來同步異步輸入信號。這樣做能夠防止由于異步輸入信號對于本級時(shí)鐘可能不滿足建立保持時(shí)間而使本級觸發(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è)置前級門的狀態(tài)需要一段穩(wěn)定時(shí)間;需要保持時(shí)間是因?yàn)樵跁r(shí)鐘沿到來之后,觸發(fā)器要經(jīng)過反饋來鎖存狀態(tài),從后級門傳到前級門需要時(shí)間。
6:什么是亞穩(wěn)態(tài)?為什么兩級觸發(fā)器能夠防止亞穩(wěn)態(tài)傳播?
這也是一個(gè)異步電路同步化的問題。亞穩(wěn)態(tài)是指觸發(fā)器無法在某個(gè)規(guī)定的時(shí)間段內(nèi)到達(dá)一個(gè)能夠確認(rèn)的狀態(tài)。使用兩級觸發(fā)器來使異步電路同步化的電路其實(shí)叫做“一位同步器”,她只能用來對一位異步信號進(jìn)行同步。兩級觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理:假設(shè)第一級觸發(fā)器的輸入不滿足其建立保持時(shí)間,它在第一個(gè)脈沖沿到來后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個(gè)脈沖沿到來之前,其輸出的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復(fù)時(shí)間后必須穩(wěn)定下來,而且穩(wěn)定的數(shù)據(jù)必須滿足第二級觸發(fā)器的建立時(shí)間,如果都滿足了,在下一個(gè)脈沖沿到來時(shí),第二級觸發(fā)器將不會出現(xiàn)亞穩(wěn)態(tài),因?yàn)槠漭斎攵说臄?shù)據(jù)滿足其建立保持時(shí)間。同步器有效的條件:第一級觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后的恢復(fù)時(shí)間+第二級觸發(fā)器的建立時(shí)間<=時(shí)鐘周期。更確切地說,輸入脈沖寬度必須大于同步時(shí)鐘周期與第一級觸發(fā)器所需的保持時(shí)間之和。最保險(xiǎn)的脈沖寬度是兩倍同步時(shí)鐘周期。因此,這樣的同步電路對于從較慢的時(shí)鐘域來的異步信號進(jìn)入較快的時(shí)鐘域比較有效,對于進(jìn)入一個(gè)較慢的時(shí)鐘域,則沒有作用。7:對于多位的異步信號如何進(jìn)行同步?對以一位的異步信號能夠使用“一位同步器進(jìn)行同步”(使用兩級觸發(fā)器),而對于多位的異步信號,能夠采用如下方法:1:能夠采用保持寄存器加握手信號的方法(多數(shù)據(jù),控制,地址);2:特殊的具體應(yīng)用電路結(jié)構(gòu),根據(jù)應(yīng)用的不同而不同;3:異步FIFO。(最常見的緩存單元是DPRAM)8:鎖存器(latch)和觸發(fā)器(flip-flop)區(qū)別?電平敏感的存儲器件稱為鎖存器??煞譃楦唠娖芥i存器和低電平鎖存器,用于不同時(shí)鐘之間的信號同步。有交叉耦合的門構(gòu)成的雙穩(wěn)態(tài)的存儲原件稱為觸發(fā)器。分為上升沿觸發(fā)和下降沿觸發(fā)。能夠認(rèn)為是兩個(gè)不同電平敏感的鎖存器串連而成。前一個(gè)鎖存器決定了觸發(fā)器的建立時(shí)間,后一個(gè)鎖存器則決定了保持時(shí)間。9:什么是時(shí)鐘抖動?時(shí)鐘抖動是指芯片的某一個(gè)給定點(diǎn)上時(shí)鐘周期發(fā)生暫時(shí)性變化,也就是說時(shí)鐘周期在不同的周期上可能加長或縮短。它是一個(gè)平均值為0的平均變量。10:寄生效應(yīng)在IC設(shè)計(jì)中怎樣加以克服和利用(這是我的理解,原題仿佛是說,IC設(shè)計(jì)過程中將寄生效應(yīng)的怎樣反饋影響設(shè)計(jì)師的設(shè)計(jì)方案)?所謂寄生效應(yīng)就是那些溜進(jìn)你的PCB并在電路中大施破壞、令人頭痛、原因不明的小故障。它們就是滲入高速電路中隱藏的寄生電容和寄生電感。其中包括由封裝引腳和印制線過長形成的寄生電感;焊盤到地、焊盤到電源平面和焊盤到印制線之間形成的寄生電容;通孔之間的相互影響,以及許多其它可能的寄生效應(yīng)。理想狀態(tài)下,導(dǎo)線是沒有電阻,電容和電感的。而在實(shí)際中,導(dǎo)線用到了金屬銅,它有一定的電阻率,如果導(dǎo)線足夠長,積累的電阻也相當(dāng)可觀。兩條平行的導(dǎo)線,如果互相之間有電壓差異,就相當(dāng)于形成了一個(gè)平行板電容器(你想象一下)。通電的導(dǎo)線周圍會形成磁場(特別是電流變化時(shí)),磁場會產(chǎn)生感生電場,會對電子的移動產(chǎn)生影響,能夠說每條實(shí)際的導(dǎo)線包括元器件的管腳都會產(chǎn)生感生電動勢,這也就是寄生電感。在直流或者低頻情況下,這種寄生效應(yīng)看不太出來。而在交流特別是高頻交流條件下,影響就非常巨大了。根據(jù)復(fù)阻抗公式,電容、電感會在交流情況下會對電流的移動產(chǎn)生巨大阻礙,也就能夠折算成阻抗。這種寄生效應(yīng)很難克服,也難摸到。只能經(jīng)過優(yōu)化線路,盡量使用管腳短的SMT元器件來減少其影響,要完全消除是不可能的。11:什么是"線與"邏輯,要實(shí)現(xiàn)它,在硬件特性上有什么具體要求?線與邏輯是兩個(gè)輸出信號相連能夠?qū)崿F(xiàn)與的功能。在硬件上,要用oc門來實(shí)現(xiàn),由于不用oc門可能使灌電流過大,而燒壞邏輯門.同時(shí)在輸出端口應(yīng)加一個(gè)上拉電阻。oc門就是集電極開路門。od門是漏極開路門。12:什么是競爭與冒險(xiǎn)現(xiàn)象?怎樣判斷?如何消除?在組合電路中,某一輸入變量經(jīng)過不同途徑傳輸后,到達(dá)電路中某一匯合點(diǎn)的時(shí)間有先有后,這種現(xiàn)象稱競爭;由于競爭而使電路輸出發(fā)生瞬時(shí)錯(cuò)誤的現(xiàn)象叫做冒險(xiǎn)。(也就是由于競爭產(chǎn)生的毛刺叫做冒險(xiǎn))。判斷方法:代數(shù)法(如果布爾式中有相反的信號則可能產(chǎn)生競爭和冒險(xiǎn)現(xiàn)象);卡諾圖:有兩個(gè)相切的卡諾圈而且相切處沒有被其它卡諾圈包圍,就有可能出現(xiàn)競爭冒險(xiǎn);實(shí)驗(yàn)法:示波器觀測;解決方法:1:加濾波電容,消除毛刺的影響;2:加選通信號,避開毛刺;3:增加冗余項(xiàng)消除邏輯冒險(xiǎn)。門電路兩個(gè)輸入信號同時(shí)向相反的邏輯電平跳變稱為競爭;由于競爭而在電路的輸出端可能產(chǎn)生尖峰脈沖的現(xiàn)象稱為競爭冒險(xiǎn)。如果邏輯函數(shù)在一定條件下能夠化簡成Y=A+A’或Y=AA’則能夠判斷存在競爭冒險(xiǎn)現(xiàn)象(只是一個(gè)變量變化的情況)。消除方法,接入濾波電容,引入選通脈沖,增加冗余邏輯13:你知道那些常見邏輯電平?TTL與COMS電平能夠直接互連嗎?常見邏輯電平:TTL、CMOS、LVTTL、LVCMOS、ECL(EmitterCoupledLogic)、PECL(Pseudo/PositiveEmitterCoupledLogic)、LVDS(LowVoltageDifferentialSignaling)、GTL(GunningTransceiverLogic)、BTL(BackplaneTransceiverLogic)、ETL(enhancedtransceiverlogic)、GTLP(GunningTransceiverLogicPlus);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ū)動TTL;加上拉電阻后,TTL可驅(qū)動CMOS.上拉電阻用途:a、當(dāng)TTL電路驅(qū)動COMS電路時(shí),如果TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5V),這時(shí)就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。b、OC門電路必須加上拉電阻,以提高輸出的高電平值。c、為加大輸出引腳的驅(qū)動能力,有的單片機(jī)管腳上也常使用上拉電阻。d、在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產(chǎn)生降低輸入阻抗,提供泄荷通路。e、芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限增強(qiáng)抗干擾能力。f、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。g、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。上拉電阻阻值的選擇原則包括:a、從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當(dāng)足夠大;電阻大,電流小。b、從確保足夠的驅(qū)動電流考慮應(yīng)當(dāng)足夠??;電阻小,電流大。c、對于高速電路,過大的上拉電阻可能邊沿變平緩。綜合考慮以上三點(diǎn),一般在1k到10k之間選取。對下拉電阻也有類似道理。OC門電路必須加上拉電阻,以提高輸出的高電平值。OC門電路要輸出“1”時(shí)才需要加上拉電阻不加根本就沒有高電平在有時(shí)我們用OC門作驅(qū)動(例如控制一個(gè)LED)灌電流工作時(shí)就能夠不加上拉電阻總之加上拉電阻能夠提高驅(qū)動能力。14:IC設(shè)計(jì)中同步復(fù)位與異步復(fù)位的區(qū)別?同步復(fù)位在時(shí)鐘沿變化時(shí),完成復(fù)位動作。異步復(fù)位不論時(shí)鐘,只要復(fù)位信號滿足條件,就完成復(fù)位動作。異步復(fù)位對復(fù)位信號要求比較高,不能有毛刺,如果其與時(shí)鐘關(guān)系不確定,也可能出現(xiàn)亞穩(wěn)態(tài)。15:MOORE與MEELEY狀態(tài)機(jī)的特征?Moore狀態(tài)機(jī)的輸出僅與當(dāng)前狀態(tài)值有關(guān),且只在時(shí)鐘邊沿到來時(shí)才會有狀態(tài)變化。Mealy狀態(tài)機(jī)的輸出不但與當(dāng)前狀態(tài)值有關(guān),而且與當(dāng)前輸入值有關(guān)。16:多時(shí)域設(shè)計(jì)中,如何處理信號跨時(shí)域?不同的時(shí)鐘域之間信號通信時(shí)需要進(jìn)行同步處理,這樣能夠防止新時(shí)鐘域中第一級觸發(fā)器的亞穩(wěn)態(tài)信號對下級邏輯造成影響。信號跨時(shí)鐘域同步:當(dāng)單個(gè)信號跨時(shí)鐘域時(shí),能夠采用兩級觸發(fā)器來同步;數(shù)據(jù)或地址總線跨時(shí)鐘域時(shí)能夠采用異步FIFO來實(shí)現(xiàn)時(shí)鐘同步;第三種方法就是采用握手信號。17:說說靜態(tài)、動態(tài)時(shí)序模擬的優(yōu)缺點(diǎn)?靜態(tài)時(shí)序分析是采用窮盡分析方法來提取出整個(gè)電路存在的所有時(shí)序路徑,計(jì)算信號在這些路徑上的傳播延時(shí),檢查信號的建立和保持時(shí)間是否滿足時(shí)序要求,經(jīng)過對最大路徑延時(shí)和最小路徑延時(shí)的分析,找出違背時(shí)序約束的錯(cuò)誤。它不需要輸入向量就能窮盡所有的路徑,且運(yùn)行速度很快、占用內(nèi)存較少,不但能夠?qū)π酒O(shè)計(jì)進(jìn)行全面的時(shí)序功能檢查,而且還可利用時(shí)序分析的結(jié)果來優(yōu)化設(shè)計(jì),因此靜態(tài)時(shí)序分析已經(jīng)越來越多地被用到數(shù)字集成電路設(shè)計(jì)的驗(yàn)證中。動態(tài)時(shí)序模擬就是一般的仿真,因?yàn)椴豢赡墚a(chǎn)生完備的測試向量,覆蓋門級網(wǎng)表中的每一條路徑。因此在動態(tài)時(shí)序分析中,無法暴露一些路徑上可能存在的時(shí)序問題;18:一個(gè)四級的Mux,其中第二級信號為關(guān)鍵信號如何改進(jìn)timing.?關(guān)鍵:將第二級信號放到最后輸出一級輸出,同時(shí)注意修改片選信號,保證其優(yōu)先級未被修改。19:給出一個(gè)門級的圖,又給了各個(gè)門的傳輸延時(shí),問關(guān)鍵路徑是什么,還問給出輸入,使得輸出依賴于關(guān)鍵路徑?關(guān)鍵路徑就是輸入到輸出延時(shí)最大的路徑,找到了關(guān)鍵路徑便能求得最大時(shí)鐘頻率。20:為什么一個(gè)標(biāo)準(zhǔn)的倒相器中P管的寬長比要比N管的寬長比大?和載流子有關(guān),P管是空穴導(dǎo)電,N管是電子導(dǎo)電,電子的遷移率大于空穴,同樣的電場下,N管的電流大于P管,因此要增大P管的寬長比,使之對稱,這樣才能使得兩者上升時(shí)間下降時(shí)間相等、高低電平的噪聲容限一樣、充電放電的時(shí)間相等。21:用一個(gè)二選一mux和一個(gè)inv實(shí)現(xiàn)異或?其中:B連接的是地址輸入端,A和A非連接的是數(shù)據(jù)選擇端,F對應(yīng)的的是輸出端,使能端固定接地置零(沒有畫出來).Y=BA’+B’A利用4選1實(shí)現(xiàn)F(x,y,z)=xz+yz'F(x,y,z)=xyz+xy’z+xyz'+x’yz’=x’y’0+x’yz’+xy’z+xy1Y=A’B’D0+A’BD1+AB’D2+ABD3因此D0=0,D1=z’,D2=z,D3=122:latch與register的區(qū)別,為什么現(xiàn)在多用register.行為級描述中l(wèi)atch如何產(chǎn)生的?latch是電平觸發(fā),register是邊沿觸發(fā),register在同一時(shí)鐘邊沿觸發(fā)下動作,符合同步電路的設(shè)計(jì)思想,而latch則屬于異步電路設(shè)計(jì),往往會導(dǎo)致時(shí)序分析困難,不適當(dāng)?shù)膽?yīng)用latch則會大量浪費(fèi)芯片資源。23:SRAM,FALSHMEMORY,DRAM,SSRAM及SDRAM的區(qū)別?SRAM:靜態(tài)隨機(jī)存儲器,存取速度快,但容量小,掉電后數(shù)據(jù)會丟失,不像DRAM需要不停的REFRESH,制造成本較高,一般見來作為快取(CACHE)記憶體使用。FLASH:閃存,存取速度慢,容量大,掉電后數(shù)據(jù)不會丟失DRAM:動態(tài)隨機(jī)存儲器,必須不斷的重新的加強(qiáng)(REFRESHED)電位差量,否則電位差將降低至無法有足夠的能量表現(xiàn)每一個(gè)記憶單位處于何種狀態(tài)。價(jià)格比SRAM便宜,但訪問速度較慢,耗電量較大,常見作計(jì)算機(jī)的內(nèi)存使用。SSRAM:即同步靜態(tài)隨機(jī)存取存儲器。對于SSRAM的所有訪問都在時(shí)鐘的上升/下降沿啟動。地址、數(shù)據(jù)輸入和其它控制信號均于時(shí)鐘信號相關(guān)。SDRAM:即同步動態(tài)隨機(jī)存取存儲器。24:如何防止亞穩(wěn)態(tài)?亞穩(wěn)態(tài)是指觸發(fā)器無法在某個(gè)規(guī)定時(shí)間段內(nèi)達(dá)到一個(gè)可確認(rèn)的狀態(tài)。當(dāng)一個(gè)觸發(fā)器進(jìn)入亞穩(wěn)態(tài)時(shí),既無法預(yù)測該單元的輸出電平,也無法預(yù)測何時(shí)輸出才能穩(wěn)定在某個(gè)正確的電平上。在這個(gè)穩(wěn)定期間,觸發(fā)器輸出一些中間級電平,或者可能處于振蕩狀態(tài),而且這種無用的輸出電平能夠沿信號通道上的各個(gè)觸發(fā)器級聯(lián)式傳播下去。解決方法:a降低系統(tǒng)時(shí)鐘頻率b用反應(yīng)更快的FFc引入同步機(jī)制,防止亞穩(wěn)態(tài)傳播(能夠采用前面說的加兩級觸發(fā)器)。d改進(jìn)時(shí)鐘質(zhì)量,用邊沿變化快速的時(shí)鐘信號25:基爾霍夫定理的內(nèi)容基爾霍夫定律包括電流定律和電壓定律:電流定律:在集總電路中,在任一瞬時(shí),流向某一結(jié)點(diǎn)的電流之和恒等于由該結(jié)點(diǎn)流出的電流之和。電壓定律:在集總電路中,在任一瞬間,沿電路中的任一回路繞行一周,在該回路上電動勢之和恒等于各電阻上的電壓降之和。26:描述反饋電路的概念,列舉她們的應(yīng)用。反饋,就是在電路系統(tǒng)中,把輸出回路中的電量(電壓或電流)輸入到輸入回路中去。反饋的類型有:電壓串聯(lián)負(fù)反饋、電流串聯(lián)負(fù)反饋、電壓并聯(lián)負(fù)反饋、電流并聯(lián)負(fù)反饋。負(fù)反饋的優(yōu)點(diǎn):降低放大器的增益靈敏度,改變輸入電阻和輸出電阻,改進(jìn)放大器的線性和非線性失真,有效地?cái)U(kuò)展放大器的通頻帶,自動調(diào)節(jié)作用。電壓負(fù)反饋的特點(diǎn):電路的輸出電壓趨向于維持恒定。電流負(fù)反饋的特點(diǎn):電路的輸出電流趨向于維持恒定。27:有源濾波器和無源濾波器的區(qū)別無源濾波器:這種電路主要有無源元件R、L和C組成有源濾波器:集成運(yùn)放和R、C組成,具有不用電感、體積小、重量輕等優(yōu)點(diǎn)。集成運(yùn)放的開環(huán)電壓增益和輸入阻抗均很高,輸出電阻小,構(gòu)成有源濾波電路后還具有一定的電壓放大和緩沖作用。但集成運(yùn)放帶寬有限,因此當(dāng)前的有源濾波電路的工作頻率難以做得很高。FPGA1:系統(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)過組合邏輯的延時(shí)時(shí)間為Tdelay,然后到達(dá)第二個(gè)觸發(fā)器的D端,要希望時(shí)鐘能在第二個(gè)觸發(fā)器再次被穩(wěn)定地打入觸發(fā)器,則時(shí)鐘的延遲必須大于Tco+Tdelay+Tsetup,也就是說最小的時(shí)鐘周期Tmin=Tco+Tdelay+Tsetup,即最快的時(shí)鐘頻率Fmax=1/Tmin。FPGA開發(fā)軟件也是經(jīng)過這種方法來計(jì)算系統(tǒng)最高運(yùn)行速度Fmax。因?yàn)門co和Tsetup是由具體的器件工藝決定的,故設(shè)計(jì)電路時(shí)只能改變組合邏輯的延遲時(shí)間Tdelay,因此說縮短觸發(fā)器間組合邏輯的延時(shí)時(shí)間是提高同步電路速度的關(guān)鍵所在。由于一般同步電路都大于一級鎖存,而要使電路穩(wěn)定工作,時(shí)鐘周期必須滿足最大延時(shí)要求。故只有縮短最長延時(shí)路徑,才能提高電路的工作頻率。能夠?qū)⑤^大的組合邏輯分解為較小的N塊,經(jīng)過適當(dāng)?shù)姆椒ㄆ骄峙浣M合邏輯,然后在中間插入觸發(fā)器,并和原觸發(fā)器使用相同的時(shí)鐘,就能夠避免在兩個(gè)觸發(fā)器之間出現(xiàn)過大的延時(shí),消除速度瓶頸,這樣能夠提高電路的工作頻率。這就是所謂"流水線"技術(shù)的基本設(shè)計(jì)思想,即原設(shè)計(jì)速度受限部分用一個(gè)時(shí)鐘周期實(shí)現(xiàn),采用流水線技術(shù)插入觸發(fā)器后,可用N個(gè)時(shí)鐘周期實(shí)現(xiàn),因此系統(tǒng)的工作速度能夠加快,吞吐量加大。注意,流水線設(shè)計(jì)會在原數(shù)據(jù)通路上加入延時(shí),另外硬件面積也會稍有增加。2:時(shí)序約束的概念和基本策略?時(shí)序約束主要包括周期約束,偏移約束,靜態(tài)時(shí)序路徑約束三種。經(jīng)過附加時(shí)序約束能夠綜合布線工具調(diào)整映射和布局布線,使設(shè)計(jì)達(dá)到時(shí)序要求。附加時(shí)序約束的一般策略是先附加全局約束,然后對快速和慢速例外路徑附加專門約束。附加全局約束時(shí),首先定義設(shè)計(jì)的所有時(shí)鐘,對各時(shí)鐘域內(nèi)的同步元件進(jìn)行分組,對分組附加周期約束,然后對FPGA/CPLD輸入輸出PAD附加偏移約束、對全組合邏輯的PADTOPAD路徑附加約束。附加專門約束時(shí),首先約束分組之間的路徑,然后約束快、慢速例外路徑和多周期路徑,以及其它特殊路徑。3:附加約束的作用?提高設(shè)計(jì)的工作頻率(減少了邏輯和布線延時(shí));2:獲得正確的時(shí)序分析報(bào)告;(靜態(tài)時(shí)序分析工具以約束作為判斷時(shí)序是否滿足設(shè)計(jì)要求的標(biāo)準(zhǔn),因此要求設(shè)計(jì)者正確輸入約束,以便靜態(tài)時(shí)序分析工具能夠正確的輸出時(shí)序報(bào)告)3:指定FPGA/CPLD的電氣標(biāo)準(zhǔn)和引腳位置。4:FPGA設(shè)計(jì)工程師努力的方向:SOPC,高速串行I/O,低功耗,可靠性,可測試性和設(shè)計(jì)驗(yàn)證流程的優(yōu)化等方面。隨著芯片工藝的提高,芯片容量、集成度都在增加,F(xiàn)PGA設(shè)計(jì)也朝著高速、高度集成、低功耗、高可靠性、高可測、可驗(yàn)證性發(fā)展。芯片可測、可驗(yàn)證,正在成為復(fù)雜設(shè)計(jì)所必備的條件,盡量在上板之前查出bug,將發(fā)現(xiàn)bug的時(shí)間提前,這也是一些公司花大力氣設(shè)計(jì)仿真平臺的原因。另外隨著單板功能的提高、成本的壓力,低功耗也逐漸進(jìn)入FPGA設(shè)計(jì)者的考慮范圍,完成相同的功能下,考慮如何能夠使芯片的功耗最低,據(jù)說altera、xilinx都在根據(jù)自己的芯片特點(diǎn)整理如何降低功耗的文檔。高速串行IO的應(yīng)用,也豐富了FPGA的應(yīng)用范圍,象xilinx的v2pro中的高速鏈路也逐漸被應(yīng)用。5:FPGA芯片內(nèi)有哪兩種存儲器資源?FPGA芯片內(nèi)有兩種存儲器資源:一種叫BLOCKRAM,另一種是由LUT配置成的內(nèi)部存儲器(也就是分布式RAM)。BLOCKRAM由一定數(shù)量固定大小的存儲塊構(gòu)成的,使用BLOCKRAM資源不占用額外的邏輯資源,而且速度快??墒鞘褂玫臅r(shí)候消耗的BLOCKRAM資源是其塊大小的整數(shù)倍。6:FPGA設(shè)計(jì)中對時(shí)鐘的使用?(例如分頻等)FPGA芯片有固定的時(shí)鐘路由,這些路由能有減少時(shí)鐘抖動和偏差。需要對時(shí)鐘進(jìn)行相位移動或變頻的時(shí)候,一般不允許對時(shí)鐘進(jìn)行邏輯操作,這樣不但會增加時(shí)鐘的偏差和抖動,還會使時(shí)鐘帶上毛刺。一般的處理方法是采用FPGA芯片自帶的時(shí)鐘管理器如PLL,DLL或DCM,或者把邏輯轉(zhuǎn)換到觸發(fā)器的D輸入(這些也是對時(shí)鐘邏輯操作的替代方案)。7:FPGA設(shè)計(jì)中如何實(shí)現(xiàn)同步時(shí)序電路的延時(shí)?首先說說異步電路的延時(shí)實(shí)現(xiàn):異步電路一半是經(jīng)過加buffer、兩級與非門等來實(shí)現(xiàn)延時(shí)(我還沒用過因此也不是很清楚),但這是不適合同步電路實(shí)現(xiàn)延時(shí)的。在同步電路中,對于比較大的和特殊要求的延時(shí),一半經(jīng)過高速時(shí)鐘產(chǎn)生計(jì)數(shù)器,經(jīng)過計(jì)數(shù)器來控制延時(shí);對于比較小的延時(shí),能夠經(jīng)過觸發(fā)器打一拍,不過這樣只能延遲一個(gè)時(shí)鐘周期。8:FPGA中能夠綜合實(shí)現(xiàn)為RAM/ROM/CAM的三種資源及其注意事項(xiàng)?三種資源:BLOCKRAM,觸發(fā)器(FF),查找表(LUT);注意事項(xiàng):a:在生成RAM等存儲單元時(shí),應(yīng)該首選BLOCKRAM資源;其原因有二:第一:使用BLOCKRAM等資源,能夠節(jié)約更多的FF和4-LUT等底層可編程單元。使用BLOCKRAM能夠說是“不用白不用”,是最大程度發(fā)揮器件效能,節(jié)約成本的一種體現(xiàn);第二:BLOCKRAM是一種能夠配置的硬件結(jié)構(gòu),其可靠性和速度與用LUT和REGISTER構(gòu)建的存儲器更有優(yōu)勢。b:弄清FPGA的硬件結(jié)構(gòu),合理使用BLOCKRAM資源;c:分析BLOCKRAM容量,高效使用BLOCKRAM資源;d:分布式RAM資源(DISTRIBUTERAM)9:查找表的原理與結(jié)構(gòu)?查找表(look-up-table)簡稱為LUT,LUT本質(zhì)上就是一個(gè)RAM。當(dāng)前FPGA中多使用4輸入的LUT,因此每一個(gè)LUT能夠看成一個(gè)有4位地址線的16x1的RAM。當(dāng)用戶經(jīng)過原理圖或HDL語言描述了一個(gè)邏輯電路以后,PLD/FPGA開發(fā)軟件會自動計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣,每輸入一個(gè)信號進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可10:IC設(shè)計(jì)前端到后端的流程和EDA工具?設(shè)計(jì)前端也稱邏輯設(shè)計(jì),后端設(shè)計(jì)也稱物理設(shè)計(jì),兩者并沒有嚴(yán)格的界限,一般涉及到與工藝有關(guān)的設(shè)計(jì)就是后端設(shè)計(jì)。a:規(guī)格制定:客戶向芯片設(shè)計(jì)公司提出設(shè)計(jì)要求。b:詳細(xì)設(shè)計(jì):芯片設(shè)計(jì)公司(Fabless)根據(jù)客戶提出的規(guī)格要求,拿出設(shè)計(jì)解決方案和具體實(shí)現(xiàn)架構(gòu),劃分模塊功能。當(dāng)前架構(gòu)的驗(yàn)證一般基于systemC語言,對價(jià)后模型的仿真能夠使用systemC的仿真工具。例如:CoCentric和VisualElite等。c:HDL編碼:設(shè)計(jì)輸入工具:ultra,visualVHDL等d:仿真驗(yàn)證:modelsime:邏輯綜合:synplifyf:靜態(tài)時(shí)序分析:synopsys的PrimeTimeg:形式驗(yàn)證:Synopsys的Formality.Verilog1:HDL語言的層次概念?HDL語言是分層次的、類型的,最常見的層次概念有系統(tǒng)與標(biāo)準(zhǔn)級、功能模塊級,行為級,寄存器傳輸級和門級。系統(tǒng)級,算法級,RTL級(行為級),門級,開關(guān)級2:設(shè)計(jì)一個(gè)自動飲料售賣機(jī),飲料10分錢,硬幣有5分和10分兩種,并考慮找零,a.畫出fsm(有限狀態(tài)機(jī))b.用verilog編程,語法要符合FPGA設(shè)計(jì)的要求c.設(shè)計(jì)工程中可使用的工具及設(shè)計(jì)大致過程?設(shè)計(jì)過程:a、首先確定輸入輸出,A=1表示投入10分,B=1表示投入5分,Y=1表示彈出飲料,Z=1表示找零。b、確定電路的狀態(tài),S0表示沒有進(jìn)行投幣,S1表示已經(jīng)有5分硬幣。c、畫出狀態(tài)轉(zhuǎn)移圖。modulesell(clk,rst,a,b,y,z);inputclk,rst,a,b;outputy,z;parameters0=0,s1=1;regstate,next_state;always@(posedgeclk)beginif(!rst)state<=s0;elsestate<=next_state;endalways@(aorborcstate)beginy=0;z=0;case(state)s0:if(a==1&&b==0)next_state=s1;elseif(a==0&&b==1)beginnext_state=s0;y=1;endelsenext_state=s0;s1:if(a==1&&b==0)beginnext_state=s0;y=1;endelseif(a==0&&b==1)beginnext_state=s0;y=1;z=1;endelsenext_state=s0;default:next_state=s0;endcaseendendmodule2:用D觸發(fā)器做個(gè)二分頻的電路?畫出邏輯電路?modulediv2(clk,rst,clk_out);inputclk,rst;outputregclk_out;always@(posedgeclk)beginif(!rst)clk_out<=0;elseclk_out<=~clk_out;endendmodule現(xiàn)實(shí)工程設(shè)計(jì)中一般不采用這樣的方式來設(shè)計(jì),二分頻一般經(jīng)過DCM來實(shí)現(xiàn)。經(jīng)過DCM得到的分頻信號沒有相位差?;蛘呤菑腝端引出加一個(gè)反相器。3:用你熟悉的設(shè)計(jì)方式設(shè)計(jì)一個(gè)可預(yù)置初值的7進(jìn)制循環(huán)計(jì)數(shù)器,15進(jìn)制的呢?modulecounter7(clk,rst,load,data,cout);inputclk,rst,load;input[2:0]data;outputreg[2:0]cout;always@(posedgeclk)beginif(!rst)cout<=3’d0;elseif(load)cout<=data;elseif(cout>=3’d6)cout<=3’d0;elsecout<=cout+3’d1;endendmodule4:用Verilog或VHDL寫一段代碼,實(shí)現(xiàn)消除一個(gè)glitch(毛刺)?將傳輸過來的信號經(jīng)過兩級觸發(fā)器就能夠消除毛刺。(這是我自己采用的方式:這種方式消除毛刺是需要滿足一定條件的,并不能保證一定能夠消除)module(clk,data,q_out)inputclk,data;outputregq_out;regq1;always@(posedgeclk)beginq1<=data;q_out<=q1;endendmodule5、畫出DFF的結(jié)構(gòu)圖,用verilog實(shí)現(xiàn)之。moduledff(clk,d,qout);inputclk,d;outputqout;regqout;always@(posedgeclk)beginif(!reset)qout<=0;elseqout<=d;endendmodule6、請用HDL描述四位的全加法器、5分頻電路。moduleadder4(a,b,ci,s,co);inputci;input[3:0]a,b;outputco;output[3:0]s;assign{co,s}=a+b+ci;endmodulemodulediv5(clk,rst,clk_out);inputclk,rst;outputclk_out;reg[3:0]count;always@(posedgeclk)begini
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年鄭州城市職業(yè)學(xué)院單招綜合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年南通科技職業(yè)學(xué)院單招職業(yè)技能考試備考試題含詳細(xì)答案解析
- 2026年青島酒店管理職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試備考試題含詳細(xì)答案解析
- 2026年廣東工程職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試備考試題含詳細(xì)答案解析
- 2026年寧夏工商職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試模擬試題及答案詳細(xì)解析
- 2026年南昌交通學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫及答案詳細(xì)解析
- 2026年保定理工學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題及答案詳細(xì)解析
- 2026年黑龍江藝術(shù)職業(yè)學(xué)院單招綜合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 2026年保定幼兒師范高等??茖W(xué)校單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2026年南京鐵道職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2026福建廈門市高崎出入境邊防檢查站招聘警務(wù)輔助人員30人備考題庫及完整答案詳解
- 2026西藏自治區(qū)教育考試院招聘非編工作人員11人筆試備考試題及答案解析
- 2026年度黑龍江省生態(tài)環(huán)境廳所屬事業(yè)單位公開招聘工作人員57人備考題庫及一套答案詳解
- 炎癥因子風(fēng)暴與神經(jīng)遞質(zhì)紊亂的干細(xì)胞干預(yù)策略
- 2026年1月浙江省高考(首考)英語試題(含答案)+聽力音頻+聽力材料
- 中國大型SUV市場數(shù)據(jù)洞察報(bào)告-
- 太陽能路燈施工組織設(shè)計(jì)
- 2026年江蘇衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)傾向性測試必刷測試卷及答案解析(名師系列)
- 高校行政人員筆試試題(附答案)
- 2025年農(nóng)村會計(jì)考試試題題庫及答案
- 《食品分析》復(fù)習(xí)備考試題庫(附答案)
評論
0/150
提交評論