eda数字系统设计实验报告

eda数字系统设计实验报告

ID:27562425

大小:74.50 KB

页数:7页

时间:2018-12-03

eda数字系统设计实验报告_第1页
eda数字系统设计实验报告_第2页
eda数字系统设计实验报告_第3页
eda数字系统设计实验报告_第4页
eda数字系统设计实验报告_第5页
资源描述:

《eda数字系统设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA数字系统设计实验报告——密码锁的设计丁海龙02075112张顺020750372009.12.137一、实验目的1、加深对数字电路的理解2、进一步熟悉常用仪器的使用及调试3、加深计算机辅助分析及设计的概念4、进一步掌握VHDL语言以及利用其进行系统设计与仿真5、培养我们发现问题、分析问题的创新能力二、实验要求设计一个2位的密码锁。要求如下:1、开锁代码为2位十进制并行码。2、当输入的密码与锁内的密码一致时,绿灯亮,开锁;当输入的密码与锁内的密码不一致时,红灯亮,不能开锁。3、密码可由用户自行设置。三、实验内容及步骤1、总体设计框图根据设计要求,我们可以将系统分为三部分:数据

2、输入、数据检测、数据输出。数据输入由2位并行码及密码确认开关组成;数据检测由密码检验开关及存储密码构成;数据输出则由数码管及指示灯组成。密码锁的总体设计框图如下图所示。71、器件选择共阴极七段数码管、发光二极管、按键开关、电阻、电容等。2、VHDL源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_signed.all;entitylockisport(a:instd_logic_vector(9downto0);--十位输入端。b:instd_logic_vector(9downto0);--个位输入端。en,

3、clk:instd_logic;--EN为密码确认开关。en1:instd_logic;--EN1为密码检验开关。o:outstd_logic_vector(6downto0):="0111111";--输出七段数码管的控制。d:outstd_logic_vector(6downto0):="0111111";k:outstd_logic;m:outstd_logic);endlock;architecturebehaveoflockissignale:std_logic_vector(3downto0);signalf:std_logic_vector(3downto0);si

4、gnalg:std_logic_vector(3downto0);signalh:std_logic_vector(3downto0);signalcount1,count2:std_logic:='0';signals:std_logic:='0';7beginprocess(a,e)--十位的数据转换。beginif(a(9downto0)="0000000000")theno(6downto0)<="0111111";elsif(a(0)='1')thene<="0000";o(6downto0)<="0111111";elsif(a(1)='1')thene<="0001

5、";o(6downto0)<="0000110";elsif(a(2)='1')thene<="0010";o(6downto0)<="1011011";elsif(a(3)='1')thene<="0011";o(6downto0)<="1001111";elsif(a(4)='1')thene<="0100";o(6downto0)<="1100110";elsif(a(5)='1')thene<="0101";o(6downto0)<="1101101";elsif(a(6)='1')thene<="0110";o(6downto0)<="1111100";elsif(a(

6、7)='1')thene<="0111";o(6downto0)<="0000111";elsif(a(8)='1')thene<="1000";o(6downto0)<="1111111";elsif(a(9)='1')thene<="1001";o(6downto0)<="1100111";endif;endprocess;process(b,f)--个位的数据转换。beginif(b(9downto0)="0000000000")thend(6downto0)<="0111111";elsif(b(0)='1')thenf<="0000";d(6downto0)<="011

7、1111";elsif(b(1)='1')thenf<="0001";d(6downto0)<="0000110";elsif(b(2)='1')thenf<="0010";d(6downto0)<="1011011";elsif(b(3)='1')thenf<="0011";d(6downto0)<="1001111";elsif(b(4)='1')thenf<="0100";d(6downto0)<="1100110";elsif(b(5)='1')thenf<="0101"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。