电子信息EDA技术实验指导书_第1页
电子信息EDA技术实验指导书_第2页
电子信息EDA技术实验指导书_第3页
免费预览已结束,剩余28页可下载查看

下载本文档

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

文档简介

1、EDA 技术实验指导书适用于电子信息工程专业QUARTUS II 8.1 软件的使用一、头验目的及要求:1、 练习使用QUARTUS II 8.1软件,掌握利用该软件进行简单 EDA设计的基本 流程;2、完成一个通过拨码开关控制发光二极管亮灭的应用,实验结束后可独立完成 思考题。二、实验环境及器材:1、微机(已安装授权的QUARTUS II 8.1软件)2、EDA/SOPC实验开发系统3、USB Blaster 下载线一根 三、背景知识及操作流程:QUARTUS II是ALTERA公司推出的EDA开发工具,其前身为MAX PLUS II,目前实验室安装的版本为8.1,利用该软件可进行对可编程逻

2、辑器件的分析、 综合、下载等设计。EDA/SOPC实验开发系统是由北京百科公司生产的一套 EDA实验系统,其 核心芯片采用 ALTERA公司的CYCLONE系列FPGA产品EP1C6Q240C8,同时 配备了丰富的外部接口资源,可供学生进行 EDA设计实验。QUARTUS IIIhjr-tMii. IT KI/I. sjptl*" A Hwrrsi A 3卅14 *m ?上 叩-|0讣 兀! A E阿 人 5呻卄 fl 川.H-® f|)Mm9D«'-J启动QUARTUS后的界面如图1所示,首先需要创建一个工程,具体操作 过程如下:I 4 QiMrttn

3、Bl申丁耳froifliirs-a Tnci:乍 p h I > r - jrtj|:h /悄巒铮g f* * 闿Q!厉心裱丨图1 QUARTUS软件的启动界面(1)点击File -> New Project Wizard创建一个新工程,系统显示如图2图2工程创建向导的启始页(2) 点击Next,为工程选择存储目录、工程名称、顶层实体名等,如图3 所示;(3) 点击Next,若目录不存在,系统可能提示创建新目录,如图4所示, 点击 是”按钮创建新目录,系统显示如图 5所示;(4)系统提示是否需要加入文件,在此不添加任何文件;(5) 点击Next,进入设备选择对话框,如图6,这里选中

4、实验箱的核心芯 片 CYCLONE 系列 FPGA 产品 EP1C6Q240C8;(6)点击Next,系统显示如图7,提示是否需要其他EDA工具,这里不选 任何其他工具;(7)点击Next后,系统提示创建工程的各属性总结,若没有错误,点击Fi nish,工程创建向导将生成一个工程,这时软件界面如图8,在窗口左侧显示出设备型号和该工程的基本信息等。New rricct WiEiird; Uirc Gtoryp M口im Top Lgy"gI Entity psigc 15What is lhe working diectoiy for this piDject?丄What is lhe

5、 name ol this protect?阿* 1What is the name ol the top-level design enlitv foi this projeci? This name e exactly match lhe entity name in the design lile.s case sensitive and must|test丄Use EMilling Piojeict Settings .< B«ck lksrt > Fimisih | 职消图3输入工程名称、存储目录图4提示是否创建新文件夹ew Project Wiizavd: A

6、dd Ries page 2 of SSekcl 'he datign files j/du want to irclude n the prapd dckAdl * tc add al design He* in the troiect di啤utcy p liis protect NHe you can 引何” acd oesgn lie? t&the preset laterFils nansFIe nameSpecify tbrt pathnonej cl mn, ii$ii dcult libnri«.ll&or LiLiries.f hric |

