基于硬件描述语言VHDL的电子时钟设计

时间:2024-02-18 点赞:48608 浏览:97738 作者原创标记本站原创

本文关于模块及计数器及时钟方面的免费优秀学术论文范文,模块方面论文范文素材,与基于硬件描述语言VHDL的电子时钟设计相关大学毕业论文范文,对不知道怎么写模块论文范文课题研究的大学硕士、本科毕业论文开题报告范文和文献综述及职称论文的作为参考文献资料下载。

中图分类号:TN 文献标识码:A 文章编号:1007-0745(2013)09-0097-01


摘 要 :本文介绍了基于VHDL硬件描述语言设计的多功能电子时钟的思路和技巧.在QuartusⅡ开发环境中编译和仿真了所设计的程序,并逐一调试验证程序的运行状况.仿真和验证的结果表明,该设计方法切实可行,该电子时钟具有一定的实际应用性.

关 键 词 :电子时钟硬件描述语言 VHDL QuartusⅡ

1.设计原理

电子时钟电路由秒、分、时5个计数模块和6个显示译码模块组成.秒计数模块的计数时钟clk为1Hz的标准信号.当电子时钟处于正常计时状态时,秒计数器的进位输出信号c作为分钟模块的计数信号,分计数模块的进位输出c为小时模块的计数信号.电子时钟除了正常计时外,还能够调整时间.在本文中,通过手动调节din3个输入量的高低电平而分别实现对秒、分、时的调整.

2.功能模块设计

本文中的电子时钟由上述11个模块组成.设计时,首先用VHDL语言编写各个功能模块,分别在QuartusⅡ开发环境下编译、仿真,然后再用顶层文件将各功能模块连接起来.以下介绍各模块的设计方法和技巧.

2. 1 秒、分、时计数模块

秒、分计数模块都是60进制的加法计数器,时计数模块是24进制计数器.与一般的标准计数器不同的是秒、分、时计数模块中分别添加了调节秒、分和小时的功能,即当clk的上升沿到来时,分别调节din的高低电平,就可达到调整秒、分、小时的目的.其中60进制加法器是由一个10进制和一个6进制计数器组成的.10进制计数器VHDL程序:entity counter10 is;Port ( clk : in std_logic;reset : in std_logic;din : in std_logic_vector(3 downto 0);dout : out std_logic_vector(3 downto 0);c:out std_logic);end counter10;architecture Behioral of counter10 is;signal count : std_logic_vector(3 downto 0);begin;dout \<= count;process(clk,reset,din);begin;if reset='0'then;count \<= din;c\<='0';elsif rising_edge(clk) then;if count = "1001" then;count \<= "0000";c\<='1';else; \<= count+1;c\<='0';10进制计数器仿真:

6进制计数器VHDL程序与10进制计数器VHDL程序相似,只需修改初始定义语句和计数语句就可实现:if count等于"101" then;count\<="000".24进制计数器VHDL程序和6进制计数器VHDL程序一样,修改计数语句就可实现:if count(3 downto 0)="1001" then;count(3 downto 0)\<="0000";count(5 downto 4)\<=count(5 downto 4) +1;else;count(3 downto 0)\<=count(3 downto 0)+1;end if;if count="100011" then;count\<="000000".

2.2 结果显示模块

6个数码管要正常显示,关键在于位选信号和数码管的一一对应.将4bit二进制数译码,在LED上显示相应数字.其译码器VHDL程序如下:Port (din:in std_logic_vector(3 downto 0 ); --四位二进制码输入dout:out std_logic_vector(6 downto 0) );--输出LED七段码

when "0000" 等于\> dout\<="0000001";--0 when "0001" =\> dout\<="1001111";--1

when "0010" 等于\> dout\<="0010010";--2 when "0011" =\> dout\<="0000110";--3

when "0100" 等于\> dout\<="1001100";--4 when "0101" =\> dout\<="0100100";--5

when "0110" 等于\> dout\<="0100000";--6 when "0111" =\> dout\<="0001111";--7

when "1000" 等于\> dout\<="0000000";--8 when "1001" =\> dout\<="0000100";--9

when others 等于\> dout\<="1111111";

3.电子时钟顶层设计仿真与下载验证

各功能子模块设计完成后,再设计顶层文件clock .vhd,它主要是通过元件声明和元件例化语句对各子模块进行调用来完成的.在有条件的情况下,为验证所设计程序是否正确,将程序下载到FPGA器件中进行硬件测试.在QuartusⅡ开发环境中进行管脚锁定,然后编译生成可以下载的clock - top. sof 文件.连接好数码管驱动电路,然后将目标文件下载到器件中.最终可以看到时、分、秒正常显示,而且通过手动按键可以准确无误地调整时间.顶层设计仿真图:

相关论文

计算机网络防御策略描述语言

为您写计算机网络毕业论文和职称论文提供计算机网络相关毕业论文参考文献格式范文,与计算机网络防御策略描述语言相关论文范例,包括关于计算。

计算机网络防御策略描述语言

本文是一篇计算机网络论文范文,关于计算机网络方面学士学位论文,关于计算机网络防御策略描述语言相关毕业论文题目范文。适合计算机网络及计。

基于亲和力视角的电子产品设计

本文是一篇电子产品论文范文,电子产品类有关本科论文开题报告,关于基于亲和力视角的电子产品设计相关毕业论文参考文献格式范文。适合电子产。

应用电子课程设计教学模式

该文是论文任务书专业课程设计论文范文,主要论述了课程设计方面硕士论文开题报告,与应用电子课程设计教学模式相关论文范本,适合课程设计。

机械电子工程设计中的技术要点

本文是一篇机械电子工程论文范文,机械电子工程类毕业论文的格式,关于机械电子工程设计中的技术要点相关毕业论文范文。适合机械电子工程及电。

电子综合设计课程改革

本论文为关于课程方面课程论文网,关于电子综合设计课程改革相关毕业论文参考文献格式,可用于课程论文写作研究的大学硕士与本科毕业论文开。