实验四_十二进制计数器.doc

上传人:M****1 文档编号:546284774 上传时间:2023-12-04 格式:DOC 页数:4 大小:393.51KB
返回 下载 相关 举报
实验四_十二进制计数器.doc_第1页
第1页 / 共4页
实验四_十二进制计数器.doc_第2页
第2页 / 共4页
实验四_十二进制计数器.doc_第3页
第3页 / 共4页
实验四_十二进制计数器.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验四_十二进制计数器.doc》由会员分享,可在线阅读,更多相关《实验四_十二进制计数器.doc(4页珍藏版)》请在金锄头文库上搜索。

1、桂林电子科技大学EDA技术及应用实验报告(实验四)实验名称:12进制计数器生命与环境科学学院 生物医学工程作者:学号:实验日期:2012年10月9日一、 实验目的:1、 掌握12进制计数器的VHDL程序设计和其设计原理2、 了解计数器的功能二、 实验内容:分别定义clk、clr和en为输入端口,q为四位输出端口。Qa为标准逻辑矢量,clk输入时钟信号,clr输入清零信号,en为使能端,其为高电平是开始工作,它控制是否开始计数。clr高电平清零。当时钟处于上升沿时,开始计数一次,qa值加1。计数值满11时,清空qa。三、 实验设计及步骤:1、程序代码:library ieee;use ieee.

2、std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cout12 isport(clk,clr,en:in std_logic;q:out std_logic_vector(3 downto 0);end cout12;architecture a of cout12 issignal qa:std_logic_vector(3 downto 0);beginq=qa;process(clk,clr)beginif(clr=1) then -如果clr为高电平,清零qa=0000;elsif(clk=1 and clkevent)

3、 then -如果时钟信号处于上升沿if(en=1) then -en高电平,执行、if(qa=1011) then -如果计数满11,置零qa=0000;elseqaNetlist Viewers-RTL Viewer 可以得到:2、如果代码中没有定义逻辑矢量qa会如何?即:结果有出错信息,Error (10309): VHDL Interface Declaration error in tanjiu.vhd(18): interface object q of mode out cannot be read. Change object mode to buffer. 后来我查了下资料,

4、端口说明是为设计实体和其外部环境的动态通信提供通道,是对基本设计实体与外部接口的描述,及对外部引脚信号的名称、数据类型和输入、输出方向的描述。所以我猜想q是外部信号的名称,它并不能实现一个内部逻辑矢量的运算。故,必须要定义一个标准逻辑矢量qa。 八、 实验小结通过这次实验,我对12进制计数器的理解是,它的功能有点像秒表吧,有个控制开始计数的开关,还有清除数据的控制键,但是它的计数范围只是从0到11。我明白了12进制计数器VHDL的设计方法和设计原理,也基本了解其工作原理。对其时序仿真的分析,这里也是有一个时钟信号的驱动,当时钟信号处于上升沿状态,就在原来的基础上计数一次,前提是计数器工作,及不处于清0状态。但是,从RTL Viewer那里得到的那个原理图,不是很明白。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号