7、jhxt、| 丁迪"h | 驭消图5提示是否添加文件图6芯片型号选择图7提示是否利用其他EDA设计工具New Prcject Wizard: Summary page 5 of 5Who i you click Fit ihH Ihs prqect vti be cieded with U e folbwrm ictlfrigEPtoject di(iMto<y:cart/testtest00CycloneEP1CCQ24OCS<Nor*e><Norw><None>Rroiect name:Tcp-evel design en'iy:

8、Nlumoer of file冷 added:Nurmer d usei libraries jddac Deyi:e assignment!:Family naffe:Devi escEDA tookPesiji e/synthesis; Simulaiiorr'inmno fl sis:| 更辿巫二!1图8工程阐述汇总至此工程创建好完成,一下进行具体的设计了,为实现用一个拨码开关控制 一个LED亮灭的功能,可用VHDL编写一个程序实现,具体操作过程如下:(1)点击File->New创建一个设计文件,系统显示如图 9;New Quartu? II ProiectSOPCBuiU

9、ei Sj/slenrid Design FilesAUDL FileBlocK Diaflrarn/5chernatiG File j EDIF FileState Machine FileSsiennerikjg HDL FileTel $cript FieVer log HDL FteVHLL Fib-Mlemorp FitesHexacfecinnal llritel-Fonriat) FileMemo<3J Initialization Fife-Vsnfcata/Debjggirig FilesIn System Souces and Probes FileLoc Analy

10、zer Interface FileSignarTap II Logic Analyser FileVector Waveform File-口聃er FilesAWDL lcluda FileBlock Stbol File0hsin D esc fipion File£忤。paps D3igrk 匚onstrairite Filev存4 LHKCancel图9创建一个设计文件(2) 选择设计文件的类型为VHDL File ;(3) 点击OK,系统显示如图10,窗口右侧为VHDL的编辑窗口豐 *JK.E1 £lei MnImML色 F* 竝 'flf* f ms:

11、 (r-ts gSJRF 1PW WM”-tf|*|加I冷口 二*;_ 加L一辺i ;g% M«f I* I, H *I4h:;.* '"i777J"i -j .77« ; i > 4?, fjfcj |lZ图10新建的一个VHDL源文件的编辑窗口(4) 在编辑窗口中编辑以下程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;en tity test isPort ( led:out

12、stdogic;key:i n stdo gic);end test;architecture Behavioral of test isbegi nled <= key;end Behavioral;(5) 输入程序后,存盘,如图11所示:躁存在1);_Jdfc历史桌Hl鬆时文档我的电脑y f网上鄭居图11 存盘(6 )点击Process in g->Start Compilati on编译该文件,系统将开始编译,结束 后,给出提示信息和编译结果,如图5-12所示:I弱i剧诵弓H -fiTiaKB"ub w 17F-ii jLm-s-fi * CellsU血 Z w E

13、JjOf 虧iKSD讪nFL转 ZHih事Ftiy细片匸亍MiC站址9注巾1 iQ Lf t 那wd te A 3旳出或一P + 巻 IjFttef 靜J血谆st如 + A I IfTrq M4- > e3*«ch討耳 Fg dPnrLHi;IL«r Etiin GzttrEFK Tl VirxL-nRflisiioai Fwe TtIhv.i 1ii.utr r-nyDsdg lk«IM IwfalkE<KfHfeful - Jrb L5 LE W EET L 丑j辽 d I 左 Mj'SCif 3OT EJ Ml Tb話IHIluii iD

14、lul DO*Eriz<xnrLBjiI / 5.应D CO 15 5 £ / IE I. L 9E )vyv-VWVV=3品 虫FF|>x?etu:jJeT 13 nier.r-fme 忙眄曰 prcjraaE.LTia' flLr3Inio-r gartiM It丄已i: 吨弓 s-i-k-cssCMlL U -eiceh. i rEJtinjjFRu-ji fu< Qjir口4IITltiLti*I Ufa: Cauarifl.! qu吕工 tu_taE rEBJfl_ wttliijgslt Les- DEf -i3rlte_Bettlii!33_I

