网站大量收购独家精品文档,联系QQ:2885784924

EDA课设 动态输出4位十进制频率计的设计.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 任 务 书 专 业 电子信息工程 班 级 姓 名 设 计 起 止 日 期 2012-12-31~2013-1-6 设计题目: 动态输出4位十进制频率计的设计 设计任务: 1. 学习掌握频率计的设计方法。 2. 掌握动态扫描输出电路的实现方法。 3. 学习较复杂的数字系统设计方法 指导教师评语: 成绩: 签字: 年 月 日 动态输出4位十进制频率计的设计 一、课程设计的目的与要求 课程设计的目的: 《EDA技术及应用》是电子信息科学与技术专业学生在电子技术实验技能方面综合性质的实验训练课程,其目的和任务是通过一周的时间,让学生掌握EDA的基本方法,熟悉一种EDA软件(VHDL),并能利用EDA软件设计一个电子技术综合问题,为以后进行工程实际问题的研究打下设计基础。 课程设计的要求: 通过课程设计,能熟练掌握一种EDA软件(VHDL)的使用方法,能利用EDA软件(VHDL)进行至少一个电子技术综合问题的设计。初步具有分析、寻找和排除电子电路中常见故障的能力。 二、设计步骤 1.设计所需模块 4位十进制频率计外部接口如图1所示,顶层文件如图2所示,包含4中模块;Tctl、reg16、scan_led和4个cnt10。 图1 四位十进制频率计的外部接口 其中各个端口说明如下: F1Hz:给Tctl模块提供1Hz的频率输入。 Fin:被测频率输入。 scan_led:给scan_led模块提供扫描输入频率输入。 bt[1..0]:片选信号输出。 sg[6..0]:译码信号输出。 cout:进位输出。 2.模块说明 cnt10模块说明 cnt10为含异步清零和同步时钟使能的十进制计数器,采用级联的方法进行计数,计数范围与所用cnt10级联个数有关,本次设计采用的是四个cnt10的级联,所以测频范围为0~9999Hz。 计数模块cnt10的源代码如下所示: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt10 IS PORT(rst,en,clk:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout:OUT STD_LOGIC); END cnt10; ARCHITECTURE BEHAV OF cnt10 IS SIGNAL cnt:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(rst,en,clk) BEGIN IF rst=1THEN cnt=0000; ELSIF(clkEVENT AND clk=1)AND en=1THEN IF cnt=1001THEN cnt=0000; cout=1; ELSE cnt=cnt+1; cout=0; END IF; END IF; END PROCESS; Q=cnt; END BEHAV; Tctl模块说明 根据频率的定义和测量的基本原理,测定信号的频率必须有一个脉宽为1秒的对输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期做准备的计数器清0信号。这三个信号可以由一个测频控制信号发生器Tctl产生,其设计要求是Tctl的计数使能信号en能产生一个1秒脉宽的周期信号,并对频率计的每一计数器cnt10的en使能进行同步控制、当en高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号load的上升沿将计数器前1秒钟的计数值锁存进各锁存器reg16中,并由外部的译码器译出并显示计数值。锁存信号之后,必须有一清零信号rst对计数器进行清零,为下1秒钟的技术操作做准备。 控制模块Tctl源代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY Tctl IS PORT ( clkk: IN STD_LOGIC; en,rst,load: OUT STD_LOGIC); END; ARCHITECTURE behav OF Tctl IS SIGNAL div2clk: STD_LOGIC; BEGIN PROCESS(clkk) BEGIN IF clkkEVENT AND clkk=1THEN div2clk = NOT

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档