FPGA培訓課件_第1頁
FPGA培訓課件_第2頁
FPGA培訓課件_第3頁
FPGA培訓課件_第4頁
FPGA培訓課件_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2022-2-4FPGA培訓1FPGA培訓2022-2-4FPGA培訓2第一講內容n 可編程邏輯器件概述n ispXP2芯片介紹n FPGA與CPLD的比較n Vrilog HDL編程語言n 編程實例n ispLEVER7.0開發環境n 作業:數字時鐘2022-2-4FPGA培訓3可編程邏輯器件概述PLD的發展歷程:2022-2-4FPGA培訓4PLD的分類按集成度分類:2022-2-4FPGA培訓5按結構分類 乘積項結構:大部分簡單PLD和CPLD 查找表結構:大多數FPGA按編程工藝分類 熔絲(Fuse)型 反熔絲(Anti-fuse)型 EPROM型,紫外線擦除電可編程邏輯器件 EEPR

2、OM型 SRAM型:大部分FPGA器件采用此種編程工藝 Flash型2022-2-4FPGA培訓6簡單PLD器件被取代的原因n陣列規模小,資源不夠用于設計數字系統n片內寄存器資源不足,難以構成豐富的時序電路nI/O不夠靈活n編程不便,需專用的編程工具2022-2-4FPGA培訓7FPGA/CPLD被廣泛采用的原因n規模越來越大,單片邏輯門數已愈千萬。n開發過程投資小。FPGA/CPLD芯片在出廠前都經過了嚴格的測試,而且設計靈活,發現錯誤可直接更改設計,減少了投片風險。n用FPGA/CPLD試制功能樣機,能以最快速度占領市場。有些領域,標準協議發展太快,設計ASIC根不上技術更新速度,只能依靠

3、FPGA/CPLD完成系統研制與開發。nFPGA/CPLD開發工具智能化,功能強大。n新型FPGA內嵌CPU或DSP內核,支持軟硬件協同設計,可作為SOPC硬件平臺。2022-2-4FPGA培訓82022-2-4FPGA培訓9XP2基本結構JTAG & SPI PortssysCLOCK PLLs Frequency Synthesis-Up to 4 per deviceEnhanced Configuration Logicincludes Dual Boot, Decryption & TransFRPre-EngineeredSource SynchronousSupport:DDR2

4、 400MbpsGeneric 750MbpsOn-Chip OscillatorFlashFlexible sysIO Buffers: LVCMOS, HSTL,SSTL, LVDS, + DSP BlocksMultiply and Accumulate Support ForUp to 32 18X18 MultiplierssysMEM Block RAM 18Kbit Dual PortUp to 885KbitsProgrammable Function Units (PFUs) Up to 40K LUTsFlexible Routing Optimized for Speed

5、, Cost and Routability2022-2-4FPGA培訓10 DeviceXP2-5XP2-8XP2-17XP2-30XP2-40LUTs (K)58172940EBR SRAM Blocks912152148EBR SRAM (Kbits)166221276387885Distributed RAM (Kbits)1018355683# 18x18 Multipliers1216202832PLLs22444Package & IO Combinations132-ball csBGA (8x8mm)8686144-pin TQFP (20 x20mm)100100208-p

6、in PQFP (28x28mm)146146146256-ball ftBGA (17x17mm)172201201201484-ball fpBGA (23x23mm)358363363672-ball fpBGA (27x27mm)472540查找表(Look-Up-Table)簡稱為LUT,LUT本質上就是是一個RAM。它把數據事先寫入RAM后,每當輸入一個信號就等于輸入一個地址進行查表,找出地址對應的內容,然后輸出。 2022-2-4FPGA培訓11FPGA/CPLD比較2022-2-4FPGA培訓12什么是什么是Verilog HDLVerilog HDL? Verilog HDL

7、 Verilog HDL是一種硬件描述語言,用于從算法級、門級到開關級的多種抽象是一種硬件描述語言,用于從算法級、門級到開關級的多種抽象設計層次的數字系統建模。被建模的數字系統對象的復雜性可以介于簡單的門設計層次的數字系統建模。被建模的數字系統對象的復雜性可以介于簡單的門和完整的電子數字系統之間。數字系統能夠按層次描述,并可在相同描述中顯和完整的電子數字系統之間。數字系統能夠按層次描述,并可在相同描述中顯式地進行時序建模。式地進行時序建模。Verilog HDLVerilog HDL語言提供了編程語言接口,通過該接口可以在模擬、驗證期間從設語言提供了編程語言接口,通過該接口可以在模擬、驗證期間

8、從設計外部訪問設計,包括模擬的具體控制和運行。計外部訪問設計,包括模擬的具體控制和運行。Verilog HDLVerilog HDL語言不僅定義了語語言不僅定義了語法,而且對每個語法結構都定義了清晰的模擬、仿真語義。因此,用這種語言法,而且對每個語法結構都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用編寫的模型能夠使用Ve r i l o gVe r i l o g仿真器進行驗證。語言從仿真器進行驗證。語言從C C編程語言中繼承了編程語言中繼承了多種操作符和結構。多種操作符和結構。Verilog HDLVerilog HDL語言的核心子集非常易于學習和使用,完整的語言的核心子集

