EDA课程设计报告
eda花样彩灯课程设计报告

eda花样彩灯课程设计报告一、课程目标知识目标:1. 学生能理解并掌握EDA(电子设计自动化)花样彩灯的基本原理与设计流程。
2. 学生能识别并运用课程中所学的电子元件,如LED灯、电阻、电容等,并理解其在电路中的作用。
3. 学生能够运用已学的电子知识,设计并搭建简单的EDA花样彩灯电路。
技能目标:1. 学生能够运用计算机软件进行电路设计与仿真,提高实际操作能力。
2. 学生通过小组合作,提高沟通协调能力和团队协作能力。
3. 学生能够运用问题解决策略,对设计过程中出现的问题进行分析、调试和优化。
情感态度价值观目标:1. 学生培养对电子科技的兴趣,增强创新意识和实践能力。
2. 学生在设计和制作过程中,培养耐心、细心的品质,提高面对困难的勇气和毅力。
3. 学生通过课程学习,认识到科技与生活的密切联系,增强环保意识和责任感。
本课程针对五年级学生特点,结合电子设计实际应用,注重培养学生的动手能力、创新能力和团队协作能力。
通过课程学习,使学生能够将所学知识应用于实际生活,激发他们对科技的兴趣,提高科学素养。
课程目标具体、可衡量,便于教师进行教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子元件的认识:介绍常用电子元件如LED灯、电阻、电容等,使学生了解其性能、特点及在电路中的作用。
2. EDA软件使用:教授学生如何使用EDA软件进行电路设计与仿真,包括电路图的绘制、元件的选取与放置、电路的仿真与调试等。
3. 花样彩灯设计原理:讲解花样彩灯的设计原理,如电路的基本连接方式、控制方法等。
4. 实践操作:指导学生进行EDA花样彩灯的设计与制作,让学生在实际操作中掌握所学知识。
5. 课程总结与展示:学生完成作品后,进行课程总结,分享设计经验,展示作品成果。
教学内容安排如下:1. 第一课时:电子元件的认识及基本电路原理介绍。
2. 第二课时:EDA软件的使用方法教学。
3. 第三课时:花样彩灯设计原理及实践操作指导。
eda课程设计5篇[修改版]
![eda课程设计5篇[修改版]](https://img.taocdn.com/s3/m/a1aef8d5dd36a32d72758100.png)
第一篇:eda课程设计数字钟一、设计要求设计一个数字钟,具体要求如下:1、具有时、分、秒计数显示功能,以24小时循环计时。
2、具有清零、校时、校分功能。
3、具有整点蜂鸣器报时以及LED花样显示功能。
二、设计方案根据设计要求,数字钟的结构如图8-3所示,包括:时hour、分minute、秒second计数模块,显示控制模块sel_clock,七段译码模块deled,报时模块alert。
三、VHDL程序library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; useIEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM;--use UNISIM.VComponents.all;entityddz is port(rst,clk: in std_logic; hour_h: out std_logic_vector( 6 downto 0); hour_l: outstd_logic_vector( 6 downto 0); min_h: out std_logic_vector( 6 downto 0);min_l: out std_logic_vector( 6 downto 0);sec_h: out std_logic_vector( 6 downto 0);sec_l: out std_logic_vector( 6 downto 0)); endddz;architecture Behavioral of ddz is signalcnt: std_logic_vector(15 downto 0); signalsec_h_in: std_logic_vector( 3 downto 0); signalsec_l_in: std_logic_vector( 3 downto 0); signalmin_h_in: std_logic_vector( 3 downto 0); signalmin_l_in: std_logic_vector( 3 downto 0); signalhour_h_in: std_logic_vector(3 downto 0); signalhour_l_in: std_logic_vector(3 downto 0);signalclk_s,clk_m,clk_h: std_logic; begin process(rst,clk) begin if rst='0' then sec_h_in'0');sec_l_in'0');clk_msec_l_inifsec_h_in=5 thensec_h_inclk_melsesec_h_inclk_mend if; else sec_l_inclk_mend if; end if; end process;process(rst,clk_m) begin if rst='0' then-- min_h_in'0');min_l_in'0'); -- clk_hmin_l_inmin_h_inclk_mend if; else min_l_inend if; end if; end process;process(rst,clk_n) begin if rst='0' then-- hour_h_in'0');hour_l_in'0'); -- clk_hhour_l_inhour_h_inclk_nend if; else hour_l_inend if; end if; end process;process(sec_l_in) begin casesec_l_in iswhen "0000" =>sec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lprocess(sec_h_in) begin casesec_h_in iswhen "0000" =>sec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hprocess(min_l_in) begin casemin_l_in iswhen "0000" =>min_lmin_lmin_lwhen "0011" =>min_lmin_lmin_lmin_lmin_lmin_lmin_lmin_lprocess(min_h_in) begin casemin_h_in iswhen "0000" =>min_hmin _h min _hmin _hmin _h min _hmin _hmin _hmin _hmin _hmin _hend case; end process;process(hour_l_in) begin casehour_l_in iswhen "0000" =>hour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lprocess(hour_h_in) begin casehour_h_in iswhen "0000" =>hour_hhour_hhour_hhour_h hour _h hour _h hour _h hour _h hour _hhour_h hour _h四、VHDL仿真结果五、课程设计心得通过这次课程设计,有效得巩固了课本所学的知识,而且通过上机仿真不断发现问题并及时改正,加深了我们对该课程设计的印象。
EDA课程实验设计报告

