FPGA入门及QuartusII使用教程内部资料_第1页
FPGA入门及QuartusII使用教程内部资料_第2页
FPGA入门及QuartusII使用教程内部资料_第3页
FPGA入门及QuartusII使用教程内部资料_第4页
FPGA入门及QuartusII使用教程内部资料_第5页
已阅读5页,还剩53页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FPGA入门及Quartus II使用教程FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列, 它是在可编程阵列逻辑 PAL(Programmable Array Logic)、门阵列逻辑 GAL(Gate Array Logic)等可编程器件的基础上上进一步发展的产物。可以这样讲,ASIC(Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合 院.而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供 给我们,根据我们

2、的需求进行内部的设计。 并且可以通过软件仿真,我们可以事 先验证设计的正确性。第一章FPGA的基本开发流程下面我们基于 Altera公司的QuantusIl软件来说明FPGA的开发流程。下图是一个典型的基于 Quartus II的FPGA开发整体流程框图。1、建立工程师每个开发过程的开始,Quartus II以工程为单位对设计过程进行管 理。2、建立顶层图。可以这样理解,顶层图是一个容器,将整个工程的各个模块包 容在里边,编译的时候就将这些模块整合在一起。也可以理解为它是一个大 元件,比如一个单片机,内部包含各个模块,编译的时候就是生成一个这样 的大元件。3、采用ALTERA公司提供的LPM功

3、能模块。Quartus软件环境包含了大量的常 用功能模块,比如计数器、累加器、比较器等等。4、自己建立模块。由于有些设计中现有的模块功能不能满足具体设计的要求,那就只能自己设计。使用硬件描述语言,当然也可以用原理图的输入方法, 可以独立的把它们当成一个工程来设计,并且生成一个模块符号(Symbol) ,类似于那些 LPM 功能模块。 这里可以理解为, 如果我们需求的滤波器, 没有 现成的合适的,那我们可以通过 LC 自己来搭建一个滤波器。5、将顶层图的各个功能模块连线起来。 这个过程类似电路图设计, 把各个芯片 连起来,组成电路系统。6、系统的功能原理图至此已经基本出炉了,下一步就是选择芯片字

4、载体,分配 引脚,设置编译选项等等。7、编译。这个过程类似软件开发里德编译,但是实际上这个过程比软件的编译 复杂的多, 因为它最终要实现硬件里边的物理结构, 包含了优化逻辑的组合, 综合逻辑以及布线等步骤。8、编译后会生成 2 个文件, 一个是 *.sof 文件,一个是 *.pof 文件, 前者可以通过 JTAG 方式下载到 FPGA 内部,可以进行调试,但断电后数据丢失;后者通 过AS或者PS方式下载到FPGA的配置芯片里边(EEPROM或者FLASH), 重新上电后FPGA会通过配置将数据读出。9、 对于复杂的设计,工程编译好了,我们可以通过Quartus 软件或者其他仿真 软件来对设计进

5、行反复仿真和验证,直到满足要求。 (主要是时序仿真) 。第二章 基于 Quartus II 的实例一、建立工程首先,打开 Quartus II 软件。专业文档供参考,如有帮助请下载。接下来,建议一个新工程r O3MVE_Q,*i$ * VQ6 勺忑I:YE 电靜科电 54* h E旳宙 h* 人h &W%g *、Ee 入 5*j6e * 阴Hnuoe第一行,是所建工程的路径,第二工程项目名称,第三项,是填好后,如下图下边一直点击NEXT,直到出现以下界面S elect the family arid devce you want to target for compilationDevice

6、familyE亦W:|帥抽li 彳牛 系 歹选 释:亍IDevices: pii耳T arget deviceC Auto device selected by the FitterR Lrmit DSP 8t RAM to HardCop device resource| Finish | 取消Family 里边选择 Sratix II Available devices 里边选择 EP2S60F672C5具体内 容根据你所使用的芯片所决定),接着点NEXT,不需要做任何修改了,一直点 到Finish。到此为止,工程已经建立完成。需要建立一个Block Diagram/Schematic F

7、ile,点击File-New出现如下图。NevNewQuailusll ProjectSOPC Builder System-De$ign FitesAHDL FileBlock D iagiam/S dhemtatic FileEDIF FileS怕怕 Machine File SystemVerilog HDL File Tel Script FileVerilog HDL File VHDLFile-Memory FilesHexadecimal IntebFofmat File Memory Initialization File-Verificalion/Debugging File

