重EDA技术毕业课程设计报告

合集下载

eda课程设计--EDA课程设计实验报告

eda课程设计--EDA课程设计实验报告

eda课程设计一EDA课程设计实验报告EDA课程设计实验报告学曉宿息工程学阮专业通信工程学号________________農名___________________任镌教师_________________2013 年10 月30 q一、FPGA 简介随着基于FPGA 的EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电 子信息.通信.自动控制及计算机等领域的重要性日益突出。

作为一个学通信 工程专业的学生,我们必须不断地去了解更多的新产品信息,这就更加要求我 们对EDA 有个全面的认识。

信号发生器在我们的日常中有很重要的应用,用VHDL 语言去实现设计将会使我们对本学科知识可以更好地掌握。

本设计是一个基于VHDL 的釆用自顶向下设计方法实现的信号发生器,该设 计方法具有外围电路简单,程序修改灵活和调试容易等特点,并通过计算机仿 真证明了设计的正确性。

要求设计一个函数发生器,该函数发生器能够产生递增斜波.递减斜波、 方波、三角波.正弦波.及阶梯波,并且可以通过选择开关选择相应的波形输 出;系统具有复位的功能;通过按键确定输出的波形及确定是否输出波形。

FPGA 是整个系统的核心,构成系统控制器,波形数据生成器,加法器,运算/译码等 功能。

通过以上分析设计要求完成的功能,确定函数发生器可由递增斜波产生模 块.递减斜波产生模块.三角波产生模块.阶梯波产生模块.正弦波产生模块、 方波产生模块和输出波形选择模块组成,以及按键复位控制和时钟输入。

由此 可确定系统的总体原理框图为:三、方案选择1、波形函数发生方案对比选择时 --- ► 复--- ►波形发生模块目分析波形输出选波形函数发生是本设计的最重要的部分,实现函数发生的途径也有很多,因此必须选择一种易于实现且精度高的方案,以此来提高本设计的实用性。

本信号发生器利用在系统编程技术和FPGA芯片产生。

用VHDL语言编写程序,调试成功后下载至实验装置的芯片上,再利用外接D/A转换电路实现以上设计功能。

EDA-课程设计报告书

EDA-课程设计报告书

EDA-课程设计报告书《电子设计自动化EDA》课程设计报告书学号:08057102 班级:自动化081 姓名:陈婷指导教师:刘伟目录一、设计思想(一)、设计要求1、具有以24小时制时、分、秒记时、显示功能。

2、具有整点报时功能,整点报时的同时LED花样显示。

3、具有消零,调节小时,分钟功能。

4、设计精度要求为1s。

(二)、系统功能描述1.、系统输入:调时、调分,清零信号,分别用按键开关SETHOUR、SETMIN、RESET控制;计数时钟信号CLK采用2HZ时钟源,扫描时钟信号CLKDSP采用32HZ时钟源或更高;2、系统输出:8位八段共阴极数码管显示输出;LED花样显示输出;3、系统功能详细描述:计时:正常工作状态下,每日按24小时计时制,蜂鸣器无声,逢整点报时。

显示:要求采用扫描显示方式驱动8位8段数码管显示。

整点报时:蜂鸣器在“51”、“53”、“55”、“57”、“59”秒发音,结束时为整点;校时:在计时状态下,按下按键SETMIN设定分钟,按下按键SETHOUR设定小时。

(三)设计思路1、分别写出六进制、十进制、二十四进制、清零、设置时分、LED译码部分,在主体部分用元件例化语句计时,清零设置时分、LED译码,再加上扫描模块2、将六进制、十进制、二十四进制、清零、设置时分、LED译码、扫描模块分模块写在一个主中(四)系统电路结构框图二、设计步骤(一)各种进制的计时及时钟控制模块程序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: out std_logic);end counter6;architecture art2 of counter6 issignal count:std_logic_vector(3 downto 0);beginprocess(clk)beginif (clk'event 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<=count;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_logic_vector(3 downto 0);beginprocess(clk)beginif(clk'event and clk='1') thenif(reset='0')then count<="0000";elsif(set='1')then count<=ain;elsif(count="1001") thencount<="0000";co<='1';else 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_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(clk'event 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") thencount<="00000000";elsif(count(3 downto 0)="1001") thencount(3 downto 0)<="0000";count(7 downto 4)<=count(7 downto 4)+1;else count(3 downto 0)<=count(3 downto 0)+1;end if;end if;end if;--end if;end process;aout<=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;minutell,minutehh,hourll,hourhh,b2:instd_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 downto 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 std_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;ainh,ainl:std_logic_vector(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;signals0,s1,m0,m1,h0,h1,cout:std_logic_vector(3 downto 0);signal h:std_logic_vector(7 downto 0);signal count:std_logic_vector(2 downto 0);beginh0<=h(3 downto 0);h1<=h(7 downto 4);u1:counter10 port map(clk=>clk,reset=>reset,set=>b1,ain=>b2,aou t=>s0,co=>cs0);u2:counter6 port map(clk=>cs0,reset=>reset,set=>b1,ain=>b2,aout=>s1,co=>cs1);u3:counter10portmap(clk=>cs1,reset=>reset,set=>setmin,ain=>mi nutell,aout=>m0,co=>cm0);u4:counter6portmap(clk=>cm0,reset=>reset,set=>setmin,ain=> minutehh,aout=>m1,co=>cm1);u5:counter24portmap(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;minute h<=m1;hourl<=h0;hourh<=h1;process(m1,m0,s1,s0)beginif(m1="0101" and m0="1001" and s1="0101" and s0="1001") thensinging<='1';light<='1';else singing<='0';light<='0';end if;end process;process(clks)beginif(clks'event and clks='1') thenif (count="101") thencount<="000";else count<=count+1;end if;s<=count;CASE count ISwhen"000"=> cout<=s0;when"001"=> cout<=s1;when"010"=>cout<=m0;s<="010";when"011"=> cout<=m1 ;when"100"=> cout<=h0;when"101"=> cout<=h1;when others=> cout<="0000";end case;end if;end process;end art;三、调试过程(一)仿真波形1、6进制程序仿真波形2、10进制程仿真波形3、24进制程序仿真波形4、系统程序仿真波形(二)分析问题1:u6:led7 port map(ain=>secondl,aout=>second0);u7:led7 port map(ain=>secondh,aout=>second1);u8:led7 port map(ain=>minutel,aout=>minute0);u9:led7 port map(ain=>minuteh,aout=>minute1);u10:led7 port map(ain=>hourl,aout=>hour0);u11:led7 port map(ain=>hourh,aout=>hour1);问题分析:元件例化是并行语句,按此段代码LDE并行显示,每一个数码管都需要八个端口,这样就需要八排插口,而试验箱只有一排端口。