15、LlES-DEf test -f IMwpti W emtee 口iti key" » 加?mm白如 pjn 1!le4,! ib f-5T? rt?Irafm; 1 jwacbi2 I CIb? big 71:ntr AnsJTt 1 乃齐 vuc-rnaf'ul0«0 mb.1 刖in>=Ixif Quming ri Till CDEf'iliGiLiQZi vu- fwze-fijs£dl. D 侖mt a. 2 VAEzd.ngj1*f、! A pI Jf;ft, WjI ! hl- -賂 / h *、* g 7 k、I -

16、 I 1«!,;I I ,ir1j±irii+iM 1 皿Hi 卜H|hFL墓空险凹口書IHM'-. :",a,” I 0 曲” IIOqt.可口 a>-, I Cjm图12编译结果显示(7 )仿真(8 )建立时序仿真文件,如图9所示,选择“ Vector Waveform File”,出现图10的界面,在 Name空白处击右键,Insert Insert Node or Bus图10图11在图11中单击' f :®3®2mG 廿宙 * LlB5a DoOKOK。n®3 吕引仿真文件存盘时,文件名字必须与顶层文件

17、同名,即test,默认即可。图14图15图15是为仿真输入赋值的。如想赋值 1'单击入(9)单击菜单进行仿真FrSlop ProcessingClrl+Shift+C Sta t CQHipil tomAnalyze Cin-r ent I lifeStar tCtrl+LUp J.a_te M emior y 工ni t> ali zat i on. FileCtrl+RStrt Cbmpil是aikd SimiilatiikFniicticiiial Simul atLon NtliEt少+爼飞 Si凹lotionCVrl+ISimulLtion D_eljiLigSinml

18、sti cn ReportCtrl+Shift+ft©BaJ> !nonCompiler ToalSimulatorClassia Timing AnsJLjer ToolPoverFlaLy Power Analyzer Tool图16仿真结果如图17Saiul4(3or,< s TEm(5)点击Assignment->Pins进行引脚分配,实验箱上拨码开关和LED对应的引脚分别为58和98,分配结果如图18所示士 I J crj c< l<x卩 J j1 kl - J lamer nitsNvnod |T工=1m>'dR rwi&

19、;H 1?J_fH j - I I * | E:JI - I I saJK盘一Ihjr-ttfi. IT TV1如脸S!轲匪小艸切人 hif - k ' fr*iro |L m A m J A rm l J,R|llB、E阿 k,叩的<1入g fMWMOe一3 * 1IrffsI 4细*上1W.l i-r*r (Mu. piniH «|3更I母 5* fdJ Jnw rqiwS 加piTitrTh tQisirw 0nb 卧 4c*i 乍事|D笑U m #屜胞“rr-1j H /(D曹 I IP1D . &體应9图18引脚分配(6) 参照步骤(5)重新编译系统,

20、系统将生成 FPGA配置文件,在编译 过程中若显示警告可不理会;(7) 准备下载,注意打开实验箱电源,并连接下载电缆;(8) 点击Tools->Programmer将配置文件下载到 FPGA,系统显示如图19 所示,注意选择下载模式为JTAG,若下载线硬件显示“ No Hardware”(如图19所示),则点击Hardware Setup按钮,系统显示如图20,双击USB-Baster,设定其为当前选定硬件,再点 Close返回。酋 E4 E縈 '心 £甲的 wrnirts 齐gms JkB 理nde* Hwrm-it xEll jtT|L>C Oils |U命

21、Oil<&e D1CTift?rra1-瑟 tel|o n)iJ愛 E-d «bdCinfkfKinftepoirrteyix. | AnPtanei| E 加LW-I±J可JFifeDarterPbLW匚icbso;EPlEfiQOOOBFGUiFFFFHTF'沖电I*电胃車宜饋InEc: fiiLhL*E c e *nwr«ciDg Iwlc# iogrriuin Ci ¥Inf9; u.a<tuj II ABa-shicE vsv ox豐鼻fvd.o 0 cieQ vacDiagjTfifci *i* * a *-*d*

