最新EDA课程设计数字秒表.doc
《最新EDA课程设计数字秒表.doc》由会员分享,可在线阅读,更多相关《最新EDA课程设计数字秒表.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateEDA课程设计数字秒表数字秒表的设计课 程 设 计题 目 数字秒表设计 院 系 信息工程学院 班级 姓名 指导教师 -目录第一章 :系统设计要求.3第二章 :实验目的.3第三章 :实验原理.3第四章 :系统设计方案.3第五章 :主要VHDL源程序.4 1) 十进制计数器的VHDL源程序.42) 六进制计数器的VHDL源程序.5 3)蜂鸣器的VHDL源程序.5 4)译码
2、器的VHDL源程序.65)控制选择器的VHDL源程序.76)元原件例化的VHDL源程序.8第六章:系统仿真.10第七章:系统扩展思路.11第八章:设计心得总结.11数字秒表的设计一、 系统设计要求 1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。当计时达60分钟后,蜂鸣器鸣响10声。 2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。 3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。在整个秒表中最关键的是如
3、何获得一个精确的100HZ计时脉冲。二、 实验目的通过本次课设,加深对EDA技术设计的理解,学会用Quartus工具软件设计基本电路,熟练掌握VHDL语言,为以后工作使用打下坚实的基础。三、 实验原理秒表由于其计时精确,分辨率高(0.01秒),在各种竞技场所得到了广泛的应用。秒表的工作原理与数字时基本相同,唯一不同的是秒表的计时时钟信号,由于其分辨率为0.01秒,所以整个秒表的工作时钟是在100Hz的时钟信号下完成。当秒表的计时小于1个小时时,显示的格式是mm-ss-xx(mm表示分钟:059;ss表示秒:059;xx表示百分之一秒:099),当秒表的计时大于或等于一个小时时,显示的和多功能时
4、钟是一样的,就是hh-mm-ss(hh表示小时:099),由于秒表的功能和钟表有所不同,所以秒表的hh表示的范围不是023,而是099,这也是和多功能时钟不一样的地方。在设计秒表的时候,时钟的选择为100Hz。变量的选择:因为xx(0.01秒)和hh(小时)表示的范围都是099,所以用两个4位二进制码(BCD码)表示;而ss(秒钟)和mm(分钟)表示的范围是059,所以用一个3位的二进制码和一个4位的二进制码(BCD)码表示。显示的时候要注意的问题就是小时的判断,如果小时是00,则显示格式为mm-ss-xx,如果小时不为00,则显示hh-mm-ss。四、 系统设计方案秒表的逻辑结构较简单,它主
5、要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。四个10进制计数器:用来分别对百分之一秒、十分之一秒、秒和分进行计数;两个6进制计数器:用来分别对十秒和十分进行计数;分频器:用来产生100HZ计时脉冲;显示译码器:完成对显示的控制。 根据电路持点,用层次设计概念将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。按适配划分后的管脚定位,同相关功能块硬件电路接口连线。用VHDL语言描述所有底层模块。清零信号为异步清零。当最高位记到6时 停止计数 显示译码器全部显示零,并发出十声警报声。按下复位按钮后继续计数。数字秒表拟由单片的CPLD/FPGA来实现,经分析设计要求,
6、拟定整个系统由10个模块组成,原理图如下:五、 主要VHDL源程序1. 十进制计数器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10 isport (clk,start,clr : in std_logic;cout : out std_logic;daout : out std_logic_vector(3 downto 0);end count10;architecture one of count10 issignal q0 : std_logic
7、_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr=1 then q0=0000;elsif ( clkevent and clk=1) thenif start=1 then if q0=1001 then q0=0000;q1=1; else q0=q0+1;q1=0; end if;end if;end if;end process;daout= q0;cout=q1;end one;2. 六进制计数器的VHDL源程序library ieee;use ieee.std_logic_1164.
8、all;use ieee.std_logic_unsigned.all;entity count6 isport (clk,start,clr : in std_logic;cout : out std_logic;daout : out std_logic_vector(3 downto 0);end count6;architecture two of count10 issignal q0 : std_logic_vector(3 downto 0);signal q1 : std_logic;beginprocess(clk,clr)beginif clr=1 then q0=0000
9、;elsif ( clkevent and clk=1) thenif start=1 then if q0=0101 then q0=0000;q1=1; else q0=q0+1;q1=0; end if;end if;end if;end process;daout= q0;cout=q1;end two;3. 蜂鸣器的VHDL源程序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
10、);end alarm;architecture ar of alarm issignal n:integer range 0 to 20;signal q0:std_logic;beginprocess(clk)begin 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=0000000; end case; end process;
11、 end a;5. 控制选择器的VHDL源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity seltime isport(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;arch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 EDA 课程设计 数字 秒表
限制150内