EDA课程设计报告

EDA课程设计报告

课程设计报告(理工类)课程名称: EDA技术专业班级:电子信息工程101 学生学号:学生姓名:所属院部:指导教师:20 11 ——20 12 学年第 2 学期设计项目名称:数字秒表设计实验地点:同组学生姓名:设计成绩:批改教师:批改时间:1.课程设计目的2.课程设计的基本要求3.课程设计类型二、仪器和设备三、设计过程1.设计内容和要求2.设计方法和开发步骤3.设计思路4.设计难点四、设计结果与分析1.思路问题以及测试结果失败分析2.程序简要说明1.课程设计目的1)根据设计要求,完成对数字秒表的设计。

2)进一步加强对MaxplusⅡ软件的应用和对VHDL语言的使用。

2.课程设计的基本要求1)提供的时钟信号频率为100Hz,实现计数从0.01s到0.1s,再到1s,10s,1min,10min,1h。

3.课程设计类型1)综合应用设计二、仪器和设备1.计算机,1台三、设计过程1.设计内容和要求1)用MaxplusⅡ软件编程实现六进制计数器、十进制计数器、分频器(3MHz——100MHz)模块。

2)编译各个模块,连接各模块,最终实现一小时的秒表计数功能。

2.设计方法和开发步骤1)编程实现十进制计数器十进制计数器源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk: in std_logic;clr: in std_logic;ena: in std_logic;cq: out integer range 0 to 15;carry_out: out std_logic);end entity cnt10;architecture art of cnt10 issignal cqi: integer range 0 to 15; beginprocess(clk,clr,ena)isbeginif clr='1'then cqi<=0;elsif clk'event and clk='1'then if ena='1'thenif cqi<9 then cqi<=cqi+1; else cqi<=0;end if;end if;end if;end process;process(cqi)isbeginif cqi=9 then carry_out<='1';else carry_out<='0';end if;end process;cq<=cqi;end architecture art;2)编程实现六进制计数器六进制计数器源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cnt6 isport(clk: in std_logic;clr: in std_logic;ena: in std_logic;cq: out std_logic_vector(3 downto 0);carry_out: out std_logic);end entity cnt6;architecture art of cnt6 issignal cqi: std_logic_vector(3 downto 0);beginprocess(clk,clr,ena)isbeginif clr='1'then cqi<="0000";elsif clk'event and clk='1'thenif ena='1'thenif cqi="0101"then cqi<="0000";else cqi<=cqi+'1';end if;end if;end if;end process;process(cqi)isbeginif cqi="0000"then carry_out<='1';else carry_out<='0';end if;end process;cq<=cqi;end architecture art;3)编程实现分频器模块分频器源代码(3MHz—100Hz)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity clkgen isport(clk: in std_logic;newclk: out std_logic);end entity clkgen;architecture art of clkgen issignal cnter:integer range 0 to 10#29999#; beginprocess(clk) isbeginif clk'event and clk='1' thenif cnter=29999 then cnter<=0;else cnter<=cnter+1;end if;end if;end process;process(cnter) isbeginif cnter=29999 then newclk<='1';else newclk<='0';end if;end process;end architecture art;3.设计思路因为实验硬件仿真提供3MHz的时钟信号,所以要用分频器实现3MHz 到100Hz的时钟信号的转换。

EDA课设报告

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技术及应用课程设计报告

《EDA技术及应用课程设计》报告系别:专业班级:学生姓名:指导教师:(课程设计时间:年月日——年月日)。

校秒表是人们日常生活中常用的测时仪器,它能够简单的完成计时、清零等功能,从一年一度的校际运动会到NBA、世界杯、奥运会,都能看到秒表的身影。