22、<*«*»* dIti詡 I 刊咤intfIS. GZ¥10 71MJI4 40144-TECTInEc;匚町U3HHd; t: HEtus_-iHn 匚-5d_3cit,rinij5_Eile5=afff Elte_Bek:Tinjij5_Eile5=nft rest -c t-eIfi也 I 血却匕 tpdi tlHl Ett 氐 piB 叫寸” t0pifL Ale' Is ilLOW 期Xhfd; |U4IXUJ II ClanM Tf u'iTki ludLy mu w:R B eciQI( ir-aFnliriIn£&l

23、t;ii ;*ua=u三 II FilLI 匸p九丄曲 nz d'CEer3Eul2 . 0 eexoejj r L p-ainLLztj归ez皿缶矗g h叫沖 g 口宙d11 : iort ya 11 cl Ccatui c i r(javc 专气耶住t令3* ij!T,cibi*FL图19下载界面图20下载线配置这时,系统界面如图 21,选中Program/Configure,点击Start,将配 置文件下载到FPGA。图21配置好下载电缆的下载界面观察实验效果,尝试开关拨码开关K1,发光二极管D1-1将随之亮灭实验一、计数器程序设计1、实验目的:1)了解计数器的工作原理;2)用

24、VHDL 语言编写 60 进制计数器, 通过设计熟悉 EDA 开发的基本流程;3)熟悉Quartus II软件的使用,练习使用文本编辑器;4)掌握 VHDL 编写中的一些小技巧。2、实验要求: (1)在实验报告结果分析中要对测量所得数据进行分析3、实验内容:利用 VHDL 语言 设计 60 进制计数器,编译、仿真、下载4、主要仪器设备及试剂:1)计算机一台,实验箱2)QUARTUS II 8.1 环境5、实验步骤按照 QUARTUS II 软件使用方法,为 cn tm60(实体名)。参考程序如下。 要求编译、仿真、下载。library ieee;use ieee.std_logic_1164.