8、s In-System Sources and Probes File Logic Analyzer IntrFdC? File SignolTop II Logic Analyzer File Vector Waveform File-Other File?AHDL Include FileBlock Symbol FileChain D escriptiw FileOKCancel点击OK,建立完成,工程中出现一个 Blockl.bdf文件Svnopsys Design Constraints File现在点“保存”是不管用的,建议随便放一个器件后点保存文件为bdf文件方法是在这个bdf文

9、件空白处双击鼠标,或者右键点鼠标,点insert-symbol-2LLLliU 1tpjsE1.1血 Jinfc ilf rsjEMkLhhLiKih AU7e血 fkruip n KR5旳阿iE* 1hJiT 為i心七!g鼻:怙 I IB FImJW: TflMTSIri JiEl F*:一 墜mg吟加骷l* ! taavakLcr Jxmr ii pr口irtf faSlq ! uai.c Tilley Arrilrai 3- tit. lidiEL ftii-ir色 lnrtbI 彩 taTl_sf.TtdQ JnivCirXmAbRwi -:_.訂r|1 fcSpbil hE KI.:

10、3:0 口曰斤痊寸丘如4 l/l* !( F:IKU4; | )i Fklrta Ht,|I|tr*iX Eria|?| ! LiDMd A FbV /Hnrdgr fl cJ 4 3*nHuurEI Cfhril jMd clb Wkitfilruin.nga这里边的器件很多,可以再里边输入你所需要的器件,也可以直接点分类, 根据分类查找你需要的器件。雷 Qubircuik IJ - Di/fcrt/twl - itrt - tefli. bdri点击File-New,选择VHDL File(根据你所使用的编程语言)HeSOPC Builder System广 |-Design FilesA

