实验二彩灯实验_第1页
实验二彩灯实验_第2页
实验二彩灯实验_第3页
实验二彩灯实验_第4页
实验二彩灯实验_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、实验二彩灯实验实验项目彩灯控制实验:利用开发实验平台上的 8个led实现常见彩灯实验。实验目的1、学习quatusii开发软件的基本操作2、熟悉教学实验板的使用。3、初步掌握vhdl语言的设计、输入、编译、仿真和调试过程。4、掌握usb-blaster下载工具的安装、以及程序下载方法。三、实验内容1、首先编译下载给定的vhdl硬件描述语言编写的彩灯控制示例程序,仔 细观察在实验板上的现象。2、用vhdl语言编辑彩灯控制程序,通过按键控制开发实验平台上的8个 led灯的点亮顺序:(1)按键可选择核心板上的按键,或 eda主板上矩阵键盘作为按(2)(3)(4)(5)(6)通过一个按键控制 通过一个

2、按键控制 通过一个按键控制 通过一个按键控制 通过一个按键控制 通过一个按键控制键,或dka系列按键;8个led灯从左向右依次循环点亮;8个led灯从右向左依次循环点亮;8个led灯从中间向两边依次循环点亮;8个led灯从两边向中间依次循环点亮;8个led灯全部点亮;8个led灯全部熄灭。(8) 以上共使用了六个按键控制六种点亮方式3、扩展内容:能够设置8个led灯的点亮频率(通过时钟、分频器实现)。4、使用三个按键控制led点亮的六种方式。5、在quatusii平台上进行波形仿真,保存一组通过按键控制8个led灯从 中间向两边依次循环点亮的仿真波形图。6、描述在实验板上观察到的现象。四、实验

3、仪器计算机、usbblaster下载线、数字系统实验箱、5v稳压电源。五、实验原理1、eda主板上8个led灯的电路连接如图1所示。8个led采用74ls244 进行隔离驱动,当fpga对应i/o 口为高电平时,相应的led灯点亮; 为低电平时,灯熄灭。2、表1是对应的fpga映射管脚表,即编译通过后,进行器件管脚分配时必须按照相应的管脚号进行分配,否则就无法进行硬件验证测试板上的8个led果用74lsm4进行隔离驱动.因此不会霜帆系微屣刖工柞2sdo4s二i6sde3d311sd-i13sd5i?sd17sd1jllt图1 8个led灯的电路连接图表1 led灯对应的fpga映射管脚表器件名

