用VHDL实现数字时钟的设计.docx
- 文档编号:9450532
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:9
- 大小:292.50KB
用VHDL实现数字时钟的设计.docx
《用VHDL实现数字时钟的设计.docx》由会员分享,可在线阅读,更多相关《用VHDL实现数字时钟的设计.docx(9页珍藏版)》请在冰豆网上搜索。
用VHDL实现数字时钟的设计
收稿日期:
2007-06-04 第一作者 刘竹林 男 27岁 助教
用VHDL实现数字时钟的设计
刘竹林 李晶骅
(十堰职业技术学院电子工程系,湖北十堰442000
摘 要:
以一款数字钟设计为例,较详细的介绍了如何用VHDL语言设计数字电路,并给出了部分程序、仿真
波形图,并在MAX+plusII中进行编译、仿真、下载。
由此说明利用VHDL开发数字电路的优点。
关键词:
VHDL;设计;数字钟;应用电路中图分类号:
TN953 文献标识码:
A
0 引言
VHDL硬件描述语言在电子设计自动化(EDA中扮演
着重要的角色,它的出现极大的改变了传统的设计方法、设
计过程乃至设计观念。
由于采用了“自顶向下”
(Top2Down的全新设计方法,使设计师们摆脱了大量的辅助设计工作
而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短了产品的研制周期。
这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。
在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。
然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的,这不仅有利于早期发现结构设计上的错误,避免设计工作的浪费,而且也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
1 用VHDL设计一款数字钟
我们设计的数字时钟原理框图如图1。
其基本功能划
分为:
计数模块(包括秒、分、时、译码模块、扫描显示控制模块。
计数模块由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数,当计数到23点59分59秒的时候,即一天结束,计数器清零,新的一天重新开始计数。
图1 数字时钟原理框图
秒计数器的计数时钟信号为1Hz的标准信号,可以由系
统板上提供的4MHz信号通过222分频得到。
秒计数器的进位输出信号作为分钟计数器的计数信号,分钟计数器的进位输出信号又作为小时计数器的计数信号。
设计一个同时显示时、分、秒6个数字的数字钟,则需要6个七段显示器。
若同时点亮这6个七段显示器,则电路中会产生一个比较大的电流,很容易造成电路烧坏,我们通过扫描电路来解决这一问题,通过产生一个扫描信号CS(0-CS(5来控制6个七段显示器,依次点亮6个七段显示器,也就是每次只点亮一个七段显示器。
只要扫描信号CS(0-CS(5
的频率超过人的眼睛视觉暂留频率24Hz以上,就可以达到尽管每次点亮单个七段显示器,却能具有6个同时显示的视觉效果,而且显示也不致闪烁抖动。
其中6位扫描信号一方面控制七段显示器依次点亮,一方面控制6选1选择器输出相应显示数字。
2 模块设计
2.1 VHDL语言的基本结构
一个独立的设计实体通常包括:
实体(ENTITY、结构体(ARCHITECTURE、配置(CONFIGURATION、包集合(PACKGE、和库(LIBRARY5个部分。
其中实体用于描述所设计的系统的外部接口信号;构造体用于描述系统内部的结构和行为;建立输入和输出之间的关系;配置语句安装具体元件到实体—结构体对,可以被看作是设计的零件清单;包集合存放各个设计模块共享的数据类型、常数和子程序等;库是专门存放预编译程序包的地方。
VHDL程序设计基本结构如图2。
图2 VHDL程序设计基本结构
2.2 各模块的实现
2.2.1 计数模块(建立VHDL语言的工程文件
计数模块由两个60进制计数器和一个24进制计数器组成,分别对秒、分、小时进行计数。
其VHDL源程序相差不大由于篇幅有限,这里我们以秒模块的实现为例。
程序如下:
libraryieee;
useieee.std-logic-1164.all;entitycounter-60-bcdis
山西电子技术
2008年第1期
应用实践
port(cen,clk,settime:
instd-logic;
q-one:
outintegerrange0to9; q-ten:
outintegerrange0to9; co:
outstd-logic;endcounter-60-bcd;
architecturertlofcounter-60-bcdis signalcoo:
std-logic; signalclkI:
std-logic; componentdffis port(clk,d:
instd-logic; q:
outstd-logic; endcomponent;begin process(clk variables-one:
integerrange0to9; variables-ten:
integerrange0to9; begin ifclk’eventandclk=’1’then ifsettime=’1’then ifs-one<9then
s-one:
=s-one+1; else
s-one:
=0;
ifs-ten<5then
s-ten:
=s-ten+1;
else
s-ten:
=0; endif; endif; elsifcen=’1’then ifs-one<9then
s-one:
=s-one+1;
else s-one:
=0; ifs-ten<5then
s-ten:
=s-ten+1;
else
s-ten:
=0; endif; endif; endif; endif; q-one<=s-one; q-ten<=s-ten; ifs-ten=5ands-one=9then co<=’1’; else co<=’0’; endif;endprocess;clkI<=notclk;
U1:
dffportmap(clkI,co,co;2.2.2 多路选择控制模块
多路选择控制模块中扫描控制电路产生扫描信号一方面控制6个七段显示器每次只点亮一个七段显示器;另一方面同时控制6×1多路选择器输出相应的显示数字。
由于篇幅有限代码就省略了。
2.2.3 显示译码模块的设计
该模块描述了一个共阴极数码管显示驱动电路,其输入为选择控制模块的输出,输出信号分别接在数码管的的7个段。
例如当输入为‘0’时,输出就为“1111110”,数码管显示0。
由于篇幅有限代码就省略了。
3 各模块的编译、仿真
各模块设计完成后,就要对其进行功能仿真。
打开MAX+plusII,选择菜单File/New命令,进入出现对话框选择中选择“TextEditorFile”选项,即进入文本编辑方式新建一个工程。
在编译之前要此工程设置为当前工程。
若没有错误则编译通过。
新建仿真文件,输入保存。
这里以秒模块的仿真为例,其结果如图3
。
图3 秒模块的仿真结果
4 综合
在编译各模块的同时,生成符号文件,把各符号文件按照逻辑功能连接起来(如图4,当然也可以利用元件例化语句进行,然后加上输入输出端口构成顶层系统然后在进行编译。
5 程序下载至芯片
1点击主菜单Assign/Pin/Location/Chip进行芯片脚位设置。
2将实体定义的端口名字和下载芯片的管脚进行具体对应。
3最后再进行一次编译,这时系统将产生可以向EPF10K10下载的文件。
4将带芯片的实验板通过下载电缆与计算机并口相连,然后给实验板通电。
5打开下载窗
口选择下载方式、下载器件型号最后点击Configure按钮将程序写入芯片中。
连接外围器件即可工作。
6 结束语
本文通过数字钟实现的例子展现出了现代电子设计新方法2EDA技术的灵活性,层次化设计方式的优点。
VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。
用VHDL语言实现电路设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺
(下转第54页
4系数,一般取为0.06~0.2。
3.3 仿真结果
设有12个城市(或景点,今从某市出发遍历各城市,使之旅行费用最少(即找出一条旅费最少的路径。
我们取种群代数为80,染色体个数为100,变异概率为0.2,评价函数alpha=0.1;利用Matlab所编的函数只要花7.094秒就可以得到最短路线。
染色体种群进化过程实例如图3所示:
参考文献
[1] 周明,孙树栋.遗传算法原理及应用[M].北京:
国防工
业出版社,2002.[2] 刘勇,康立山,陈毓屏,等.非数值并行算法—遗传算法
[M
].北京:
科学出版社,1995.[3] 许家玉,经亚枝.基于DSP+FPGA的遗传算法硬件实
现[J].微计算机信息,2005,21-1:
127-128.
[4] 刘海,郝志峰,林智勇.改进遗传交叉算子求解TSP问
题[J].华南理工大学学报(自然科学版,2002,30(12:
71-73.
图3 染色体种群进化过程
SolutionofTravelingSalesmanProblemBasedonGeneticAlgorithm
WangShui2ping LuHua ZhaoGuang2yu
(NavalRepresentativesOfficeofShanghaiPowerStationAuxiliaryEquipmentWorksCo.,Ltd,Shanghai200090,China
Abstract:
Theworkingmethodoftravelingsalesmanproblembasedongeneticalgorithmisgiveninapplication,and
combining
thepracticalexample,theprocessofthesolutionandtheresultssimulationarealsointroducedinthispaper.Accordingtotheanaly2sis,theimprovedgeneticalgorithmcangetthebetterresultthanthetraditionalgeneticalgorithm.Thisshowsthatthemethodhasbetterfeasibilityandpracticability.
Keywords:
TSP;geneticalgorithm;crossoveroperator(上接第48页
相关的因素花费过多的时间和精力。
它必将是现代电子的
重要设计手段和发展方向。
图4 系统顶层图
参考文献
[1] 侯伯亨.VHDL描述语言与数字逻辑电路设计[M].西
安电子科技大学出版社,1999.[2] 潘松,黄继业.EDA技术实用教程[M].科学技术出版
社,2002.
[3] 樊国梁.VHDL语言设计数字电路[J].国外电子测量
技术,2005(2.[4] 刘丽华.专用集成电路设计方法[M].北京:
北京邮电
大学出版社,2000.
RealizationofDigitalElectroCircuitsDesigningwithVHDL
LiuZhu2lin LiJing2hua
(Dept.ofElectronicsEng.,ShiyanTechnicalInstitute,ShiyanHubei442000,China
Abstract:
Byshowingsomeprogramcodesandemulationalwavecharts,thepaperintroducesthewaytodesigndigitalelectrocir2
cuitswithVHDLindetailsandgivesusanexampleofdesigningadigitalclock.Anditcompiles,emulatesanddownloadstheminMAX+plusII,whichelucidatestheadvantagesofdevelopingdigitalelectrocircuitswithVHDL.
Keywords:
VHDL;design;digitalclock;applicationelectrocircuits
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 实现 数字 时钟 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)