11、HDLFiteBlack Diagram/Schematic FileEDIF FileState Machine FileSystemVerilog HD L FileTel Script FileVerilog HDL FileVHDLFile-Memory Fil器Henadecimal (Intel-Foi mot File Memory I nitializatior File-VefilicationZDebuggirig FilesIn System Source and Probes FileLogic Analyzer Interface File SignalTpll Lo

12、gic Analjizer File Vector Waveform File-Other FilesAHDL Include FibBlock. Symbol FileChain Description FileSynopsis Design 匚onstr-sint? File T ext FieOK I Cancel点击OK后,再下边的界面就可以编写 VHDL程序了当然可以根据自己掌握的语言种类进行编程。VHDL语言,注意:保存的文件名字,必须与实体名字一致,否则编译会出 错。*C Quut-DE 11 - JJs/tfEl/te.rt - ti:t - (teE!L_diVi vhdi辱

13、iJii!别i t yin tiOijfEt gixi paiE.*lT JicaiTiaf mIt |LnSw flip? Md法 。吞e . miT ac 时魁怡吒 m匚q9CaknkLiMil ADJTi岛 StriLix n: IKSSWEKS+ IttLil11聶Jiw FLisr; |心肾|丄北他注吕KLlhtEIi= Fi ar Hici t Enlij .UEiiC TllUj A&kli5LSS twji 口鼻2:昶1冷工口豪可 理n# Ou el自訂啓二曲leuh胡吐firn献0 ce誹 一计盂寄*爨冃寸质 U:匕就f 2;牝4_L曲迖:ciffLT.lin JtdlcfL

14、GE1X:G1 i CiT 31: d._Laic F clZccZ! ciT 3d. Logic- - -X3.1?e ferjin irz 2i zes lt isI-IlfMl- DUI htlivl lraL* jft.e_r - th. n设置当前为最高实体。点击那个紫色的三角,进行编译F面就是产生模块了。如图点击就可以x if,nMidl Mdidwr ulxdJjliitirwZrZjBEl即=i pHD-hlD IfvCRrltTGf曲皿CtrUflIS0.H*ttr3+Ji|国 Hvi h-j!Rrcl ti EU-dOpBL Fa:MJd! = fcCfcrl+J4*. i

15、iM.r t ujr II - t:/tHst/4vE4 - tsctiiStm 占 rEiId FvdpifthdrCt9LDrHAi-feTl*e for CtanrdnL Flk - utfLua II IHiL TcztlAlfe Binary CauscsrcwLiHrt t MUKF遁 n ri町讨i Sm PTBjidlL* h*bjilElMI3_COnHT It UrMAX CCniNT I nBJiia.1 e- 25看Rdy* kxn4S7_7cncv-r 話gezezio匚魏“kgri Rtfl Fb口r出七T-myOl- TndvJi Filid Eir Cvrwt

16、Filt工nxluytitmPili-x Em- CetfuI ?l1FWL 匚 ywbnrs Dif uri i n. ri L*-c Em-匚 crrfin.1 TlI*logic?lOQlC;liiepeg%z 时餐 MIK_CW3I lq bWCjZGOTIbl-fe EI 0 TlinonTtiFilFaurLjrv*l If-mljfcTF-uCu Fili生成模块完成后,回到bdf主界面。双击该界面,再Project下拉栏,就会出现刚才所编译文件生成的模块,左键点击就可以将其放入主原理图实体中,并且今后如果重新改变VHDL程序,必须走这个过程,先设置最高实体,然后编译,产生模块,

17、最后要添加这样如 下的过程。放置模块的时候,通过自己的程序编译产生的模块,会在Project目录下,如图所示特别注意:已经做好的并且放入到原理图的模块程序如果需要改动, 译,后产生模块,最后按照如下所示进行模块更新。改动后也必须先编:uxtL-uu II - :E:PHflJECTKF5l/DFI - DFEI - ItFSE.bdri*: Jfi-tffl Er-o-j-wl.Fiieisiie 上审心工iJiLfCvlaF4 5-Lriliji n ETS”st w /a-14SJW!W5KHi 5*5匚 mTlk |gfiug忑宇 |Aon AB b4壮呷口Jk TLlf- Hwi r询

18、 J 話丫时2l-i*1* 忖 H*e賓1*叶*11 閩 w* 5-lA* 皎 HaCh | fill*rL吃Idl !_._=C3 即中刃irKra_-ijlWHdajR_ Bwraii_Ts * hjCpili iws=1I畑I曰liBI jpAeaLfii 电 h?tw OIboh ft facAi:!Jjwfwwr!n( -Tsilqi) DuIBI d Tifeig AltailLIEl HL Faili eL hrji*r參 rry*. Ivfi Eh p4n FrdfrBto11阿化:jH :Typl Irw KriL| JO-faEL n414兄聞呼以后每次要用的时候,都可以双

19、击鼠标,进入project里边进行选择,进行使用。右键点击模块,点 Generate-引脚也可以自己设置输入输出引脚并且命名血1*外,II - 列-tdr!F:-Irbqn * SpMtfi |QI A Fgpw冲耳人 E 响A liiu阳 k 5、呻 h UU网 R 日呻崗 A 勺jgLiP: h F呦 rFor Hli. prvn fi.非* fr- OiAKLi H TLdLrif Li 曲 * ECU N+LLint Ti |.KF O设置当前实体为最高实体,再次进行编译QllJirkTIE 1 1D :/| HEt/tf IliHEtr hlira I匚诃冈闵 E.lL4i!*.i

20、也g+unr tsiili findfl * NEtfiLF3tri.ix 11 Efi那 |wfi CI-MYL亡hdijMi片也ir p*铺祁HWr* Ardu.*i Jroj*cL .pQ-rl Pfa-i-thuiI Dhldhafa1tM I DMap Full I.iMi広nn口 Icr.i li-ns.血七*:i中lErGutrkH -即 dKipj r1i.!jUHrfai+ TdJ Filk Ew Prcjxt,Ull !* 加血吗 4【皿| RuHirq- Qm;b I Ccer-e 斜*M FleIr.?: rrairid: aTSEUup =#id_iWtTLrsjii

21、_f: Ln-r -iL#!-1:?-匕匕-ri_iB1Tir;L-: : es-bt. div.xhl 右 r!=: axeui jFl Lb vki jkehixS uL* : *rxsx$ D wmingrl 亦伽 码 A Fnx BErnig |4| R E由 Hd人Inta弹 人 屮 h 匚盘We 人El h 时审】扭1 kZjdfr+1l tli triETTfCal 4CiLCF IE 3 LCf-2dnL UM Lf fw m kiLfi. :1 Hn幣oom 厨 biriz厦用q-B*ridG IX编译完成后,要分配引脚,通常分配引脚有两种方式,一种是直接在工程分 配,这种方

22、式对于引脚较少比较方便,如下图所示。选择PINf Qiidtrfc-nE II n:/Qimr rinjl;t:T/HTS/MSE HF 気 Aaai ErBHt HdidnrS|r LlLk L 归“肛in*nMiA 血曲口: XihIi in4n EiLj” U /申念I牢“対0 E冷巒应|efsk:JI- njilh*.P* FiCiir LFLboi! EzuaJ 虹nvshLirvi严=弊 Qvais Tiairq: AMiniB := KEil FqU pi h lairiThQB号 EFif. MtI籟DE I 血:#1:nE=: 2irEi FnL: ZttpLiicizft

23、.- H=n Ail Jfl &5:-L4:dF:S1D# :口tn:FUL1 ZspLljitlzn Kt E=n lXjI 34 D!:-G4:L4 Z4:C! 10百斤蔭打回# :“姑:cid J-21 Me Iff C Exh t: .i,j-fcr_tt&Hut!BfitSr lff_e:ftjE4:iJ-=? j . ry Aavta.弔 UnB-frauAn! . 應 3M lr-C T. 9 M Mz双击引脚分配处的to和location,就可以确定应用的FPGA引脚分配情况t QuhuEiit IJ - Di/frit/Lol - Crri: - I AasiEriBnaL

24、EdiluE-lW Ea fdl L 3+1 triJacL 6*LUnlaa(-1 E-K*UEI -fir taTl dFf4d- rt-74J- “KsBggaSgggSBgBBBalgBaMggBHSBJI 側尸鼻 如崗GE ggg fsfFflbjT d*呻事 AaiMjwvii. Eifatr&n| il. .i hapal Fint &nwyTjWS-ftHjw!PCHJW!Tl EfiULi強槪泪:日:轧迟 1 C;3垢cLockjlafc: Cicek cllaB- nti=xl E=ai, Lb raatEictal la 40:. j KI TnTq= feor; clK

25、k %】抚n屯*/耳L&Kldn pit pLki7f7| tfdt 2uetgMJlC4j*nlABrt 3C2hmlaMJ Bar* 3C*nnWJGAmlA/DBvt 3cdLmiaftOwi 闻:詁 Srihrtt:;亦泗址少色rivoM际IWcgrre-juni理如&如n用DQUIcLk-=cr:-3.春口-lSJtw bLa. n-in Fl區 nn nr -3J 条甘-M4-1 SW.IE IL- i- *+-3 -分配好引脚后,点击保存,再看原理图,每个引脚后边都有一个“小尾巴” 表示信号线的实际物理引脚分配情况。 EX町昶IbLiB*lj时eft he呻 ktk A。口TlT

26、iSfFl兀 |Crt|31llUi.口 M口 o:fiiiTiT 、Hkibi厂T 让 kgDm r.(TTCM&Lar?Tan* Hi DrFi,E4 iln PrpiMarCMajjed ii:p-l*vt: deHtiii encit rise co tsiW曲如 ItiU Zocllamian 醉険 ML 2百 llcJtil!: Z:-1DEaM FtaLl ?wluic:Lm3 vc M Al ZVZQl? 口爲障,a t_Locrnwni Ekrj PIN A.A2P1H_A韓j.-MunOdSS$uJcr Hiljn. Hvn TLEC.筒鬲口然后再编译。最后在点击 TOOL

27、-Programmer,或者直接点击下载图标(hnrtm II - D/tcrt/test - tert - t?t.bdflIilt Edit Vjw Effljsict ssifvcnti Ft曲iaf Iwls 5iii.tr IcJp1 RZ沁EJKl: ZltLtjCahokUcrikl MJUTsb 阳口ist II EKSWZE* im 対3 ano厲耳巨帝 teitbdv罢 leii drii +idp-MAdrpi 仙 m R epa -Tm karai色 Aisgrrwc Edtr谢_m. psriilithn1/ R CapiliM K Aailjiwi e 4. Syi

28、tbtxi s Fitter ETLkc 厦 BwihJE AEEtiblu1 iUalLfefal-hll& Clusic IlHDl; ATiJ.J5:S电? TrcMh【Mi ” i为虹 也1攀 wib AD就会出现下载对话框点击Hardware Setup如果你没插USB-BLASTER,打开后不会有显示,如 果插上后,这里就会显示有一个硬件可以选择,右上位置选择下载方式。注意: JTAG模式和AS模式接口是不同的选择好USB-BLASTER后,点Close,然后点StartP- teat fFtrbtfFnasi FMi-qaDr.I* XAL Tz.!4!iiiT4 l4id.il

29、 IjLhI- I rM3 14 iTM I ?F X*.*Whjd口 Ln4 p*-LWnmw5e*.| uiB曰山叨El囲Ebtltr耳 Regie#:Fir Hair. Drill F;lr:Te=7-if-.|h| ,riirtEJdA-WTris A.LiiF f iTF F F-f吐必处群业II.T.f* KR0J|iji 禅LM:FfaTkikS卜-1- AuiLjuaj-3”E- PiLcn-曲 AdEbw.l-Tflh亡 W = Z33: 144E11&3: 惭 nog Mring: KazLxna:沁Bm.-EnawrLP n/MFmww5To5M*ip F*I1 nIf*

30、ti I i*当前选择的是JTAG模式,因此下载程序到RAM,可以看调试结果。 至此,FPGA的原理图制作,代码编写流程及下载流程已经全部完毕。现在 以一个简单的分频器来讲一下。第一件事,如同单片机的最小系统一样,FPGA的系统需要一个时钟源作为 支撑,FPGA内部有个PLL(锁相环)资源,这个PLL可以对输入频率进行倍频。 因此,几乎在每个系统设计的时候,都需要对这个 PLL进行设置。如下所示选择第一个Name:SybolLibraries:E 亡l ProjectE Q ./E tj d:/已It已已,91 /qy已“l圧:Flib旧i灵:/Repeat-insert mo匚 厂 Inse

31、rt symbol as b 厂 Launch MegaWizard Flug-lnMeqaWizard PlugManager.OKCancel点NEXT,往下进行选择IO栏目下的ALTPLL,给这个模块起一个名字叫PLL然后点NEXTlegaTizard Plug-In lanager page 2aSelect a megafuncdon from the list belowWhich device family il you be using?| StrollTALT2GXBALT2I3XB_RECONFIG ALTASMI_PARALLEL ALTCLKCTRLALTDDIO.BI

32、DIRaltddidjnALTDDID OUTALTDLL ALTDQALTDQ_DALTDQSALTGXALTSX_RECONFIG ALTGXEALTIOBUF ALTLVDSALTMEMPHY ALTOCTALTPLLAlALTPL L_RECONF1GALTREMOTE_UPDATEALTTEMP_SENSE *W、IlInterfatesWhich type of output file do you want to create-?AHDL广妙DL誉个屯字宿 Verilog HDLWhat riarne do you want for the Uput file?Breese.|E

33、:quai PROJECTBFSKPLL丰富抽高业IP核 Return to this page fc* ancther create operationNote; Tc CQinpile b project successful in ttie Quarlu? II software, your design files must te in the project difectory, in the global user libraries pecified in the Oplion dialog bo (Tools nenuh or a user library specified

34、in ttie User Libraries page of the Setting? dialog box (Assigrimerits menu.Ycur currant user librarv direcloiies are.Project User Librariti:Afi_compiler-libraiyCartel= 7) thencount1 = 0;clkbuff1 = not clkbuff1;elsecount1 = count1 + 1;clkout1 = 3) thencount2 = 0;clkbuff2 = not clkbuff2;elsecount2 = c

35、ount2 + 1;clkout2 = clkbuff2;end if;end if;end process;end fenpin_arc;保存程序,设置当前为最高实体,进行编译,编译后产生模块,最终也可以 放在原理图上了。用鼠标将所需要连接的线连接起来, 然后设置当前为最高实体, 进行编译,分配引脚,编译,下载就可以完成了。同时,除了下载进FPGA中进行调试外,我们还可以提前利用 Quartus进行 时序仿真。如上边这个程序,生成一个 Block 放置在原理图上,然后再加上一个 PLL,连接起来后,以下图示:|n-呵苗ill 14i1 Yi* 骷叮応* ifi-1-iipmHi.iIpiIi

36、 Ihwh* 也衍-” US Jt ?.“|lW*pF y f 商枣 $ 2 性teO h奄導* *陛1| 爭 TLctv.ddF ItrniMiIziLI LjrSlfilM 33 口rTdiHkidK 1 简 F址1|Shu Hn知1| ?TFp-433G 曲1* 54 1 7114 w M M MMM *lsll就12a :.|: : 1LJ1ri1|:jti詐:史EnE?: B M訂卄 H M e + e + s 卅 fe + + = * *血 fe + . i-d b4 e + . + ii i-i i+ B + e!TnEci;伽1坯 wnm n Crww 胡boL Tl;eInDE qgftil I 7Jb3_JUf WBri_SeC ul3fl3_,llfliXiI. FEiC_JEin:;B3B_l!iLt5Dl!i :-SfipLD -Into: *1UXU勻 II気*!业 FL13 Vi曲岀AII Tc-!Fide UDHf 同 | Ej*Wd|4| Wanwg CjhriWdmmg Era luppnd/HmV0d1D jJ 勺 | :E.1 | M取.iw ffc i r!T- -. * irpw点击 Processi ng-Simulatio n Debug-Curre nt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论