版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前言: 1一、设计任务 : 2二、题目分析与整体构思: 3三、硬件电路设计: 4四、程序设计: 5五、心得体会: 6附录: 7参考文献: 8、八、刖言EDA (Electronic Design Automation)技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language为系统逻辑描述手段完成的设计文件, 自动地 完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件
2、描述语言和 EDA软件来完成对系统功 能的实现。电子时钟的设计过程就是一个充分利用 EDA软件的过程,利用VHDL语言对 硬件进行描述,充分利用软件的逻辑综合与仿真的功能完成对电子时钟的设计, 然后将程序写入实验箱,实现其电子时钟的各种功能。一、设计任务1、24小时精准计时72、十、分、秒可调3、每逢整点让蜂鸣器鸣叫1秒钟(可以自行发挥加上闹钟设置)、题目分析与整体构思1、24小时精准计数并显示(1)、电子时钟的小时部分是24进制,时与分之间是60进制,分与秒之间也是 60进制,那么要完成电子时钟的正常计数,就需要设计两个 60进制计数器和一 个24进制计数器,并用合适的端口使他们相连接,以满
3、足 24小时的精准计数。(2)、显示部分可以做一个数码管模块,另外为了时、分、秒同时显示,需要做 一个扫描仪模块。2、时、分、秒可调可以在各模块中添加按键设置,以满足这一要求。3、每逢整点让蜂鸣器鸣叫一秒种可以做一个整点报时模块,引出一个合适的脉冲,使之满足每逢整点时报时。4、入下图是电子时钟的整体设计思路。数字钟设计思踣三、硬件电路设计(一)、先用VHDL语言对各个模块进行描述,编译通过后,利用综合仿真系统 对其进行时序仿真,然后由程序生成各个模块。File Edit View Project Assignments Processing Tool Window HelpCtrl+N匚 br
4、l+OCtrl-H=4D New,.A Open.1055圍 Nekv Project Wizards.叵蔚 OpenPrpject.Ctrl+JConvert MAX+PLUS II Projects.+ Save ProjeegClose ProjectP*Q SaveCtrl+5%Save As.Sae Current Report Section As,.bFile Properties,.alert煮越 alert, vhd Compilatio.宦.7Bliieeeuse ieee 理.all;use ieee 吕七日 logic unsigned.ENTITY hour 亍5PO
5、RT(clk reset: IU STD daout: out std_logic END entity hour; ARCHITECTURE fun OF hour ISSIGNAL count I STD_LOGIC_ EEGINdaout r* v an o a ma rw n br siFS r “ LJVLJ_nmr1LI T|11Il1 11JW1 IIui_rwLH_TLn LTTUIBU H UU 1LTUirLTLrLrLr LTLrLrurLrLTLr_1 II ULTT-RTLTU1TLIU 1ULurrmnTLrmn. uumjxrLrmLn1IIuLFLJ H UIL
6、JuL1ILll1111uII II uuII uIII IIT1 1nr(二八管脚的设定IMode NameDirectionLocation10 aUnknownPIN 22 15 bUnknownPINI 33O cUnknownPIN 44令 cfcUnknownPIN 285令 clkdspUiknoi/jnPIN 66dUnknownPIN 770 eUhknouvnPIN 88O FUn knownPIN 11g令gUhknownPINJ210lamp0UhknojnPIN 1311 lampflUiknonPIN 1120 4mp UnknownPIN 1513setUnkno
7、wnPINJ61斗4 sel0UhknoivnPIN 17J15丐 Un knownPIN 1S160詢LknownPIN917v sethourUn knownPIN 20四、程序设计(1)、顶层文件 library ieee;use ieee.stdo gic_1164.all;en tity clock_top isport ( clk,reset,setmin,sethour,clkdsp:in std_logic; speaker:out std_logic;lamp: out std_logic_vector(2 dow nto 0); sel:out stdo gic_vecto
8、r(2 dow nto 0);a,b,c,d,e,f,g,dp:out stdo gic);end clock_top;*architecture a of clock_top is*-sec ond coun terCOMPONENT seco ndPORT(clk, reset,setmi n: INSTD_LOGIC;daout: out stdogic_vector(6 downto 0); enmin: OUT STD_LOGIC);END COMPONENT;*-minute coun terCOMPONENT mi nutePORT(clk, clk1,reset,sethour
9、: IN STD_LOGIC; en hour: OUTSTD_LOGIC;daout: out stdo gic_vector(6 dow nto 0); END COMPONENT;*-hour coun terCOMPONENT hourPORT(clk, reset: INSTD_LOGIC;daout: out stdo gic_vector(5 dow nto 0);END COMPONENT;*COMPONENT alertPORT(clk: IN STD_LOGIC;dain:in stdogic_vector(6 downto 0);lamp: out std_logic_v
10、ector(2 dow nto 0); speak: OUT STD_LOGIC);END COMPONENT;*COMPONENT seltimePORT(clkl, reset: IN STD_LOGIC; sec,mi n:in stdo gic_vector(6 dow nto 0); hour:in stdogic_vector(5 downto 0); daout: out stdogic_vector(3 downto 0); sel: OUT STD_LOGIC_vector(2 dow nto 0);END COMPONENT;*COMPONENT deledPORT(num
11、: IN STD_LOGIC_vector(3 dow nto 0); led:out stdo gic_vector(6 dow nto 0);END COMPONENT;*sig nal ledout:stdo gic_vector(6 dow nto 0);sig nal en min_re,e nhour_re: stdo gic;sig nal seco nd_daout,mi nute_daout:stdo gic_vector(6 dow nto 0); signal hour_daout:stdogic_vector(5 downto 0);signal seltime_dao
12、ut:stdogic_vector(3 downto 0);*beg ina=ledout(0);b=ledout(1);c=ledout(2);d=ledout(3);e=ledout(4);fv=ledout(5);g=ledout (6);dpreset,clk =clk, setmin =setm in, enmin =e nmin_re, daout =sec on d_daout);u2: minute port map(clk=e nmin_re,clk1=clk,reset =reset, sethour =sethour, en hour =e nhour_re, daout
13、 =minu te_daout);u3:hour port map(clk=e nhour_re,reset =reset,daout=hour_daout);u4:alert port map(elk dai n speak lamp=elk,=minu te_daout, =speaker, =lamp);u5:seltime port map(elkl=elkdsp,reset=reset,see=see on d_daout,min=minu te_daout,hour=hour_daout,daout=seltime_daout,sel=sel);u6:deled port map(
14、numled=seltime_daout,=ledout);end a;(2)、小时模块程序LIBRARY ieee;use ieee.stdo gic_1164.all;use ieee.std_logie_ un sig ned.all;ENTITY hour IS PORT( elk,reset: IN STD_LOGIC;daout: out std_logie_veetor (5 dow nto 0); END en tity hour;ARCHITECTURE fun OF hour IS SIGNAL eou nt: STD_LOGIC_VECTOR( 5 dow nto 0);
15、 BEGINdaout = count;proeess ( elk,reset)begi nif (reset=0) the ncount = 000000;elsif (elk eve nt and elk=1) the nif (eou nt(3 dow nto 0)=1001) the nif (eou nt 16#24#) then eoun t=eo unt + 7;elseeou nt=000000;end if;elsif(count 16#24#) thencount = count + 1;elsecou nt=OOOOOO;end if;end if;end process
16、;END fun;(3)、分钟模块程序LIBRARY ieee;use ieee.stdo gic_1164.all;use ieee.std_logic_ un sig ned.all;ENTITY mi nute ISPORT(clk, clk1,reset,sethour : INSTD_LOGIC;en hour : OUT STD_LOGIC;daout: out std_logic_vector (6 dow nto 0);END en tity mi nute;ARCHITECTURE fun OF mi nute IS SIGNAL cou nt: STD_LOGIC_VECT
17、OR( 6 dow nto 0);BEGINdaout = count;process ( clk,reset,sethour)begi nif (reset=O) the ncou nt = 0000000;elsif (sethour=O) the nen hour = clk1;elsif (clk eve nt and clk=1) the nif (cou nt(3 dow nto 0)=1001) the nif (cou nt 16#60#) the nif (count=1011001) thenen hour=1; cou nt=0000000;ELSE coun t=co
18、un t+7; end if; elsecoun t=0000000; end if;elsif(count 16#60#) thencount = count + 1;en hour=0 after 100 ns; else cou nt=OOOOOOO; end if; end if;end process;END fun;(4) 、秒种模块程序LIBRARY ieee;use ieee.stdo gic_1164.all;use ieee.std_logic_ un sig ned.all;ENTITY seco nd ISPORT(clk, reset,setmi n : INSTD_
19、LOGIC;enmin : OUT STD_LOGIC;daout: out std_logic_vector (6 dow nto 0);END en tity sec ond;ARCHITECTURE fun OF seco nd ISSIGNAL count: STD_LOGIC_VECTOR( 6 dow nto 0); BEGINdaout = count;process ( clk , reset , setm in)begi n-enminv=k;if (reset=O) the ncou nt = 0000000;elsif (setm in=0) the nen min =
20、clk;elsif (clk eve nt and clk=1) thenif (cou nt(3 dow nto 0)=1001) the nif (cou nt 16#60#) the nif (cou nt=1011001) the n enminv=1;cou nt=0000000;ELSEcoun t=co un t+7; end if;elsecou nt=0000000;end if;elsif (cou nt 16#60#) the ncount = coun t+1;enmin=0 after 100 ns;elsecou nt=OOOOOOO;end if;end if;e
21、nd process;END fun;(5) 、整点报时模块程序LIBRARY ieee;use ieee.stdo gic_1164.all;use ieee.std_logic_ un sig ned.all;ENTITY alert ISPORT(clk : INSTD_LOGIC;dai n : INSTD_LOGIC_VECTOR(6 DOWNTO 0);speak: OUT STD_LOGIC);END alert ;ARCHITECTURE fun OF alert ISsig nal count : std_logic_vector( 1 dow nto 0);sig nal
22、coun t1: std_logic_vector( 1 dow nto 0);BEGINspeaker:process (clk)beg inspeak =10) the n cou nt1=00;elsecount1 = count1 + 1;end if;end if;end if;end process speaker;END fun ;(6) 、数码管模块程序LIBRARY ieee;use ieee.stdo gic_1164.all;use ieee.std_logic_ un sig ned.all;ENTITY deled ISPORT(num: IN stdogic_vec
23、tor( 3 downto 0);led: OUT std_logic_vector(6 downto 0);END deled;ARCHITECTURE fun OF deled ISBEGINled = 1111110 when num= 0000 else0110000 when num= 0001 else1101101 when num= 0010 else1111001 when num= 0011 else0110011 when num= 0100 else1011011 when num= 0101 else1011111 when num= 0110 else1110000
24、 when num= 0111 else1111111 when num= 1000 else1111011 when num= 1001 else else else else else else1110111 whe n0011111when 1001110 whe n0111101 whe n1001111 whe n 1000111 whe nEND fun;(7)、扫描仪模块程序LIBRARY ieee;use ieee.stdo gic_1164.all;use ieee.std_logic_ un sig ned.all; use ieee.std_logic_arith.all
25、; ENTITY seltime ISPORT(clk1, reset: INnum=num=num=num=num=num=101010111100110111101111STD LOGIC;sec,min : INSTD_LOGIC_VECTOR(6 dow nto 0);hour : in stdogic_vector (5 downto 0);daout : OUT STD_LOGIC_vector (3 dow nto 0); sel : out std_logic_vector ( 2 dow nto 0);END seltime;ARCHITECTURE fun OF seltime ISSIGNAL count: STD_LOGIC_vector ( 2 dow nto 0);BEGINsel = count;process ( clk1,rese
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PLC报错错误代码
- 环保企业垃圾分类处理项目实施方案
- 产品设计与营销创新实践手册
- 九年级数学下册-6.3-相似图形讲义-(新版)苏科版
- 2026年通信测试和网络测试题及答案
- 2026年会计 岗位能力测试题及答案
- 2026年鉴绿tea测试题及答案
- 2026年对口英语专项测试题及答案
- 2026年方案偏离上报测试题及答案
- 2026年智力和智力测试题及答案
- 仓库保管员应会考试试题及答案
- 2025湖北武汉新芯集成电路制造有限公司招聘184人笔试历年参考题库附带答案详解
- 浙江温州市十校联合体2025-2026学年高一下学期4月期中考试语文试题及参考答案
- 山东省潍坊市2026届高三下学期4月高考模拟考试(二模)语文试题(含答案)
- (二模)郑州市2026年高三毕业年级第二次质量预测语文试卷(含官方答案)
- (2026版)市场监督管理行政处罚案件违法所得认定办法课件
- 娄底市2026教师资格证笔试-综合素质-教育知识与能力试卷(含答案)
- 2026福建鑫叶投资管理集团有限公司(第一批 )社会招聘32人笔试备考试题及答案解析
- 2025年团校共青团入团积极分子考试题【附答案】
- 2026年新疆维吾尔自治区乌鲁木齐市中考化学全真模拟试题(含答案解析)
- 创伤后心理护理的创伤知情照护
评论
0/150
提交评论