《EDA课程实验设计报告》洗衣机自动控制器设计一实验要求:1、由一个按键控制洗衣机的启动、暂停。
2、洗衣机洗涤一定时间后,能自动停止,由一个LED灯闪烁提示,并发出报警提示。
3、洗涤时间能用数码管显示,暂停时时间停止,暂停后时间在停止的时间基础上继续计时。
4、用至少四个LED指示灯的流动表示洗衣机的正转和反转。
即当正转20秒时,四个指示灯从右向左循环移动;反转20秒时,四个指示灯从右向左循环移动。
5、暂停10秒时,四个指示灯闪烁来表示电机停止转动。
二.设计总体思路,基本原理1.设计总体思路从课程设计要求来看,要求实现电机的正传、反转、暂停,用四个LED灯的状态来表示,当显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒,理所当然的分钟计数器、秒计数器是一定要有的。
接下来脉冲是一定的了,但是有分钟计数器和秒钟计数器还要考虑是不是要60分频器,就我们所学过的来说实现循环有移位寄存器;还有个问题,当洗涤时间到了,报警还要一个报警电路,根据要求,报警的蜂鸣器不可以长时间的叫,要有个合理的时间,我们可以用一个单稳态电路来实现。
方案为:直接从数值上进行提取信号来控制一个可以实现循环的74LS194来实现。
2.基本原理首先,从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。
当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零。
三.单元电路设计1.一百进制分计数器和六十秒计数器的设计(1)分、秒计数器的设计分、秒计数器我们都用74192片,74192上升沿触发,由UP,DOWN两管脚控制加减计数,有异步置数端LOAR和异步复位端CLR,BO’和CO’分别输出高电平表示加进位和减进位。
由于74192没有保持脚,故需要外围电路实现保持功能。
EDA课设报告

一、课程设计目的以及要求1.1、课程设计应该达到的目的:《EDA课程设计》是根据《VHDL程序设计》这门课程开设的综合设计课程,要求学生利用VHDL语言编程,基于EDA开发平台Quartus II,设计相应的数字系统,通过对系统进行编程、仿真、调试与实现,体验设计的全过程,进一步加深对所学基础知识的理解,培养学生将理论知识应用于时间的能力、学生自学与创新能力和分析解决实际问题的能力。
1.2、课程设计的要求:多路彩灯控制器通过对应的开关按钮,能够控制个多个彩灯的输出状态,组合多种变换的灯光闪烁,它被广泛应用到节目庆典、剧场灯光、橱窗装饰中。
设计要求设计一个完整的16路彩灯控制器。
具体要求:设计一个多路彩灯控制器,能循环变化花型,可清零,可选择花型变化节奏。
彩灯控制器有16路发光二极管构成,当控制器开关打开时,能够在6种不同的彩灯花型之间进行循环变化。
要求控制具备复位清零功能,一旦复位信号有效,不论控制器花型变化处于何种状态,都会无条件即刻清零,恢复到初始状态。
设置节拍选择按钮。
按下此按钮,多路彩灯控制器的花型4变化的节奏减缓;放开此按钮,则变换节奏相对加快。
二、8路彩灯控制器的实现2.1、功能描述在电路中以 1 代表灯亮,以 0 代表灯灭,由 0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。
在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。
下面就以一个十六路彩灯控制系统的实现为例进行简单说明。
此十六路彩灯控制系统设定有六种花样变化 ,这六种花样可以进行自动切换 ,并且每种花样可以选择不同的频率。
2.2、设计原理用VHDL进行设计 ,首先应该了解 ,VHDL语言一种全方位硬件描述语言 ,包括系统行为级 ,寄存传输级和逻辑门级多个设计层次。
应充分利用DL “自顶向下”的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统是非常有用它使得人们可以从简单的单元入手 ,逐渐构成庞大而复杂的系统。
EDA课程设计报告