1.系统设计要求学习使用EDA集成设计软件MaxplusⅡ设计一个计时范围为0.01秒~1小时的数字秒表,能够精确反映计时时间,并完成复位、计时功能。

秒表计时的最大范围为1小时,精度为0.01秒。

秒表可得到计时时间的分、秒、0.1秒等度量,且各度量单位间可正确进位。

当复位清零有效时,秒表清零并做好计时准备。

任何情况下,只要按下复位开关,秒表都要无条件的进行复位操作,即使在计时过程中也要无条件的清零。

了解全过程中VHDL程序的基本结构,掌握使用EDA工具设计数字系统的设计思路和设计方法。

学习VHDL基本逻辑电路的综合设计应用。

根据电路持点,用层次设计概念。

将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,同时加深层次化设计概念;考虑软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何熔合等问题。

2.系统设计方案根据上述设计要求,可以预先设计若干个不同进制的计数器单元模块,然后将其进行例化组合来得到数字秒表系统。

要满足数字秒表的精度,首先要获得精确的计时基准信号,这里的系统精度要求为0.01秒,因此必须设置周期为0.01秒的时钟脉冲。

1/100秒、秒、分等计时单位之间的进位转换可以通过不同进制的计数器实现,我们分别设计十进制计数器和六进制计数器,每位计数器均能输出相应计时单位计数结果,其中,十进制计数器可以实现以0.01秒、0.1秒、1秒和1分为单位的计数,六进制计数器可以实现以10秒、10分为单位的计数,把各级计数器级联,即可同时显示百分秒、秒和分钟。

停止和启动功能可以通过计时使能信号完成。

信号有效时正常计时,否则没有脉冲输入到计数器,从而停止计时。

EDA课程设计报告

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课程设计报告

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语法要点,简单数字系统设计方法,设计实例分析与实操。

EDA课程设计报告

EDA课程设计报告

课 程 设 计课程名称 EDA 技术课程设计课题名称 键盘扫描显示与加减运算电路设计 专 业 电子科学与技术 班 级 1101班学 号姓 名指导教师2014 年 3 月 20 日湖南工程学院课程设计任务书课程名称:eda技术题目:键盘扫描显示与加减运算电路设计专业班级:电子科学与技术1101班学号:学生姓名:指导老师:审批:任务书下达日期2014 年3 月10 日设计完成日期2014 年3 月20 日目录一总体设计思路系统组成 (2)1.1 基本设计思路 (2)1.2 总体设计框图 (2)二子模块设计与分析 (3)2.1 键盘扫描模块 (3)2.2 编码模块 (4)2.3 消抖模块 (6)2.4加减功能模块 (7)2.5 数码显示模块 (9)三总电路 (11)3.1 电路连接图 (11)四程序下载 (13)4.1 程序下载 (13)4.2 引脚固定 (14)4.3 程序下载步骤 (14)4.4 实际连线图 (15)五总结与体会 (16)六附录 (17)6.1 各模块程序 (17)6.2 参考文献 (27)电气信息学院课程设计评分表 (28)一总体设计思路系统组成1.1 基本设计思路本设计利用键盘扫描程序完成3*4键盘的扫描并编码输出按键值,然后对按键输出值进行消抖,以保证每次按键值都能准确无误的输出,同时利用加减功能模块对输入值进行简单的加法、减法操作,并将加减之后的结果转换成BCD码输出到显示控制模块,通过显示控制模块将加减后的结果显示在数码管上。

本设计对时钟的利用充分,通过同一个时钟使各个模块之间协同工作,充分利用时钟的上下边沿,使整个系统处于一种高速工作状态,以提高整个系统工作效率。

1.2 总体设计框图二子模块设计与分析2.1 键盘扫描模块设计思路:本模块采用行输入,列输出,并定义一个4进制计数信号,在时钟脉冲的上升沿输入时计数,利用4进制提供行扫描信号,由于计数信号循环计数所以在没有按键按下时,行扫描的输出信号按照计数信号00→01→10→11→00→……的变化而变化,其顺序为1110→1101→1011→0111→1110→……依次周而复始。

电子行业EDA课程设计报告

电子行业EDA课程设计报告

电子行业EDA课程设计报告1. 引言本文档是电子行业EDA课程的设计报告,旨在介绍课程的设计目标、内容、实施过程以及所取得的成果。

EDA(Electronics Design Automation)是指电子设计自动化,是电子行业中一种重要的设计和开发方法。

本课程旨在培养学生掌握EDA的基本概念、流程和工具,从而提高他们在电子行业中的设计能力和竞争力。

2. 设计目标本课程的设计目标如下:1.培养学生掌握EDA的基本概念和原理。

2.培养学生熟练掌握EDA工具的使用和应用。

3.培养学生具备独立进行EDA项目设计和开发的能力。

4.提高学生的团队合作和沟通能力。

3. 课程内容本课程的内容主要包括以下几个方面:3.1 EDA基础知识在本节课程中,学生将学习EDA的基本概念和原理,包括电子设计流程、硬件描述语言、电路仿真和验证等方面的知识。

3.2 EDA工具的使用本节课程将介绍常用的EDA工具,包括电路设计工具、电路仿真工具和电路布局工具等。

