《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 其他 > FPGA教學(xué)——技術(shù)面試題(二)

FPGA教學(xué)——技術(shù)面試題(二)

2022-11-08
來(lái)源:FPGA設(shè)計(jì)論壇
關(guān)鍵詞: FPGA

  0.1、設(shè)計(jì)異步FIFO時(shí),要注意

 ?。?)在地址信號(hào)跨時(shí)鐘域時(shí)需要對(duì)其進(jìn)行二進(jìn)制碼轉(zhuǎn)格雷碼的轉(zhuǎn)換并進(jìn)行目標(biāo)時(shí)鐘域的時(shí)鐘打兩拍同步,以防止亞穩(wěn)態(tài)的產(chǎn)生。

  (2)寫滿信號(hào)由讀地址同步到寫時(shí)鐘域并與寫地址進(jìn)行比較產(chǎn)生,讀空信號(hào)由寫地址同步到讀時(shí)鐘域并與讀地址進(jìn)行比較產(chǎn)生。這樣可以在第一時(shí)間得到讀空與寫滿的信息,并對(duì)異步fifo進(jìn)行操作。

 ?。?)異步fifo的深度需要考慮到寫狀態(tài)的背靠背寫入狀態(tài)以得到最適合的深度。

 ?。?)讀寫地址需要擴(kuò)展一位來(lái)判斷是讀空還是寫滿,當(dāng)擴(kuò)展后的讀寫地址的格雷碼相等時(shí)為讀空,若其前兩位不同,后面相等時(shí)為寫滿。

  0.2、系統(tǒng)工作頻率計(jì)算

  同步電路的速度是指同步系統(tǒng)時(shí)鐘的速度,同步時(shí)鐘愈快,電路處理數(shù)據(jù)的時(shí)間間隔越短,電路在單位時(shí)間內(nèi)處理的數(shù)據(jù)量就愈大。

  最高運(yùn)行速度:

  Tco ——觸發(fā)器的輸入數(shù)據(jù)被時(shí)鐘打入到觸發(fā)器到數(shù)據(jù)到達(dá)觸發(fā)器輸出端的延時(shí)時(shí)間;

  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。

  因?yàn)門co和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ù)姆椒ㄆ骄峙浣M合邏輯,然后在中間插入觸發(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ì)稍有增加。

  1、 串行接口與并行接口區(qū)別

  串行接口是數(shù)據(jù)線一根線,通過(guò)串行協(xié)議傳輸數(shù)據(jù),比如uart

  并行接口是一個(gè)數(shù)據(jù)在多根數(shù)據(jù)線并行傳輸,比如rgb888、rgb565等等

  2、i2c和spi總線如何實(shí)現(xiàn)多機(jī)通信的,簡(jiǎn)述

  I2c通過(guò)呼叫應(yīng)答方式,i2c每幀數(shù)據(jù)都會(huì)先發(fā)設(shè)備地址指明數(shù)據(jù)發(fā)給誰(shuí)的,讀誰(shuí)的;

  Spi通過(guò)片選信號(hào),spi通信前先拉低對(duì)應(yīng)從機(jī)的片選,然后和收發(fā)數(shù)據(jù)

  3、如何解決亞穩(wěn)態(tài)?Metastability

  答:亞穩(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)式傳播下去。

  解決方法:

  1 、降低系統(tǒng)時(shí)鐘頻率

  2 、用反應(yīng)更快的Flip-Flop(觸發(fā)器)

  3 、引入同步機(jī)制,防止亞穩(wěn)態(tài)傳播

  異步FIFO、對(duì)于異步時(shí)鐘通過(guò)異步復(fù)位同步釋放(就是對(duì)異步復(fù)位時(shí)鐘進(jìn)行兩次或者兩次以上緩存。)

  4 、改善時(shí)鐘質(zhì)量,用邊沿變化快速的時(shí)鐘信號(hào)

  關(guān)鍵是器件使用比較好的工藝和時(shí)鐘周期的裕量要大。

  4、說(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)題;

  靜態(tài)時(shí)序分析缺點(diǎn):

  1、無(wú)法識(shí)別偽路徑

  2、不適合異步電路

  3、不能驗(yàn)證功能

  5、用VERILOG寫一段代碼,實(shí)現(xiàn)消除一個(gè)glitch。

  毛刺為高則用與門,低就或門

 ?。?)濾掉小于1個(gè)周期glitch的原理圖如下:

微信截圖_20221108144251.png

  module digital_filter_(clk_in,rst,host_rst,host_rst_filter);

  input clk_in;

  input rst;

  input host_rst;

  output host_rst_filter;

  reg host_rst_d1;

  reg host_rst_d2;

  always@(posedge clk_in or negedge rst)

  begin

  if(!rst)

  begin

  host_rst_d1 <= 1'b1;

  host_rst_d2 <= 1'b1;

  end

  else

  begin

  host_rst_d1 <= host_rst;

  host_rst_d2 <= host_rst_d1;

  end

  end

  assign host_rst_filter = host_rst_d1 | host_rst_d2;

  endmodule

  (2)濾掉大于1個(gè)周期且小于2個(gè)周期glitch的原理圖如下:

微信截圖_20221108144315.png

  module digital_filter_(clk_in,rst,host_rst,host_rst_filter);

  input clk_in;

  input rst;

  input host_rst;

  output host_rst_filter;

  reg host_rst_d1;

  reg host_rst_d2;

  reg host_rst_d3;

  always@(posedge clk_in or negedge rst)

  begin

  if(!rst)

  begin

  host_rst_d1 <= 1'b1;

  host_rst_d2 <= 1'b1;

  host_rst_d3 <= 1'b1;

  end

  else

  begin

  host_rst_d1 <= host_rst;

  host_rst_d2 <= host_rst_d1;

  host_rst_d3 <= host_rst_d2;

  end

  end

  assign host_rst_filter = host_rst_d1 | host_rst_d2 | host_rst_d3;

  endmodule

  6、簡(jiǎn)述一下什么是單工、半雙工、全雙工通信,舉個(gè)例

  單工,只能發(fā)或者收數(shù)據(jù)

  半雙工,可以發(fā)也可以收,但是收發(fā)不能同時(shí)進(jìn)行

  全雙工,可以發(fā)也可以收,收發(fā)可以同時(shí)進(jìn)行

  7、簡(jiǎn)述觸發(fā)器和鎖存器之間的差別

  鎖存器對(duì)電平信號(hào)敏感,在輸入脈沖的電平作用下改變狀態(tài)。

  D觸發(fā)器對(duì)時(shí)鐘邊沿敏感,檢測(cè)到上升沿或下降沿觸發(fā)瞬間改變狀態(tài)。

  8、計(jì)算最小周期

  Tco:寄存器時(shí)鐘輸入到數(shù)據(jù)輸出的時(shí)間

  Tdata:寄存器間的走線延遲

  Tsu :建立時(shí)間

  Tskew:時(shí)鐘偏斜

  最小時(shí)鐘周期:

  Tmin = Tco + Tdata + Tsu - Tskew。最快頻率Fmax = 1/Tmin

  Tskew = Tclkd – Tclks。

  9、時(shí)鐘抖動(dòng)和時(shí)鐘偏移的概念及產(chǎn)生原因,如何避免?

  時(shí)鐘抖動(dòng)jitter:指時(shí)鐘信號(hào)的跳變沿不確定,故是時(shí)鐘頻率上的不一致。

  時(shí)鐘偏移Skew:指全局時(shí)鐘產(chǎn)生的各個(gè)子時(shí)鐘信號(hào)到達(dá)不同觸發(fā)器的時(shí)間點(diǎn)不同,是時(shí)鐘相位的不一致。

  jitter主要受外界干擾引起,通過(guò)各種抗干擾手段可以避免。而skew由數(shù)字電路內(nèi)部各路徑布局布線長(zhǎng)度和負(fù)載不同導(dǎo)致,利用全局時(shí)鐘網(wǎng)絡(luò)可盡量將其消除。

  10、自己的外設(shè)和avalon的外設(shè)區(qū)別

  Hps自己的外設(shè)是固核,不用也不可以拿來(lái)做其他的邏輯

  Avalon外設(shè)是軟核,不用的話邏輯資源可以拿來(lái)做其他的

  11、什么是線與邏輯?在硬件電路上有什么要求?

  線與邏輯是指兩根線直接相連能夠?qū)崿F(xiàn)與的功能。在硬件上需要OC門,如果不采用OC門會(huì)會(huì)導(dǎo)致門電路管電流過(guò)大而燒壞邏輯門。用OC門實(shí)現(xiàn)線與,應(yīng)在輸出端口加一個(gè)上拉電阻。

  知識(shí)點(diǎn)標(biāo)記:OC門實(shí)際上只是一個(gè)NPN型三極管,并不輸出某一特定電壓值或電流值。OC門根據(jù)三極管基極所接的集成電路來(lái)決定(三極管發(fā)射極接地),通過(guò)三極管集電極,使其開路而輸出。而輸出設(shè)備若為場(chǎng)效應(yīng)晶體管(MOSFET),則稱之為漏極開路(英語(yǔ):Open Drain,俗稱“OD門”),工作原理相仿。通過(guò)OC門這一裝置,能夠讓邏輯門輸出端的直接并聯(lián)使用。兩個(gè)OC門的并聯(lián),可以實(shí)現(xiàn)邏輯與的關(guān)系,稱為“線與”,但在輸出端口應(yīng)加一個(gè)上拉電阻與電源相連。

  12、軟核、硬核、固核是什么,各有什么特點(diǎn)

  軟核:綜合之前的寄存器傳輸級(jí)(RTL) 模型,靈活性高、可移植性強(qiáng),但預(yù)測(cè)性低有不確定風(fēng)險(xiǎn)

  硬核:經(jīng)過(guò)驗(yàn)證的設(shè)計(jì)版圖,設(shè)計(jì)人員不能對(duì)其修改與軟核實(shí)現(xiàn)方式相比,硬核可以把功耗降低5~10 倍, 節(jié)約將近90% 的邏輯資源

  固核:帶有平面規(guī)劃信息的網(wǎng)表,通常以RTL 代碼和對(duì)應(yīng)具體工藝網(wǎng)表的混合形式提供。

  固核的設(shè)計(jì)靈活性稍差,但在可靠性上有較大提高

  13、異步FIFO深度計(jì)算

  如果數(shù)據(jù)流連續(xù)不斷則FIFO深度無(wú)論多少,只要讀寫時(shí)鐘不同源同頻則都會(huì)丟數(shù);

  FIFO用于緩沖塊數(shù)據(jù)流,一般用在寫快讀慢時(shí),

  FIFO深度 / (寫入速率 - 讀出速率) = FIFO被填滿時(shí)間 應(yīng)大于 數(shù)據(jù)包傳送時(shí)間= 數(shù)據(jù)量 / 寫入速率

  例:A/D采樣率50MHz,dsp讀A/D讀的速率40MHz,要不丟失地將10萬(wàn)個(gè)采樣數(shù)據(jù)送入DSP,在A/D在和DSP之間至少加多大容量(深度)的FIFO才行?

  100,000 / 50MHz = 1/ 500 s = 2ms

  (50MHz - 40MHz) * 1/500 = 20k既是FIFO深度。

  14、給一段c語(yǔ)言程序代碼,在fpga上面做加速,能從那些方面做提升,簡(jiǎn)述過(guò)程

  1. 時(shí)間上的優(yōu)化加速

  2. C語(yǔ)言里面存在循環(huán)可以展開減少執(zhí)行時(shí)間

  3. 里面的變量使用ac數(shù)據(jù)類型,減少數(shù)據(jù)位寬優(yōu)化面積和執(zhí)行時(shí)間

  4. 復(fù)雜的計(jì)算換成簡(jiǎn)單的計(jì)算,比如除以2換成右移1位

  5. 函數(shù)參數(shù)接口使用avalon接口減少位寬,優(yōu)化面積

  6. 接口使用穩(wěn)定參數(shù)優(yōu)化寄存器級(jí)數(shù)減少時(shí)間

  15、系統(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開發(fā)軟件也是通過(guò)這種方法來(lái)計(jì)算系統(tǒng)最高運(yùn)行速度Fmax。因?yàn)門co和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ù)姆椒ㄆ骄峙浣M合邏輯,然后在中間插入觸發(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ì)稍有增加。

  16、硬件工具使用

  1、萬(wàn)用表、示波器、邏輯分析儀可以測(cè)量那些東西,用來(lái)測(cè)些什么?

  萬(wàn)用表主要用來(lái)測(cè)試電壓、電流、通斷、電阻、電容等,缺點(diǎn)只能看有效值,不能看實(shí)時(shí)值示波器主要測(cè)量模擬信號(hào)實(shí)時(shí)值,如頻率、周期、幅值等,缺點(diǎn)是通道較少?zèng)]有協(xié)議解析

  邏輯分析儀主要抓取多路通道的波形,解析編碼協(xié)議,缺點(diǎn)是只能看數(shù)字信號(hào),不能看模擬信號(hào)

  2、萬(wàn)用表測(cè)量電壓是什么電壓,fpga 輸出 50%的占空比的 pwm 波測(cè)出來(lái)是多少?

  有效值,1.65v

  3、示波器測(cè)量的電壓是什么電壓,fpga 通過(guò) dac 輸出正弦,測(cè)量出來(lái)是什么?

  實(shí)時(shí)值,測(cè)量出來(lái)是一個(gè)幅值為 dac 基準(zhǔn)電壓的正弦信號(hào)

  4、邏輯分析儀是以什么電壓區(qū)分電平的,輸入幅值 3v 的一個(gè)正弦信號(hào),邏輯分析儀讀取什么?

  低端邏輯分析儀是以 ttl 電平,默認(rèn) 0.7v 以下低電平,1.5v 以上高電平,中間保持

  高端的邏輯分析儀有電平設(shè)置功能,自己設(shè)置高低電平的電壓閾值

  輸入正弦信號(hào)軟件中為方波

  5、現(xiàn)有一個(gè)產(chǎn)品出現(xiàn)故障,沒(méi)有任何輸出現(xiàn)象,我們應(yīng)該先測(cè)什么,用什么測(cè)

  答:輸入電源電壓,所有芯片電壓電壓,萬(wàn)用表或者示波器

  17、FPGA中可以綜合實(shí)現(xiàn)為RAM/ROM/CAM的三種資源及其注意事項(xiàng)?

  三種資源:BLOCK RAM,觸發(fā)器(FF),查找表(LUT);

  注意事項(xiàng):

  1:在生成RAM等存儲(chǔ)單元時(shí),應(yīng)該首選BLOCK RAM 資源;其原因有二:第一:使用BLOCK RAM等資源,可以節(jié)約更多的FF和4-LUT等底層可編程單元。使用BLOCK RAM可以說(shuō)是“不用白不用”,是最大程度發(fā)揮器件效能,節(jié)約成本的一種體現(xiàn);第二:BLOCK RAM是一種可以配置的硬件結(jié)構(gòu),其可靠性和速度與用LUT和REGISTER構(gòu)建的存儲(chǔ)器更有優(yōu)勢(shì)。

  2:弄清FPGA的硬件結(jié)構(gòu),合理使用BLOCK RAM資源;

  3:分析BLOCK RAM容量,高效使用BLOCK RAM資源;

  4:分布式RAM資源(DISTRIBUTE RAM)

  查找表(look-up-table)簡(jiǎn)稱為L(zhǎng)UT,LUT本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4(V7和A7都是6輸入)輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有 4位地址線的16x1的RAM。當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路以后,PLD/FPGA開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。

  19、HDL語(yǔ)言的層次概念?

  HDL語(yǔ)言是分層次的、類型的,最常用的層次概念有系統(tǒng)與標(biāo)準(zhǔn)級(jí)、功能模塊級(jí),行為級(jí),寄存器傳輸級(jí)和門級(jí)。

  系統(tǒng)級(jí),算法級(jí),RTL級(jí)(行為級(jí)),門級(jí),開關(guān)級(jí)。

  21、MOORE 與 MEELEY狀態(tài)機(jī)的特征?

  Mealy 狀態(tài)機(jī)的輸出不僅與當(dāng)前狀態(tài)值有關(guān), 而且與當(dāng)前輸入值有關(guān)。

  Moore 狀態(tài)機(jī)的輸出僅與當(dāng)前狀態(tài)值有關(guān), 且只在時(shí)鐘邊沿到來(lái)時(shí)才會(huì)有狀態(tài)變化。

  22、FPGA內(nèi)部結(jié)構(gòu)及資源:

  FPGA主要由可編程單元、可編程I/O單元及布線資源構(gòu)成。

  可編程邏輯單元(可配置邏輯單元,CLB)由兩個(gè)SLICE構(gòu)成,SLICE主要包括實(shí)現(xiàn)組合邏輯的LUT和實(shí)現(xiàn)時(shí)序邏輯的觸發(fā)器。FPGA內(nèi)部還包含專用存儲(chǔ)單元BRAM,運(yùn)算單元DSP Slice,及專用內(nèi)嵌功能單元,如:PLL、Serdes等。

  23、名詞解釋,寫出下列縮寫的中文(或者英文)含義:

  FPGA :Field Programmable Gate Array 現(xiàn)場(chǎng)可編程門陣列

  VHDL:( Very-High-Speed Integrated Circuit Hardware Description Language) 甚高速集成電路硬件描述語(yǔ)言

  HDL :Hardware Description Language硬件描述語(yǔ)言

  EDA:Electronic Design Automation 電子設(shè)計(jì)自動(dòng)化

  CPLD:Complex Programmable Logic Device 復(fù)雜可編程邏輯器件

  PLD :Programmable Logic Device 可編程邏輯器件

  GAL:generic array logic 通用陣列邏輯

  LAB:Logic Array Block 邏輯陣列塊

  CLB :Configurable Logic Block 可配置邏輯模塊

  EAB: Embedded Array Block 嵌入式陣列塊

  SOPC: System-on-a-Programmable-Chip可編程片上系統(tǒng)

  LUT :Look-Up Table 查找表

  JTAG: Joint Test Action Group 聯(lián)合測(cè)試行為組織

  IP: Intellectual Property 知識(shí)產(chǎn)權(quán)

  ASIC :Application Specific Integrated Circuits 專用集成電路

  ISP :In System Programmable 在系統(tǒng)可編程

  ICR :In Circuit Re-config 在電路可重構(gòu)

  RTL: Register Transfer Level 寄存器傳輸級(jí)

  24、FPGA內(nèi)部LUT實(shí)現(xiàn)組合邏輯的原理:

  LUT相當(dāng)于存放邏輯表達(dá)式對(duì)應(yīng)真值表的RAM。軟件將邏輯表達(dá)式所有可能結(jié)果列出后存放在RAM中,輸入作為RAM地址,輸出為邏輯運(yùn)算結(jié)果。如使用LUT模擬二輸入“與”邏輯。列出真值表:00 – 0,01 – 0,10 – 0,11 – 1。此時(shí)將00 01 10 11作為地址線,依次將結(jié)果0 0 0 1存放在RAM中。當(dāng)輸入00時(shí)及輸出0&0=0.

  25、 低功耗技術(shù):

  功耗可用公式描述:Power = KFCV^2,即功率等于常數(shù)系數(shù)工作頻率負(fù)載電容值*電壓的平方。

  故從以下幾個(gè)方面降低功耗方式:

  a.控制工作頻率:降低頻率增大數(shù)據(jù)路徑寬度,動(dòng)態(tài)頻率調(diào)整,門控時(shí)鐘(時(shí)鐘使能有效時(shí)鐘才進(jìn)入寄存器時(shí)鐘輸入引腳)

  b.減少電容負(fù)載:使用幾何尺寸更小的邏輯門,其電容負(fù)載較小,功率也隨之減少。

  c.降低工作電壓:動(dòng)態(tài)改變工作電壓、零操作電壓(直接關(guān)閉系統(tǒng)中一部分的電源)

  27、異步串口校驗(yàn)位的奇、偶校驗(yàn)的原理

  奇校驗(yàn):讓所有這個(gè)字節(jié)的數(shù)據(jù)中出現(xiàn)奇數(shù)個(gè)1,比如,1000110(0)則必須添0,

  這樣原來(lái)有3個(gè)1已經(jīng)是奇數(shù)了,所以添上0之后1的個(gè)數(shù)保持為奇數(shù)

  偶校驗(yàn):讓所有這個(gè)字節(jié)的數(shù)據(jù)中出現(xiàn)奇數(shù)個(gè)1,比如,1000110(1)則必須添1,

  這樣原來(lái)有3個(gè)1已經(jīng)是奇數(shù)了。所以添上1之后1的個(gè)數(shù)保持為偶數(shù)。

  26、FPGA詳細(xì)設(shè)計(jì)流程(面試提問(wèn))

  與數(shù)字IC設(shè)計(jì)流程類似,以xilinx vivado工具為例,主要有以下步驟:

  系統(tǒng)設(shè)計(jì)、

  RTL級(jí)設(shè)計(jì)、

  RTL級(jí)仿真、

  綜合、

  門級(jí)仿真、

  布局布線、

  時(shí)序仿真、

  板級(jí)調(diào)試。

  27、時(shí)序約束相關(guān)有哪幾種時(shí)序路徑:

  input paths:外部引腳到內(nèi)部寄存器

  register-to-register paths:系統(tǒng)內(nèi)部寄存器到寄存器路徑

  output paths:內(nèi)部寄存器到外部引腳的路徑

  port to port paths:FPGA輸入端口到輸出端口路徑(不常用)

  28、創(chuàng)建時(shí)序約束的關(guān)鍵步驟:

  baseline約束:create clocks  define clocks interactions

  I/O約束:set input and output delays

  例外約束:set timing execptions(set_max_delay/set_min_delay、set_multicycle_path、set_false_path)

  設(shè)計(jì)初期可先不加I/O約束,但baseline約束要盡早建立。




本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。