第3章 VHDL设计初步计数器_第1页
第3章 VHDL设计初步计数器_第2页
第3章 VHDL设计初步计数器_第3页
第3章 VHDL设计初步计数器_第4页
第3章 VHDL设计初步计数器_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDA技术实用教程第3章

VHDL设计初步

与组合电路主要的不同点:带有存储功能基本的时序逻辑电路:触发器,以D触发器最为常见。Q=DCP或CPCP代表时钟信号3.2基本时序电路的VHDL描述

3.2基本时序电路的VHDL描述3.2.1D触发器的VHDL描述

3.2基本时序电路的VHDL描述3.2.1D触发器的VHDL描述

1.上升沿检测表达式和信号属性函数EVENT2.不完整条件语句与时序电路表示当信号发生变化的时刻IF条件表达式语句

没有ELSE(保持)ENDIF3.2基本时序电路的VHDL描述3.2.2VHDL实现时序电路的不同表述

3.2基本时序电路的VHDL描述3.2.2VHDL实现时序电路的不同表述

3.3计数器设计计数器是典型的时序逻辑电路,它用来累计和记忆输入脉冲的个数。是数字系统中很重要的基本操作。计数是计谁的数?主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。本例设计的是一个4位二进制加法计数器。3.3计数器的VHDL设计

3.3计数器的VHDL设计

3.3.14位二进制加法计数器设计Buffer只接收内部信号,不接收外部信号,兼有out功能Out类型端口只能输出,不能与内部信号运算

3.3.2整数类型3.3.3计数器的其他VHDL表达方式

3.3计数器的VHDL设计

3.3.3计数器的其他VHDL表达方式七段(八段)数码管示意图七段(八段)数码管实物图对应的引脚给出相应的编码,即可发光。以共阴极数码管为例,如右图所示。数码管静态显示数码管动态显示把所有数码管的8个笔划段a-h同名端共阳极连在一起,而每一个数码管的公阴极是各自独立地控制。数码管动态显示所有数码管接收到相同的字形码。所有数码管的8个笔划段a-h同名端连在一起,同一个瞬间所有的数码管显示都是相同的。那么在一个屏幕上如何显示0,1,2,3,4,5这样不同的数字呢?

数码管动态显示首先显示一个数,然后关掉.然后显示第二个数,又关掉,那么将看到连续的数字显示,轮流点亮扫描过程中,每位数码管的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。例如数码管显示01234567这么8个数,在实际的工作流程如下:先打开一个数码管送0,然后关掉。打开第二个数码管送1,再关掉,依次向下,由于速度足够快,那么我们将连续的看到01234567。数码管编码caseQis when0=>seg<="11111100";--abcdefgdp0 when1=>seg<="01100000";--1 when2=>seg<="11011010";--2 when3=>seg<="11110010";--3 when4=>seg<="01100110";--4 when5=>seg<="10110110";--5 when6=>seg<="10111110";--6 when7=>seg<="11100000";--7 when8=>seg<="11111110";--8 when9=>seg<="11110110";--9 when10=>seg<="11101110";--a when11=>seg<="00111110";--b when12=>seg<="10011100";--c when13=>seg<="01111010";--d when14=>seg<="10011110";--e when15=>seg<="10001110";--f whenothers=>null;endcase;3.4实用计数器的VHDL设计RSTENCLKCQ(3)COUTCQ(2)CQ(1)CQ(0)CNT10带有异步复位同步使能的十进制加法计数器3.4实用计数器的VHDL设计3.3.3计数器的其他VHDL表达方式接下页3.4实用计数器的VHDL设计接上页3.4实用计数器的VHDL设计3.3.3计数器的其他VHDL表达方式1.十进制计数器相关语法3.4实用计数器的VHDL设计3.3.3计数器的其他VHDL表达方式2.程序分析3.4实用计数器的VHDL设计3.3.3计数器的其他VHDL表达方式2.程序分析3.4实用计数器的VHDL设计3.3.3计数器的其他VHDL表达方式3.时序模块中的同步控制信号和异步控制信号的构建