4、网络名fpga映射管脚led -0sd0165led -1sd1166led 2sd2167led 3sd3168led 4sd4169led 5sd5170led 6sd6173led 7sd71743、fpga时钟连接电路及管脚分配分别如图 2和表2所示。led灯的循环 点亮频率根据所选择时钟信号确定,或者选择某个固定时钟,然后通过分 频器来改变循环点亮频率。r ci(rlcis 二_clltar5cdut10coute.5tqqu一,hi?k二二 h t,2 ihr21ityhz/、二二、/.、一二/ 7-上/ ,、小“不tccg师n以一-vcgen vcc_qlf”,j:clx1 l

5、n-l j?图2时钟电路连接图 表2时钟管脚映射表器件名网络名fpga映射管脚clk1clk1152clk2clk229clk3clk3284、核心板上的四个按键电路连接及管脚映射表如图3所示。按下键相应的i/o 口为低电平,未按下为高电平。|电路旌接jtt. 曼器件名胸缙名fpc; a映射管脚s1s149s2s250s3s353s4s454图3核心板上的四个按键电路连接及管脚映射表5、eda主板上4 x 4矩阵键盘电路连接电路图及管脚映射表如图4所示key5c lcd kh bl lab 此、 ad l3yikt5l器件名网络名fpga映射管脚器件名网络名fpga映射管脚key0key013

6、4keys/adkeys/ad140keylkeyl135keys/u11keys/u11141key2key2136qk0/rest2qk0/rest2key3key3137qk1qk1keys0/lcdkeys0/lcd138qk2qk2keys/usbkeys/usb139qk3qk3图4 eda主板上4 x 4矩阵键盘电路连接电路图及管脚映射表6、eda主板上dka系列按键电路连接图及管脚映射表如图 5所示2 dkao16,13dk.a1151114dka2u115口 ka3b111j16dka412t1$7dka:11同f6dk.a610iij799s_(_1国vcc5vt1器件名网

7、络名fpga映射管脚1dka0dka0156dka1dka1158dka2dka2159dka3dka3160dka4dka4161dka5dka5162dka6dka6163dka7dka7164图5 eda主板上dka系列按键电路连接图及管脚映射表根据功能要求,可将8路彩灯控制器的输出按花形循环要求列成表格,其中。q7-q0是控制器输出的8路彩灯的控制信号,高电平时彩灯亮。当按下不同的按 键时,led的控制信号不同。按下key1, 8个led同时为低电平,即全灭,按 下key2,8个led控制信号同时为高电平,即全亮;按下 key3, 8个led的控 制信号按照时钟信号或分频器依次赋值为1

8、000000-01000000-00100000-00010000-00001000-00000100-00000010-00000001通过调整时钟或分频器可调整 led的点亮速度。同理,按照上述方法分别按下 key4, key5, key6,实现不同的点亮方式。全灭q7q6q5q4q3q2q1q0key 100000000全 亮q7q6q5q4q3q2q1q0key211111111从q7q6q5q4q3q2q1q0key左100000003到01000000右00100000占八、00010000亮00001000000001000000001000000001从q7q6q5q4q3q2

9、q1q0key右000000014到00000010左00000100占八、00001000亮00010000001000000100000010000000从q7q6q5q4q3q2q1q0key中000110005问00100100到01000010两10000001边00011000占八、00100100亮0100001010000001从q7q6q5q4q3q2q1q0key两100000016边01000010到00100100中00011000问10000001占八、010000100010010000011000凫实验步骤1、安装 usb-blaster 编程工具(安装步骤见-文

10、档最后-usb_blaster 驱动程序的安装);一、建立工程项目:2、在windows界面双击quatusii图标uartu;f9.0 (33bie,进入quatusii开发环境;3、选择 file=new project wizard” 或 create a new project,出现如下向 导对话框;new project wizard: fntroductiont he new project wiz-srd hejlps you create q new projecl: and pfelimiriary proiect settings, incllidirig the foll

11、oiafino:project n-ame and directoryname of the top-level design entiliypiojjecl files and libnariest argegain取消4、点击 next,弹出如下 new project wizard对话框,填写 directory, name, top-level entity等项目。其中第一、第二、第三个文本框分别是工程项目 目录、项目名称和项目顶层设计实体的名称弹出如下窗口;new project wizard: directory, namer top-level entity page 1 of

12、5wht te the forking directory for this project?|d:xprogrann files (xbg)cjuartus目what it& the name of ihis project?项目名称wh 占 t i用 i he name of the ;op-level design entity fon this proiect? this name g case sensitive and m(ust exactly match the entity name in the design fite.pighf项目项层设计实体名称二j(back | he

13、et fini sh.取消use existing project settings .5、设置好存储位置和项目名称后点击next,弹出出现添加工程文件的对话框;在上述对话框中,我们可以导入已经存在的*vhd、*.vhdl或* verilogwen文件(注: 导入的文件名称需和项目名称一致),若原来己有文件,可选择相应文件。若需要导入已存在文件到当前项目中,则按照以下步骤操作;若无需导入文件则直接点击next ,跳过步骤(5)、( 6)、( 7),执行步骤(8)6、点击上图中红色框选中的按钮,弹出如下窗口,选择要导入的文件,如下选中 light.vhd7、点击“打开”,如下所示file nam

14、e:显示需要导入文件的位置:new project wizard: add files page 2 of 5select the design files yciij want to include in the project click add all to add all design files in the project directory to the project note: you can always add design files to the project laterfile name匚:儿uers/w口,口已或七小示例程序xgh*l后ht vh。国加d fil

15、e nametype;lit .i da 三:i gr 已工七上一 i写:口 n add allhmovefrope-他 |up irrruer libraries.specif the path naimeis of anjp non-defaull librari已,| finish3m消8、点击add,将选中的文件添加到项目中,如下所示,9、点击next,如下选择fpga器件对话框,在family下拉框中,根据需要选择一种型号的fpga,比如cycloneii系列fpga。然后在“available devices:中根据需要的fpga型号选择fpga型号select th mimi卜

16、and device yeu want to target far compilatiion.device f占m理 faroilycstratik ii二cvclone*c$*clone iicyclone iiiflex1dk送就黑选择器件类flex8000hardcopy 10max iii1 maxjuul1adevices;t arget dlevi g auto dispecifavailable de-s-shaw in wv-ailable device lisl pacikaoe:| any |pn sunt:| any |speed arade: fastest .i b

17、show advanced devices i harduopii eomp-ahbleep2s15f4elc31.2v12480343ep2s15f672c31.2v12430367ep2530f484c31.2v27104343ep2s30fg72c31.2v271 045aiep2s6of4e4c31,2v48352335ep2s60f484c3es1.2v48352335ep2seof672c31.2v46352493f 8g cnfr7rf c1 tv皿4193204133281369728 1369728 2544192 25-44192 2544192226666sr111133

18、3。e66g666rcompanion deviceh ardcopyj:| 口 jlimit dsp & ram to hardcop device resource1抨空堂匕(back |n呼 |fmi sh有二 取10、选择器件类型-型号后,点击next,如下图,弹出其他eda工具的对话框,由于我们使用quartus ii的集成环境进行开发,因此不要作任何改动new preyed: wiardk eda tool eettingiw page & of specify the other eda tool - in addithon to the quartci& iii oftwre

19、- ued witru the projectsimulaaiont ool name:l run a-ate-lcvcl simulation -auitomaticallv aftcr comipslaitiorinew project wizard; sunmmairy page 5 of 5when jrjcu click finislh, the prcijpect kill be ctealed with the ifolloiaiing ettirig-s::prajec-t directory:d:/program filux l(k66)zquarus/protect nai

20、me:highet op-level design einligy:lighem umtiier of files added:0numtcer of user libraries added:device aiiiginmenls:familp name:cyclonedevice:ep1c13a240c8eda tools:design entry/synthesis:simulatiom:timinqi anais:operating coruditions:oie well!百马2:1 5vjumcltiion tom口e:qtur。ranae:0 65 0vb.uk 1二期献噩三fl

21、m消12、单击finish按钮就建立了一个空的工程项目,如下图:jfrw卒前岷槽卜 町帆xitfs 出!ml* c u 0 f二3成/审卷二中吃忖屯 t e d e /段二、编辑设计文件:13、执行“file=new”弹出新建文件对话框,quartus ii支持6种设计输入 法文件(design files): “ ahdl file ,是 ahdl 文本文件;“block diagram/schematic file ,是流程图和原理图文件,简称原理图文件;“edif file ”,是网表文件;“ sopc builder system ”,是可编程片上系统的编辑 系统;“ verilog

22、hdl file ,是 verilog hdl 文本文件;“ vhdl file ”,是vhdl文本文件。这里我们使用 vhdl语言,因此选择vhdl fileahdl fie印证k liagiam/shefnalie ffe ediff*st49hc machnc fibsjffhemveifoghol ffe:tcisciptffeverilog hdl fitevhdlfied menam filesj- he3#cifnal |lnl奸ccmm| fie memw i nilidizalbn fifeb vpiajhcn/dcfeuggng fitesin占“wm souiwra an

23、d probes fielogic an&yzer im占 1国力 filasi9ialtap ii lope anafei fie: vector wavefaim fieb olher filat卜ah 口 口心也fieblock symbol fkchan d&ki|pbixifie5即印曲 dcsqn consbainh fite:tesl fiehr 口 ,14、单击ok后,即建立一个空的原理图文件,在quartus窗口的右方看到该文件(vhdl.vhd),如下图:15、执行file= save as命令,把它另存为文件名是“ light” (自己命名) 的vhdl文件,文件后缀为.

24、vhdo使该文件添加到刚建立的工程目录中去。如下:16、点击 保存,则将当前的vhdl文件保存至当前工程中,quartus窗口 的右方看到该文件名为light.vhd,用vhdl语言编辑彩灯控制程序,控制开 发实验平台上的8个led灯的点亮顺序,将代码写入该文件,如下图:0 quartus - o/progpam fits !.x&6)7qmd-tue/lighe - lighe - ligiwwd、痣 f edit view p reject asigrwnrnts prnceflwng jaols window help日 0自project navoatoremi 感efc2(|24qc

25、6* 加赢)匚叫11. | 1 r毫e代码区17、选择“processing=start compilation”或通过点击快捷菜单按钮 开始编译filetwls所mm %通皿clri+lejiil tylqi z celliuc*jj analyze currerrt ileslajrtupdate memory ifiitializmion filecdhlpilliafii lr.tportctrl-i-r.必 cyclic: ef】口wqzqocb: l:ii修 ftstart compilation and simulationctrl -* shift* k6总力士/3匕总 fui

26、iwti占hdl sriuulatior11 nellife町 $tart sinnulartipnctrl-ktsimulation qobiig*嚎 simulation reportctrl 4 shifts-r囱 campileir tool回 simulator toollj claifk timing analyzer tool 口 ipcwerplfy pflwer analyzer tqqi v &n analyzer tooli-v of ligitit 15in:inceger:s7;i :std.log工口 -i:1=11:2:std2logic;!lc=1164rall

27、;江七二ar 工 th,all j rlc2cits igned all s:in 5td_dqgic mffei 3i-d irogic veator 7 downca 01start ompiladon心 里口p procies-singg i 70 s rhrth今 comphlbn report - flow summary13口出口 rtwsufti 中q .+rtuk 口 l:mil- dukihrfmi - lcbrbtkfi bpert - fbw turwnwe? j&d?!&通1sriijfljirriw日,修lrl 0 上巅口 . , . .-i3汉,小噂小帜亡a勒峥也t

28、5如3岫皿rew ekpij ti91 flew os irrnw-j1当11 fbw l%-事_1a gjmkkrih-m 31*331i 口 |134 13:却 rillwrivitfnfis llvbi1 mll :hae m gni* hup oa inluikl .,1 hwfrsf- pexe 1 r itw(rs8rtihmf 曰小 11*i .ibcli: r$ermnmfifrlqj !”tlal (h.ut1ril n.flml |hiut-nal r-akcf w” teu hi|li!i mhuai- fwdj il3t 1 - -nlw:jmc41aa_xlei!fi

29、i, ggfkih单l5 - e5emelelafe: eeldd ; dnb enlerp lsclud:cq l veteemi, u rouezi el3i gitiur.bq.vhdeafo: e3dbaeklis 4rrli na&ocir aeci7 ajftniru -寸fuilxaghc t ffveierz货诰息:斗右,描证提示lifbs,4*上口 ee kfixhwua 口如l- 0 aerari, i umw18、编译结束后,会出现如下图所示的对话框,对话框会显示编译的错误和 警告的情况。若有错误,则可先双击编译器界面下方出现的第一个错误提 示,可使第一个错误处改变颜色。

30、检查纠正,第一个错误后保存再编译, 如果还有错误,重复以上操作,直至最后通过。最后通过时应没有错误提 示但可有警告提示,如图所示。fj hrtm lanr产i i aji9 11 narm p 1 tnfrw*k jailim hrtp19、在quatusii平台上进行波形仿真。单击 files菜单下的 new,选择 verfication/debugging files 下的 vector waveform file后单击 ok 就能创建一 个后缀名为.vwf的文本文件,绘制相应的输入波形文件,根据输入波形仿真 输出波形;elmfhtesl3百 michre fte 5yslsmveidcg

31、 hdl fievwilogh&lffe lvhldlfieb memqyf除headecrnd |lrtd-famel.f4& menoy irilulcidlicin fie ysr6cmon/口曲叫 fte in-system soices 白川 piobes fite logt anager inleilace fie signer到虫唠以货i阳ar fi国yectdi wivelofflfirfe白 dltiei fifes-awlimm电 fteblack匚 hain desntiort fitsjmpsys 0国 e donstiarrs fitetewl fie/k | edt

32、hld i够 tejlumvmtd| 迅 *1i7a/esjtc: i ml: qvu:tb3_tc cevri_9r7.lle9ji_jllc3e a mr!ts:_ictllej!3_eilocj zcsttiscilc ,七 maziifcan 1 njp_sbj.yag_g3jjf右ihci: kurellkl =alk=l-=c j-iitd fu uii- 2 c ,tu 2 pooc-arkei dflrnl同 jihimliri fifind tina ewcimilif s hriefimi :9由中 indr4e p9my 七懵le,m a/ci5d: zlikk -cli

33、in- jducfe*! sbu sr dcrulrte to ji73e3 me brlwen izmv e:rr dti.|z|- tai deitiemt=dc u叫h:bll1etfc: ebb emlockelkafi e diimjutis pia cities. thtg* e*jueirli f jilllyhe h49 用t htma串ebjd: 2oeceo e3 ex1l3 匚bfxllarntei -tfu ucmrfjl. q mra. i tsjxu$,府r 2叭 卜 i/陶 a 间nz+f i e/ a %?事知& *21、在上图鼠标所在处(红色框)单击鼠标右键,

34、出现下图所示菜单,选择it 匚占vura/wbioikkfvll/imkm卜竺4=4.不标 - - rfl uln(ki-vhhjhrpvi - imaluhripri 酬.hfhil.wi里 e 力蜥kl工wk jdw &hpinsert node or bus 命令tg |lteuj|/eezd:二dwflul:piiixi:u_t-ie. rriri_ffrt.libi_jlcae im-rite_3rtllj3_eacjim cwzmlif 4s wdefmt :二改v 峭ne hwy 七强”巾m 1/esjd:zljkk -cliin- sekjceui bu sr nrulzhcd

35、 fcc29-.03 mie br-ufniis t烟gned ir r册如ned li llria-dgnedl 匚24、如图2-52所示,单击选中的按键,选中需要的输入输出引脚node pindorxawur.aijmd. irn 2ui i-rii1 li-|咻吟n hjft口ill*legju& 口 i岳25、然后,单击两次确定按钮,出现如图所示的画面26、设置仿真时间执行edit=end time命令,如下图;门 内挛皿口 ix】mmm用拓ll丽亍fukj砾ileb- h大,.?,由agj*-p “小区后小*十 询m“如pibjiu f 厢0 ieeregrid size命令,设置时

36、间单位为10 ns,如图肥 阳i中时变hdp三1 fit /#电utubii+dilttl sort, grcui and euk 日起 dd座,: lt口uh-j.11rl 忆 , bids iravrt wiwiwm rnlirltl-*vfnd ard t 83end icn-grid size-base grid onclock settii如下图所示波形设置界面:27、设置输入信号波形单击工具箱中缩放工具按钮,将鼠标移到编辑区内,单击鼠标,调整波形区横向比例(左键放大,右键缩小),单击工具箱中的选择按钮,然后在要设置 波形的区域上按下鼠标左键并拖动鼠标,选择要设置的区域,如图所示。m

37、耶gtgm*16答 e“ rainier21 .?4国 e3 呼管黑a旭矩潞版矩3 口她他也三虺邂矩更弱(1)单击工具箱中高电平设置按钮,将该区域设置为高电平,如图所示master tirne bar1625 n 串h|_j pointe:interval:0 elkinfloclkj-1r*i i_i iktli 1cm. oa ij i*li 4m -gfr-13li3至* 1.4u- 13li 上s3 islid &3itli ht(718rstjj- e日 sf ! 21le .直口3105廿iwqh/t。1 s3用相似的方法设置其他区域的波形,如图所示,注意波形与真值表相28、选择

38、“processing。generate functional simulation netlist,弹出如下保存对话框:(文件名需要与对应的.vhd文件名一致)29、点击 是,弹出如下对话框,保存路径与工程路径一致,文件名为light:&身存为30、点击 保存,将该波形文件保存,保存成功,弹出如下对话框:qudrtus iifunctional simulation netlist generation was successful (1 warning)确罡31、再选择“ processingstart simulation”,进行仿真,仿真成功弹出如下 对话框。32、仿真结果如图,认真核

39、对输入输出波形,可检查设计的功能正确与否。8s5 阳sm;e4|1iio33、单击assignments下的device选择器件;34、单击assignments下的pins进行管脚分配;35、单击processing下面的compiler tool编译程序;36、单击 tools 下面的 programmer,37、 单击 hardware stup,在 hardwaresettings选项卡下的 currently selectedhardware选择usb blaster下载工具,后点击 close。currently selected harckvare:no hardwareclos

40、e单击add file,选择后缀为 .sof的文件,点击打开。39、点击start,将程序下载到fpga芯片中,仔细观察实验板上的现象,测 试验证程序。七、实验结果第一步:仔细预习实验报告,明白实验目的以及实验步骤及方法。第二步:按照实验报告上的步骤操作:打开 pc机,安装好usb blaster 动程序并连接实验箱。将已写好的程序在quatusii软件中打开,进行仿真,仿真 结束后将程序通过数据线下载到 fpga芯片中。第三步:观察实验箱的情况,发现按下keyl键以后,八个彩灯从左往右依次亮起然后从右往左依次熄灭,如此循环,再按 keyl键,彩灯停止循环。然后 按下key5键,彩灯全部熄灭。

41、按下key2键彩灯从右往左依次亮起然后从左往右 再依次熄灭,如此循环,再按key2键,彩灯停止循环,然后按下key5键,彩灯 全部熄灭。按下key3键,中间向两边依次循环点亮,再按 key3键,停止点亮, 按下key5,彩灯全灭。然后按下key4键两边向中间依次循环点亮,再按 key4, 停止点亮,按下key5,彩灯全部熄灭。按下key6,彩灯同时全部点亮。第四步:完成上述实验后,修改程序,让分频比等于 4,改变彩灯点亮的快慢。然后重复操作第三步,观察实验箱上彩灯的点亮情况,发现彩灯点亮速度变惘区。八、源程序(verilog或者vhdl编写的实验源程序)未修改彩灯点亮频率之前的程序:-*lib

42、rary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;-*entity light isport(clk1 : in std_logic;light: buffer std_logic_vector(7 downto 0);end light;-*architecture behv of light isconstant len :integer:=7;signal banner :std_logic:=0;signal clk,clk2:std_lo

43、gic;beginclk=(clk1 and banner) or (clk2 and not banner);process(clk1)beginif clk1event and clk1=1 thenclk2=not clk2;end if;end process;process (clk)variable flag: bit_vector(2 downto 0):=000;beginif clkevent and clk=1 thenif flag=000 thenlight=1 & light(len downto 1);if light(1)=1 thenflagk001”;end

44、if;elsif flag=001 thenlight=light (len-1 downto 0) & 0;if light(6)=0 thenflagk010”;end if;elsif flag=010 thenlight(len downto 4) =light (len-1 downto 4)&1;light(len-4 downto 0) =1& light(len-4 downto 1);if light(1)=1 thenflagk011”;end if;elsif flag=011 thenlight(len downto 4) =0& light(len downto 5);light(len-4 downto 0) = light(len

温馨提示

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

最新文档

评论

0/150

提交评论