- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA数字电路大报告
西安电子科技大学 课程实验报告实验名称 成 绩 学院 班姓名 学号 同作者 实验日期 年 月 日指导教师评语: 指导教师: 年 月 日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果)《EDA》实验报告设计题目: 秒表 学院: 电子工程学院 专业: 电子信息工程 班级: 学号: 姓名: 电子邮件: 日期: 2016年12月7日 成绩: 指导教师: 朱 燕 一 选题目的选择题目秒表,实现秒表功能。并且拥有暂停和清零功能。通过对秒表的设计,初步了解和掌握VHDL语言和Quartus软件,增加实践和动手的机会。二 设计目标该实验的设计目标是设计一个秒表,秒表有秒位和毫秒位,从0记到59’99’,并且有清零和暂停计数功能。(如果想设计一个数字钟,即含有小时位和分钟位,量程从0记到59’59,则改变分频器的分频频率和计数器的范围即可,因为是每1S就进一位,故要50MHZ分频,再设计两个模60计数器)三 实现方案外加功能选择开关,通过其来控制实现何种功能。同时,由于不同功能的器件实现不同,故将这一控制信号加入器件部分。控制信号不同,计数器的工作频率不同(分频器不同),计数器的进制也不同。之后将计数器的输出经过译码电路后输出到数码管上,形成直观输出。秒表VHDL程序设计流程图建立工程设计500000分频器设计模60和模100计数器 生成电路图,设置顶层文件设引脚,编译和下载程序设计数码管译码器原理框图计数器数码管译码器分频器控制信号 秒表实际仿真结果展示四 设计过程分频器模块实验板上提供的CLK输入为50MHZ,现在应根据具体功能进行分频器部分的设计。秒表部分,MS位0.01S计数一次,所以其CLK1应该为100HZ。分频器DIV1实现500KHZ分频。器件仿真如图:程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div is port(clk :in std_logic;clk_out:out std_logic );end div;architecture behavior of div issignal count:integer range 0 to 499999;beginprocessbeginwait until clkevent and clk=1;if(count499999)thencount=count+1;clk_out=0;elsecount=0;clk_out=1;end if;end process;end architecture behavior;计数器模块秒表和数字钟的一个核心部分就是计数器。其中MS位为100进制,S位为六——十60进制。功能的实现如下,MS的低位MSL从0开始计数,直到计满9,MSL位置0,MS的高位MSH加1。直到MSH计满9后,MSH位置0,S的低位SL加1,直到计满9后,SL位置0,SH位加1。SH位计满59后,达到最大量程。同时可加入使能端EN控制计数,实现暂停功能。加入清零端CLC实现清零功能。其模块仿真如图:仿真波形如下:程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10_6 isport(clk_out:in std_logic;en1 :in std_logic;clc1 :in std_logic;msl :out std_logic_vector(3 downto 0);msh :out std_logic_vector(3 downto 0);sl :out std_logic_vector(3 downto 0);sh :out std_logic_vector(3 downto 0) );end count10_6;architecture ff2 of count10_6 issignal al:std_logic_vector(3 downto 0);signal ah:std_logic_vector(3 downto 0);signal bl:std_logic_vector(3 downto 0);signal bh:std_logic_vector(3 downto 0);beginprocess(clk_out,en1,clc1)beginif(
文档评论(0)