FPGA開發(fā)流程.ppt_第1頁
FPGA開發(fā)流程.ppt_第2頁
FPGA開發(fā)流程.ppt_第3頁
FPGA開發(fā)流程.ppt_第4頁
FPGA開發(fā)流程.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余36頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ISE環(huán)境中FPGA開發(fā)與實(shí)現(xiàn) FPGA Field ProgrammableGateArray 即現(xiàn)場(chǎng)可編程門陣列 它是在PAL GAL CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物 它是作為專用集成電路 ASIC 領(lǐng)域中的一種半定制電路而出現(xiàn)的 既解決了定制電路的不足 又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn) 以硬件描述語言 Verilog或VHDL 所完成的電路設(shè)計(jì) 可以經(jīng)過簡(jiǎn)單的綜合和布局快速地?zé)罠PGA上進(jìn)行測(cè)試 是現(xiàn)代IC設(shè)計(jì)驗(yàn)證的技術(shù)主流 這些可編輯元件可以被用來實(shí)現(xiàn)一些基本的邏輯門電路 比如AND OR XOR NOT 或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式 工作原理 FPGA采用了邏輯單元陣列LCA LogicCellArray 這樣一個(gè)概念 內(nèi)部包括可配置邏輯模塊CLB ConfigurableLogicBlock 輸出輸入模塊IOB InputOutputBlock 和內(nèi)部連線 Interconnect 三個(gè)部分 現(xiàn)場(chǎng)可編程門陣列 FPGA 是可編程器件 與傳統(tǒng)邏輯電路和門陣列 如PAL GAL及CPLD器件 相比 FPGA具有不同的結(jié)構(gòu) FPGA利用小型查找表 16 1RAM 來實(shí)現(xiàn)組合邏輯 每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端 觸發(fā)器再來驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I O 由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的基本邏輯單元模塊 這些模塊間利用金屬連線互相連接或連接到I O模塊 FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的 存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I O間的聯(lián)接方式 并最終決定了FPGA所能實(shí)現(xiàn)的功能 FPGA允許無限次的編程 FPGA 芯片主要由7部分完成 分別為 可編程輸入輸出單元 基本可編程邏輯單元 完整的時(shí)鐘管理 嵌入塊式RAM 豐富的布線資源 內(nèi)嵌的底層功能單元和內(nèi)嵌專用硬件模塊 可編程輸入 輸出單元簡(jiǎn)稱I O單元 是芯片與外界電路的接口部分 完成不同電氣特性下對(duì)輸入 輸出信號(hào)的驅(qū)動(dòng)與匹配要求 FPGA內(nèi)的I O按組分類 每組都能夠獨(dú)立地支持不同的I O標(biāo)準(zhǔn) 通過軟件的靈活配置 可適配不同的電氣標(biāo)準(zhǔn)與I O物理特性 可以調(diào)整驅(qū)動(dòng)電流的大小 可以改變上 下拉電阻 配置邏輯塊 CLB 是FPGA內(nèi)的基本邏輯單元 CLB的實(shí)際數(shù)量和特性會(huì)依器件的不同而不同 但是每個(gè)CLB都包含一個(gè)可配置開關(guān)矩陣 此矩陣由4或6個(gè)輸入 一些選型電路 多路復(fù)用器等 和觸發(fā)器組成 開關(guān)矩陣是高度靈活的 可以對(duì)其進(jìn)行配置以便處理組合邏輯 移位寄存器或RAM 在Xilinx公司的FPGA器件中 CLB由多個(gè) 一般為4個(gè)或2個(gè) 相同的Slice和附加邏輯構(gòu)成 每個(gè)CLB模塊不僅可以用于實(shí)現(xiàn)組合邏輯 時(shí)序邏輯 還可以配置為分布式RAM和分布式ROM 數(shù)字時(shí)鐘管理模塊 DCM 業(yè)內(nèi)大多數(shù)FPGA均提供數(shù)字時(shí)鐘管理 Xilinx的全部FPGA均具有這種特性 Xilinx推出最先進(jìn)的FPGA提供數(shù)字時(shí)鐘管理和相位環(huán)路鎖定 相位環(huán)路鎖定能夠提供精確的時(shí)鐘綜合 且能夠降低抖動(dòng) 并實(shí)現(xiàn)過濾功能 嵌入式塊RAM BRAM 大多數(shù)FPGA都具有內(nèi)嵌的塊RAM 這大大拓展了FPGA的應(yīng)用范圍和靈活性 塊RAM可被配置為單端口RAM 雙端口RAM 內(nèi)容地址存儲(chǔ)器 CAM 以及FIFO等常用存儲(chǔ)結(jié)構(gòu) 布線資源 連通FPGA內(nèi)部的所有單元 而連線的長度和工藝決定著信號(hào)在連線上的驅(qū)動(dòng)能力和傳輸速度 在實(shí)際中設(shè)計(jì)者不需要直接選擇布線資源 布局布線器可自動(dòng)地根據(jù)輸入邏輯網(wǎng)表的拓?fù)浣Y(jié)構(gòu)和約束條件選擇布線資源來連通各個(gè)模塊單元 從本質(zhì)上講 布線資源的使用方法和設(shè)計(jì)的結(jié)果有密切 直接的關(guān)系 內(nèi)嵌功能模塊 主要指DLL DelayLockedLoop PLL PhaseLockedLoop DSP和CPU等軟處理核 SoftCore 現(xiàn)在越來越豐富的內(nèi)嵌功能單元 使得單片F(xiàn)PGA成為了系統(tǒng)級(jí)的設(shè)計(jì)工具 使其具備了軟硬件聯(lián)合設(shè)計(jì)的能力 逐步向SOC平臺(tái)過渡 內(nèi)嵌專用硬核 是相對(duì)底層嵌入的軟核而言的 指FPGA處理能力強(qiáng)大的硬核 HardCore 等效于ASIC電路 為了提高FPGA性能 芯片生產(chǎn)商在芯片內(nèi)部集成了一些專用的硬核 例如 為了提高FPGA的乘法速度 主流的FPGA中都集成了專用乘法器 為了適用通信總線與接口標(biāo)準(zhǔn) 很多高端的FPGA內(nèi)部都集成了串并收發(fā)器 SERDES 可以達(dá)到數(shù)十Gbps的收發(fā)速度 特點(diǎn) 1 采用FPGA設(shè)計(jì)ASIC電路 專用集成電路 用戶不需要投片生產(chǎn) 就能得到合用的芯片 2 FPGA可做其它全定制或半定制ASIC電路的中試樣片 3 FPGA內(nèi)部有豐富的觸發(fā)器和I O引腳 4 FPGA是ASIC電路中設(shè)計(jì)周期最短 開發(fā)費(fèi)用最低 風(fēng)險(xiǎn)最小的器件之一 5 FPGA采用高速CMOS工藝 功耗低 可以與CMOS TTL電平兼容 ISE的簡(jiǎn)要介紹 ISE軟件是Xilinx公司推出的FPGA CPLD集成開發(fā)環(huán)境 不僅包含了邏輯設(shè)計(jì)所需的一切 還具有大量簡(jiǎn)便易用的內(nèi)置式工具和向?qū)?使得I O分配 功耗分析 時(shí)序驅(qū)動(dòng)設(shè)計(jì)收斂 HDL仿真等關(guān)鍵步驟變得容易而直觀 因此要掌握XilinxFPGA開發(fā) 就必須掌握ISE 這里我們簡(jiǎn)單介紹下ISE基本操作和開發(fā)流程 ISE功能簡(jiǎn)介 Xilinx是全球領(lǐng)先的可編程邏輯完整解決方案的供應(yīng)商 其開發(fā)工具ISE也在不斷地升級(jí) ISE具有界面友好 操作簡(jiǎn)單的特點(diǎn) 再加上Xilinx的FPGA芯片占有很大的市場(chǎng) 使其成為非常通用的FPGA工具軟件 ISE作為高效的EDA設(shè)計(jì)工具集合 與第三方軟件揚(yáng)長補(bǔ)短 使軟件功能越來越強(qiáng)大 為用戶提供了更加豐富的Xilinx平臺(tái) ISE的主要功能包括設(shè)計(jì)輸入 綜合 仿真 實(shí)現(xiàn)和下載 涵蓋了FPGA開發(fā)的全過程 從功能上講 其工作流程無需借助任何第三方EDA軟件 ISE功能簡(jiǎn)介 設(shè)計(jì)輸入 ISE提供的設(shè)計(jì)輸入工具包括用于HDL代碼輸入和查看報(bào)告的ISE文本編輯器 TheISETextEditor 用于原理圖編輯的工具ECS TheEngineeringCaptureSystem 用于生成IPCore的CoreGenerator 用于狀態(tài)機(jī)設(shè)計(jì)的StateCAD以及用于約束文件編輯的ConstraintEditor 綜合 ISE的綜合工具不但包含了Xilinx自身提供的綜合工具XST 同時(shí)還可以內(nèi)嵌MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify 實(shí)現(xiàn)無縫鏈接 ISE功能簡(jiǎn)介 仿真 ISE本身自帶了一個(gè)具有圖形化波形編輯功能的仿真工具HDLBencher 同時(shí)又提供了使用ModelTech公司的Modelsim進(jìn)行仿真的接口 實(shí)現(xiàn) 此功能包括了翻譯 映射 布局布線等 還具備時(shí)序分析 管腳指定以及增量設(shè)計(jì)等高級(jí)功能 下載 下載功能包括了BitGen 用于將布局布線后的設(shè)計(jì)文件轉(zhuǎn)換為位流文件 還包括了ImPACT 功能是進(jìn)行設(shè)備配置和通信 控制將程序燒寫到FPGA芯片中去 ISE軟件 基本硬件要求 CPU奔騰3以上 內(nèi)存大于256MB 硬盤大于10GB的安裝環(huán)境 本實(shí)驗(yàn)指導(dǎo)使用的集成環(huán)境是ISE13 1 使用ISE13 1完成一個(gè)8255IPcore的設(shè)計(jì) 其內(nèi)容包括 工程的建立 8255IPcore的設(shè)計(jì) 設(shè)計(jì)綜合和查看綜合結(jié)果 設(shè)計(jì)下載到FPGA芯片實(shí)驗(yàn)連線說明 ISE用戶界面 ISE軟件的用戶界面 標(biāo)題欄 主要顯示當(dāng)前工程的名稱和當(dāng)前打開的文件名稱 菜單欄 主要包括文件 File 編輯 Edit 視圖 View 工程 Project 源文件 Source 操作 Process 窗口 Window 和幫助 Help 等8個(gè)下拉菜單 工具欄 主要包含了常用命令的快捷按鈕 靈活運(yùn)用工具欄可以極大地方便用戶在ISE中的操作 在工程管理中 此工具欄的運(yùn)用極為頻繁 工程管理區(qū) 提供了工程以及其相關(guān)文件的顯示和管理功能 主要包括源文件視圖 SourceView 快照視圖 SnapshotView 和庫視圖 LibraryView 源文件編輯區(qū) 源文件編輯區(qū)提供了源代碼的編輯功能 過程管理區(qū) 本窗口顯示的內(nèi)容取決于工程管理區(qū)中所選定的文件 相關(guān)操作和FPGA設(shè)計(jì)流程緊密相關(guān) 包括設(shè)計(jì)輸入 綜合 仿真 實(shí)現(xiàn)和生成配置文件等 信息顯示區(qū) 顯示ISE中的處理信息 如操作步驟信息 警告信息和錯(cuò)誤信息等 狀態(tài)欄 顯示相關(guān)命令和操作的信息 開發(fā)環(huán)境的啟動(dòng) 新建工程 新建工程 輸入工程名top 8255及其要保存的位置 新建工程 選擇器件參數(shù) 工作區(qū)可看到新建的工程top 8255 添加源文件 也可以選擇newsource手動(dòng)輸入verilog文件 綜合 綜合 就是將HDL語言 原理圖等設(shè)計(jì)輸入翻譯成由與 或 非門和RAM 觸發(fā)器等基本邏輯單元的邏輯連接 網(wǎng)表 并根據(jù)目標(biāo)和要求 約束條件 優(yōu)化所生成的邏輯連接 生成EDF文件 綜合工具可以使用第三方EDA工具 如Synplify SynplifyPro Xilinx在ISE中提供了自帶的綜合工具XST XilinxSynthesisTechnology XST內(nèi)嵌在ISE3以后的版本中 并且在不斷完善 此外 由于XST是Xilinx公司自己的綜合工具 對(duì)于部分Xilinx芯片獨(dú)有的結(jié)構(gòu)具有更好的融合性 完成了輸入 仿真以及管腳分配后就可以進(jìn)行綜合和實(shí)現(xiàn)了 在過程管理區(qū)雙擊Synthesize XST 就可以完成綜合 雙擊checksyntax檢查verilog文件有無語法錯(cuò)誤若沒有 會(huì)出現(xiàn)綠色的勾 有警告會(huì)出現(xiàn)嘆號(hào) 有錯(cuò)誤會(huì)出現(xiàn)紅色的叉 雙擊synthesize開始綜合 添加約束文件 FPGA設(shè)計(jì)中的約束文件有3類 用戶設(shè)計(jì)文件 UCF文件 網(wǎng)表約束文件 NCF文件 以及物理約束文件 PCF文件 可以完成時(shí)序約束 管腳約束以及區(qū)域約束 3類約束文件的關(guān)系為 用戶在設(shè)計(jì)輸入階段編寫UCF文件 然后UCF文件和設(shè)計(jì)綜合后生成NCF文件 最后再經(jīng)過實(shí)現(xiàn)后生成PCF文件 本節(jié)主要介紹UCF文件的使用方法 約束文件的后綴是 ucf 所以一般也被稱為UCF文件 創(chuàng)建約束文件有兩種方法 一種是通過新建方式 另一種則是利用過程管理器來完成 第一種方法 新建一個(gè)源文件 在代碼類型中選取 ImplementationConstrainsFile 在 FileName 中輸入文件名 單擊 Next 按鍵進(jìn)入模塊選擇對(duì)話框 選擇需要約束的模塊 然后單擊 Next 進(jìn)入下一頁 再單擊 Finish 按鍵完成約束文件的創(chuàng)建 第二種方法 在工程管理區(qū)中 將 Sourcefor 設(shè)置為 Synthesis Implementation ConstrainsEditor 是一個(gè)專用的約束文件編輯器 雙擊過程管理區(qū)中 UserConstrains 下的 CreateTimingConstrains 就可以打開 ConstrainsEditor 添加約束文件 在UCF文件中描述管腳分配的語法為 NET 端口名稱 LOC 引腳編號(hào) 需要注意的是 UCF文件是大小敏感的 端口名稱必須和源代碼中的名字一致 且端口名字不能和關(guān)鍵字一樣 但是關(guān)鍵字NET是不區(qū)分大小寫的 在工程管理區(qū)中 將 Sourcefor 設(shè)置為 Synthesis Implementation 然后雙擊過程管理區(qū)中 UserConstrains 下的 EditConstraints Text 就可以打開約束文件編輯器 就會(huì)新建當(dāng)前工程的約束文件 約束文件編輯窗口 添加用戶約束 約束 XC3S200部分引腳分配如圖 實(shí)現(xiàn) 所謂實(shí)現(xiàn) Implement 是將綜合輸出的邏輯網(wǎng)表翻譯成所選器件的底層模塊與硬件原語 將設(shè)計(jì)映射到器件結(jié)構(gòu)上 進(jìn)行布局布線 達(dá)到在選定器件上實(shí)現(xiàn)設(shè)計(jì)的目的 實(shí)現(xiàn)主要分為3個(gè)步驟 翻譯 Translate 邏輯網(wǎng)表 映射 Map 到器件單元與布局布線 Place Route 翻譯的主要作用是將綜合輸出的邏輯網(wǎng)表翻譯為Xilinx特定器件的底層結(jié)構(gòu)和硬件原語 映射的主要作用是將設(shè)計(jì)映射到具體型號(hào)的器件上 LUT FF Carry等 布局布線步驟調(diào)用Xilinx布局布線器 根據(jù)用戶約束和物理約束 對(duì)設(shè)計(jì)模塊進(jìn)行實(shí)際的布局 并根據(jù)設(shè)計(jì)連接 對(duì)布局后的模塊進(jìn)行布線 產(chǎn)生FPGA CPLD配置文件 實(shí)現(xiàn) 在翻譯過程中 設(shè)計(jì)文件和約束文件將被合并生成NGD 原始類型數(shù)據(jù)庫 輸出文件和BLD文件 其中NGD文件包含了當(dāng)前設(shè)計(jì)的全部邏輯描述 BLD文件是轉(zhuǎn)換的運(yùn)行和結(jié)果報(bào)告 在映射過程中 由轉(zhuǎn)換流程生成的NGD文件將被映射為目標(biāo)器件的特定物理邏輯單元 并保存在NCD 展開的物理設(shè)計(jì)數(shù)據(jù)庫 文件中 映射的輸入文件包括NGD NMC NCD和MFP 映射布局規(guī)劃器 文件 輸出文件包括NCD PCF 物理約束文件 NGM和MRP 映射報(bào)告 文件 布局和布線 Place Route 通過讀取當(dāng)前設(shè)計(jì)的NCD文件 布局布線將映射后生成的物理邏輯單元在目標(biāo)系統(tǒng)中放置和連線 并提取相應(yīng)的時(shí)間參數(shù) 布局布線的輸入文件包括NCD和PCF模板文件 輸出文件包括NCD DLY 延時(shí)文件 PAD和PAR文件 實(shí)現(xiàn) 基于ISE的芯片編程 生成二進(jìn)制編程文件并下載到芯片中 也就是所謂的硬件編程和下載 是FPGA設(shè)計(jì)的最后一步 生成編程文件在ISE中的操作非常簡(jiǎn)單 在過程管理區(qū)中雙擊GenerateProgrammingFile選項(xiàng)即可完成 生成的編程文件放在ISE工程目錄下 是一個(gè)擴(kuò)展名為 bit的位流文件 雙擊過程管理區(qū)的GenerateProgrammingFile選項(xiàng)下面的ConfigureDevice iMPACT 項(xiàng) 然后在彈出的ConfigureDevice對(duì)話框中選取合適的下載方式 ISE會(huì)自動(dòng)連接FPGA設(shè)備 成功檢測(cè)到設(shè)備后會(huì)出現(xiàn)iMPACT的主界面 雙擊generatepr

溫馨提示

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

評(píng)論

0/150

提交評(píng)論