学生将学习如何使用这些工具进行电路设计、仿真和验证。

3.3 EDA项目设计与开发在本节课程中,学生将进行一个EDA项目的设计与开发实践。

学生将根据给定的项目需求,使用所学的EDA工具进行电路设计、仿真和验证,并最终提交一个完整的EDA项目报告。

3.4 团队合作与项目管理本节课程将讲解团队合作和项目管理的基本原理和方法,包括任务分配、进度管理和沟通协作等方面的内容。

学生将通过分组合作,在完成EDA项目的过程中提高团队合作和沟通能力。

4. 实施过程本课程的实施过程主要包括以下几个阶段:4.1 阶段一:知识讲解在此阶段,教师将讲解EDA的基本概念、流程和工具使用方法。

学生将通过课堂听讲和课后阅读相关资料,对EDA的基础知识进行学习和理解。

4.2 阶段二:工具练习在此阶段,学生将通过实际操作,熟悉常用的EDA工具的使用方法。

教师将提供实验环境和相关实验指导,学生将利用课余时间进行工具的练习和实践。

EDA课程设计报告

EDA课程设计报告

串入并出移位寄存器一、设计任务与要求1.设计一个4位的串入并出移位寄存器;2.要求能分别输入两组4位数据,同时输出显示。

二、方案设计与论证移位寄存器除了具有存储代码的功能以外,还具有移位功能。

所谓移位功能,是指寄存器里存储的代码能在移位脉冲的作用下依次左移或右移。

因此,移位寄存器不但可以用来寄存代码,还可用来实现数据的串并转换、数字的运算以及数据处理等。

所谓的串入/并出移位寄存器,即输入的数据是一个接着一个有序地进入,输出时则一起送出。

两组数据伴随着时钟信号依次输入,输出时消除延时。

三、单元电路设计与参数计算程序代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sipo isport(d_in:in std_logic;clk:in std_logic;d_out:out std_logic_vector(3 downto 0));end sipo;architecture a of sipo issignal q:std_logic_vector(3 downto 0);beginp1:process(clk)beginif clk'event and clk='1'thenq(0)<=d_in;for i in 1 to 3 loopq(i)<=q(i-1);end loop;end if;end process p1;d_out<=q;end a;四、总原理图及元器件清单1.总原理图1.元件清单(或程序清单)五、安装与调试输入的数据为“1010”、“0111”两组4 位数据。

因输入的数据是每次一位依序进入,故输入、输出信号之间有 4 个CLK 时间的延迟。

为了过滤中间没用的数据,只读取完整的存储数据,实用上可将取样脉冲的周期设定成CLK 脉冲的四倍,也就是说,每经过4 个CLK 脉冲后实验连线输入信号D-IN(代表一位的串行数据输入)和CLK(代表抽样时钟信号),CLK 时钟信号接适配器板子上的时钟信号,频率建议取在1Hz 左右,D-IN 接拨码开关或按键;输出信号有D-OUT0~D-OUT3(代表4位并行数据输出),接发光二极管。

eda课程设计报告速度表设计

eda课程设计报告速度表设计

eda课程设计报告速度表设计一、课程目标知识目标:1. 学生能理解速度表的基本原理和设计理念,掌握速度的计算公式。

2. 学生能了解并运用电子设计自动化(EDA)软件进行速度表电路的设计与仿真。

3. 学生掌握速度表在实际应用中的相关技术参数和性能指标。

技能目标:1. 学生能够运用EDA软件进行电路图绘制,具备基本的电路设计能力。

2. 学生能够通过小组合作,进行速度表的设计、搭建与调试,培养实际操作能力。

3. 学生能够运用所学知识解决实际生活中的速度测量问题,提高创新能力。

情感态度价值观目标:1. 学生通过本课程的学习,培养对电子设计自动化技术的兴趣,激发创新精神。

2. 学生在小组合作中,培养团队协作意识,提高沟通与交流能力。

3. 学生能够认识到速度表在交通安全中的作用,增强社会责任感和遵守交通规则的意识。

本课程针对学生年级特点,注重理论与实践相结合,以EDA软件为工具,培养学生电子设计能力。

课程目标具体、可衡量,旨在使学生在掌握基本知识的同时,提高实际操作和创新能力,培养良好的团队协作意识和价值观。

二、教学内容1. 速度表原理及计算公式:讲解速度表的基本工作原理,引导学生掌握速度的计算公式,理解速度与时间、路程的关系。

2. EDA软件应用:介绍EDA软件的基本功能与操作方法,使学生能够运用软件进行电路设计与仿真。

3. 速度表电路设计:依据教材相关章节,指导学生进行速度表电路的绘制,包括传感器、放大器、显示电路等组成部分。

4. 电路搭建与调试:学生分组进行速度表的搭建和调试,掌握电路故障排查方法,提高实际操作能力。

5. 速度表在实际应用中的案例分析:分析速度表在交通安全、运动监测等领域的应用案例,让学生了解速度表的实际意义。

教学内容安排和进度:第一课时:速度表原理及计算公式第二课时:EDA软件应用与电路设计第三课时:速度表电路搭建与调试第四课时:案例分析及总结教学内容与课本紧密关联,注重科学性和系统性。

