




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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,利用该软件可进行对可编程逻辑器件的分析、综合、下载等设计。EDA/SOPC实验开发系统是由北京百科公司生产的一套EDA实验系统,其核心芯片采用ALTERA公司的CYCLONE系列FPGA产品EP1C6Q240C8,同时配备了丰富的外部接口资源,可供学生进行EDA设计实验。启动QUARTUS后的界面如图1所示,首先需要创建一个工程,具体操作过程如下:图1 QUARTUS软件的启动界面(1)点击File New Project Wizard创建一个新工程,系统显示如图2。图2 工程创建向导的启始页(2)点击Next,为工程选择存储目录、工程名称、顶层实体名等,如图3所示;(3)点击Next,若目录不存在,系统可能提示创建新目录,如图4所示,点击“是”按钮创建新目录,系统显示如图5所示;(4)系统提示是否需要加入文件,在此不添加任何文件;(5) 点击Next,进入设备选择对话框,如图6,这里选中实验箱的核心芯片CYCLONE系列FPGA产品EP1C6Q240C8;(6)点击Next,系统显示如图7,提示是否需要其他EDA工具,这里不选任何其他工具;(7)点击Next后,系统提示创建工程的各属性总结,若没有错误,点击Finish,工程创建向导将生成一个工程,这时软件界面如图8,在窗口左侧显示出设备型号和该工程的基本信息等。图3 输入工程名称、存储目录图4 提示是否创建新文件夹图5 提示是否添加文件图6 芯片型号选择图7 提示是否利用其他EDA设计工具图8 工程阐述汇总至此工程创建好完成,一下进行具体的设计了,为实现用一个拨码开关控制一个LED亮灭的功能,可用VHDL编写一个程序实现,具体操作过程如下:(1) 点击File-New创建一个设计文件,系统显示如图9;图9 创建一个设计文件(2) 选择设计文件的类型为VHDL File;(3) 点击OK,系统显示如图10,窗口右侧为VHDL的编辑窗口。图10 新建的一个VHDL源文件的编辑窗口(4) 在编辑窗口中编辑以下程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity test is Port ( led:out std_logic; key:in std_logic );end test;architecture Behavioral of test isbeginled Start Compilation编译该文件,系统将开始编译,结束后,给出提示信息和编译结果,如图5-12所示:图12 编译结果显示( 7 ) 仿真( 8 )建立时序仿真文件,如图9所示,选择“Vector Waveform File”,出现图10的界面,在Name空白处击右键,InsertInsert Node or Bus。图 10图11在图11中单击图12在12中单击,再单击 OKOK。如图13所示图13仿真文件存盘时,文件名字必须与顶层文件同名,即test,默认即可。图14图15图15是为仿真输入赋值的。如想赋值1,单击 。( 9 ) 单击菜单进行仿真图16仿真结果如图17。图17 仿真波形(5) 点击Assignment-Pins进行引脚分配,实验箱上拨码开关和LED对应的引脚分别为58和98,分配结果如图18所示。图18 引脚分配(6) 参照步骤(5)重新编译系统,系统将生成FPGA配置文件,在编译过程中若显示警告可不理会;(7) 准备下载,注意打开实验箱电源,并连接下载电缆;(8) 点击Tools-Programmer将配置文件下载到FPGA,系统显示如图19所示,注意选择下载模式为JTAG,若下载线硬件显示“No Hardware”(如图19所示),则点击Hardware Setup按钮,系统显示如图20,双击USB-Baster,设定其为当前选定硬件,再点Close返回。图19 下载界面图20 下载线配置这时,系统界面如图21,选中Program/Configure,点击Start,将配置文件下载到FPGA。图21 配置好下载电缆的下载界面观察实验效果,尝试开关拨码开关K1,发光二极管D1-1将随之亮灭。实验一、计数器程序设计1、实验目的:1)了解计数器的工作原理;2)用VHDL语言编写60进制计数器,通过设计熟悉EDA开发的基本流程;3)熟悉Quartus II软件的使用,练习使用文本编辑器;4)掌握VHDL编写中的一些小技巧。2、实验要求:(1)在实验报告结果分析中要对测量所得数据进行分析3、实验内容:利用VHDL语言 设计60进制计数器,编译、仿真、下载4、主要仪器设备及试剂:1)计算机一台,实验箱2)QUARTUS II 8.1环境5、实验步骤按照QUARTUS II软件使用方法,为60进制计数器建工程。工程名应为cntm60(实体名)。参考程序如下。要求编译、仿真、下载。library ieee;-调用ieee库use ieee.std_logic_1164.all;-使用ieee库中的1164包use ieee.std_logic_unsigned.all;-使用ieee库中的无符号包entity cntm60 is port(ci :in std_logic;-来至低级的进位 nreset:in std_logic;-清零端 load :in std_logic;-置数端 d :in std_logic_vector(7 downto 0);-与置数端对应的数据输入端 clk :in std_logic;时钟端 co :out std_logic;进位输出端 qh :buffer std_logic_vector(3 downto 0);-计数器的高位输出端 ql :buffer std_logic_vector(3 downto 0);-计数器的低位输出端end cntm60;architecture behave of cntm60 isbeginco=1when(qh=0101and ql=1001and ci=1)else0; process(clk,nreset) begin if(nreset=0)then qh=0000; ql=0000; elsif(clkevent and clk=1)then if(load=1)then qh=d(7 downto 4); ql=d(3 downto 0); elsif(ci=1)then if(ql=9)then ql=0000; if(qh=5)then qh=0000; else qh=qh+1; end if; else ql=ql+1; end if; end if; end if; end process;end behave;实验二、七段译码器器设计1、实验目的:1)了解七段译码器的原理。2)进一步熟悉EDA开发的基本流程。2、实验要求:(1)在实验报告结果分析中要对测量所得数据进行分析3、实验内容:利用VHDL语言完成动态译码器的设计,仿真,下载。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: 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 isbeginsel ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 ledl7 null;end case;end process;end behave;实验三、多功能数字钟设计1、实验目的:1)了解数字钟的原理;3)进一步掌握自顶向下的数字系统设计方法,并体会其优越性;2、实验要求:(1)在实验报告结果分析中要对测量所得数据进行分析3、实验内容:利用综合设计方法完成数字钟的设计,仿真,下载。4、主要仪器设备及试剂:1)计算机一台,实验箱2)QUARTUS II 8.1环境5、 实验原理多功能数字钟应该具有的功能有:显示时分秒、整点报时、小时和分钟可调等基本功能。首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz 信号的作用下进行,这样每来一个时钟信号,秒增加1 秒,当秒从59 秒跳转到00 秒时,分钟增加1 分,同时当分钟从59 分跳转到00 分时,小时增加1 小时,但是需要注意的是,小时的范围是从023 时。在实验中为了显示的方便,由于分钟和秒钟显示的范围都是从 059,所以可以用一个3 位的二进制码显示十位,用一个四位的二进制码(BCD码)显示个位,对于小时因为它的范围是从023,所以可以用一个2 位的二进制码显示十位,用4 位二进制码(BCD 码)显示个位。实验中由于七段码管是扫描的方式显示,所以虽然时钟需要的是 1Hz时钟信号,但是扫描的确需要一个比较高频率的信号,因此为了得到准确的1Hz 信号,必须对输入的系统时钟进行分频。对于报警信号,由于实验箱上只有一个小的扬声器,而要使扬声器发声,必须给其一定频率的信号进行驱动,频率越高,声音越尖。另外由于人耳的听觉范围是300Hz3.4KHz 左右,所以设计时也要选择恰当的发声频率。实验内容本实验的任务就是设计一个多功能数字钟,要求显示格式为小时分钟秒钟,整点报时,报时时间为10 秒,即从整点前10 秒钟开始报警,且前五次报警的声音频率较低,最后一次报警声音的频率较高,类似于收音机整点报时,即从xx5950 秒开始,依次为嘀、嘀、嘀、嘀、嘀、嗒。系统时钟选择时钟模块的10KHz,要得到1Hz 时钟信号,必须对系统时钟进行10,000 次分频。调整时间的的按键用按键模块的S1 和S2,S1 调节小时,每按下一次,小时增加一个小时,S2 调整分钟,每按下一次,分钟增加一分钟。报时的喇叭采用实验箱的扬声器模块,整点报时时嘀声用1.25KHz(对10KHz 信号进行8 分频),嗒声用2.5KHz(对10KHz 信号进行4 分频)。另外用S8 按键作为系统时钟复位,复位后全部显示000000。实验步骤完成多功能数字钟的实验步骤如下:1首先打开Quartus II 软件,新建一个工程,并新建一个VHDL File。2按照自己的想法,编写VHDL 程序3对自己编写的VHDL 程序进行编译并仿真。4仿真无误后,根据引脚对照表,对实验中用到的时钟信号、按键开关、七段码管及扬声器输出进行管脚绑定,然后再重新编译一次。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 is port( Clk : 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 is signal Disp_Temp : integer range 0 to 15; signal Disp_Decode : std_logic_vector(7 downto 0); signal SEC1,SEC10 : integer range 0 to 9; signal MIN1,MIN10 : integer range 0 to 9; signal HOUR1,HOUR10 : integer range 0 to 9; signal Clk_Count1 : std_logic_vector(13 downto 0); -产生1Hz时钟的分频计数器 signal Clk1Hz : std_logic; signal Music_Count : std_logic_vector(2 downto 0); begin process(Clk) begin if(Clkevent and Clk=1) then if(Clk_Count110000) then Clk_Count1=Clk_Count1+1; else Clk_Count1=00000000000001; end if; end if; end process; Clk1Hz=Clk_Count1(13); process(Clk1Hz,Rst) begin if(Rst=0) then -系统复位 SEC1=0; SEC10=0; MIN1=0; MIN10=0; HOUR1=0; HOUR10=0; elsif(Clk1Hzevent and Clk1Hz=1) then -正常运行 if(S1=0) then -调节小时 if(HOUR1=9) then HOUR1=0; HOUR10=HOUR10+1; elsif(HOUR10=2 and HOUR1=3) then HOUR1=0; HOUR10=0; else HOUR1=HOUR1+1; end if; elsif(S2=0) then -调节分钟 if(MIN1=9) then MIN1=0; if(MIN10=5) then MIN10=0; else MIN10=MIN10+1; end if; else MIN1=MIN1+1; end if; elsif(SEC1=9) then SEC1=0; if(SEC10=5) then SEC10=0; if(MIN1=9) then MIN1=0; if(MIN10=5) then MIN10=0; if(HOUR1=9) then HOUR1=0; HOUR10=HOUR10+1; elsif(HOUR10=2 and HOUR1=3) then HOUR1=0; HOUR10=0; else HOUR1=HOUR1+1; end if; else MIN10=MIN10+1; end if; else MIN1=MIN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年员工安全知识测试题库及答案
- 花圃拆除施工方案模板(3篇)
- 2025年检验师面试题库及解析版
- 2025年土地整治项目管理员中级考试备考资料及高频题库
- 2025年电网计算机笔试高频题解析
- 2025年经典旅游案例教学及竞赛模拟题库
- 2025年建筑水电安装工程师执业资格考试试题及答案解析
- 2025年机关幼儿园招聘面试预测题
- 2025年会展策划专家资格考试试题及答案解析
- 2025年化工工程师职业能力评估试题及答案解析
- 设备搬迁调试协议合同书
- 中证信息技术笔试题库
- 监护学徒协议书范本
- 办公楼维修改造施工方案
- 集团海外业务管理手册(专业完整格式模板)
- 高危儿培训计划和方案
- 2025年公文写作基础知识竞赛试题库及答案(共120题)
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套)
- 路灯CJJ检验批范表
- 肛肠科年度汇报总结
- 鸡蛋合作合同范本
评论
0/150
提交评论