ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:18.58KB ,
资源ID:5293197      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5293197.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程设计报告书.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程设计报告书.docx

1、EDA课程设计报告书电子设计自动化 EDA课程设计报告书学号: 08057102班级:自动化 081姓名: 陈婷指导教师: 刘伟一、设计思想 2二、设计步骤 3三、调试过程 8四、结果剖析 10五、心得领会 11六、参照文件 111一、设计思想(一)、设计要求1、拥有以 24 小时制时、分、秒记时、显示功能。2、拥有整点报时功能,整点报时的同时 LED 花式显示。3、拥有消零,调理小时,分钟功能。4、设计精度要求为 1s。( 二) 、系统功能描绘1.、系统输入:调时、调分,清零信号,分别用按键开关 SETHOUR、SETMIN、RESET控制;计数时钟信号 CLK采纳 2HZ时钟源,扫描时钟信

2、号 CLKDSP采纳 32HZ时钟源或更高;2、系统输出:8 位八段共阴极数码管显示输出; LED花式显示输出;3、系统功能详尽描绘:计时:正常工作状态下,每天按 24 小时计时制,蜂鸣器无声,逢整点报时。显示:要求采纳扫描显示方式驱动 8 位 8 段数码管显示。整点报时:蜂鸣器在“ 51”、“ 53”、“ 55”、“57”、“59”秒发音,结束时为整点;校时:在计时状态下, 按下按键 SETMIN设定分钟,按下按键 SETHOUR设定小时。(三)设计思路1、分别写出六进制、十进制、二十四进制、清零、设置时分、 LED 译码部分,在主体部分用元件例化语句计时,清零设置时分、 LED 译码,再加

3、上扫描模块2、将六进制、十进制、二十四进制、清零、设置时分、 LED 译码、扫描模块分模块写在一个主中2(四)系统电路构造框图二、设计步骤(一)各种进制的计时实时钟控制模块程序1、6 进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter6 isport( clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout: out std_logic_vector(3 downto 0);co: ou

4、t std_logic);end counter6;architecture art2 of counter6 issignal count:std_logic_vector(3 downto 0);3beginprocess(clk)beginif (clkevent and clk=1)thenif(reset=0)then count=0000;elsif(set=1)then count=ain;elsif (count=0101)thencount=0000;co=1;else count=count+1;co=0;end if;end if;end process;aout=cou

5、nt;end art2;2、10 进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 isport(clk,reset,set: in std_logic;ain:std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0);co:out std_logic);end counter10;architecture art1 of counter10 issignal count:std_log

6、ic_vector(3 downto 0);beginprocess(clk)beginif(clkevent and clk=1) thenif(reset=0)then count=0000;elsif(set=1)then count=ain;elsif(count=1001) thencount=0000;co=1;4else count=count+1;co=0;end if;end if;end process;aout=count;end art1;3、24 进制ibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_

7、unsigned.all;entity counter24 isport( clk,reset,set: in std_logic;ainh:in std_logic_vector(3 downto 0);ainl:in std_logic_vector(3 downto 0);aout: out std_logic_vector(7 downto 0);end counter24;architecture art3 of counter24 issignal count:std_logic_vector(7 downto 0);beginprocess(clk)beginif(clkeven

8、t and clk=1) thenif(reset=0)then count=00000000;elsif(set=1)then count(7 downto 4)=ainh;count(3 downto 0)=ainl; elsif(count(7 downto 4)0011 ) thenif(count(7 downto 4)=0010 and count(3 downto 0)=0011) then count=00000000;elsif(count(3 downto 0)=1001) thencount(3 downto 0)=0000;count(7 downto 4)=count

9、(7 downto 4)+1;else count(3 downto 0)=count(3 downto 0)+1;end if;end if;end if;-end if;end process;5aout=count;end art3;(二)系统整体程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk,b1,clks: in std_logic;reset: in std_logic;setmin,sethour: in std_logic;min

10、utell,minutehh,hourll,hourhh,b2:in std_logic_vector(3 downto 0);secondl,secondh:out std_logic_vector(3 downto 0);-second0,second2:out std_logic_vector(6 downto 0);minutel,minuteh:out std_logic_vector(3 downto 0);-minute0,minute2:out std_logic_vector(6 downto 0);hourl,hourh:out std_logic_vector(3 dow

11、nto 0);-hour0,hour2,dout:out std_logic_vector(6 downto 0);dout:out std_logic_vector(6 downto 0);s:out std_logic_vector(2 downto 0);singing,light: out std_logic);end clock;architecture art of clock iscomponent counter10 isport(clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout:out s

12、td_logic_vector(3 downto 0);co:out std_logic);end component;component counter6 isport(clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0);co:out std_logic);end component;component counter24 isport(clk,reset,set: in std_logic;6ainh,ainl:std_logic_vect

13、or(3 downto 0);aout:out std_logic_vector(7 downto 0);end component;component led7 isport(ain: in std_logic_vector(3 downto 0);aout:out std_logic_vector(6 downto 0);end component;signal cs0,cs1,cm0,cm1:std_logic;signal s0,s1,m0,m1,h0,h1,cout:std_logic_vector(3 downto 0);signal h:std_logic_vector(7 do

14、wnto 0);signal count:std_logic_vector(2 downto 0);beginh0=h(3 downto 0);h1clk,reset=reset,set=b1,ain=b2,aout=s0,co=cs0);u2:counter6 port map(clk=cs0,reset=reset,set=b1,ain=b2,aout=s1,co=cs1);u3:counter10port map(clk=cs1,reset=reset,set=setmin,ain=minutell,aout=m0,co=cm0); u4:counter6port map(clk=cm0

15、,reset=reset,set=setmin,ain=minutehh,aout=m1,co=cm1); u5:counter24port map(clk=cm1,reset=reset,set=sethour,ainl=hourll,ainh=hourhh,aout=h);u6:led7 port map(ain=cout,aout=dout);secondl=s0;secondh=s1;minutel=m0;minuteh=m1;hourl=h0;hourh=h1;process(m1,m0,s1,s0)beginif(m1=0101 and m0=1001 and s1=0101 an

16、d s0=1001) then singing=1;light=1;else singing=0;light=0;end if;end process;process(clks)beginif(clksevent and clks=1) thenif (count=101) thencount=000;else count=count+1;end if;s cout cout cout=m0;s cout cout cout coutsecondl,aout=second0);u7:led7 port map(ain=secondh,aout=second1);u8:led7 port map