25、all; use ieee.std_logic_unsigned.all;entity cntm60 isport(ci :in std_logic; nreset:in std_logic; load :in std_logic; d clk co qh60 进制计数器建工程。工程名应为-调用 ieee 库-使用 ieee 库中的 1164包-使用ieee库中的无符号包-来至低级的进位-清零端-置数端:in std_logic_vector(7 downto 0);-与置数端对应的数据输入端:in std_logic;时钟端:out std_logic;进位输出端:buffer std_lo

26、gic_vector(3 downto 0);-计数器的高位输出端-计数器的低位输出端ql :buffer std_logic_vector(3 downto 0);end cntm60;architecture behave of cntm60 is beginco<='1'when(qh="0101"and ql="1001"and ci='1')else'0'process(clk,nreset)beginif(nreset='0')then qh<="0000&

27、quot; ql<="0000"elsif(clk'event and clk='1')thenif(load='1')thenqh<=d(7 downto 4);ql<=d(3 downto 0);elsif(ci='1')thenif(ql=9)thenql<="0000"if(qh=5)then qh<="0000"elseqh<=qh+1;end if;elseql<=ql+1;end if;end if;end if;end p

28、rocess;end behave;实验二、七段译码器器设计1、实验目的:1)了解七段译码器的原理。2)进一步熟悉 EDA 开发的基本流程。2、实验要求:(1)在实验报告结果分析中要对测量所得数据进行分析3、实验内容:利用VHD语言完成动态译码器的设计,仿真,下载。4、主要仪器设备及试剂:1)计算机一台,实验箱2)QUARTUS II 8.1 环境library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity decl7 isport(a:

29、in std_logic_vector(3 downto 0);sel:out std_logic_vector(2 downto 0); ledl7:out std_logic_vector(6 downto 0); end decl7;architecture behave of decl7 is begin sel <= "111"process(a)begincase a iswhen "0000" => ledl7 <= "0111111" when "0001" => ledl7

30、 <= "0000110" when "0010" => ledl7 <= "1011011" when "0011" => ledl7 <= "1001111" when "0100" => ledl7 <= "1100110" when "0101" => ledl7 <= "1101101" when "0110" => ledl7

31、 <= "1111101" when "0111" => ledl7 <= "0000111" when "1000" => ledl7 <= "1111111" when "1001" => ledl7 <= "1101111" when "1010" => Iedl7 <= "1110111"when "1011" => IedI7

32、<= "1111100"when "1100" => IedI7 <= "0111001"when "1101" => IedI7 <= "1011110"when "1110" => IedI7 <= "1111001"when "1111" => IedI7 <= "1110001"whe n others => n ull;end case;end p

33、rocess;end behave;Mode NameDirectionLocationInputPIN 4?InputPIN 50aiInputPIN 53»a0InputPIN 54硏 ledl76JOutputPIM.41& ledl75OutputPIN 39恒翻41OutputPIN K0led?3OutputPIN 37 Iedl7OutputFIN 站Q letl7LlOutputPIN 23E ted70OutputPIN 21sei 2OutputPIM.45& sdlOutputPIN 44初? sel0OutputP43<.node >

34、;>实验三、多功能数字钟设计1、实验目的:1)了解数字钟的原理;3)进一步掌握自顶向下的数字系统设计方法,并体会其优越性; 2、实验要求:(1)在实验报告结果分析中要对测量所得数据进行分析3、实验内容: 利用综合设计方法完成数字钟的设计,仿真,下载。4、主要仪器设备及试剂:1)计算机一台,实验箱2)QUARTUS II 8.1 环境5、 实验原理 多功能数字钟应该具有的功能有: 显示时分秒、 整点报时、 小时和分钟可调等基本功能。 首先要知道钟表的工作机理,整个钟表的工作应该是在 1Hz 信号的作用下进行,这样每来 一个时钟信号, 秒增加 1 秒,当秒从 59 秒跳转到 00 秒时,分钟

35、增加 1 分,同时当分钟从 59 分跳转到00分时,小时增加1小时,但是需要注意的是,小时的范围是从023时。在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从059,所以可以用一个3位的二进制码显示十位,用一个四位的二进制码(BCD码)显示个位,对于小时因为它的范围是从0 23,所以可以用一个 2 位的二进制码显示十位,用 4 位二进制码( BCD 码)显示个 位。实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz时钟信号,但是扫描的确需要一个比较高频率的信号,因此为了得到准确的 1Hz 信号,必须对输入的系统 时钟进行分频。 对于报警信号, 由于实验箱上只有一个小的扬声器,

36、而要使扬声器发声,必 须给其一定频率的信号进行驱动, 频率越高, 声音越尖。 另外由于人耳的听觉范围是 300Hz 3.4KHz 左右,所以设计时也要选择恰当的发声频率。实验内容 本实验的任务就是设计一个多功能数字钟,要求显示格式为小时分钟秒钟,整点报时, 报时时间为 10 秒,即从整点前 10 秒钟开始报警, 且前五次报警的声音频率较低, 最后一次 报警声音的频率较高,类似于收音机整点报时,即从xx5950 秒开始,依次为嘀、嘀、嘀、嘀、嘀、嗒。系统时钟选择时钟模块的10KHZ,要得到1Hz时钟信号,必须对系统时钟进行10,000次分频。调整时间的的按键用按键模块的S1和S2, S1调节小时

