目的
掌握VHDL语言时序逻辑电路的设计方法;
2 .掌握计数器的设计方法。
内容
设计并实现带异步复位、同步时钟使能的十进制计数器。 根据计数器的设计原理编写十进制计数器的VHDL语言程序,利用开发工具软件进行编译和仿真,最后要求在实验开发系统中进行硬件验证。
原理
CD54HC160是具有异步复位的BCD同步十进制计数器。 其引脚图如图2-30所示。 这里,CLR是计数器复位侧,当CLR=0时,QDQCQBQA=0000; LOAD是计数器的预设端子,DCBA是预设数据输入端子。 在LOAD=0的情况下,通过CLK的上升沿,QDQCQBQA=DCBA; ENP和ENT是计数器的功能控制端子,仅在ENP和ENT都为高电平时对计数器进行计数,在任意一个为低电平时计数器的装备不变化,成为保持的状态。 RCO是计数器的进位输出,RCO=ENTQDQA。
图2-30 CD54HC160引脚图
步骤
1.根据十进制计数器的原理和特点,用VHDL语言的基本描述语句编写十进制计数器的VHDL语言程序。
2 .编译设计的十进制计数器的VHDL程序,采用波形编辑器进行仿真,初步验证程序设计的正确性。
3 .利用开发工具软件,选择要使用的可编程逻辑器件,引脚配置十进制计数器。
4 .将编译后的*.sof文件通过下载电缆下载到目标设备上,通过实验开发装置进行硬件验证。
程序
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
实体光盘54 HC 160 is
端口(
CLK、d、c、b、a、CLR、LOAD、ENP、ENT:INSTD_LOGIC;
QD、QC、QB、QA、RCO:BUFFERSTD_LOGIC;
ENDCD54HC160;
architecturebehaveofcd 54 HC 160 is
signalen : STD _ logic _ vector (1下传至0;
signald _ signal 3360 STD _ logic _ vector (3down to 0;
signalq _ signal 3360 STD _ logic _ vector (3down to 0;
比根
处理(load、d、c、b、a、CLK、CLR、ENP、ENT ) ) )。
比根
en=(enpent );
d_signal=(dcba;
if(clr='0' ) THEN
q_signal=(others='0' );
ELSEIFCLK'EVENTANDCLK='1'THEN
if(load='0' ) THENQ_SIGNAL=D_SIGNAL;
elsif(en='11 ' ) THEN
IFQ_SIGNAL'1001'THEN
Q_SIGNAL=Q_SIGNAL 1;
ELSE
q_signal=(others='0' );
结尾;
ELSE
Q_SIGNAL=Q_SIGNAL;
结尾;
结尾;
结尾;
qd=q_signal(3;
QC=q_signal(2;
QB=q_signal(1;
QA=q_signal(0;
RCO=ENTANDQDANDQA;
结束流程;
结束拜尔;
问题及解决
注释1.0V的行、文件名与实体名一致
总结:在功能上实现了课题的要求,即十进制计数器的设计要求,但需要考虑相应的不足。 虽然是个小问题,但大多会决定成败,所以正在试图理解步骤。