EDA课程设计毕业课程设计

EDA课程设计毕业课程设计

设计题目:抢答器的设计与仿真一.课程设计的目的EDA课程设计是电子信息科学与技术专业开设的一门独立实践环节课程。

通过课程设计使学生具体掌握将理论知识与实际应用相结合的方法,提高分析问题和解决问题的能力,激发学习兴趣、锻炼动手能力和科研能力。

了解CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。

二.设计方案论证1. 设计原理抢答器原理是根据所要设计的系统功能,将整个系统划分成几个主要模块,再将每个模块细分成几个子模块,直到最底层的小模块容易编程实现为止。

只需对底层元件编程实现,最后将各模块连接起来组成所需的系统。

对于一个抢答器系统,可将其分为五个模块:选手抢答模块、抢答启动模块、加减分模块、显示模块、蜂鸣器控制模块,整体框图如图(1)所示。

图(1)总体框图其中抢答启动模块具有启动抢答及启动定时功能,输出使能信号给选手识别模块,以及抢答剩余时间给显示模块;选手识别模块完成锁存抢答信号的功能,并输出选手号给显示模块;蜂鸣器对抢答成功以及超时鸣声报警;显示模块对输入的数据进行显示。

2. 设计内容沈阳大学(1)设计一智力竞赛抢答器,可同时供8名选手参加比赛。

(2)给节目主持人设置一个控制开关,控制系统清零和抢答开始。

(3)抢答器具有锁存功能和显示功能。

抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示选手编号,同时扬声器响,禁止其他选手抢答。

(4)抢答器具有抢答定时功能,时间由主持人确定。

(5)参赛选手在设定的时间内抢答有效,定时器停止工作。

(6)如果定时时间到,无人抢答,本次抢答无效,系统报警,并封锁输入电路,禁止超时抢答,定时器显示00 。

(7)为每组设计一个计分电路,0~999分,可加分,也可减分。

3. 设计整体原理图图(2)设计原理图三.设计结果与分析1、抢答启动模块启动模块除了有启动的功能外,还有启动定时的功能。

eda课程设计报告

eda课程设计报告

eda课程设计报告本篇课程设计报告旨在介绍我所参加的EDA课程设计项目。

在这个项目中,我们学习了EDA(Electronic Design Automation)的基本概念和工具,并且设计了一个基于RTL(Register Transfer Level)的数字电路。

以下是具体内容:一、课程设计背景EDA是指用计算机辅助设计来协助电子设计工程师进行电子系统的设计、验证和实现。

EDA已经成为了电子工程领域中不可或缺的工具。

本次课程设计旨在让我们熟悉EDA工具的使用,理解数字电路设计和验证的基本原理。

二、课程设计内容我们采用了Verilog语言来描述数字电路,使用Xilinx Vivado 作为开发工具。

我们首先学习了Verilog的基本语法和编写方法,然后根据老师提供的案例,设计了一个基于RTL的数字电路——多功能计数器。

多功能计数器由三个模块组成:计数模块、比较模块和控制模块。

其中计数模块负责计数,比较模块负责比较计数器的值和一个给定的阈值,控制模块负责根据比较结果控制计数器的计数和清零。

我们使用Xilinx Vivado中的IP核生成器来构建这些模块,并将它们组合成一个完整的数字电路。

三、课程设计效果通过本次课程设计,我们掌握了EDA工具的基本使用和数字电路设计的基本原理。

我们通过自己的实践,加深了对Verilog语言的理解,并且学会了如何使用Xilinx Vivado来开发数字电路。

最终,我们成功实现了一个多功能计数器,并且对其进行了测试和验证,达到了预期效果。

四、总结EDA课程设计为我们打下了坚实的数字电路设计基础,使我们更加熟练地使用EDA工具,同时也为我们今后的学习和工作奠定了基础。

我们将继续探索EDA工具的应用,深入了解数字电路设计的原理和方法,为电子工程领域做出更多的贡献。

eda课程设计实训报告

eda课程设计实训报告

eda课程设计实训报告一、教学目标本课程的教学目标分为知识目标、技能目标和情感态度价值观目标。

知识目标:学生通过本课程的学习,能够掌握eda的基本概念、原理和应用。

技能目标:学生能够熟练使用eda工具,进行电子系统设计和仿真。

情感态度价值观目标:培养学生对科技创新的兴趣和热情,提高学生解决实际问题的能力。

二、教学内容根据课程目标,本课程的教学内容主要包括eda基本概念、eda工具的使用和电子系统设计实例。

教学大纲如下:1.第一章:eda概述学习eda的基本概念、发展历程和应用领域。

2.第二章:eda工具介绍学习主流eda工具的使用方法和技巧。

3.第三章:电子系统设计实例通过具体实例,学习如何使用eda工具进行电子系统设计和仿真。

三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。

1.讲授法:用于讲解eda的基本概念和原理。

2.讨论法:用于引导学生探讨和解决问题。

3.案例分析法:通过分析具体案例,让学生掌握eda工具的使用方法和技巧。

4.实验法:让学生动手实践,提高实际操作能力。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用权威、实用的eda教材作为主要学习资料。

