基本单元电路的vhdl设计new

基本单元电路的vhdl设计new

ID:18380685

大小:295.50 KB

页数:24页

时间:2018-09-17

基本单元电路的vhdl设计new_第1页
基本单元电路的vhdl设计new_第2页
基本单元电路的vhdl设计new_第3页
基本单元电路的vhdl设计new_第4页
基本单元电路的vhdl设计new_第5页
资源描述:

《基本单元电路的vhdl设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章基本单元电路的VHDL设计本章提要:本章介绍了数字系统设计中经常用到的计数器,分频器,选择器,译码器,编码器,寄存器,存储器,输入电路,显示电路等基本单元电路的VHDL程序设计。学习要求:在教师讲授这些基本单元电路的设计思想的基础上,通过上机调试熟练掌握这些基本单元电路的设计。关键词:计数器(Counter),分频器(Divder),选择器(Multiplexer),译码器(Decoder),编码器(Encoder),寄存器(Register),存储器(Memory),输入电路(InputCircuit),显示电路(DisplayCircuit)6.1计数器的设计6.1.1同

2、步计数器的设计6.1.2异步计数器的设计6.2分频器的设计6.3选择器的设计6.4译码器的设计6.5编码器的设计6.5.1一般编码器的设计6.5.2优先级编码器的设计6.6寄存器的设计6.6.1数码寄存器的设计6.6.2移位寄存器的设计6.6.3并行加载移位寄存器的设计6.7存储器的设计6.7.1只读存储器ROM的设计6.7.2读写存储器SRAM的设计6.8输入电路的设计6.8.1键盘扫描电路的设计6.8.2键盘接口电路的设计6.9显示电路的设计6.9.1数码管静态显示电路的设计6.9.2数码管动态显示电路的设计6.9.2液晶显示控制电路的设计6.1计数器的设计计数器是在数字系统中

3、使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频,定时,产生节拍脉冲和脉冲序列以及进行数字运算等。计数器是一个典型的时序电路,分析计数器就能更好地了解时序电路的特性。计数器分同步计数器和异步计数器两种。6.1.1同步计数器的设计所谓同步计数器,就是在时钟脉冲(计数脉冲)的控制下,构成计数器的各触发器状态同时发生变化的那一类计数器。1)六十进制计数器众所周知,用一个4位二进制计数器可构成1位十进制计数器,而2位十进制计数器连接起来可以构成一个六十进制的计数器。六十进制计数器常用于时钟计数。一个六十进制计数器的外部端口示意图如图6.1所示。在该六十进制计数器的电路中,BC

4、DLWR和BCD10WR与DATAIN配合,以实现对六十进制计数器的个位和十位值的预置操作。应注意,在对个位和十位进行预置操作时,DATAIN输入端是公用的,因而个位和十位的预置操作必定要串行进行。利用VHDL语言描述六十进制计数器的程序如例6.1所示。图6.1六十进制计数器外部端口示意图【例6.1】用VHDL设计一个六十进制计数器(方法1)。--BCD60COUNT.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYBCD60COUNTISPORT(CLK,BCD1WR,B

5、CD10WR,CIN:STD_LOGIC;CO:OUTSTD_LOGIC;DATAIN:INSTD_LOGIC_VECTOR(3DOWNTO0);BCD1:OUTSTD_LOGIC_VECTOR(3DOWNTO0);BCDI0:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDBCD60COUNT;ARCHITECTURERTLOFBCD60COUNTISSIGNALBCD1N:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALBCD10N:STD_LOGIC_VECTOR(2DOWNTO0);BEGINBCD1<=BCD1N;BCDI0<=BCD

6、10N;PROCESS(CLK,BCD1WR)–-个位数处理进程BEGINIF(BCD1WR='1')THENBCD1N<=DATAIN;ELSIF(CLK'EVENTANDCLK='1')THENIF(CIN='1')THENIF(BCD1N=9)THENBCD1N<="0000";ELSEBCD1N<=BCD1N+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK,BCD10WR)–-十位数处理进程BEGINIF(BCD10WR='1')THENBCD10N<=DATAIN(2DOWNTO0);ELSIF(CLK'EVENTANDCLK='1'

7、)THENIF(CIN='1'ANDBCD1N=9)THENIF(BCD10N=5)THENBCD10N<="000";ELSEBCD10N<=BCD10N+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(BCD10N,BCD1N,CIN)–-进位位处理进程BEGINIF(CIN='1'ANDBCD1N=9ANDBCD10N=5)THENCO<='1';ELSECO<='0';ENDIF;ENDPROCESS;ENDRTL;【例6.2】用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。