- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
十进制计数器
EDA 实验一:十进制计数器
(2013-05-25 00:38:40)
转 载 ▼
标签:
杂谈
实验一 QuartusII 的
VHDL 输入设计
应用
QuartusII 完成基本时序电路的设计
姓名:李静 学号:1023019857 日
期:2013-05-22
(一)实验目的:
熟悉Quartus Ⅱ的VHDL 文本设计过程,学习简单时序
电路的设计、仿真和测试。
(二)实验仪器:
计算机一台, ALTERA 公司Cyclone 系列的EP1C3TC144
芯片实验箱。
(三)实验原理:
对于异步清零和同步加载与时钟使能的计数器:当时
钟信号CLK、复位信号RST、时钟使能信号EN 或加载信号LOAD
中任一信号发生变化,都将启动进程。此时如果RST 为
‘0’,将计数器清零,该操作独立于CLK,如果RST 为
‘1’,则看是否有时钟信号的上升沿,如果有且EN=
‘1’,接下去是判断加载控制信号LOAD 的电平,如果LOAD
为低电平,则允许将输入口的四位加载数据置入计数器中,以
便计数器在此基础上累计计数。如果LOAD 为高电平,则允许计
数器计数;此时若数值小于9,计数器将进行正常计数,否则
计数器清零。但如果EN=‘0’,则计数器保持原值不变。
(四)实验内容:
设计含异步清零和同步加载与时钟使能的计数器(使用例3-
20) ,给出程序设计、软件编译、仿真分析、硬件测试及详细实
验过程。
实验程序:
【例3 一20】:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
PORT (CLK,RST,EN,LOAD : IN STD_LOGIC;
DATA : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO
0);
COUT : OUT STD_LOGIC );
END CNT10;
ARCHITECTURE behav OF CNT10 IS
BEGIN
PROCESS(CLK, RST, EN,LOAD)
VARIABLE Q : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST = 1 THEN Q:= (OTHERS =0) ; --计数器异步复
位
ELSIF CLKEVENT AND CLK=1 THEN --检测时钟上
升沿
IF EN = 1 THEN --检测是否允许计数(同步使能)
IF LOAD = 0 THEN Q:= DATA;ELSE -- 由LOAD=0装载
新数据
IF Q 9 THEN Q:= Q + 1; --允许计数,检测是否小于9
ELSE Q:= (OTHERS =0); --大于9,计数值清零
END IF;
END IF;
END IF;
END IF;
IF Q = 1001 THEN COUT = 1; --计数大于9,输出进位信
号
ELSE COUT = 0;
END IF;
DOUT = Q; --将计数值向端口输出
END PROCESS;
END behav;
实验内容Ⅱ:
引脚锁定以及硬件下载测试。若选择目标器件是EP1C3,建
议选实验电路模式5 (具体电路图见说明书),用时钟CLOCK0
(93 引脚)接到CLK 上,用键1(PIO0,引脚号为1)控制RST;
用键2(PIO1,引脚号为2)控制EN;用键3(PIO2,引脚号为3)
控制LOAD;用键4~7 控制LOAD;输出数
文档评论(0)