1、查找表的原理與結(jié)構(gòu)?
查找表(look-up-table)簡稱為LUT,LUT本質(zhì)上就是一個RAM。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有 4位地址線的16x1的RAM。
當用戶通過原理圖或HDL語言描述了一個邏輯電路以后,PLD/FPGA開發(fā)軟件會自動計算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可
設(shè)計前端也稱邏輯設(shè)計,后端設(shè)計也稱物理設(shè)計,兩者并沒有嚴格的界限,一般涉及到與工藝有關(guān)的設(shè)計就是后端設(shè)計。
1:規(guī)格制定:客戶向芯片設(shè)計公司提出設(shè)計要求。
2:詳細設(shè)計:芯片設(shè)計公司(Fabless)根據(jù)客戶提出的規(guī)格要求,拿出設(shè)計解決方案和具體實現(xiàn)架構(gòu),劃分模塊功能。目前架構(gòu)的驗證一般基于systemC語言,對價后模型的仿真可以使用systemC的仿真工具。例如:CoCentric和Visual Elite等。
3:HDL編碼:設(shè)計輸入工具:ultra ,visual VHDL等
4:仿真驗證:modelsim
5:邏輯綜合:synplify
6:靜態(tài)時序分析:synopsys的Prime Time
7:形式驗證:Synopsys的Formality.
3、IC設(shè)計過程中將寄生效應(yīng)的怎樣反饋影響設(shè)計師的設(shè)計方案?
所謂寄生效應(yīng)就是那些溜進你的PCB并在電路中大施破壞、令人頭痛、原因不明的小故障。它們就是滲入高速電路中隱藏的寄生電容和寄生電感。
其中包括由封裝引腳和印制線過長形成的寄生電感;焊盤到地、焊盤到電源平面和焊盤到印制線之間形成的寄生電容;通孔之間的相互影響,以及許多其它可能的寄生效應(yīng)。
理想狀態(tài)下,導(dǎo)線是沒有電阻,電容和電感的。而在實際中,導(dǎo)線用到了金屬銅,它有一定的電阻率,如果導(dǎo)線足夠長,積累的電阻也相當可觀。兩條平行的導(dǎo)線,如果互相之間有電壓差異,就相當于形成了一個平行板電容器(你想象一下)。通電的導(dǎo)線周圍會形成磁場(特別是電流變化時),磁場會產(chǎn)生感生電場,會對電子的 移動產(chǎn)生影響,可以說每條實際的導(dǎo)線包括元器件的管腳都會產(chǎn)生感生電動勢,這也就是寄生電感。
在直流或者低頻情況下,這種寄生效應(yīng)看不太出來。而在交流特別是高頻交流條件下,影響就非常巨大了。根據(jù)復(fù)阻抗公式,電容、電感會在交流情況下會對電流的移動產(chǎn)生巨大阻礙,也就可以折算成阻抗。這種寄生效應(yīng)很難克服,也難摸到。只能通過優(yōu)化線路,盡量使用管腳短的SMT元器件來減少其影響,要完全消除是不可能的。
4、用flip-flop和logic-gate設(shè)計一個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<=
5、設(shè)計一個自動飲料售賣機,飲料10分錢,硬幣有5分和10分兩種,并考慮找零
1.畫出fsm(有限狀態(tài)機)
2.用verilog編程,語法要符合FPGA設(shè)計的要求
3.設(shè)計工程中可使用的工具及設(shè)計大致過程?
設(shè)計過程:
1、首先確定輸入輸出,A=1表示投入10分,B=1表示投入5分,Y=1表示彈出飲料,Z=1表示找零。
2、確定電路的狀態(tài),S0表示沒有進行投幣,S1表示已經(jīng)有5分硬幣。
3、畫出狀態(tài)轉(zhuǎn)移圖。
擴展:設(shè)計一個自動售飲料機的邏輯電路。它的投幣口每次只能投入一枚五角或一元的硬幣。投入一元五角硬幣后給出飲料;投入兩元硬幣時給出飲料并找回五角。
1、確定輸入輸出,投入一元硬幣A=1,投入五角硬幣B=1,給出飲料Y=1,找回五角Z=1;
2、確定電路的狀態(tài)數(shù),投幣前初始狀態(tài)為S0,投入五角硬幣為S1,投入一元硬幣為S2。畫出轉(zhuǎn)該轉(zhuǎn)移圖,根據(jù)狀態(tài)轉(zhuǎn)移圖可以寫成Verilog代碼。
6、什么是"線與"邏輯,要實現(xiàn)它,在硬件特性上有什么具體要求?
線與邏輯是兩個輸出信號相連可以實現(xiàn)與的功能。在硬件上,要用oc門來實現(xiàn),由于不用oc門可能使灌電流過大,而燒壞邏輯門. 同時在輸出端口應(yīng)加一個上拉電阻。oc門就是集電極開路門。od門是漏極開路門。
7、什么是競爭與冒險現(xiàn)象?怎樣判斷?如何消除?
在組合電路中,某一輸入變量經(jīng)過不同途徑傳輸后,到達電路中某一匯合點的時間有先有后,這種現(xiàn)象稱競爭;由于競爭而使電路輸出發(fā)生瞬時錯誤的現(xiàn)象叫做冒險。(也就是由于競爭產(chǎn)生的毛刺叫做冒險)。
判斷方法:代數(shù)法(如果布爾式中有相反的信號則可能產(chǎn)生競爭和冒險現(xiàn)象);卡諾圖:有兩個相切的卡諾圈并且相切處沒有被其他卡諾圈包圍,就有可能出現(xiàn)競爭冒險;實驗法:示波器觀測;
解決方法:1:加濾波電容,消除毛刺的影響;2:加選通信號,避開毛刺;3:增加冗余項消除邏輯冒險。
由于競爭而在電路的輸出端可能產(chǎn)生尖峰脈沖的現(xiàn)象稱為競爭冒險。
如果邏輯函數(shù)在一定條件下可以化簡成Y=A+A’或Y=AA’則可以判斷存在競爭冒險現(xiàn)象(只是一個變量變化的情況)。
消除方法,接入濾波電容,引入選通脈沖,增加冗余邏輯。
8、你知道那些常用邏輯電平?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ū)動TTL;加上拉電阻后,TTL可驅(qū)動CMOS.
上拉電阻用途:
1、當TTL電路驅(qū)動COMS電路時,如果TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。
2、OC門電路必須加上拉電阻,以提高輸出的高電平值。
3、為加大輸出引腳的驅(qū)動能力,有的單片機管腳上也常使用上拉電阻。
4、在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產(chǎn)生降低輸入阻抗,提供泄荷通路。
5、芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限增強抗干擾能力。
6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。
7、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。
上拉電阻阻值的選擇原則包括:
1、從節(jié)約功耗及芯片的灌電流能力考慮應(yīng)當足夠大;電阻大,電流小。
2、從確保足夠的驅(qū)動電流考慮應(yīng)當足夠小;電阻小,電流大。
3、對于高速電路,過大的上拉電阻可能邊沿變平緩。綜合考慮以上三點,通常在1k到10k之間選取。對下拉電阻也有類似道理。
OC門電路必須加上拉電阻,以提高輸出的高電平值。
OC門電路要輸出“1”時才需要加上拉電阻不加根本就沒有高電平
在有時我們用OC門作驅(qū)動(例如控制一個 LED)灌電流工作時就可以不加上拉電阻
總之加上拉電阻能夠提高驅(qū)動能力。
9、IC設(shè)計中同步復(fù)位與異步復(fù)位的區(qū)別?
同步復(fù)位在時鐘沿變化時,完成復(fù)位動作。異步復(fù)位不管時鐘,只要復(fù)位信號滿足條件,就完成復(fù)位動作。異步復(fù)位對復(fù)位信號要求比較高,不能有毛刺,如果其與時鐘關(guān)系不確定,也可能出現(xiàn)亞穩(wěn)態(tài)。
10、MOORE 與 MEELEY狀態(tài)機的特征?
Moore 狀態(tài)機的輸出僅與當前狀態(tài)值有關(guān), 且只在時鐘邊沿到來時才會有狀態(tài)變化。
Mealy 狀態(tài)機的輸出不僅與當前狀態(tài)值有關(guān), 而且與當前輸入值有關(guān)。
11、多時域設(shè)計中,如何處理信號跨時域?
不同的時鐘域之間信號通信時需要進行同步處理,這樣可以防止新時鐘域中第一級觸發(fā)器的亞穩(wěn)態(tài)信號對下級邏輯造成影響。
信號跨時鐘域同步:當單個信號跨時鐘域時,可以采用兩級觸發(fā)器來同步;數(shù)據(jù)或地址總線跨時鐘域時可以采用異步FIFO來實現(xiàn)時鐘同步;第三種方法就是采用握手信號。
12、說說靜態(tài)、動態(tài)時序模擬的優(yōu)缺點?
靜態(tài)時序分析是采用窮盡分析方法來提取出整個電路存在的所有時序路徑, 計算信號在這些路徑上的傳播延時,檢查信號的建立和保持時間是否滿足時序要求,通過對最大路徑延時和最小路徑延時的分析,找出違背時序約束的錯誤。
它不需要輸入向量就能窮盡所有的路徑,且運行速度很快、占用內(nèi)存較少,不僅可以對芯片設(shè)計進行全面的時序功能檢查,而且還可利用時序分析的結(jié)果來優(yōu)化設(shè)計,因此 靜態(tài)時序分析已經(jīng)越來越多地被用到數(shù)字集成電路設(shè)計的驗證中。
動態(tài)時序模擬就是通常的仿真,因為不可能產(chǎn)生完備的測試向量,覆蓋門級網(wǎng)表中的每一條路徑。因此在動態(tài)時序分析中,無法暴露一些路徑上可能存在的時序問題。
13、一個四級的Mux,其中第二級信號為關(guān)鍵信號如何改善timing.?
關(guān)鍵:將第二級信號放到最后輸出一級輸出,同時注意修改片選信號,保證其優(yōu)先級未被修改。(為什么?)
14、給出一個門級的圖,又給了各個門的傳輸延時,問關(guān)鍵路徑是什么,還問給出輸入, 使得輸出依賴于關(guān)鍵路徑?
關(guān)鍵路徑就是輸入到輸出延時最大的路徑,找到了關(guān)鍵路徑便能求得最大時鐘頻率。
15、為什么一個標準的倒相器中P管的寬長比要比N管的寬長比大?
和載流子有關(guān),P管是空穴導(dǎo)電,N管是電子導(dǎo)電,電子的遷移率大于空穴,同樣的電場下,N管的電流大于P管,因此要增大P管的寬長比,使之對稱,這樣才能使得兩者上升時間下降時間相等、高低電平的噪聲容限一樣、充電放電的時間相等。
16、用mos管搭出一個二輸入與非門?
<數(shù)字電子技術(shù)基礎(chǔ)(第五版)> 92頁
與非門:上并下串 或非門:上串下并
17、畫出NOT,NAND,NOR的符號,真值表,還有transistor level(晶體管級)的電路?
<數(shù)字電子技術(shù)基礎(chǔ)(第五版)> 117頁—134頁
18、畫出CMOS的圖,畫出tow-to-one muxgate.?
Y=SA+S’B 利用與非門和反相器,進行變換后Y=((SA)’*(S’A)’)’,三個與非門,一個反相器。也可以用傳輸門來實現(xiàn)數(shù)據(jù)選擇器或者是異或門。
19、用一個二選一mux和一個inv實現(xiàn)異或?
其中:B連接的是地址輸入端,A和A非連接的是數(shù)據(jù)選擇端,F對應(yīng)的的是輸出端,使能端固定接地置零(沒有畫出來)。
Y=BA’+B’A
利用4選1實現(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+xy1
Y=A’B’D0+A’BD1+AB’D2+ABD3
所以D0=0,D1=z’,D2=z,D3=1
20、畫出CMOS電路的晶體管級電路圖,實現(xiàn)Y=A*B+C(D+E).?
畫出Y=A*B+C的CMOS電路圖,畫出Y=A*B+C*D的CMOS電路圖。
利用與非門和或非門實現(xiàn)
Y=A*B+C(D+E)=((AB’)(CD)’(CE)’)’ 三個兩輸入與非門,一個三輸入與非門
Y=A*B+C=((AB)’C’) 一個反相器,兩個兩輸入與非門
Y=A*B+C*D=((AB)’(CD)’)’ 三個兩輸入與非門