EDA课程设计-基VHDL语言的定时器设计.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计-基VHDL语言的定时器设计

基于VHDL语言的定时器设计 一、EDA技术简介 1. 电子技术的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅助进行三方面的设计工作,即IC设计、电子电路设计和PCB设计。EDA技术已有30年的发展历程,大致可分为三个阶段。70年代为计算机辅助设计(CAD)阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作。80年代为计算机辅助工程(CAE)阶段。与CAD相比,CAE除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE的主要功能是:原理图输人,逻辑仿真,电路分析,自动布局布线,PCB后分析。90年代为电子系统设计自动化(EDA)阶段。   EDA技术的基本特征EDA代表了当今技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的技术 传统的定时器硬件连接比较复杂,可靠性差,而且计时时间短,难以满足需要。本设计采用可编程芯片和VHDL语言进行软硬件设计,不但可使硬件大为简化,而且稳定性也有明显提高。由于可编程芯片的频率精度可达到50 MHz,因而计时精度很高。完全可以满足用户的需要,使用也更为方便。 系统设计框图 图1 减法器既实现11秒倒计时功能 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt10 is port (clk,rst,en : in std_logic; cq: out std_logic_vector(3 downto 0); count : out std_logic); end ; Architecture arch of cnt10 is begin process(clk, rst, en) Variable cqi: std_logic_vector(3 downto 0); begin If rst= 1 then cqi:=1010; Elsif clkevent and clk=1 then If en=1 then If cqi 0000 then cqi:=cqi-1; Else cqi:=1010; end if; end if; end if; If cqi= 0000 then count = 1 ; Else count = 0; End if; Cq = cqi; end process; end arch; 仿真波形 图2.1 图2.2 如上图可见,当en为高电平,rst为低电平,实现了从10到0的倒数,即11秒倒计时功能。每当到0时count就会进位变为一,否则就为0.。从图中可见,出现了毛刺现象。 综合结果 图2.3 共阴七段数码管显示 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY del IS PORT(key: IN STD_LOGIC_VECTOR(3 DOWNTO 0); legda: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END ENTITY; ARCHITECTURE one OF del IS BEGIN PROCESS(key) BEGIN CASE key IS WHEN 0000=legda=0111111; WHEN 0001=legda=0000110; WHEN 0010=legda=1011011; WHEN 0011=legda=1001111; WHEN 0100=legda=1100110; WHEN 0101=legda=1

文档评论(0)

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

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

1亿VIP精品文档

相关文档