17、(ain=minutel,aout=minute0);u9:led7 port map(ain=minuteh,aout=minute1);9u10:led7 port map(ain=hourl,aout=hour0);u11:led7 port map(ain=hourh,aout=hour1);问题剖析:元件例化是并行语句,按此段代码 LDE 并行显示,每一个数码管都需要八个端口,这样就需要八排插口,而试验箱只有一排端口。解 决 办 法 : 采 用 扫 描 显 示 方 式 , 修 改 程 序 为 : u6:led7 port map(ain=cout,aout=dout);问题 2:u1

18、:counter10 port map(clk=clk,reset=reset, aout=s0,co=cs0); 问题剖析:此元件例化中有 set,ain 两个端口没实用到解决方法:设置两个输入端口使 set 和 ain 为无效信号,设置 b1, b2,使set=b1,ain=b2, b1,b2 种类一定分别与 set 和 ain 同样,在连线时可用拨码开关将 b1,b2 置成相应状态。问题 3:对变量的多重赋值解决方法:设置中间信号问题 4:元件例化模块采纳名称映照时两个变量的种类不同样解决方法:名称映照的两变量种类应同样四、结果剖析1、10 进制计数器剖析:当 reset=0时, aou

19、t=0000;当 set=1时, aout=ain(0011);当 reset=1且 set=0时,开始计数从“ 0000”到“ 1001”,当 aout=“ 1001”时 aout 被置零,且进位 Co=1,计数器开始从头计数 ;2、6 进制计数器剖析:当 reset=0时, aout=0000;当 set=1时, aout=ain(0101);当 reset=1且 set=0时,开始计数从“ 0000”到“ 0101”,当 aout=“ 0101”时 aout 被置零,并开始从头计数 ;103、24 进制计数器剖析:当 reset=0时, aout=0000;当 set=1时, aout=

20、ain(0101);当 reset=1且 set=0时,开始计数从“ 0000”到“ 0101”,当 aout=“ 0101”时 aout 被置零,并开始从头计数 ;五、心得领会在这课程设计的过程中不单能够稳固从前所学过的知识, 并且学到了好多在书籍上所没有学到过的知识。经过此次设计,进一步加深了对 EDA 的认识,在编写顶层文件的程序时, 碰到了许多问题, 特别是各元件之间的连结, 以及信号的定义,老是有错误,在仔细的检查下,终于找出了错误和警示,清除困难后,程序编译就经过了,在波形仿真时,也碰到了一点困难 ,想要的结果不可以在波形上获得正确的显示 :在初始设定输入的时钟信号后一直看不到需要

21、时段的波形变化,多次调试以后,才发现是由于输入的时钟信号关于器件的延缓时间来说很短了。经过频频调试,终于找到了比较适合的输入数值: endtime 的值需要设置的长一点:这样就能够察看到完好的仿真结果。经过此次课程设计使我懂得了理论与实质相联合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相联合起来, 从理论中得出结论,才能真实为社会服务, 进而提升自己的实质着手能力和独立思虑的能力。 在设计的过程中碰到问题, 能够说得是困难重重, 这毕竟第一次做的, 不免会碰到过各种各种的问题, 同时在设计的过程中发现了自己的不足之处, 对从前所学过的知识理解得不够深刻,掌握得不够坚固。总的来说,在设计中碰到了好多问题, 最后在老师的勤劳的指导下, 终于游逆而解,有点小小的成就感, 终于感觉平常所学的知识有了适用的价值, 达到了理论与实质相联合的目的, 不单学到了许多知识, 并且锻炼了自己的能力, 最后,对给过我帮助的全部同学和各位指导老师再次表示忠心的感谢!六、参照文件 EDA 技术及应用11

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1