版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩指导教师日期五邑大学实验报告实验课程名称:EDA实验 院系名称:信息工程学院 专业名称:通信工程(物联网)(一)实验目的:
设计并实现具有一定功能的数字钟。掌握各类计数器及它们相连的设计方法,掌握多个数码管显示的原理与方法,掌握FPGA的层次化设计方法,掌握VHDL语言的设计思想以及整个数字系统的设计。此数字钟具有时,分,秒计数显示功能,能实现清零,调节小时,分钟以及整点报时的功能。
(二)实验器材:
计算机
一台,EDA实验箱
一台。
(三)实验原理:实验内容:
1.正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟,60秒钟的计数器显示。
2.按键实现“校时”“校分”功能;
3.用扬声器做整点报时。当计时到达59’50”时鸣叫。
方案:利用试验箱上的七段码译码器(模式7),采用静态显示,系统时钟选择1Hz。整个系统可以是若干文件组成,用PORT
MAP
实现的方式;也可以是一个文件用多进程方式实现;亦或者是用文本和图形混合的方式实现;亦或者是用LPM参数化模块实现。(五)实验步骤:
1.
新建一个文件夹,命名为shuzizhong.
2.
输入源程序。打开QuartusⅡ,选择File→new命令。在New窗口中的DesignFiles栏选择编译文件-的语言类型,这里选择VHDL
File选项。然后在VHDL文本编译窗口中输入秒模块程序。
秒模块源程序如下:
library
ieee;use
SECOND
isport(clk,clr:in
std_logic;----时钟/清零信号
sec1,sec0:out
std_logic_vector(3
downto
0);----秒高位/低位
co:out
std_logic);-------输出/进位信号end
SECOND;architecture
SEC
of
SECOND
isbeginprocess(clk,clr)variable
cnt1,cnt0:std_logic_vector(3
downto
0);---计数beginif
clr='1'
then----当ckr为1时,高低位均为0cnt1:="0000";cnt0:="0000";elsif
clk'event
and
clk='1'
thenif
cnt1="0101"
and
cnt0="1000"
then----当记数为58(实际是经过59个记时脉冲)co<='1';----进位cnt0:="1001";----低位为9elsif
cnt0<"1001"
then----小于9时cnt0:=cnt0+1;----计数elsecnt0:="0000";if
cnt1<"0101"
then----高位小于5时cnt1:=cnt1+1;elsecnt1:="0000";co<='0';end
if;end
if;end
if;sec1<=cnt1;sec0<=cnt0;end
process;end
SEC;
3.文件存盘。选择File→Save
As命令,找到已经设立的文件夹,存盘文件名应与实体名一致。
4.创建工程。打开并建立新工程管理窗口,选择File→New
Project
Wizard命令,即弹出设置窗口,命名为57。
5.将设计文件加入工程中。单击Next按钮,在弹出的对话框中单击File栏后的按钮,单击Add
All按钮,将与工程相关的所有VHDL文件都加入此工程。
6.选择目标芯片。单击Next按钮,选择目标器件,首先在Device
Family下拉列表框中选择Cyclone系列。分别选择Package为TQFP,Pincount为144和Speed
grade为8,选择此系列的具体芯片为EP3C5E144C8。
7.工具设置。单击Next按钮后,弹出的下一个窗口是EDA工具设置窗口—EDA
Tool
Settings.
8.结束设置。再单击Next按钮后即弹出工程设置统计窗口,单击Finish按钮,即已设定好此工程。
9.全程编译。选择Processing→Start
Compilation命令,启动全程编译。
10.编译成功后,将VHDL文件设置成可调用的文件。在秒模块程序文件SECOND处于打开的情况下,选择菜单File→Creat/Update→Creat
Symbol
Files
for
Current
File,进行封装(元件文件名为SECOND),以便在高层次设计中调用。同时,在编译成功的基础上,选择Processing中的Generate
Functional
Simuliation
Netlist生成仿真文件,以方便之后的仿真使用。
11.
选择File→new命令。在New窗口中的DesignFiles栏选择编译文件的语言类型,这里选择VHDL
File选项。然后在VHDL文本编译窗口中输入分模块程序。然后对分模块程序进行保存、编译,封装成可调用的文件,取名为minute。分模块的源程序如下:
library
ieee;
use
MINUTE
isport(en,setmin,clr,clk:in
std_logic;----时钟/清零信号
MIN1,MIN0:out
std_logic_vector(3
downto
0);----秒高位/低位
co:out
std_logic);-------输出/进位信号end
MINUTE;architecture
MIN
of
MINUTE
isbeginprocess(en,setmin,clr,clk)variable
cnt1,cnt0:std_logic_vector(3
downto
0);---计数beginif
clr='1'
then----当ckr为1时,高低位均为0cnt1:="0000";cnt0:="0000";elsif(clk'event
and
clk='1')
thenif
(en='1'
or
setmin='1')
thenif
cnt1="0101"
and
cnt0="1000"
then----当记数为58(实际是经过59个记时脉冲)co<='1';----进位cnt0:="1001";----低位为9elsif
cnt0<"1001"
then----小于9时cnt0:=cnt0+1;----计数elsecnt0:="0000";if
cnt1<"0101"
then----高位小于5时cnt1:=cnt1+1;elsecnt1:="0000";co<='0';end
if;end
if;end
if;end
iF;MIN1<=cnt1;MIN0<=cnt0;end
process;end
MIN;
12.
选择File→new命令。在New窗口中的DesignFiles栏选择编译文件的语言类型,这里选择VHDL
File选项。然后在VHDL文本编译窗口中输入小时模块程序。然后对分模块程序进行保存、编译,封装成可调用的文件,取名为HOUR.
小时模块的源程序:
library
ieee;use
hour
isport(reset,en
,sethour,clk
:
in
std_logic;
daout
:
out
std_logic_vector(7
downto
0));end
HOUR;architecture
behav
of
HOUR
issignal
count
:
std_logic_vector(3
downto
0);signal
counter
:
std_logic_vector(3
downto
0);beginp1:
process(reset,sethour,en)beginif
reset='1'
then
count<="0000";
counter<="0000";
elsif(clk'event
and
clk='1')
then
if
(en='1'
or
sethour
='1')
then
if
(counter<2)
then
if
(count=9)
then
count<="0000";
counter<=counter
+
1;
else
count<=count+1;
end
if;
else
if
(count=3)
then
count<="0000";
counter<="0000";
else
count<=count+1;
end
if;
end
if;
end
if;
end
if
;
end
process;daout(7
downto
4)<=counter;daout(3
downto
0)<=count;end
behav;
13.
绘制原理图。选择File→new命令。在New窗口中的DesignFiles栏选择编译文件的语言类型,这里选择Block
Diagram/Schematic选项,按OK按钮后将打开原理图编辑窗口。双击原理图编辑窗口任何位置,弹出输入文件的对话框,分别在Name栏键入元件名input、SECOND、minute、HOUR和输出引脚output,并用单击拖动的方法参考电路图接好电路,作为本项工程的顶层电路原理设计图。
14.全程编译。选择Processing→Start
Compilation命令,启动全程编译。
15.引脚锁定。
选择Assignments→Assignments
Edi按模式七设置设置相应引脚。
16.
编译文件下载。打开编程窗和配置文件。首先将适配板上的JTAG口和USB或并口通信线连好,打开电源,在工程管理窗口选择Tool→Programmer命令,弹出如图所示的编程窗口,编程模式选择JPEG,并选中下载文件右侧的第一个小方框。
17.设置编程器。选择USB-Blaster,单击左上角的Hardware
Setup按钮,在弹出的窗口中设置下载接口方式。向FPGA下载SOF文件前,要选择打钩Program/Configure项,最后单击下载标示符Start按钮,即进入对目标器件FPGA的配置下载操作。当Progress显示出100%以及在底部的处理栏中出现“Configuration
Succeeded”时,便是编程成功。
18.观察数码管的秒、分钟和小时的情况。(六)实验结果:秒模块编译成功:
生成波形文件成功:仿真成功:数字钟编译成功:仿真成功:选择芯片类型:引脚锁定:下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏拉萨市达孜县中学2024届中考数学仿真试卷含解析
- 教育局装修升级项目合同
- 酒店式公寓装修合同
- 芜湖市装修环保评估合同
- 跨国电子产品研发居间合同
- 矿山开采砂石运输合同
- 建筑材料运输协调合同
- 广告策划居间委托合同
- 商业空间装修工程劳动合同
- 餐厅垃圾清运合同
- 基于小学生量感培养的体验式教学策略研究
- 2024-2030年中国医用真空泵行业市场发展趋势与前景展望战略分析报告
- 中华财险笔试题目
- XX物业管理服务有限公司突发事件应急预案汇编(2023年版)
- 《中国糖尿病地图》要点解读
- 自然资源价格评估通则 TD/T 1061-2021
- 畜禽屠宰企业兽医卫生检验人员考试试题
- 夫妻共同财产约定书
- 装饰公司安全管理制度
- 2024年新闻记者采编报导人员岗位从业资格考试题库(附含答案)
- 吊车倾覆应急预案
评论
0/150
提交评论