EDA课程设计报告彩灯控制器三班级:学号:姓名:目录一.设计目的 (3)二.设计要求 (3)三.功能模块 (3)3.1 计数器模块 (3)3.2 分频器模块 (6)3.3 显示模块 (7)3.4 系统结构 (8)四.总结 (9)参考文献 (9)一.设计目的学习EDA开发软件quartus Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。
通过这次课程设计更清楚的理解了VHDL程序的描述语言,能进行简单程序的编写和仿真。
二.设计要求1. 有十只LED,L0……L92. 显示方式①先奇数灯依次灭②再偶数灯依次灭③再由L0到L9依次灭3.显示间隔0.5S,1S可调。
三.功能模块彩灯设计总体采用分模块的方法来完成,包括计数器、分频器、和显示部分。
3.1计数器模块计数器模块用来控制彩灯输出模块,即确定彩灯控制器的不同的输出。
Rst:输入信号复位信号用来复位计数器”。
Clk:输入信号用来给模块提供工作频率。
Coun[9..0]:输出信号即为计数器的输出。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity caideng31 isport(clk,rst,en:in std_logic;cout:out std_logic_vector(9 downto 0));end caideng31;architecture one of caideng31 isbeginprocess(clk,rst,en)variable q1:std_logic_vector(1 downto 0); variable q2:std_logic_vector(2 downto 0); beginif rst='1' then q1:=(others=>'0');q2:=(others=>'0');elsif clk'event and clk='1' thenif en='1' thenif q2<"101" then q2:=q2+1;else q2:=(others=>'0');end if;end if;end if;if q1<"11" thenif q2="101" then q1:=q1+1;end if;end if;if q1="00" thencase q2 iswhen"000"=>cout<="1111111111";when"001"=>cout<="1011111111";when"010"=>cout<="1010111111";when"011"=>cout<="1010101111";when"100"=>cout<="1010101011";when"101"=>cout<="1010101010";when others=>null;end case;elsif q1="01" thencase q2 iswhen"000"=>cout<="1111111111"; when"001"=>cout<="0111111111"; when"010"=>cout<="010*******"; when"011"=>cout<="010*******"; when"100"=>cout<="010*******"; when"101"=>cout<="010*******"; when others=>null;end case;elsif q1="10" thencase q2 iswhen"000"=>cout<="1111111111"; when"001"=>cout<="0111111111"; when"010"=>cout<="0011111111"; when"011"=>cout<="0001111111"; when"100"=>cout<="0000111111"; when"101"=>cout<="0000011111"; when others=>null;end case;elsif q1="11" thencase q2 iswhen"000"=>cout<="0000001111"; when"001"=>cout<="0000000111"; when"010"=>cout<="0000000011"; when"011"=>cout<="0000000001"; when"100"=>cout<="0000000000"; when"101"=>cout<="1111111111";when others=>null;end case;end if;end process;end;3.2分频器模块设计要求显示间隔0.5S,1S可调,所以设计分频器来用不同的频率控制不同的显示间隔。
EDA课程设计报告

