用VHDL实现数字时钟的设计Word文档格式.docx
- 文档编号:22586579
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:9
- 大小:292.50KB
用VHDL实现数字时钟的设计Word文档格式.docx
《用VHDL实现数字时钟的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《用VHDL实现数字时钟的设计Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
计过程乃至设计观念。
由于采用了“自顶向下”
(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:
co:
outstd-logic;
endcounter-60-bcd;
architecturertlofcounter-60-bcdis signalcoo:
std-logic;
signalclkI:
componentdffis port(clk,d:
q:
outstd-logic;
endcomponent;
begin process(clk variables-one:
integerrange0to9;
variables-ten:
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:
endif;
endif;
elsifcen=’1’then ifs-one<
else s-one:
ifs-ten<
else
endif;
endif;
endif;
q-one<
=s-one;
q-ten<
=s-ten;
ifs-ten=5ands-one=9then co<
=’1’;
else co<
=’0’;
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
Byshowingsomeprogramcodesandemulationalwavecharts,thepaperintroducesthewaytodesigndigitalelectrocir2
cuitswithVHDLindetailsandgivesusanexampleofdesigningadigitalclock.Anditcompiles,emulatesanddownloadstheminMAX+plusII,whichelucidatestheadvantagesofdevelopingdigitalelectrocircuitswithVHDL.
design;
digitalclock;
applicationelectrocircuits
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 实现 数字 时钟 设计