9、非常易于學習和使用,完整的硬件描述語言足以對從最復雜的芯片到完整的電子系統進行描述。硬件描述語言足以對從最復雜的芯片到完整的電子系統進行描述。Verilog “Tell me how your circuit should behave and I will give youthe hardware that does the job.”2022-2-4FPGA培訓13功能模塊:2022-2-4FPGA培訓14結構模塊:2022-2-4FPGA培訓15RTL綜合:lRegister Transfer Level (RTL) - A type of behavioral modeling, fo

10、r the purpose of synthesis. Hardware is implied or inferred SynthesizablelSynthesis - Translating HDL to a circuit and then optimizing the represented circuitlRTL Synthesis - The process of translating a RTL model of hardware into an optimized technology specific gate level implementation2022-2-4FPG

11、A培訓16RTL綜合:2022-2-4FPGA培訓17典型綜合流程:2022-2-4FPGA培訓18典型仿真流程:2022-2-4FPGA培訓19基本模塊結構:2022-2-4FPGA培訓20PORTS聲明:2022-2-4FPGA培訓21DATA類型聲明:2022-2-4FPGA培訓22assign語句:2022-2-4FPGA培訓23assign語句:2022-2-4FPGA培訓24Always 語句:語句:nIf there are more than one behavioral statement inside an always block, the statements can

12、be grouped using the keywords begin and end.n此語句總是循環執行。n只有寄存器類型數據能夠在這種語句中被賦值。所有的a l w a y s語句在0時刻并發執行。2022-2-4FPGA培訓25阻塞性過程賦值:n賦值操作符是賦值操作符是“=” =” 。阻塞性過程賦值在其后所有語句執行前執。阻塞性過程賦值在其后所有語句執行前執行,即在下一語句執行前該賦值語句完成執行。如下所示:行,即在下一語句執行前該賦值語句完成執行。如下所示:na l w a y s (a l w a y s (A A o r o r B B o r o r C i nC i n) )

13、nb e g i nb e g i nn T 1 T 1 = = A A & & B B; ;n T 2 T 2 = = B B & & C i nC i n; ;n T 3 T 3 = = A A & & C i nC i n; ;n C o u t C o u t = = T 1 T 1 | | T 2 T 2 | | T 3T 3; ;ne n de n dnT 1T 1賦值首先發生,計算賦值首先發生,計算T 1T 1;接著執行第二條語句,;接著執行第二條語句,T 2T 2被賦值;被賦值;然后執行第三條語句,然后執行第三條語句,T 3T 3被賦值;依此類推。被賦值;依此類推。nexecu

14、ted in the order they are specified in a sequential block2022-2-4FPGA培訓26非阻塞性過程賦值:n非阻塞性過程賦值使用賦值符號“ =”。例如:nb e g i nnL o a d = 32;nR e g A = L o a d;nR e g B = S t o r e;ne n dnallow scheduling of assignments without blocking execution of the statements that follow in a sequential block .n Recommende

15、d: Use Nonblocking assignments for clocked processes when writing synthesizable code.2022-2-4FPGA培訓27Always 語句:語句:2022-2-4FPGA培訓28Always 語句:語句:2022-2-4FPGA培訓29If-Else Statements2022-2-4FPGA培訓30Case Statement2022-2-4FPGA培訓31Clocked ProcessnNonblocking assignments (=) are used for clockedprocesses2022

16、-2-4FPGA培訓32Function2022-2-4FPGA培訓33Function- Multiplier2022-2-4FPGA培訓34ispLEVER設計流程圖 2022-2-4FPGA培訓35System Stimulation2022-2-4FPGA培訓36實例:2022-2-4FPGA培訓37Design Blockmodule counter( clk,clr,f,d,q );input clk;input clr;input 1:0f;input 7:0d;output 7:0q;wire clk;wire clr;wire 1:0f;wire 7:0d;reg 7:0q;

17、always(posedge clk or posedge clr)begin if(clr) q=8h00; else case(f) 2b00: q=d; /loads the counter 2b01: q=q+1; /counts up 2b10: q=q-1; /counts down 2b11: q=q; endcaseendendmodule2022-2-4FPGA培訓38Stimulus Blocktimescale 100ps/1ps module tb;/inputreg clk;reg clr;reg 1:0f;reg 7:0d;/outputwire 7:0q;coun

18、ter tb ( .clk(clk), .clr(clr), .f(f), .d(d), .q(q);initial begin clk = 0; forever #1 clk = clk;endinitial begin clr = 1; d = 8h00; f = 2b00; #10 f = 2b10; #10 f = 2b01; #10 clr = 0; #512 f = 2b11; #10 f = 2b10; #512 f = 2b11;endendmodule2022-2-4FPGA培訓39數字時鐘n自制版上按鈕按下、蜂鳴器鳴叫。n四個數碼管初始數值顯示“0、0、0、0”。n設定自制版從左至右,數碼管名稱4、3、2、1。n數碼管1、2顯示分鐘,數值顯示“0”“60”;n數碼管3、4顯示小時,數值顯示“0”“24”;n數碼管3上的點表示秒閃;n設定其中一個按鈕為k1,按下分鐘當前顯示值加一。n設定另外一個按鈕為k2,按下小時當前顯示值加一。2022-2-4FPGA培訓40Top圖:詳見參考程序2022-2-4FPGA培訓412022-2-4FPGA培訓42參考資料目錄:VerilogVerilog編程規

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論