2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。

4.实验设备:保障实验课程的顺利进行,让学生充分实践。

五、教学评估本课程的评估方式包括平时表现、作业和考试。

1.平时表现:通过课堂参与、提问和讨论等方式评估学生的学习态度和理解程度。

2.作业:布置适量的作业,评估学生的掌握情况和应用能力。

3.考试:进行期中和期末考试,全面评估学生的知识掌握和运用能力。

评估方式要求客观、公正,能够全面反映学生的学习成果。

六、教学安排教学进度安排如下:1.第一章:eda概述(2课时)2.第二章:eda工具介绍(4课时)3.第三章:电子系统设计实例(6课时)教学时间安排为每周2课时,共计12课时。

EDA课程设计报告

EDA课程设计报告

EDA课程设计报告题目:#1——串口通信姓名:学号:班级:组员:串口通信一、设计要求设计一个全双工串口收发控制程序,速率为1200b/s、9600b/s、19200b/s可选,其中数据帧格式为:1位起始位+8位数据+1位奇偶校验位+1位停止位。

二、系统组成FPGA UART由3个子模块组成: 波特率发生器; 接收模块; 发送模块。

方框图如图1 所示。

波特率发生器比较接收模块发送模块图 1 UART 模块组成三、模块设计1. 顶层模块异步收发器的顶层模块由波特率发生器、UART接收和UART发送器构成。

UART 发送器的用途是将准备输出的并行数据按照基本UART 帧格式转为TXD 信号串行输出。

UART接收器接收RXD 串行信号, 并将其转化为并行数据。

波特率发生器就是专门产生一个远远高于波特率的本地时钟信号对输入RXD 不断采样, 使接收器与发送器保持同步。

电路图如图2所示。

2.波特率发生器波特率发生器实际上就是一个分频器。

可以根据给定的系统时钟频率(晶振时钟) 和要求的波特率算出波特率分频因子, 算出的波特率分频因子作为分频器的分频数波特率分频因子可以根据不同的应用需要更改。

本设计有三档,通sel[1..0]端口选择,模式一为1200b/s,模式二9600b/s,为模式三为19200b/s。

3.UART接收器由于串行数据帧和接收时钟是异步的, 由逻辑1 转为逻辑0 可以被视为一个数据帧的起始位。

然而, 为了避免毛刺影响, 能够得到正确的起始位信号, 必须要求接收到的起始位在波特率时钟采样的过程中至少有一半都是属于逻辑0 才可认定接收到的是起始位。

由于内部采样时钟bclk 周期(由波特率发生器产生) 是发送或接收波特率时钟频率的16 倍, 所以起始位需要至少8 个连续bclk 周期的逻辑0 被接收到, 才认为起始位接收到, 接着数据位和奇偶校验位将每隔16 个bclk 周期被采样一次(即每一个波特率时钟被采样一次) 。

EDA课程设计实验报告

EDA课程设计实验报告

《EDA课程设计》报告学号:姓名:班级:指导教师:2013年6 月24日- 2013年7 月5日目录1.引言 ............................................................................................................... 错误!未定义书签。

2.原理图的设计................................................................................................ 错误!未定义书签。

文件的新建............................................................................................... 错误!未定义书签。

原理图文件XX .Sch的建立 ..................................................................... 错误!未定义书签。

元件库的导入........................................................................................... 错误!未定义书签。

原理图中各元件的布局和连线 (3)3.原理图新元件的设计 (4)元件库XX .Lib文件的建立 (4)原理图元件的画法................................................................................... 错误!未定义书签。

注意事项................................................................................................... 错误!未定义书签。

课程设计eda

课程设计eda

课程设计eda一、教学目标本课程的教学目标是使学生掌握XX学科的基本概念、原理和方法,能够运用所学知识解决实际问题。

具体目标如下:1.知识目标:学生能够准确理解并记忆XX学科的基本概念、原理,了解学科的发展历程和应用领域。

2.技能目标:学生能够运用所学知识解决实际问题,具备一定的实践操作能力,能够进行科学探究和数据分析。

3.情感态度价值观目标:学生对XX学科产生浓厚的兴趣,培养科学思维和创新意识,增强社会责任感和使命感。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.XX学科的基本概念和原理:通过讲解和案例分析,使学生了解并掌握XX学科的基本概念和原理。

2.XX学科的应用领域:介绍XX学科在实际应用中的案例,让学生了解学科的广泛应用。

3.实践操作和科学探究:学生进行实验和实践活动,培养学生的实践操作能力和科学探究能力。

4.数据分析与处理:教授学生如何运用数据分析方法解决实际问题,提高学生的数据分析能力。

三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括:1.讲授法:通过教师的讲解,使学生掌握XX学科的基本概念和原理。

2.讨论法:学生进行课堂讨论,培养学生的思考和表达能力。

3.案例分析法:通过分析实际案例,使学生了解XX学科的应用领域。

4.实验法:学生进行实验操作,培养学生的实践能力和科学探究能力。

四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选择适合学生水平的教材,为学生提供系统性的学习资料。

2.参考书:提供相关的参考书籍,丰富学生的知识体系。

3.多媒体资料:制作多媒体课件和教学视频,提高学生的学习兴趣和效果。

