- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三位计时器
EDA设计实验报告
实验名称:三位计时器电路设计
姓名: 陶洋
学号: 110401337
班级: 电信(3)班
时间: 2013.11.23
一 实验目的
.学会利用顺序语句描述电路的方法。
学习进程、常用顺序语句的使用。
3)掌握分频电路的设计;掌握利用不完整条件语句构成时序逻辑电路的方法。
二 实验原理
内容包括:
设计三位计时器,计时范围0秒-9分59秒,要求电路具有启动、停止、复位三个按钮,时钟频率为1Hz,要求计时器的时间能在数码管上显示。
在上述计时器的设计基础上,修改VHDL代码,要求只用一个按钮轮流实现启动、停止按钮,若连续按该按钮超过2秒,电路将复位。
3)利用实验箱验证所设计电路的正确性。
模块图
其中“clk”为时钟脉冲输入端口,“clr”为清零(或复位)端口,“start”为启动端
“stop”为停止端口,“min0”、“sec0”、“sec1”为输出端口,连接到数码管显示。
该计时电路的结构体主要由两个个进程构成,各进程作用如下:
进程1:在该进程中主要设置计时器计时和保持的功能。
b)进程2:该进程中设置异步清零,设置秒十位、秒个位、分个位的计时。
IF语句
if语句是具有条件控制功能的语句,它根据指定的条件及其条件是否成立来确定语句的执行顺序,其格式如下:
格式1:
if 条件1 then
第1组顺序语句;
Elsif 条件2 then
第2组顺序语句;
… …
Elsif 条件n then
第n组顺序语句;
else
第n+1组顺序语句;
End if;
最优的条件一次要的条件放在后面
2.格式2(嵌套)
If 条件1 then
If 条件2 then
....一组顺序语句
End if;
End if;
3.格式3:
If 条件 then
顺序语句;
Else
顺序语句;
End if;
2.进程语句
进程主要用于描述顺序语句,其格式如下:
Process(敏感信号表)
声明语句;
Begin
顺序语句
End process;
声明语句可以定义一些局部量,可以包括数据类型、常数、变量、属性、子程序等,不能定义信号。进程语句本为一无限循环语句,进程的启动由敏感信号的变化来启动,虽然进程中包含了顺序语句,但是进程本身是并行语句,即同一结构体中不同进程是并行运行的。
2.4 信号和变量
信号代表电路内部信号传输路线,在元件之间起互连作用,相当于连线,可以通过端口和其他模块相连接;变量仅用于局部的电路描述,变量的主要作用是在进程中作为临时的数据存储单元。
三 实验结果与分析
代码,要增加注释;
LIBRARY ieee;
USE ieee.std_logic_1164.all; --调用1164包
USE ieee.std_logic_unsigned.all;
ENTITY clock_37_38 IS --实体名
PORT (ck,start:IN STD_LOGIC; --输入信号
min0,sec0,sec1:OUT STD_LOGIC_VECTOR (0 to 6));
END ; --为输出信号赋值
ARCHITECTURE rhg OF clock_37_38 IS --结构体
signal clk1:std_logic; --
signal reset:std_logic;--
signal converse:std_logic;--
signal clk:std_logic;--
BEGIN
--进程一设置计时器计时和清零的功能
p1: PROCESS (ck)
variable cnt: integer RANGE 0 TO 512;
begin
if reset=1 then
cnt:=0;
elsif ckevent and ck=1 then
cnt:=cnt+1;
if cnt=512 then
clk= not clk;
cnt:=0;
end if;
end if;
end process;
--异步清零功能
p2:process(ck,start,reset)
begin
if reset=1 then
converse=0;
elsif(startevent and start=0) then
converse=not converse;
end if;
end process;
p3: PROCESS (ck,start)
variable cnt
您可能关注的文档
- 一维优化.docx
- 一般红外电视遥控器的输出都是用编码后串行数据对~kHz的方波进行脉冲幅度调制而产生的.doc
- 一轮复习 牛顿第二定律.doc
- 丁均匀.docx
- 一高线年月设备年修项目说明.doc
- 七,大连理工大学博士生入学考试.doc
- 七下数学错题.doc
- 七年上积累竞赛.doc
- 七年核医学乐神总结.doc
- 七年级 第十二章练习.doc
- 3 首届诺贝尔奖颁发 课件(共28张ppt)统编版语文八年级上册.pptx
- 智慧方案5G智慧工地解决方案(115页PPT).pptx
- 智慧方案5G智慧教育大脑及大数据应用建设顶层设计方案(94页PPT).ppt
- 农产品营销学第三版(教学课件)第十一章 农产品期货市场.ppt
- 农产品营销学第三版(教学课件)第三章 农产品消费者分析.ppt
- 某知名企业培训体系建设(36页PPT).ppt
- 智慧方案3DE平台汽车总装数字化制造解决方案(27页PPT).pptx
- 2025届河南省天一小高考高三下学期第四次考试日语试题(无答案).docx
- 2025届宁夏回族自治区吴忠市盐池县高三下学期第三次模拟考试政治试卷(附答案解析).docx
- 2025年山东省聊城市东昌府区中考数学三模试卷(附答案解析).docx
文档评论(0)