校招基礎——FPGA基礎


1、典型FPGA的開發流程

 

2FPGA內部資源包括哪些及作用

1)、輸入輸出單元(IOB

可編程輸入/輸出單元簡稱 I/O 單元,是芯片與外界電路的接口部分,完成不同電氣特性下對輸入/輸出信號的驅動與匹配要求。

2)、可編程邏輯塊(CLB

FPGA的基本可編程邏輯單元是由查找表和寄存器組成的,查找表完成純組合邏輯功能。FPGA內部寄存器可配置成觸發器或鎖存器。Altera基本可編程單元LE配置為寄存器加一個查找表。

3)、底層內嵌功能單元DLL

內嵌功能模塊主要指DLLDelay Locked Loop)、PLLPhase Locked Loop)、DSP CPU等軟處理核(Soft Core)。

4)、豐富的布線資源可編程布線矩陣

布線資源連通FPGA內部的所有單元,連線的長度和工藝決定着信號在連線上的驅動能力和傳輸速度。划分為4類不同的類別。第一類是全局布線資源,用於芯片內部全局時鍾和全局復位/置位的布線;第二類是長線資源,用以完成芯片Bank間的高速信號和第二全局時鍾信號的布線;第三類是短線資源,用於完成基本邏輯單元之間的邏輯互連和布線;第四類是分布式的布線資源,用於專有時鍾、復位等控制信號線。

5)、嵌入式塊 RAMBRAM

RAM可被配置為單端口RAM、雙端口RAM、內容地址存儲器(CAM)以及FIFO等常用存儲結構。Block RAM由一定數量固定大小的存儲塊構成,使用BRAM不占用額外邏輯資源,並且速度快。

6)、內嵌專用硬核

內嵌專用硬核是相對底層嵌入的軟核而言的,指FPGA處理能力強大的硬核(Hard Core),等效於ASIC電路。為了提高FPGA性能,芯片生產商在芯片內部集成了一些專用的硬核。

 

3、查找表LUT的原理

查找表(look-up-table)簡稱為LUT,本質上是一個RAM。目前FPGA 中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16x1的RAM,多於4輸入邏輯可以使用多個LUT實現

原理:當用戶通過原理圖或HDL語言描述了一個邏輯電路以后,CPLD/FPGA 開發軟件會自動計算邏輯電路的所有可能的結果,並把結果事先寫入RAM中,每輸入一個信號進行邏輯運算就等於輸入一個地址進行查表,找出地址對應的內容,然后輸出即可。LUT可以配置成內部存儲器,即分布式RAM。

 

4FPGA芯片內的存儲器資源是哪些?

FPGA芯片內有兩種存儲器資源:一種叫block ram,另一種是由LUT配置成的內部存儲器(也就是分布式ram)。block ram由一定數量固定大小的存儲塊構成的,使用block ram,不占用額外的邏輯資源,並且速度快。但是使用的時鍾消耗block ram的資源是其大小的整數倍。

FPGA中可以綜合實現為RAM/ROM/CAM的三種資源:BLOCK RAM,查找表,FF觸發器。

(1)在生成ram等存儲單元的時候,應該首選block ram資源;其原因有二:第一:使用block ram等資源,可以節約更多的FF4_LUT等底層可編寫單元。使用block_ram可以說是不用白不用,最大程度發揮器件效能,節約成本的一種體現;第二:block ram是一種可以配置的硬件結構,其可靠性和速度與用LUTregister構建的存儲器更有優勢。

(2)弄清FPGA的硬件結構,合理使用block ram資源;

(3)分析block ram的容量,高效使用block ram資源

(4)分布式RAM資源(distribute RAM

 

5、選擇FPGA時考慮的因素有哪些? 

 

 

6FPGACPLD的區別?

 

CPLD

FPGA

內部結構

基於乘積項

基於查找表

程序存儲

內部EEPROM/FLASH

SRAM,外掛EEPROM

資源類型

組合資源豐富

時序資源豐富

集成度

使用場合

完成控制邏輯

完成比較復雜的算法

速度

其他資源

-

PLLRAM和乘法器

保密性

可加密

一般不能保密

 

7FPGAASIC的區別

FPGA,即現場可編程門陣列,是在PALGALCPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。它是當今數字系統設計的主要硬件平台,其主要特點就是完全由用戶通過軟件進行配置和編程,從而完成某種特定的功能,且可以反復擦寫。在修改和升級時,不需額外地改變PCB 電路板,只是在計算機上修改和更新程序,使硬件設計工作成為軟件開發工作,縮短了系統設計的周期,提高了實現的靈活性並降低了成本。

ASICApplication Specific Integrated Circuit),即專用集成電路,是一種為專門目的而設計的集成電路。是指應特定用戶要求和特定電子系統的需要而設計、制造的集成電路。ASIC的特點是面向特定用戶的需求, ASIC分為全定制和半定制。亮點在於專用,量身定制所以執行速度較快。一句話總結就是,市場上買不到的芯片。水果的A系列處理器就是典型的ASIC

 