4.实验设备:准备必要的实验设备和材料,为学生提供实践操作的机会。

五、教学评估本课程的评估方式将包括平时表现、作业、考试等多个方面,以全面、客观地评价学生的学习成果。

具体评估方式如下:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等,评估学生的学习态度和理解程度。

EDA课程设计报告(重邮)

EDA课程设计报告(重邮)

目录●引言 (2)●设计目的 (3)●设计要求 (3)●设计简易流程说明 (3)●具体设计过程 (4)★抢答鉴别模块设计 (4)★抢答计分模块设计 (6)★抢答计时模块设计 (10)★译码器设计 (12)★抢答器全局集成电路设计 (14)●课程设计心得体会 (15)●附录一 (16)●附录二 (18)引言随着基于PLD的EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动化及计算机应用领域的重要性日益突出。

随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学和科研领域中来。

为了适应EDA技术的发展和EDA技术的教学实验要求,更加突出实验中EDA技术的实用性,以及面向工程实际的特性和电子设计的创新性。

学校开展EDA学科的教学时,重在学生上机实验应用及动手能力。

一般而言,电子产业主要包括通信工业、信息产业、半导体工业、电子零组件工业、消费性电子工业、光电及仪表工业等。

高度发达的信息化社会发展离不开现代电子产品的进步。

现代电子产品在性能、电路复杂度和规模上都在不断地提高,而其上市时间也在不断缩短。

生产制造技术和电子设计技术的发展是实现现代电子产品进步的主要原因。

前者以微细加工技术为代表,其工艺已进展到深亚微米阶段,可在很小的矽芯片上集成数千万甚至上亿个晶体管;後者的核心就是EDA(电子设计自动化)技术。

EDA包括PCB设计、MCM设计、嵌入式设计、PLD/FPGA设计、标准IC设计、ASIC设计、系统芯片设计、ASSP设计、系统设计等等。

EDA是电子产品设计的起点,借助EDA技术可加速设计的完成。

甚至,VLSI(超大规模集成电路)的生产制造不借助EDA技术是不可能完成的。

同时,生产制造技术的不断进步又必将刺激著EDA工具的发展。

目前,半导体工业是现代EDA 行业增长的主要推动力量,消费类产品系统制造商是EDA供应商的最重要客户,它们的技术需求和经济需求直接影响 EDA 行业的兴衰。

eda课程设计实验报告

eda课程设计实验报告

eda课程设计实验报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。

2. 学生能运用所学知识,设计并实现基本的数字电路。

3. 学生了解数字电路的设计流程,掌握设计规范,具备初步的电路分析能力。

技能目标:1. 学生能独立操作EDA软件,完成电路的原理图绘制、仿真和布局布线。

2. 学生通过实验报告的撰写,提高实验数据分析、总结归纳的能力。

3. 学生在小组合作中,提高沟通协调能力和团队协作能力。

情感态度价值观目标:1. 学生培养对电子科学的兴趣,激发创新意识,增强实践能力。

2. 学生在实验过程中,形成严谨的科学态度,提高问题解决能力。

3. 学生通过课程学习,认识到科技发展对国家和社会的重要性,增强社会责任感。

课程性质:本课程为实践性较强的电子设计课程,旨在培养学生的实际操作能力、创新意识和团队合作精神。

学生特点:六年级学生具有一定的电子知识基础,好奇心强,喜欢动手实践,但需加强对理论知识的理解和应用。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. EDA基本概念与工具介绍- 电子设计自动化原理简介- 常用EDA软件功能与操作方法2. 数字电路设计基础- 数字电路基本元件及功能- 原理图绘制与仿真分析3. 布局布线与PCB设计- PCB设计流程与方法- 布局布线技巧与规范4. 实验报告撰写- 实验数据整理与分析- 实验总结与反思教学大纲安排如下:第一周:- EDA基本概念与工具介绍- 数字电路基本元件及功能第二周:- 原理图绘制与仿真分析第三周:- 布局布线与PCB设计第四周:- 实验报告撰写教学内容与教材关联性:本教学内容与教材《电子技术基础与实践》第六章“电子设计自动化”相关章节紧密相连,确保了教学内容的科学性和系统性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(此文档为word格式,下载后您可任意编辑修改!)贵州大学EDA技术课程设计报告题目:洗衣机控制器院系计算机科学与技术学院专业计算机科学与技术类学号学生姓名李兴指导教师夏玉勤洗衣机控制器一、设计任务及要求(四号宋字,粗体)1、设计一个电子定时器,控制洗衣机作如下运转:定时启动→正转20秒→暂停10秒→反转20秒→暂停10秒→定时未到回到“正转20秒→暂停10秒→……”,定时到则停止;2、若定时到,则停机发出音响信号;3、用两个数码管显示洗涤的预置时间(分钟数)按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。

二、基于Verilog语言的电路设计、仿真、综合(四号宋字,粗体)1.基本原理洗衣机控制器的设计主要是定时器的设计。

由一片FPGA和外围电路构成了电器控制部分。

FPGA接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。

对芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。

顶层和中间层多数是由VHDL的元件例化语句实现。

中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。

2.设计框图图1 设计框图用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用LED表示电动机的正、反转,如果定时时间到,则停机并发出音响信号。

