EDA设计论文1_第1页
EDA设计论文1_第2页
EDA设计论文1_第3页
EDA设计论文1_第4页
EDA设计论文1_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、I湖北国土资源职业学院毕毕业业设设计计(论论文文)题题 目:目: EDA 数字钟设计 学生姓名学生姓名 马芳 指导教师指导教师 系(部)系(部) 机电工程系 专专 业业 应用电子技术 班班级级 0501 学学号号 51205129 提交日期 2008 年 7 月 1 日 答辩日期 2008 年 7 月 6 日 2008 年 7 月 3 日IIEDAEDA 数字钟设计数字钟设计摘 要随着科学研究与技术开发的市场化,采用传统的电子设计手段在较短的时间内完成复杂电子系统的设计,已经越来越难完成了。EDA (Electronics Design Automation)技术是随着集成电路和计算机技术的飞

2、速发展应运而生的一种高级、快速、有效的电子设计自动化工具。数字钟学习的目的是掌握各类计数器及它们相连的设计方法;掌握多个数码管显示的原理与方法;掌握 FPGA 技术的层次化设计方法;掌握用 VHDL 语言的设计思想以及整个数字系统的设计。此数字钟具有时,分,秒计数显示功能,以 24 小时为计数循环;能实现清零,调节小时,分钟以及整点报时的功能。关键词:数字钟,计数器,数码管,FPGA,VHDLIII目录目录1 前 言.11.1 选题的目的意义.12. 思路与方案选择.12.1 设计思路.12.2 数字钟方案选择.23. 单元模块设计部分.23.1 CN6 模块的设计.23.2 SEL61 模块

3、的设计.33.3 DISP 模块的设计.43.4 K4 模块的设计.63.4.1 CNT10 模块设计.63.4.2 CNT6 模块设计.83.4.3 CNT101 模块设计.93.4.4 CNT61 模块的设计.113.4.5 CNT23 模块设计.124.系统仿真.144.1 数字钟仿真图.144.2 数字钟编译报告.154.3 数字钟原理图.155.小结.16致 谢.16参考文献.17关于关于EDA数字钟的设计数字钟的设计11 1 前前 言言1.11.1 选题的目的意义选题的目的意义 EDA(电子线路设计自动化)是以计算机为工作平台、以硬件描述语言(VHDL)为设计语言、以可编程器件(C

4、PLDFPGA)为实验载体、以 ASICSOC芯片为目标器件、进行必要的元件建模和系统仿真的电子产品自动化设计过程。EDA 是电子设计领域的一场革命,它源于计算机辅助设计,计算机辅助制造、计算机辅助测试和计算机辅助工程。利用 EDA 工具,电子设计师从概念,算法、协议开始设计电子系统,从电路设计,性能分析直到 IC 版图或 PCB版图生成的全过程均可在计算机上自动完成。EDA 代表了当今电子设计技术的最新发展方向,其基本特征是设计人员以计算机为工具,按照自顶向下的设计方法,对整个系统进行方案设计和功能划分,由硬件描述语言完成系统行为级设计,利用先进的开发工具自动完成逻辑编译、化简、分割、综合、

5、优化、布局布线、仿真及特定目标芯片的适配编译和编程下载,这被称为数字逻辑电路的高层次设计方法。2.2. 思路与方案选择思路与方案选择2.12.1 设计思路设计思路基于 VHDL 语言,用 Top_Down 的思想进行设计。确定总体结构,如图 1-1 所示: 图 1-1关于关于EDA数字钟的设计数字钟的设计22.22.2 数字钟方案选择数字钟方案选择方案一是用 CN6 无进位六进制计数器选择数码管的亮灭以及对应的数,循环扫描显示,用 SEL61 六选一选择器选择给定的信号输出对应的数送到七段码译码器。K4模块进行复位,设置小时和分,输出整点报时信号和时,分,秒信号。作品中选方案二。方案二也采用自

6、顶向下的设计方法,它由秒计数模块,分计数模块,小时计数模块,报警模块,秒分时设置模块和译码模块六部分组成。两者设计方式,功能实现方面都差不多,作品中选择的是方案一。3.3. 单元模块设计部分单元模块设计部分单元模块设计部分分四个部分,介绍数字钟选择显示数码管和对应的数模块 CN6,信号选择模块 SEL61,七段码译码器模块 DISP 和复位,秒,分,时显示,设置模块。3.13.1 CN6CN6 模块的设计模块的设计即无进位的六进制计数器,由此提供选择信号,可提供选择信号,选择显示的数码管及对应的数,循环扫描显示。如图 1-2 图 1-2library ieee;use ieee.std_log