37、,每按下一次,小时增加一个小时, S2 调整分钟,每按下一次,分钟增加一分钟。报时的喇叭采用实 验箱的扬声器模块,整点报时时嘀声用1.25KHZ (对10KHZ信号进行8分频),嗒声用2.5KHZ(对 10KHz 信号进行 4 分频) 。另外用 S8 按键作为系统时钟复位, 复位后全部显示 00 00 00 。实验步骤完成多功能数字钟的实验步骤如下:1首先打开 Quartus II 软件,新建一个工程,并新建一个 VHDL File 。 2按照自己的想法,编写 VHDL 程序3对自己编写的 VHDL 程序进行编译并仿真。4仿真无误后,根据引脚对照表,对实验中用到的时钟信号、按键开关、七段码管及

38、扬声 器输出进行管脚绑定,然后再重新编译一次。5用下载电缆通过 JTAG 接口将对应的 sof 文件下载到 FPGA 中。6按动 S1 和 S2 按键,观察时钟的小时和分钟会不会递增。7将时间调整到 xx 时 59 分,观察时钟到了第 50 秒时是否会发出嘀、 嘀、嘀、嘀、嘀、嗒的报时声。注意 :此实验需管脚复用- Title: 多功能数字钟library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity exp15 isport( Clk:

39、in std_logic;-时钟输入Rst: in std_logic;-复位输入S1,S2: in std_logic;-时间调节输入SPK: out std_logic;- 扬声器输出Display : out std_logic_vector(7 downto 0); - 七段码管显示输出 SEG_SEL : buffer std_logic_vector(2 downto 0) - 七段码管扫描驱动 );end exp15;architecture behave of exp15 issignal Disp_Temp signal Disp_Decode signal SEC1,SEC

40、10signal MIN1,MIN10: integer range 0 to 15;: std_logic_vector(7 downto 0);: integer range 0 to 9;: integer range 0 to 9;signal HOUR1,HOUR10 : integer range 0 to 9;signal Clk_Count1signal Clk1Hz signal Music_Count: std_logic_vector(13 downto 0);- 产生 1Hz 时钟的分频计数器: std_logic;: std_logic_vector(2 downto

41、 0);beginprocess(Clk) beginif(Clk'event and Clk='1') thenif(Clk_Count1<10000) thenClk_Count1<=Clk_Count1+1;elseClk_Count1<="00000000000001"end if;end if;end process;Clk1Hz<=Clk_Count1(13);process(Clk1Hz,Rst)beginif(Rst='0') then- 系统复位SEC1<=0;SEC10<=0;M

42、IN1<=0;MIN10<=0;HOUR1<=0;HOUR10<=0;elsif(Clk1Hz'event and Clk1Hz='1') then- 正常运行if(S1='0') then - 调节小时 if(HOUR1=9) thenHOUR1<=0;HOUR10<=HOUR10+1;elsif(HOUR10=2 and HOUR1=3) thenHOUR1<=0;HOUR10<=0;elseHOUR1<=HOUR1+1;end if;elsif(S2='0') then -调节分

43、钟if(MIN1=9) thenMIN1<=0;if(MIN10=5) thenMIN10<=0;elseMIN10<=MIN10+1;end if;elseMIN1<=MIN1+1;end if;elsif(SEC1=9) thenSEC1<=0;if(SEC10=5) thenSEC10<=0;if(MIN1=9) thenMIN1<=0;if(MIN10=5) thenMIN10<=0;if(HOUR1=9) thenHOUR1<=0;HOUR10<=HOUR10+1; elsif(HOUR10=2 and HOUR1=3) t

44、henHOUR1<=0;HOUR10<=0;elseHOUR1<=HOUR1+1;end if;elseMIN10<=MIN10+1;end if;elseMIN1<=MIN1+1;end if;elseSEC10<=SEC10+1;end if;elseSEC1<=SEC1+1;end if;end if;end process;process(Clk)beginif(Clk'event and Clk='1') thenMusic_Count<=Music_Count+1;if(MIN10=5 and MIN1=9 and

温馨提示

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

最新文档

评论

0/150

提交评论