3、模块设计和相应模块代码洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。

(1)预设时间和编码电路:本模块将输入的四位时间信号编码成八位二进制数输出到减法计数器电路。

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity settime is port (load:in std_logic;time_input:in std_logic_vector(3 down to 0);time_set:out std_logic_vector(7 downto 0));end settime;architecture settime of settime issignal p1:std_logic_vector(7 downto 0);beginprocess(load)beginif(load'event and load='1')thencase time_input iswhen "0000"=>p1<="";when "0001"=>p1<="";when "0010"=>p1<="";when "0011"=>p1<="";when "0100"=>p1<="";when "0101"=>p1<="";when "0110"=>p1<="";when "0111"=>p1<="";when "1000"=>p1<="";when "1001"=>p1<="";when others=>p1<="";end case;end if;end process;time_set<=p1;end settime;图2图3预设时间和编码仿真用K1、K2、K3、K4给time_input输入一个二进制数0111,让load有效,输出time_set为。

(2)减法计数器模块:由于洗衣机有工作时间,必须要一模块来控制它的工作时间范围,当洗衣机开始工作后,减法计数器即会实现减数功能,直到时间减到零,洗衣机便停止工作。

当出现系统运行结束信号time_over时,蜂鸣器报警洗衣机工作结束。

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter isport(clk,start:in std_logic;time_set:in std_logic_vector(7 downto 0);time_remain:buffer std_logic_vector(7 downto 0);time_over:buffer std_logic);end counter;architecture counter of counter isbeginprocess(clk)variable time_second:integer range 0 to 59 :=59;beginif(clk'event and clk='1')thenif(start='0')thenif(time_remain(7 downto 0)=0)thentime_remain<=time_set;elsetime_remain(7 downto 4)<=time_remain(3 do wnto 0);time_remain(3 downto 0)<=time_set(3 downto 0);end if;time_second:=59;time_over<='1';elseif(time_over='1')thenif(time_second=0 and time_remain(7 downto 0)=0)thentime_over<='0';elseif(time_second=0)thenif(time_remain(3 downto 0)=0)thentime_remain(7 downto 4)<=time_remain(7 downto 4)-1;time_remain(3 downto 0)<="1001";time_second:=59;elsetime_remain(7 downto 4)<=time_remain(7 downto 4);time_remain(3 downto 0)<=time_remain(3 downto 0)-1; time_second:=59;end if;elsetime_second:=time_second-1;end if;end if;end if;end if;end if;end process;end counter;图4图5减法计数器模块源仿真(3)数码管显示模块:根据课程设计要求,必须将洗衣机的工作状态及工作时间在数码管和指示灯上显示出来,此模块是用来控制洗衣机的工作状态及工作的频率,并把工作状态及工作时间显示出来。

a,b,c,d,e,f,g分别对应数码管的七段,minute和second分别位选两个数码管,显示十位和个位。

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity showtime isport (time_remain:in std_logic_vector(7 downto 0);clk:in std_logic;minute,second:out std_logic;a,b,c,d,e,f,g:out std_logic);end showtime;architecture showtime of showtime issignal temp:std_logic_vector(6 downto 0);signal bcd:std_logic_vector(3 downto 0);signal choose:std_logic;beginprocess(clk)beginif(clk'event and clk='1')thenchoose<=not choose;if(choose='1')thenminute<='0';second<='1';bcd<= time_remain(7 downto 4);elseminute<='1';second<='0';bcd<= time_remain(3 downto 0);end if;end if;end process;process(bcd)begincase bcd iswhen "0000"=>temp<="";when "0001"=>temp<="";when "0010"=>temp<="";when "0011"=>temp<="";when "0100"=>temp<="";when "0101"=>temp<="";when "0110"=>temp<="";when "0111"=>temp<="";when "1000"=>temp<="";when "1001"=>temp<="";when others=>temp<="";end case;a<=temp(6);b<=temp(5);c<=temp(4);d<=temp(3);e<=temp( 2);f<=temp(1);g<=temp(0);end process;end showtime;图6图7数码管模块仿真(4)时序电路模块:接收运行起止信号,安排电机运行状态并编码输出library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity analyse is port (clk,start,time_over:in std_logic;out_1,out_2:out std_logic );end analyse;architecture analyse of analyse isbeginprocess(clk)variable state:std_logic;variable wash_time:integer:=0;variable wait_time:integer:=0;beginif(clk'event and clk='1')thenif(start='0')thenwash_time:=0;wait_time:=0;state:='0';out_1<='0';out_2<='0';elseif(time_over='1')thenif(wash_time=20)thenif(wait_time=10)thenwash_time:=0;state:=not state;elsewait_time:=wait_time+1;end if;elsewash_time:=wash_time+1; wait_time:=0;end if;end if;if (wash_time=20)thenout_1<='0';out_2<='0';elseif(state='0')thenout_1<='1';out_2<='0';elseout_1<='0';out_2<='1';end if;end if;end if;end if;end process; end analyse;图8图9时序电路模块仿真:(5)译码器模块:接收电机运行状态信号,译码后实时控制电机的正传、反转和暂停。

相关文档
最新文档