4.另一种描述方式3.4实用计数器的VHDL设计3.3.3计数器的其他VHDL表达方式3.时序模块中的同步控制信号和异步控制信号的构建

4.另一种描述方式习题3-1画出与以下实体描述对应的原理图符号元件:习题3-2图3-16所示的是4选1多路选择器,试分别用IF_THEN语句、WHEN_ELSE和CASE语句的表达方式写出此电路的VHDL程序,要求选择控制信号s1和s0的数据类型为STD_LOGIC;当s1='0',s0='0';s1='0',s0='1';s1='1',s0='0'和s1='1',s0='1'时,分别执行y<=a、y<=b、y<=c、y<=d。

习题3-3图3-17所示的是双2选1多路选择器构成的电路MUXK,对于其中MUX21A,当s='0'和s='1'时,分别有y<='a'和y<='b'。试在一个结构体中用两个进程来表达此电路,每个进程中用CASE语句描述一个2选1多路选择器MUX21A。习题3-4将3-20程序的计数器改为12进制计数器,程序用例3-21的方式表述,并且将复位RST改为同步清0控制,加载信号LOAD改为异步控制方式。讨论例3-20与例3-21的异同点。3-5设计含有异步清零和计数使能的16位二进制加减可控计数器。3-6图3-18是一个含有上升沿触发的D触发器的时序电路,试写出此电路的VHDL设计文件。

习题3-7给出1位全减器的VHDL描述。要求:(1)首先设计1位半减器,然后用例化语句将它们连接起来,图3-19中h_suber是半减器,diff是输出差,s_out是借位输出,sub_in是借位输入。(2)根据图3-19设计1位全减器。以1位全减器为基本硬件,构成串行借位的8位减法器,要求用例化语句来完成此项设计(减法运算是x–y–sun_in=diffr)。

习题3-8给出一个4选1多路选择器的VHDL描述。选通控制端有4个输入:S0、S1、S2、S3。当且仅当S0=0时:Y=A;S1=0时:Y=B;S2=0时:Y=C;S3=0时:Y=D。3-9分频方法有多种,最简单的是二分频和偶数分频甚至奇数分频,这用触发器或指定计数模的计数器即可办到。但对于现场实现指定分频比或小数分频率的分频电路的设计就不是很简单了。试对例3-20的设计稍作修改,将其进位输出COUT与异步加载控制LOAD连在一起,构成一个自动加载型16位二进制数计数器,也即一个16位可控的分频器,给出其VHDL表述,并说明工作原理。设输入频率fi=4MHz,输出频率fo=516.5±1Hz(允许误差±0.1Hz),16位加载数值=?。3-10用VHDL设计一个功能类似74LS160的计数器。3-11给出含有异步清零和计数使能的16位二进制加减可控计数器的VHDL描述。

习题3-12分别给出以下2个RTL图的VHDL描述,注意其中的D触发器和锁存器的表述。

KHF-5型FPGA实验开发系统简介芯片简介:1、FPGA芯片型号:EP1K100QC208-32、ALTERA公司生产3、集成10万门4、引脚数为208系统资源50MHz、22.1184MHz、1~1MHz时钟16个数据开关、4个脉冲开关、16个LED10个数码管:右边两个为静态显示,其他8个为动态显示A/D转换:ADC0809(8位)、MAX196(12位)D/A转换:DAC08004×4键盘、RS485接口、扩展接口、扬声器、液晶(12864)等引脚设置I/O口引脚引脚资源clk时钟PIN_8022.184M晶振F_IN待测频率PIN_18350M晶振COUT溢出PIN_103LED管H[0]~H[6]十位显示PIN_170172173174175176177右边第二个数码管abcdefgL[0]~L[6]个位显示PIN_161162163164166167168右边第一个数码管abcdefg引脚设置步骤打开编译好的工程;选择菜单Assignment—AssignmentEditor在出现的对话框中将Category项改为PIN;在下面的表格中双击To下面的列选择待分配的输入输出口,双击Location选择FPGA上相应的引脚;把所有引脚设置完成后对工程编译。选菜单Assignment—AssignmentEditor

在页面中Category选Pin进行设置,如下图:

程序下载步骤安装

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论