7、ic_1164.all;use ieee.std_logic_unsigned.all;entity cn6 is port(res,clk : in std_logic;关于关于EDA数字钟的设计数字钟的设计3 cout : out std_logic_vector(2 downto 0);end cn6;architecture rtl of cn6 is signal q : std_logic_vector(2 downto 0);begin process(res,clk) begin if res=0 then q=000; elsif(clkevent and clk=1) th

8、en if(q=5) then q=000; else q=q+1; end if; end if; end process;coutcout:=a; when 001=cout:=b; when 010=cout:=c; when 011=cout:=d; when 100=cout:=e; when others=cout:=f; end case; q qqqqqqqqqqq=0000000; end case; end process;end one;关于关于EDA数字钟的设计数字钟的设计63.43.4 K4K4 模块的设计模块的设计图 1-5如图 1-5,RES 是整个系统的复位键,

9、低电平有效,复位时,各个输出都为零,时间显示 0 时 0 分 0 秒;clk 是输入时钟,提供秒信号,上升沿触发,每出发一次,时间增加一秒;HRTMP,MIN10TMP,MINTMPKEYI 可以分别设置小时位,10 分位,分位,起到调时的作用,高电平有效,有效时,每来一个 CLK 时钟(1s) ,所对应的位都将以各自的计数循环;RING 是整点报时;SEC,SEC10,MIN,MIN10,HR,HR10 都输出四位 BCD 码,用于计数。3.4.1 CNT10 模块设计10 进制计数器。CLK 为秒信号;RES 是复位信号,与 CLK 同步;EN 为选通信号;COUT3.0输出秒个位;CA

10、是进位信号。如图 1-6 所示。 图 1-6library ieee;use ieee.std_logic_1164.all;关于关于EDA数字钟的设计数字钟的设计7use ieee.std_logic_unsigned.all;entity cnt10 is port(en,res,clk: in std_logic; ca : out std_logic; cout : out std_logic_vector(3 downto 0);end;architecture rtl of cnt10 is signal q : std_logic_vector(3 downto 0);begin

11、 p1 : process(en,clk,res) begin if(clkevent and clk=1) then if(res=0) then q=0000; elsif(en=1) then if(q=9) then q=0000; else q=q+1; end if; end if; end if; end process p1; p2 : process(q) begin if(q=9) then ca=en; else ca=0; end if;关于关于EDA数字钟的设计数字钟的设计8 end process p2; cout=q;end rtl;3.4.2 CNT6 模块设计

12、即进制计数器,CLK 为秒信号;RES 为复位信号,与 CLK 同步;EN 为选通信号;COUT3.0输出秒的十位;CA 是进位信号。如图 1-7 所示。 图 1-7library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt6 is port(en,res,clk: in std_logic; ca : out std_logic; cout : out std_logic_vector(3 downto 0);end;architecture rtl of cnt6 is signal

13、 q : std_logic_vector(3 downto 0);begin p1 : process(en,clk,res) begin if(clkevent and clk=1) then if(res=0) then q=0000;关于关于EDA数字钟的设计数字钟的设计9 elsif(en=1) then if(q=5) then q=0000; else q=q+1; end if; end if; end if; end process p1; p2 : process(q) begin if(q=5) then ca=en; else ca=0; end if; end pro

14、cess p2; cout=q;end rtl;3.4.3 CNT101 模块设计即十进制计数器,输出分的个位。EN 接 CNT6 的进位 CA,产生正常的时钟;EN2 由外部断口控制,可用来调节时间,高电平有效,输出将以秒的速度递增循环。如图 1-8 所示。关于关于EDA数字钟的设计数字钟的设计10图 1-8library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt101 is -output minitutes gewei port(en2,en,res,clk : in std_l

15、ogic; ca : out std_logic; -jingwei cout : out std_logic_vector(3 downto 0);end;architecture rtl of cnt101 is signal q : std_logic_vector(3 downto 0);begin p1 : process(en,en2,clk,res) begin if(clkevent and clk=1) then if(res=0) then q=0000; elsif(en=1or en2=1) then if(q=9) then q=0000; else q=q+1; e

16、nd if; end if; end if; end process p1; p2 : process(q) begin if(q=9) then关于关于EDA数字钟的设计数字钟的设计11 ca=en; else ca=0; end if; end process p2; cout=q;end rtl;3.4.4 CNT61 模块的设计六进制计数器,输出分的各位。EN 接 CNT101 的进位 CA,产生正常的时钟;EN2由外部端口控制,可用来调节时间,高电平有效,输出分的十位将以秒的速度递增循环。如图 1-9 所示。图 1-9library ieee;use ieee.std_logic_1

17、164.all;use ieee.std_logic_unsigned.all;entity cnt61 is -output minitutes shiwei port(en2,en,res,clk : in std_logic; ca : out std_logic; -jingwei cout : out std_logic_vector(3 downto 0);end;architecture rtl of cnt61 is signal q : std_logic_vector(3 downto 0);关于关于EDA数字钟的设计数字钟的设计12begin p1 : process(e

18、n,en2,clk,res) begin if(clkevent and clk=1) then if(res=0) then q=0000; elsif(en=1or en2=1) then if(q=5) then q=0000; else q=q+1; end if; end if; end if; end process p1; p2 : process(q) begin if(q=5) then ca=en; else ca=0; end if; end process p2; cout=q;end rtl;3.4.5 CNT23 模块设计24 进制计数器,输出时个位和时十位,由两个

19、选通信号 EN 和 EN2 控制,EN2 用来调时。如图 1-10 所示。关于关于EDA数字钟的设计数字钟的设计13图 1-10library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt23 is port(en2,en,res,clk : in std_logic; a,b : out std_logic_vector(3 downto 0);end;architecture rtl of cnt23 is signal aout,bout : std_logic_vector(3 d

20、ownto 0);begin p1 : process(en,en2,clk,res) begin if(res=0) then aout=0000; bout1 then if aout2 then aout=0000 ; bout=0000; else aout=aout+1;关于关于EDA数字钟的设计数字钟的设计14 end if; elsif(aout=9) then aout=0000; bout=bout+1; else aout=aout+1; end if; end if; end if;end process p1 ;end rtl;4.4.系统仿真系统仿真 4.14.1 数字钟仿真图数字钟仿真图关于关于EDA数字钟的设计数字钟的设计154.24.2 数字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论