- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《电子设计自动化技术》EDA实训指导书
CSH
前 言
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助 设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。VHDL是一门非常重要的、是目前标准化程度最高的硬件描述语言。它在1987年就被IEEE采纳为IEEE#1076标准。用其书写的源文件既是程序又是文档,既是工程技术员之间交换信息的文件,以可作为合同签约者之间的文件。
在《电子设计自动化技术》课程的理论学习中,我们已仔细地介绍了基本数字电路的VHDL描述,为进一步掌握VHDL的综合应用,通过专门实训周以加强实践操作能力。本次实训现提供以上几个数字系统综合课题供大家进行分析 练习 修改与矿。为了提高分析 实践效果,
在此只提供简单的课题框图与注释作为提示。同时将VHDL源代码给出以便对照调试之用。
课题1 带数字显示的秒表
设计任务及要求
设计一块用数码管显示的秒表。
能够准确的计时并显示。
开机显示00.00.00。
用户可随时清零、暂停、计时。
最大计时59分钟,最小精确到0.01秒。
可选器件
EPM-2、共阴极七段数码管、发光二极管、按键开关、电阻、电容。
设计总体框图
数字显示器的秒表总体框图如图1所示。
图1带数字显示的秒表总体框图
源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity watch is
port (sel:out std_logic_vector(6downto1); ——信号。
seg:out std_logic_vector(7downto 0); ——管的输出信号。
beginstop:in std_logic;——、停止计数。
reset:in std_logic; ——复位
cp2:in std_logic);
end watch;
architecture behave of watch is
signal numl:std_logic_vector(3downto0);
signal num2:std_logic_vector(3downto 0);
signal num3:std_logic_vector (3 downto 0);
signal num4:std_logic_vector (3 downto 0);
signal num5:std_logic_vector(3 downto 0);
signal num6:std_logic_vector(3 downto 0);
signal num: std_logic_vector(3 downto 0);
signal numlet:std_logic_vector(2 downto 0);
signal count:std_logic_vector( 17 downto 1);
signal selsig:std__logic_vector(6 downto 1);
signal segsig:std_logic_vector(7 downto 0);
signal cp1:std_logic;
signal cp3:std_logic;
begin
process(cp2)——分频。
Begin
If(cp2’event and cp2=’1’)then
If(count=””)then
count=””;cp1=not cp1;
else count=count+1;
end if;
end if;
cp3=count(10);
end process;
process(cp1)——计数控制。
Begin
If reset=’1’ then nu
文档评论(0)