FPGA

ASIC

速度

個頭

實現相同的功能規模需要大

實現相同的功能規模需要小

功耗

功耗大

功耗小

花費

便宜

定位

規模小的

規模大的

 

8FPGACPLDASIC的區別?

 

9、以下關於FPGAASIC描述正確的是:(ABD
AFPGA開發周期相對短

B、相同工藝下,ASIC能跑更快的時鍾

CFPGA更注重面積的要求。

DASIC批量生產時成本相對低

 

10根據FPGACPLD的特點,分別適用於什么情況?(C

ACPLD適用於時序邏輯電路,FPGA適用於組合邏輯電路

BCPLD適用於邏輯較大的設計,FPGA適用於邏輯規模較小的設計

CCPLD適用於組合邏輯的設計,FPGA適用於時序邏輯的設計

DCPLD適用於邏輯規模較小的設計,FPGA適用於邏輯規模較大的設計

 

11FPGA通過(查找表)實現組合邏輯,CPLD通過(乘積項)實現組合邏輯。

 

12FPGA中,可以綜合實現為RAM的資源包括(ABD

ABLOCK RAM  B、查找表  C可編程輸入輸出單元(IOBDFF觸發器

 

13、什么是IP核?有哪些分類?

IP核(Intellectual Property core),即知識產權核。

IP核是一段具有特定電路功能的硬件描述語言程序,該程序通常與集成電路工藝無關,可以移植到不同的半導體工藝中去生產集成電路芯片。由於IP核將一些在數字電路中常用,但比較復雜的功能塊設計成可修改參數的模塊,因此FPGA的設計人員可以通過調用相關IP核來完成所需邏輯功能,從而節省了大量的開發時間。調用IP核能避免重復勞動,大大減輕設計人員的負擔,因此使用IP核必然成為將來FPGA設計的一個發展趨勢。

IP核的硬件描述級實現程序,可將它分為三類:軟核、硬核和固核。

軟核(Soft IP Core) : 軟核在EDA 設計領域指的是綜合之前的寄存器傳輸級(RTL) 模型;具體在FPGA 設計中指的是對電路的硬件語言描述,包括邏輯描述、網表和幫助文檔等。軟核只經過功能仿真,需要經過綜合以及布局布線才能使用。其優點是靈活性高、可移植性強,允許用戶自配置;缺點是對模塊的預測性較低,在后續設計中存在發生錯誤的可能性,有一定的設計風險。軟核是IP 核應用最廣泛的形式。

固核(Firm IP Core) :固核在EDA 設計領域指的是帶有平面規划信息的網表;具體在FPGA 設計中可以看做帶有布局規划的軟核,通常以RTL 代碼和對應具體工藝網表的混合形式提供。將RTL 描述結合具體標准單元庫進行綜合優化設計,形成門級網表,再通過布局布線工具即可使用。和軟核相比,固核的設計靈活性稍差,但在可靠性上有較大提高。 目前,固核也是IP 核的主流形式之一。

硬核 (Hard IP Core) :硬核在EDA 設計領域指經過驗證的設計版圖;具體在FPGA 設計中指布局和工藝固定、經過前端和后端驗證的設計,設計人員不能對其修改。不能修改的原因有兩個:首先是系統設計對各個模塊的時序要求很嚴格,不允許打亂已有的物理版圖;其次是保護知識產權的要求,不允許設計人員對其有任何改動。IP 硬核的不許修改特點使其復用有一定的困難,因此只能用於某些特定應用,使用范圍較窄。

 

14IP核和硬件原語有什么區別

硬件原語比較底層,可以針對一個邏輯單元操作,是軟件中集成好的,不需要向調用IP核那樣復雜的過程,可以直接在代碼中調用,當然功能相對比較簡單。而IP核功能比較多,調用時需要設置很多的參數。

 

15IP核在EDA技術和開發中具有十分重要的地位,IP分軟IP、固IP、硬IP、下列所描述的IP核中,對於硬IP的正確的描述為(A

A、其他選項都不是

B、提供用VHDL語言等硬件語言描述功能塊,但不涉及實現該功能塊的具體電路

C、提供設計的最終產品——掩膜

D、以網表的文件的形式提交用戶,完成了綜合的功能塊

 

16IP核中用HDL硬件描述語言描述的功能塊,不涉及實現該功能塊的具體電路的IP核為(A

A IP B IP C IP D 全對

 

17為什么在FPGA構成的數字系統中要配備PROME2PROM

掉電后數據丟失,每次上電,都要從PROME2PROM中調取程序運行。

 

18FPGA下載方式有哪些?

1)主動串行方式(AS

2)主動並行方式(AP

3)被動串行方式(PS

4JTAG方式

 

19FPGA固件燒寫方案有哪些?

第一種:是使用專用的AS接口直接燒寫該配置芯片,該種方式需要在電路板上設置一個獨立的AS接口,占用PCB面積較大,使用起來不方便。

第二種方式,即通過JTAG接口,經過FPGA芯片間接燒寫配置芯片。

 

20JTAG鏈路加載信號信號線不包含(C

Atck  Btms Ctdelay Dtdi

 

21FPGA在燒寫FLASH時可以使用三種不同的文件類型,以下哪一種不是?(B)存疑

A.mcs B.prm C.bin D.hex

 

22EDA工具中,能將硬件描述語言轉化為硬件電路的重要工具為(B

A、仿真器 B、綜合器 C、適配器 D、下載器

 

23、你所知道的可編程邏輯器件有哪些?

PALPLAGALCPLDFPGA

 

24FPGA常用的電平標准包括(ABCD

ALVTTL  BLVCOMS  CLVDS  DECL

 

25以下是XILINX常用FPGA系列支持的電平標准的有哪些?(ABD

A、TTL  BCMOS  CSSTL  DLVDS

 

26TTL電平的輸入高電平即Vh是(A

A2.4 B3.5 C2  D1.5                解析:VH=2.4vVL=0.4V

 

27、你知道哪些常用的邏輯電平?

常用邏輯電平:TTLCMOSLVTTLLVCMOSECLEmitter Coupled Logic)、

PECLPseudo/Positive Emitter Coupled Logic)、LVDSLow Voltage Differential Signaling)、

GTLGunning Transceiver Logic)、BTLBackplane Transceiver Logic)、ETLenhanced

transceiver logic)、GTLPGunning Transceiver Logic Plus);RS232RS422RS48512V

5V3.3V);

也有一種答案是:常用邏輯電平:12V5V3.3V

 

28、下列屬於FPGA編譯的步驟有(BCE

A、功能仿真  B、綜合  C、布線  D、燒錄  E、布局

 

29以下屬於verilog語法規定的I/O端口類型的是(ACD

A、輸入端口 B、差分信號端口 C、雙向端口 D、輸出端口

 

30什么是邏輯綜合

實現在滿足設計電路的功能,速度及面積等限制條件下將行為級描述轉化為指定的技術序中單元的連接。

 

31請解釋xilinxFPGA專用術語DCM

DCM:提供一個完整的供片內和片外使用的時鍾發生器。DCM使用完全數字延遲技術,允許高精度的控制時鍾的相位和頻率;使用完全的數字反饋系統;可以動態的補償由於溫度和電壓偏移引起的時鍾相位和頻率的偏差。

 

32xilinx 推薦高電平復位?

因為 xilinx 器件中,觸發器的復位端都是高電平有效的, 且不可改變,如果你的復位信號低電平有效,那么就要額外增加一個反向器。

 

33XilinxRAM可例化多種類型,如什么?(ABD

A、簡單雙口RAM B、單口RAM C、三口RAM D、真雙口RAM

 

34、用同樣的仿真平台在同樣的編譯環境下,仿真同樣的RTL代碼,下面哪一個仿真耗時最長(A

A、時序仿真 B、功能仿真 C、邏輯仿真 D、前仿真

 

35下面是芯片中有關GPIO的敘述,不正確的是:(A
AGPIO一般只具有0態和1態,不具有高阻狀態
BGPIO的引腳一般是多功能復用的
CGPIO作為輸出接口時具有鎖存功能
DGPIO作為輸入接口時具有緩沖功能

 

36、為什么需要IO電路?

三個作用:電平轉換、加強驅動、ESD保護。

 

37、ESD電路的概念和作用?

概念:ESDElecro Static Discharge,即靜電放電。

作用:保護CMOS電路中的柵氧化層(SiO2),以免被擊穿。

 

38、FPGA系列的含義?

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM