1、 1 题题 目目: 数字钟的设计与制作 目录目录 1.设计思路 3 1.1 总体结构. 3 2.方案论证与选择 3 2.1.数字钟方案论证与选择. 3 3.单元模块设计部分 3 3.1.CN6 模块的设计 3 3.2.SEL61 模块的设计 4 3.3.DISP 模块的设计 5 3.4.K4 模块的设计 6 3.4.1.CNT10 模块的设计. 6 3.4.2.CNT6 模块的设计 7 3.4.3.CNT101 模块的设计 8 3.4.4.CNT61 模块的设计 9 3.4.5 CNT23 模块的设计 10 4.系统仿真 11 4.1.数字钟仿真图. 11 4.2.数字钟编译报告. 12 2
2、4.3.数字钟原理图 12 EDA 数字钟设计数字钟设计 中文摘要: 数字钟学习的目的是掌握各类计数器及它们相连的设计方法; 掌握多个数码管显 示的原理与方法;掌握 FPGA 技术的层次化设计方法;掌握用 VHDL 语言的设计思想以及 整个数字系统的设计。此数字钟具有时,分,秒计数显示功能,以 24 小时为计数循环;能 实现清零,调节小时,分钟以及整点报时的功能。 关键词:数字钟,计数器,数码管,FPGA,VHDL 1 设计思路设计思路 基于 VHDL 语言,用 Top_Down 的思想进行设计。 1.1 确定总体结构,如图 1-1 所示。 图 1-1 2. 方案论证与选择方案论证与选择 2.
3、1 数字钟方案论证与选择:方案一是用 CN6 无进位六进制计数器选择数码管的亮灭以及 对应的数,循环扫描显示,用 SEL61 六选一选择器选择给定的信号输出对应的数送到七段 码译码器。K4 模块进行复位,设置小时和分,输出整点报时信号和时,分,秒信号。作品 中选方案二。方案二也采用自顶向下的设计方法,它由秒计数模块,分计数模块,小时计数 模块,报警模块,秒分时设置模块和译码模块六部分组成。两者设计方式,功能实现方面都 差不多,作品中选择的是方案一。 3. 单元模块设计部分单元模块设计部分 单元模块设计部分分四个部分,介绍数字钟选择显示数码管和对应的数模块 CN6,信号选择 模块 SEL61,七
4、段码译码器模块 DISP 和复位,秒,分,时显示,设置模块。 3.1 CN6 模块的设计 即无进位的六进制计数器,由此提供选择信号,可提供选择信号,选择显示的数码管及对应 的数,循环扫描显示。如图 1-2 图 1-2 3 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cn6 is port(res,clk : in std_logic; cout : out std_logic_vector(2 downto 0); end cn6; architecture rtl of
5、cn6 is signal q : std_logic_vector(2 downto 0); begin process(res,clk) begin if res=0 then qcout:=b; when “010“=cout:=c; when “011“=cout:=d; when “100“=cout:=e; when others=cout:=f; end case; q qqqqqqqqqqq2 then aout=“0000“ ; bout=“0000“; else aout=aout+1; end if; elsif(aout=9) then aout=“0000“; bou