基于vhdl的fpga数字钟设计—-毕业论文设计.doc
《基于vhdl的fpga数字钟设计—-毕业论文设计.doc》由会员分享,可在线阅读,更多相关《基于vhdl的fpga数字钟设计—-毕业论文设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SelectionParagraphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointselectionParagraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesTSelectionParbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
2、agraphFoLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointse11111111111111111111111111111111lectionParagraphFormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPoctionParagraphFormatLineSpaci2222222222222222222222ngLinesToPoints2SelectionParagraphFormatLineSp
3、acingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPointselectionParagraphFccccccccccccccccccccccccccccccccccccccccccccccccccccccccormatLineSpacingLinesToPointsSelectionParagraphFormatLineSpacingLinesToPoctionParagraSelec可编程数字系统设计课程设计实验报告实验名称: 基于VHDL的数字钟设计 _所属课程: 可编程数字系统设计 可编程数字系统课程设计一、课程设计
4、目的: 熟悉EDA工具;掌握用VHDL语言进行数字系统设计的基本方法和过程。二、设计任务: 设计一数字钟,用数码管显示基本功能要求:(1) 可以分屏显示时、分、秒,可用数码管的小数点“.”代替时、分、秒的分隔符“:”,分屏显示是指由于数码管只有4个,不能同时显示时、分、秒,但可以只显示时、分,或只显示分、秒,通过按键来切换这两种显示方式。(2)可设置时钟的开始时间。设置时,相应的数码管要闪烁,指示当前设置的设置(内容)。(3)具有闹铃功能,可以设定闹铃时间。闹铃时间到,LED闪烁进行指示。三、设计原理:数字钟的逻辑框图如图1所示。它由校时部分、闹钟部分、计时部分、显示部分组成。振荡器产生稳定的
5、高频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒钟计数器满60后向分计数器进位,分钟计数器满60后向小时计数器进位,时钟计数器按照“24归0”规律计数。计数器的输出分别经译码器送显示。当计时出现误差时或者到达另外一个时区时,可以用校时部分校时、校分、校秒。需要是用闹钟时,可以利用闹钟部分进行定时。 四、系统分析:根据数字钟的功能,我们可以将它的系统电路设计划分为四个部分:校时部分、闹钟部分、计时部分和显示部分。其中计时部分又划分为秒钟计时模块、分钟计时模块、时钟计时模块,显示部分又划分为BCD译码模块和扫屏输出模块。校时模块秒钟计时模块分钟计时模块时钟计时模块译码模块扫屏输
6、出闹钟模块LED灯图1数字钟的顶层实体描述如下:-TOP.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY digitalclock IS PORT(-输入时钟CLK:IN STD_LOGIC;-设定闹钟ALARM_SET:IN STD_LOGIC;-双键位校时SET:IN STD_LOGIC;MODE:IN STD_LOGIC;-选择显示方式CHG:IN STD_LOGIC;-八段译码输出out_data:OUT STD
7、_LOGIC_VECTOR(7 DOWNTO 0);-输出片选seg_out:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-LED输出ED_OUT:OUT STD_LOGIC);END digitalclock;ARCHITECTURE EXAMPLE OF digitalclock IS-元件例化COMPONENT adjusterPORT(-输入时钟CLK:IN STD_LOGIC;-双键位校时SET:IN STD_LOGIC;MODE:IN STD_LOGIC;-计数使能,接VCCEN:IN STD_LOGIC;-秒计数器进位输入S_ENOUT:IN STD_LOG
8、IC;-分计数器进位输入M_ENOUT:IN STD_LOGIC;-输出1HZ时钟CLK1HZ:OUT STD_LOGIC;-输出使能S_CE:OUT STD_LOGIC;M_CE:OUT STD_LOGIC;H_CE:OUT STD_LOGIC);END COMPONENT;COMPONENT CNT60PORT(-输入1HZ时钟CLK1HZ:IN STD_LOGIC;-计数使能EN:IN STD_LOGIC;-进位输出ENOUT:OUT STD_LOGIC;-BCD输出LOW:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);HIGH:OUT STD_LOGIC_VECTO
9、R(3 DOWNTO 0);END COMPONENT;COMPONENT CNT24ORT(-输入1HZ时钟CLK1HZ:IN STD_LOGIC;-计数使能EN:IN STD_LOGIC;-BCD输出LOW:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);HIGH:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT displayPORT(-BCD输入in_data:IN STD_LOGIC_VECTOR(3 DOWNTO 0);-八段译码输出out_data:OUT STD_LOGIC_VECTOR(7 DO
10、WNTO 0);END COMPONENT;COMPONENT saopingPORT(-选择显示方式CHG:IN STD_LOGIC;-BCD输入SL:IN STD_LOGIC_VECTOR(7 DOWNTO 0);SH:IN STD_LOGIC_VECTOR(7 DOWNTO 0);ML:IN STD_LOGIC_VECTOR(7 DOWNTO 0);MH:IN STD_LOGIC_VECTOR(7 DOWNTO 0);HL:IN STD_LOGIC_VECTOR(7 DOWNTO 0);HH:IN STD_LOGIC_VECTOR(7 DOWNTO 0);ALARM_L:IN STD_L
11、OGIC_VECTOR(7 DOWNTO 0);ALARM_H:IN STD_LOGIC_VECTOR(7 DOWNTO 0);-输入时钟CLK:IN STD_LOGIC;-输出片选seg:out std_logic_vector(3 downto 0);-BCD输出out_data:out std_logic_vector(7 downto 0);END COMPONENT;COMPONENTalarmPORT(-输入时钟CLK:IN STD_LOGIC;-设定闹钟ALARM_SET:IN STD_LOGIC;-BCD输入 IN_HL:IN STD_LOGIC_VECTOR(3 DOWNTO
12、 0);IN_HH:IN STD_LOGIC_VECTOR(3 DOWNTO 0);IN_ML:IN STD_LOGIC_VECTOR(3 DOWNTO 0);IN_MH:IN STD_LOGIC_VECTOR(3 DOWNTO 0);-BCD输出LOW:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);HIGH:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-LED输出LED_OUT:OUT STD_LOGIC);END COMPONENT;-常数说明CONSTANT VCC:STD_LOGIC:=1;-信号说明SIGNAL VCC_CON:STD_LOG
13、IC;SIGNAL S_ENOUT:STD_LOGIC;SIGNAL M_ENOUT:STD_LOGIC;SIGNAL CLK1HZ:STD_LOGIC;-计数使能SIGNAL S_CE:STD_LOGIC;SIGNAL M_CE:STD_LOGIC;SIGNAL H_CE:STD_LOGIC;-BCD码SIGNAL SL:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL SH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ML:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL MH:STD_LOGIC_VECTOR(3 D
14、OWNTO 0);SIGNAL HL:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ALARM_LOW:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL ALARM_HIGH:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL SL_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL SH_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL ML_OUT:STD_LOGIC_VECTOR(7 D
15、OWNTO 0);SIGNAL MH_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL HL_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL HH_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL ALARM_L_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL ALARM_H_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN-元件声明ADJUST_CONTROL:adjusterPORT MAP(-输入时钟CLK=CLK,-双键位校时SET=S
16、ET,MODE=MODE,-计数使能,接VCCEN=VCC_CON,-秒计数器进位输入S_ENOUT=S_ENOUT,-分计数器进位输入M_ENOUT=M_ENOUT,-输出信号CLK1HZ=CLK1HZ,-输出使能S_CE=S_CE,M_CE=M_CE,H_CE=H_CE);VCC_CONCLK1HZ,-计数使能,接VCCEN=S_CE,-进位输出ENOUT=S_ENOUT,-BCD输出LOW=SL,HIGH=SH);M_CONTROL:CNT60PORT MAP(-输入1HZ时钟CLK1HZ=CLK1HZ,-计数使能EN=M_CE,-进位输出ENOUT=M_ENOUT,-BCD输出LOW=
17、ML,HIGH=MH);H_CONTROL:CNT24PORT MAP(-输入1HZ时钟CLK1HZ=CLK1HZ,-计数使能EN=H_CE,-BCD输出LOW=HL,HIGH=HH);ALARM_CLOCK:alarmPORT MAP(-输入时钟CLK=CLK,-设定闹钟ALARM_SET=ALARM_SET,-BCD输入 IN_HL=HL,IN_HH=HH,IN_ML=ML,IN_MH=MH,-BCD输出LOW=ALARM_LOW,HIGH=ALARM_HIGH,-LED输出LED_OUT=LED_OUT);SL_DIS:displayPORT MAP(-BCD输入in_data=SL,-
18、八段译码输出out_data=SL_OUT);SH_DIS:displayPORT MAP(-BCD输入in_data=SH,-八段译码输出out_data=SH_OUT);ML_DIS:displayPORT MAP(-BCD输入in_data=ML,-八段译码输出out_data=ML_OUT);MH_DIS:displayPORT MAP(-BCD输入in_data=MH,-八段译码输出out_data=MH_OUT);HL_DIS:displayPORT MAP(-BCD输入in_data=HL,-八段译码输出out_data=HL_OUT);HH_DIS:displayPORT MA
19、P(-BCD输入in_data=HH,-八段译码输出out_data=HH_OUT);ALARM_L_DIS:displayPORT MAP(-BCD输入in_data=ALARM_LOW,-八段译码输出out_data=ALARM_L_OUT);ALARM_H_DIS:displayPORT MAP(-BCD输入in_data=ALARM_HIGH,-八段译码输出out_data=ALARM_H_OUT);SAOPINGQI:saopingPORT MAP(-BCD输入SL=SL_OUT,SH=SH_OUT,ML=ML_OUT,MH=MH_OUT,HL=HL_OUT,HH=HH_OUT,AL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 vhdl fpga 数字 设计 毕业论文
限制150内