- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]实训十七 基本单元电路的VHDL设计
实训十七 基本单元电路的VHDL设计
本章提要:本章介绍了数字系统设计中经常用到的计数器,分频器,选择器,译码器,编码器,寄存器,存储器,输入电路,显示电路等基本单元电路的VHDL程序设计。学习要求:在教师讲授这些基本单元电路的设计思想的基础上,通过上机调试熟练掌握这些基本单元电路的设计。关键词:计数器(Counter),分频器(Divder),选择器(Multiplexer),译码器(Decoder),编码器(Encoder),寄存器(Register),存储器(Memory),输入电路(Input Circuit),显示电路(Display Circuit)6.1 计数器的设计6.1.1 同步计数器的设计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 计数器的设计计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频,定时,产生节拍脉冲和脉冲序列以及进行数字运算等。计数器是一个典型的时序电路,分析计数器就能更好地了解时序电路的特性。计数器分同步计数器和异步计数器两种。6.1.1 同步计数器的设计所谓同步计数器,就是在时钟脉冲(计数脉冲)的控制下,构成计数器的各触发器状态同时发生变化的那一类计数器。1) 六十进制计数器众所周知,用一个4位二进制计数器可构成1位十进制计数器,而2位十进制计数器连接起来可以构成一个六十进制的计数器。六十进制计数器常用于时钟计数。一个六十进制计数器的外部端口示意图如图6.1所示。在该六十进制计数器的电路中,BCDLWR和BCD10WR与DATAIN配合,以实现对六十进制计数器的个位和十位值的预置操作。应注意,在对个位和十位进行预置操作时,DATAIN输入端是公用的,因而个位和十位的预置操作必定要串行进行。利用VHDL语言描述六十进制计数器的程序如例6.1所示。图6.1 六十进制计数器外部端口示意图【例6.1】 用VHDL设计一个六十进制计数器(方法1)。 --BCD60COUNT.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BCD60COUNT ISPORT(CLK,BCD1WR,BCD10WR,CIN:STD_LOGIC;CO:OUT STD_LOGIC;DATAIN:IN STD_LOGIC_VECTOR (3 DOWNTO 0);BCD1:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);BCDI0:OUT STD_LOGIC_VECTOR (2 DOWNTO 0));END BCD60COUNT;ARCHITECTURE RTL OF BCD60COUNT ISSIGNAL BCD1N:STD_LOGIC_VECTOR (3 DOWNTO 0);SIGNAL BCD10N:STD_LOGIC_VECTOR (2 DOWNTO 0);BEGINBCD1=BCD1N;BCDI0=BCD10N;PROCESS (CLK,BCD1WR) –-个位数处理进程BEGIN IF (BCD1WR=1) THENBCD1N=DATAIN;ELSIF (CLKEVENT AND CLK=1) THENIF (CIN=1) THEN IF (BCD1N=9) THENBCD1N=0000;ELSEBCD1N=BCD1N+1;END IF;END IF;END IF; END PROCESS; PROCESS (CLK,BCD10WR) –-十位数处理进程BEGINIF (BCD10WR=1) THENBCD10N=DATAIN (2 DOWNTO 0);ELSIF (CLKEVENT AND CLK=1) THENIF (CIN=1 AND BCD1N=9) THENIF (BCD10N=5) THENBCD10N=000;ELSE BCD10N=BCD10N+1;E
您可能关注的文档
最近下载
- 废旧塑料购销合同6篇.docx VIP
- 山东省烟台市芝罘区2022-2023学年七年级(五四学制)上学期期中地理试题(含答案).docx VIP
- 建筑工程施工技术交底大全.docx
- 柔性光伏钢构及组件安装施工方案.docx VIP
- 中成药学讲稿祛暑中成药.docx VIP
- 石油化工企业设计防火规范(GB50160-2018-).doc
- 山东省烟台市芝罘区(五四制)2023-2024学年六年级上学期期中考试生物试题(解析版).docx VIP
- 医疗机构医院感染管理专职人员管理办法(2020年版).pdf
- 南宁师范大学信息技术课程与教学考研真题试题2019年.pdf
- 加强风电设备管理提升风机可利用率(电力系统及自动化范文).doc
文档评论(0)