1、EDA课设实验报告北 华 航 天 工 业 学 院综合实践总结报告 综合实践名称: EDA技术与实践 数字秒表设计 综合实践地点、时间: 专业班级: 一、概述秒表的逻辑结构主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键的是如何获得一个精确的100Hz计时脉冲,除此之外,整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器报警。二、综合实践目的1掌握多位计
2、数器相连的设计方法2掌握十进制、六进制计数器的设计方法3巩固多位共阴极扫描显示数码管的驱动及编码4掌握扬声器的驱动5. 掌握EDA技术的层次化设计方法 三、综合实践具体内容和记录1、硬件电路设计 计数器设计这里需要四个十进制计数器(分别作为数字秒表的百分之一秒、十分之一秒、秒和分)和两个六进制计数器(分别作为数字秒表的十秒和十分),当要停止计数时,START端置0;当要计数器清零时,CLR端置0.2程序设计及仿真波形十进制计数器(count10.vhd)四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数,其程序如下:library ieee;use ieee.std_logi
3、c_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity count10 isport( clr,start,clk:in std_logic; cout:out std_logic; daout:buffer std_logic_vector(3 downto 0);end count10;architecture behave of count10 isbeginprocess(clr,start,clk)beginif clr=1 then daout=0000; elsif ( clke
4、vent and clk=1) then if start=1 then if daout=1001 then daout=0000;cout=1; else daout=daout+1;cout=0; end if; end if;end if;end process;end behave;六制计数器(count6vhd)两个6进制计数器:用来分别对十秒和十分进行计数,其程序如下: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count6 is port (clk,clr,st
5、art:in std_logic; daout:out std_logic_vector(3 downto 0); cout:out std_logic ); end count6;architecture behave of count6 is signal temp:std_logic_vector(3 downto 0);beginprocess(clk,clr) begin if clr=1 then temp=0000; cout=0101 then temp=0000; cout=1; else temp=temp+1; cout=0; end if; end if; end if
6、; end process;daout=temp; end behave;蜂鸣器(alarm.vhd)其程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity alarm isport(clk,I:in std_logic; q:out std_logic );end alarm;architecture behave of alarm issignal n:integer range 0 to 20;signal q0:std_logic;beginprocess(clk)beg
7、in if clkevent and clk=1thenif i=0 then q0=0;n=0;elsif n=19 and i=1 thenq0=not q0;n=n+1;else q0=0;end if;end if;end process;qledledledledledledledledledledled=1111111; end case; end process;end behave; 选择器(seltime.vhd)其程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ent
8、ity seltime is port(clr,clk: in bit; dain0,dain1,dain2,dain3,dain4,dain5: in std_logic_vector(3 downto 0); sel: out std_logic_vector(2 downto 0); daout: out std_logic_vector(3 downto 0);end seltime;architecture behave of seltime is signal temp:integer range 0 to 5;begin process(clk) begin if (clr=1)
9、 then daout=0000; sel=000; temp=0; elsif (clk=1and clkevent) then if temp=5 then temp=0; else tempsel=000;daoutsel=001;daoutsel=010;daoutsel=011;daoutsel=100;daoutsel=101;daout=dain5; end case; end if; end process;end behave; 四:数字秒表的原理图系统仿真结果:五:心得体会:通过这次课程设计,我对用EDA技术设计简单器件有了进一步的了解,在设计过程中,计数器的设计让我对数字
10、电路加深了了解,在一开始时总是会出现多多少少的错误,通过课本、翻阅资料,对照教材上类似的秒表设计的相关文件,对模块的结构及原理有了更深的认识,所以编程的时候才能得心应手。对VHDL语言的使用也有了进一步的加强,对所用到的软件有了更加深刻的了解,这对我们以后的学习和工作有很大的帮助。本实验综合性较高,让我们学习到了怎么去下载程序,也懂得了分频原理,懂得LED灯的显示原理,使得我们的知识更加丰富与实用。课设期间也发现了自己的很多不足,但是通过自己动手动脑,既增加了知识,又对专业知识得到了提升。课设对于我们来说是锻炼,是成长,短短的几天,虽然忙碌,却很充实。虽然这并不是什么伟大的设计,但是我们了解软件的元件管理深层含义,以及模块元件之间的连接概念,熟悉了FPGA设计的调试过程中手段的多样化,看着自己的成果,让我们感到一种小小的成就感,对电子系统的设计有了浓厚的兴趣。这次课设带给我锻炼一定会有更深的意义和影响。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1