EDA课程设计报告•相关推荐EDA课程设计报告在我们平凡的日常里,报告的使用成为日常生活的常态,报告中涉及到专业性术语要解释清楚。
那么报告应该怎么写才合适呢?以下是小编为大家整理的EDA课程设计报告,希望对大家有所帮助。
EDA课程设计报告1实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel 99 se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。
(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。
(6)制板。
首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
(7)焊接。
将所给元器件根据原理图一一焊至pcb板相应位置。
(8)调试。
先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
EDA课设设计报告

目录1、概述 (4)2、设计要求 (4)3、设计内容 (5)4、方案设计与原理分析 (6)5、锁存译码设计 (9)6、报警信号发生器 (16)7、密码锁控制电路仿真结果及下载分析(18)8、心得体会 (22)电子技术综合任务书姓名学号学院班级题目简易14位数字密码锁控制电路设计设计任务1、基本要求(1)、14位数字密码分成高7位(DH6….D H0)和低7位(DL6….D L0),用数字逻辑开关预置,输出信号out为1表示开锁,否则关闭。
;(2)、14位数字密码分时操作,先预置高7位,然后再置入低7位,(3)要求电路工作可靠,保密性强,开锁出错立即报警,(4)、利用MAXPLUS2软件进行设计、编译、并在FPGA芯片上实现;(5)、14位密码自己设定。
时间进度总体时间为1周;星期一上午:讲解;星期一下午:理解电路原理;星期二下午:编辑源程序设计电路;星期四下午:验收电路图,检验程序是否正确;星期五之前:上交课程设计报告;主要参考文献【1】刘爱荣、王振成。
EDA技术与CPLD︱FPGA开发应用简明教程。
北京:清华大学出版社;【2】刘吕华。
数字逻辑EDA设计与实践。
北京:国防工业出版1、概述现在EDA技术应用广泛,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA 技术已在各大公司、科研和教学部门广泛使用。
在产品设计与制造方面,EDA 技术可实现前期的计算机仿真、系统级模拟及测试环境的仿真、PCB的制作、电路板的焊接、ASIC的设计等。
EDA是随着集成电路和计算机技术的飞速发展应运而生的一种高级、快速、有效的电子设计自动化工具。
它是为解决自动控制系统设计而提出的,从七十年代经历了计算机辅助设计CAD,计算机辅助工程CAE,电子系统设计自动化ESDA三个阶段。
前两个阶段的EDA产品都只是个别或部分的解决了电子产品设计中的工程问题;第三代EDA工具根据工程设计中的瓶颈和矛盾对设计数据库实现了统一管理,并提供了并行设计环境概念,提供了独立与工艺和厂家的系统级的设计工具。
eda课程设计报告

eda课程设计报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用EDA软件进行电路设计与仿真,理解并掌握数字电路的设计原理。
3. 学生了解并掌握基础的硬件描述语言(如VHDL/Verilog),能完成简单的数字系统设计。
技能目标:1. 学生通过EDA软件的操作,培养电子电路设计、仿真与验证的实际操作能力。
2. 学生通过小组合作完成设计项目,提高团队协作与沟通技巧。
3. 学生能够运用所学知识解决实际问题,具备一定的创新意识和动手能力。
情感态度价值观目标:1. 学生在EDA课程学习中,培养对电子科学技术的兴趣和探究精神。
2. 学生通过课程实践,增强自信心和成就感,激发进一步学习的动力。
3. 学生在学习过程中,树立正确的工程伦理观念,认识到技术发展对社会的责任和影响。
课程性质:本课程为电子信息工程及相关专业高年级学生的专业核心课程,旨在通过理论与实践相结合的教学,提高学生的电子设计能力。
学生特点:学生已具备一定的电子技术基础,具有较强的学习能力和实践欲望,对新技术和新工具充满好奇心。
教学要求:结合学生特点,注重培养实际操作能力,鼓励学生创新思维,提高解决实际问题的能力。
通过课程目标分解,确保学生在知识、技能和情感态度价值观方面的全面成长。
后续教学设计和评估将以此为基础,关注学生的学习成果。
二、教学内容根据课程目标,教学内容分为以下三个模块:1. EDA基本概念与工具使用- 教材章节:第一章 EDA技术概述,第二章 EDA工具简介- 内容列举:EDA发展历程,常用EDA软件介绍,软件安装与配置,基本操作流程。
2. 数字电路设计与仿真- 教材章节:第三章 数字电路设计基础,第四章 仿真技术- 内容列举:数字电路设计原理,EDA软件电路设计流程,仿真参数设置,波形分析与验证。
3. 硬件描述语言与数字系统设计- 教材章节:第五章 硬件描述语言,第六章 数字系统设计实例- 内容列举:硬件描述语言基础,VHDL/Verilog语法要点,简单数字系统设计方法,设计实例分析与实操。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA课程设计报告学校:大学课程题目:密码锁的设计学院:信息科学技术学院专业及班级:通信工程(3)班:江虹学号:20101613310068其他组员:羊精月、林芳梅指导老师:文进目录一、设计思路……………………………………………………………………2二、硬件电路的实现 (2)(一)、独立键盘输入电路 (2)(二)、控制输入电路 (5)(三)、移位电路 (6)(四)、比较电路 (8)(五)、存储器模块 (12)(六)、译码模块 (14)(七)、密码锁的总体电路 (16)三、密码锁的功能及分析 (17)四、方案的优点及不足 (20)五、心得体会 (21)六、总结 (21)七、参考文献 (22)一、设计思路1、设计一个电子密码锁,在锁开的状态下输入密码,密码共4位2、设计一个初始密码3、用数据开关K1 K10分别代表数字1、2、…、9、04、输入的密码用数码管显示,最后输入的密码显示在最右边的数码管上,即每输入一位数,密码在数码管上的显示右移一位。
可删除输入的数字,删除的是最后输入的数字,每删除一位,密码在数码管的显示左移一位,并在右边空出的位上补充“0”。
5、密码锁的控制功能有清零、修改、锁定、解锁,删除,确认。
6、因为密码一般不想被人看到,所以在显示时在按键按下灯亮时显示正确字符,在按键按下灯灭时显示特殊字符,由于数码管显示译码时没有“*”,所以特殊字符选择“E”。
7、用一位输出电平的状态代表锁的开闭状态。
8、为保证密码锁主人能打开密码锁,设置一个万能密码,在主人忘记密码时使用。
二、硬件电路的实现(一)、独立键盘输入电路由于EDA实验箱有独立式键盘输入和矩阵式键盘输入电路,本实验就选择独立式键盘输入,本实验的密码是4位,实现在按键按下去灯亮时有一位数据输入,在按键按下去灯灭时没有有数据输入。
1、实现键盘输入的VHDL设计USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JPSR ISPORT ( KEY_IN1:IN STD_LOGIC_VECTOR(9 DOWNTO 0);DATA_N: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END JPSR;ARCHITECTURE behav OF JPSR ISBEGINP_REG: PROCESS(KEY_IN1)BEGINCASE KEY_IN1 ISWHEN "0000000001"=>DATA_N<="0000";WHEN "0000000010"=>DATA_N<="0001";WHEN "0000000100"=>DATA_N<="0010";WHEN "0000001000"=>DATA_N<="0011";WHEN "0000010000"=>DATA_N<="0100";WHEN "0000100000"=>DATA_N<="0101";WHEN "0001000000"=>DATA_N<="0110";WHEN "0010000000"=>DATA_N<="0111";WHEN "010*******"=>DATA_N<="1000";WHEN "1000000000"=>DATA_N<="1001";WHEN OTHERS=>DATA_N<="1010";END CASE;END PROCESS P_REG ;END behav;2、异或电路的VHDL设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY or10 ISPORT ( Q:IN STD_LOGIC_VECTOR(9 DOWNTO 0);Y : BUFFER STD_LOGIC);END or10;ARCHITECTURE behav OF or10 ISBEGINP_REG: PROCESSVARIABLE N : STD_LOGIC;BEGINIF Q="0000000001" THEN N:='1';ELSIF Q="0000000010" THEN N:='1';ELSIF Q="0000000100" THEN N:='1';ELSIF Q="0000001000" THEN N:='1';ELSIF Q="0000010000" THEN N:='1';ELSIF Q="0000100000" THEN N:='1';ELSIF Q="0001000000" THEN N:='1';ELSIF Q="0010000000" THEN N:='1';ELSIF Q="010*******" THEN N:='1';ELSIF Q="1000000000" THEN N:='1';ELSE N:='0';END IF;Y<=N;END PROCESS P_REG ;END behav;该电路是为了后面模块的时钟而设计的。
(二)、控制电路KEY_IN2输入为“001”时即输出为“00001”时实现清零的功能,KEY_IN2输入为“”时即输出为“00100”时实现锁定的功能,KEY_IN2输入为“100”时即输出为“01000”时实现解锁的功能,KEY_IN3输入为“1”时即输出为“1”时实现确认的功能,KEY_IN4输入为“1”时即输出为“00010”时实现修改的功能。
KEY_IN5输入为“1”时即输出为“10000”时实现删除的功能。
1、控制电路的VHDL设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY KZ ISPORT (KEY_IN2:IN STD_LOGIC_VECTOR(2 DOWNTO 0);KEY_IN3:IN STD_LOGIC;KEY_IN4,KEY_IN5:IN STD_LOGIC; DATA_F: OUT STD_LOGIC_VECTOR(4 DOWNTO 0);DATA_FF: OUT STD_LOGIC_VECTOR(4 DOWNTO 0);DATA_FFFF: OUT STD_LOGIC_VECTOR(4 DOWNTO 0);FLEG_F:OUT STD_LOGIC);END KZ;ARCHITECTURE behav OF KZ ISSIGNAL FF,FG,F5:STD_LOGIC;SIGNAL Z:STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINP_REG: PROCESS(FF,Z,FG,F5)BEGINZ<=KEY_IN2;FF<=KEY_IN3;FG<=KEY_IN4;F5<=KEY_IN5;CASE Z ISWHEN "001"=>DATA_F<="00001";WHEN ""=>DATA_F<="00100";WHEN "100"=>DATA_F<="01000";WHEN OTHERS=>DATA_F<="00000";END CASE;CASE FG ISWHEN '1'=>DATA_FF<="00010";WHEN OTHERS=>DATA_FF<="00000";END CASE;CASE FF ISWHEN '1'=>FLEG_F<='1';WHEN OTHERS=>FLEG_F<='0';END CASE;CASE F5 ISWHEN '1'=>DATA_FFFF<="10000";WHEN OTHERS=>DATA_FFFF<="00000";END CASE;END PROCESS;END behav;(三)、移位电路Y NYYN该模块实现右移的功能,且在此模块中实现清零功能。
1、 移位显示电路的VHDL 设计DF=00001时钟上升沿NA<="0000";NB<="0000"; NC<="0000"; ND<="0000";NA<=NB;NB<=NC;NC<=ND;ND<=DATA_N;DATAA<=NA; DATAB<=NB; DATAC<=NC; DATAD<=ND; DF=10000 CODEB<=NA; CODEC<=NB; CODED<=NC; CODEA<="0000"; DATAAA<=CODEA DATABB<=CODEB; DATACC<=CODEC; DATADD<=CODEDDATAAA<=NA;DATABB<=NB;DATACC<=NC;DATADD<=ND;NA<=DATAA; NB<=DATAB; NC<=DATAC; ND<=DATAD;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YW ISPORT (CLK:IN STD_LOGIC;DATA_N:IN STD_LOGIC_VECTOR(3 downto 0);DATA_F:IN STD_LOGIC_VECTOR(4 downto 0);DATAA,DATAB,DATAC,DATAD:OUT STD_LOGIC_VECTOR(3 downto 0));END ENTITY;ARCHITECTURE ONE OF YW ISSIGNAL NA,NB,NC,ND:STD_LOGIC_VECTOR(3 downto 0);BEGINPROCESS(CLK,DATA_F)BEGINIF DATA_F="00001" THENNA<="0000";NB<="0000";NC<="0000";ND<="0000";ELSIF CLK'EVENT AND CLK='1' THENNA<=NB;NB<=NC;NC<=ND;ND<=DATA_N;END IF;DATAA<=NA;DATAB<=NB;DATAC<=NC;DATAD<=ND;END PROCESS;END ONE;2、移位删除电路的VHDL设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YWSC ISPORT (DATA_F:IN STD_LOGIC_VECTOR(4 downto 0);DATAA,DATAB,DATAC,DATAD:IN STD_LOGIC_VECTOR(3 downto 0); DATAAA:OUT STD_LOGIC_VECTOR(3 downto 0);DATABB:OUT STD_LOGIC_VECTOR(3 downto 0);DATACC:OUT STD_LOGIC_VECTOR(3 downto 0);DATADD:OUT STD_LOGIC_VECTOR(3 downto 0));END ENTITY;ARCHITECTURE ONE OF YWSC ISSIGNAL NA,NB,NC,ND,CODEA,CODEB,CODEC,CODED:STD_LOGIC_VECTOR(3 downto 0); BEGINPROCESS(DATA_F)BEGINNA<=DATAA;NB<=DATAB;NC<=DATAC;ND<=DATAD;IF DATA_F="10000" THENCODEB<=NA;CODEC<=NB;CODED<=NC;CODEA<="0000";DATAAA<=CODEA;DATABB<=CODEB;DATACC<=CODEC;DATADD<=CODED;ELSEDATAAA<=NA;DATABB<=NB;DATACC<=NC;DATADD<=ND;END IF;END PROCESS;END ONE;(四)、比较电路N N Y N Y YY Y NN N YY N Y Y Y N该模块是在解锁的状态下将输入的4送来的原来设置的密码进行比较,全部相等就解锁,低电平“0”表示解锁,高低平表示开锁。