电子设计自动化实验报告
EDA实训报告总结
![EDA实训报告总结](https://img.taocdn.com/s3/m/e51db0245022aaea988f0fa0.png)
实训心得短暂的一周实训已经过去了,对于我来说这一周的实训赋予了我太多实用的东西了,不仅让我更深层次的对课本的理论知识深入了理解,而且还让我对分析事物的逻辑思维能力得到了锻炼,提高了实际动手能力,下面谈一下就这一周实训中我自己的一些心得体会.一周的实训已经过去了,我们在老师提供的实践平台上通过自己的实践学到了很多课本上学不到的宝贵东西,熟悉了对quartus ⅱ软件的一般项目的操作和学到了处理简单问题的基本方法,更重要的是掌握了vhdl语言的基本设计思路和方法,我想这些会对我今后的学习起到很大的助推作用。
此外,还要在今后的课本理论知识学习过程中要一步一个脚印的扎实学习,灵活的掌握和运用专业理论知识这样才能在以后出去工作的实践过程中有所成果。
最后还要感谢学校为我们提供这样专业的实践平台还有瓮老师在一周实训以来的不断指导和同学的热情帮助。
总的来说,这次实训我收获很大.同时,感谢大专两年来所有的老师,是你们为我解惑受业,不仅教授我专业知识,更教会我做人的道理.这次eda实训让我感觉收获颇多,在这一周的实训中我们不仅巩固了以前学过的知识,而且还学到了怎样运用eda设计三种波形的整个过程和思路,更加强了我们动手能力,同时也提高了我们的思考能力的锻炼,我们在写程序的同时还要学会要改程序,根据错误的地方去修改程序.本文基于verilog hdl的乒乓球游戏机设计,利用verilog hdl语言编写程序实现其波形数据功能在分析了cpld技术的基础上,利用cpld开发工具对电路进行了设计和仿真,从分离器件到系统的分布,每一步都经过严格的波形仿真,以确保功能正常。
从整体上看来,实训课题的内容实现的功能都能实现,但也存在着不足和需要进一步改进的地方,为我今后的学习和工作奠下了坚实的基础。
通过此次的实训课题,掌握了制作乒乓球游戏机技术的原理及设计要领,学习并掌握了可编程逻辑电路的设计,掌握了软件、cpld元件的应用,受益匪浅,非常感谢瓮老师这一学期来的指导与教诲,感谢老师在学习上给予的指导,老师平常的工作也很忙,但是在我们学习的过程中,重来没有耽搁过,我们遇到问题问他,他重来都是很有耐心,不管问的学生有多少,他都细心的为每个学生讲解,学生们遇到的不能解决的,他都配合同学极力解决。
电子设计自动化EDA技术实验四报告模板-10进制计数器设计
![电子设计自动化EDA技术实验四报告模板-10进制计数器设计](https://img.taocdn.com/s3/m/de833020a2161479171128ea.png)
南京工程学院自动化学院实验报告课程名称电子设计自动化EDA技术实验项目名称10进制计数器设计实验学生班级实验学生姓名同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日24其中D 表示输入初始计数值,Sta 为计数开始,Q 表示当前计数值;LD 表示预制计数值,LD 为“0”,初始计数值打入器件;UD 表示计数方向,UD 为‘0’,计数器加计数,UD 为‘1’,计数器减计数;C 表示器件工作态,C 为‘0’,表示计数器正在计数;C 为‘1’,表示计数器计数结束;CP 为计数脉冲。
四、实验方案设计、实验方法 1. 实验方案10进制计数器的VHDL 描述有多种方法,设计过程中可以采用计数脉冲CP 作为敏感量,CP 的每个上升沿,计数值Q 加‘1’或减‘1’,加到‘9’后回‘0’或减到‘0’后回‘9’,语句可采用case …when 、with …select 、if …then 以及加减运算等多种结构实现。
也可以首先设计基本的触发器、锁存器等元件,而后通过元件的互联实现。
本实验中根据真值表用if-then 结构实现10进制计数器 2. 实验方法首先根据前文所述,对照真值表的列出的不同输入逻辑状态,分情况依次输出于输入的对应关系,而后编译综合,由开发系统自行实现电路功能。
五、实验步骤1. 设计输入 利用FILE\New 菜单输入VHDL 源程序,创建源文件D0 D1 D2 D3 CP Sta LD UDQ0 Q1 Q2 Q3 C62. 器件及管脚逻分配图管脚分配情况如图,所选器件为EPM7032AELCC44-43. 仿真波形10进制计数器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路功能达到设计要求4. 时序分析图上述时间分析可以得到,输出信号存在3ns的时间延迟,它主要与器件速度、表达逻辑的合理性有关,选用速度更高器件、优化设计可以使该值降低。
8。
设计占空比为40%的方波发生器
![设计占空比为40%的方波发生器](https://img.taocdn.com/s3/m/a86daf03844769eae009edcb.png)
电子设计自动化实验报告(五)学院:电气学院班级:电子122班姓名:覃思远
一、实验题目:设计占空比为40%的方波发生器
二、实验目的:学会调用LPM模块类存储器来设计涉及RAM和ROM等存储器应用的EDA 设计开发。
三、实验程序:
四、实验仿真结果:
五、仿真结果分析:设置时钟inclk0、时钟使能clken=1和复位reser=0,由图可以看出,输出q得到一个占空比为40%的方波,该设计为占空比为40%方波发生器。
六、硬件下载设置及测试过程:根据板子给定的引脚锁定图,选定相应的硬件把硬件的引脚与程序中的输入输出端锁定,编译并下载程序,设置好时钟inclk0、时钟使能clken=1和复位reser=0,板子上电测试,观察实验现象是否符合程序的结果。
七、总结:在涉及RAM和ROM等存储器应用的EDA 设计开发中要学会利用Quartus II 调用LPM RAM的方法和相关技术,包括仿真测试、初始化配置文件生成、例化程序表述、
相关属性应用、以及存储器的Verilog语言描述等。
eda课程设计实验小结
![eda课程设计实验小结](https://img.taocdn.com/s3/m/91961fe51b37f111f18583d049649b6649d70907.png)
eda课程设计实验小结一、教学目标本课程的教学目标是使学生掌握EDA(电子设计自动化)的基本原理和实验技能,能够运用EDA工具进行简单的电子系统设计和仿真。
具体目标如下:1.知识目标:学生能够理解EDA的基本概念、发展历程和主要应用领域;熟悉常见的EDA工具及其基本操作。
2.技能目标:学生能够运用EDA工具进行电路设计、仿真和验证;能够进行简单的PCB设计和管理。
3.情感态度价值观目标:培养学生对电子技术的兴趣和好奇心,提高学生的问题解决能力和创新意识。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.EDA基本概念和发展历程:介绍EDA的定义、发展历程和主要应用领域。
2.EDA工具的基本操作:以某一款常见的EDA工具为例,讲解其基本操作和功能。
3.电路设计和仿真:通过具体案例,讲解如何使用EDA工具进行电路设计和仿真。
4.PCB设计和管理:介绍PCB的基本概念,讲解如何使用EDA工具进行PCB设计和管理。
三、教学方法为了达到课程目标,我们将采用以下几种教学方法:1.讲授法:讲解EDA的基本概念、发展历程和主要应用领域。
2.案例分析法:通过具体案例,引导学生掌握EDA工具的基本操作和应用。
3.实验法:让学生亲自动手进行电路设计和仿真实验,提高其实践能力。
4.讨论法:鼓励学生积极参与课堂讨论,培养其创新意识和问题解决能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的EDA教材,为学生提供系统、科学的学习材料。
2.参考书:提供一些精选的参考书籍,拓展学生的知识视野。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:准备充足的实验设备,确保每个学生都能动手进行实验。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估其学习态度和理解能力。
实习报告自动化专业实习报告
![实习报告自动化专业实习报告](https://img.taocdn.com/s3/m/e693943ff342336c1eb91a37f111f18582d00c59.png)
实习报告自动化专业实习报告实习报告。
实习报告自动化专业实习报告。
实习时间,2021年7月1日至2021年8月30日。
实习单位,某某科技有限公司。
实习内容:在某某科技有限公司的实习期间,我主要负责参与自动化系统的设计与开发工作。
在实习的过程中,我学习了自动化系统的基本原理和技术,并且通过实际操作和项目实践,提高了自己的实际操作能力和解决问题的能力。
在实习的过程中,我参与了公司的一个自动化系统项目,负责了系统的设计与开发工作。
在这个项目中,我学习了自动化系统的整体架构设计和各个模块之间的协作关系,掌握了PLC编程、传感器应用、工业网络通信等技术,并且通过与团队的合作,解决了系统中的一些技术难题。
在实习的过程中,我还参与了公司的一些现场调试工作,学习了如何在实际的生产现场中部署和调试自动化系统,了解了自动化系统在实际生产中的应用和运行情况。
实习收获:通过这次实习,我不仅学习了自动化系统的理论知识,还掌握了自动化系统的设计与开发技术,并且通过实际操作和项目实践,提高了自己的实际操作能力和解决问题的能力。
同时,通过与团队的合作和项目实践,我也学习了团队合作的重要性和技术交流的重要性,提高了自己的团队协作能力和沟通能力。
在实习的过程中,我还结识了许多优秀的同事和导师,他们的经验和教诲让我受益匪浅,对自动化专业的发展和未来充满信心。
总结:通过这次实习,我不仅学到了很多专业知识和技术,还锻炼了自己的实际操作能力和解决问题的能力,并且通过与团队的合作和项目实践,提高了自己的团队协作能力和沟通能力。
这次实习经历让我受益匪浅,对自动化专业的发展和未来充满信心。
感谢公司和导师对我的指导和培养,我会继续努力,不断提高自己,为公司的发展贡献自己的力量。
自动化技术综合实训报告
![自动化技术综合实训报告](https://img.taocdn.com/s3/m/b589f20932687e21af45b307e87101f69f31fb45.png)
自动化技术综合实训报告一、实训内容及目标本次综合实训的主要内容是利用自动化技术完成一个智能家居系统的设计与搭建。
该系统主要包括智能家居控制中心、家庭安全监测模块、环境舒适调控模块以及远程控制模块,旨在提高生活的便利性、安全性以及舒适性。
实训的目标是让学生通过实际操作,了解自动化技术在家庭生活中的应用,掌握智能家居系统的设计与搭建方法,并能够独立完成类似项目的工作。
二、实训过程及方法1.设计与搭建智能家居控制中心:首先,我们需要设计一个智能家居控制中心,用于连接各个模块,并对其进行监控与控制。
在设计过程中,我们需要确定控制中心的硬件设备以及网络通信方式。
然后,我们需要使用相应的开发工具进行编程,通过传感器获得各种数据,并通过控制指令对各个模块进行控制。
2.家庭安全监测模块设计与搭建:家庭安全监测模块主要包括人体红外传感器和摄像头。
通过人体红外传感器检测到有人进入时,触发报警系统,并通过摄像头实时监控并拍摄画面。
我们需要设计相应的电路,并编写程序对传感器和摄像头进行控制。
3.环境舒适调控模块设计与搭建:环境舒适调控模块主要包括温湿度传感器和空调控制器。
通过温湿度传感器获取环境温湿度数据,并通过空调控制器控制温度和湿度。
我们需要设计相应的电路,并编写程序对传感器和空调控制器进行控制。
4.远程控制模块设计与搭建:远程控制模块主要用于实现用户对智能家居系统的远程控制。
我们可以通过手机、电脑等设备对控制中心进行远程操控,实现对家庭安全监测模块和环境舒适调控模块的远程控制。
我们需要设计相应的网络通信方式,并编写远程控制程序。
三、实训成果及总结在本次综合实训中,我们成功设计并搭建了一个智能家居系统,包括智能家居控制中心、家庭安全监测模块、环境舒适调控模块以及远程控制模块。
通过实际操作,我们深入了解了自动化技术在家庭生活中的应用,掌握了智能家居系统的设计与搭建方法,并且能够独立完成类似项目的工作。
通过本次实训,我们对自动化技术有了更深入的了解,发现自动化技术在提高家庭生活的便利性、安全性以及舒适性方面具有巨大潜力。
电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告
![电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告](https://img.taocdn.com/s3/m/6e555c3826d3240c844769eae009581b6bd9bd2f.png)
电子设计自动化(EDA)—数字时钟LED数码管显示二、实验内容和实验目的1. 6个数码管动态扫描显示驱动2. 按键模式选择(时\分\秒)与闹钟(时\分)调整控制,3. 用硬件描述语言(或混合原理图)设计时、分、秒计数器模块、闹钟模块、按键控制状态机模块、动态扫描显示驱动模块、顶层模块。
要求使用实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒;要求模式按键和调整按键信号都取自经过防抖处理后的按键跳线插孔。
实验目的: 1)学会看硬件原理图, 2)掌握FPGA硬件开发的基本技能3)培养EDA综合分析、综合设计的能力三、实验步骤、实现方法(或设计思想)及实验结果主要设备: 1)PC机, 2)硬件实验箱, 3)Quartus II软件开发平台。
1.打开Quartus II , 连接实验箱上的相关硬件资源, 如下图1所示。
2.建立新文件, 选择文本类型或原理图类型。
3. 编写程序。
4.编译5. 仿真, 加载程序到芯片, 观察硬件输出结果(数码管显示)6.结果正确则完成。
若结果不正确, 则修改程序, 再编译, 直到正确。
模24计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count24 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count24;ARCHITECTURE arc OF count24 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk,en)BEGINhh<=a;hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0010" AND b="0011") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;IF(a="0010" AND b="0010") THENcout<='1';ELSE cout<='0';END IF;END IF;END IF;END PROCESS;END arc;模60计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count60 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count60;ARCHITECTURE arc OF count60 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL sout:STD_LOGIC;BEGINPROCESS(clk)BEGINhh<=a; hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0101" AND b="1001") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;END IF;END IF;END PROCESS;sout<='1' WHEN a="0101" AND b="1001" ELSE '0';cout<=sout AND en;END arc;4-7显示译码模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY segment4to7 ISPORT(s:IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g:OUT STD_LOGIC);END segment4to7;ARCHITECTURE arc OF segment4to7 IS SIGNAL y:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGINa<= y(6);b<= y(5);c<= y(4);d<= y(3);e<= y(2); f<= y(1);g<= y(0);PROCESS(s)BEGINCASE s ISWHEN "0000"=>y<="1111110"; WHEN "0001"=>y<="0110000"; WHEN "0010"=>y<="1101101"; WHEN "0011"=>y<="1111001"; WHEN "0100"=>y<="0110011"; WHEN "0101"=>y<="1011011"; WHEN "0110"=>y<="1011111"; WHEN "0111"=>y<="1110000"; WHEN "1000"=>y<="1111111"; WHEN "1001"=>y<="1111011"; WHEN OTHERS=>y<="0000000"; END CASE;END PROCESS;END arc;带闹钟控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mode_adjust_with_alarm ISPORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END mode_adjust_with_alarm;ARCHITECTURE arc OF mode_adjust_with_alarm ISTYPE mystate IS (s0,s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS (c_state)BEGINCASE c_state ISWHEN s0=> next_state <= s1; clkh<=clk1hz; clkm<=clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="000";WHEN s1=> next_state <= s2; clkh<=adjust; clkm<= '0'; clks<='0';enh<='1'; enm<='0';enha<='0'; clkh_a<= '0';clkm_a<= '0'; mode_ss <="001";WHEN s2=> next_state <= s3; clkh<= '0'; clkm<=adjust; clks <= '0';enh<='0';enm<='1';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="010";WHEN s3=> next_state <= s4; clkh<= '0'; clkm<= '0'; clks<=adjust;enh<='0'; enm<='0';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="011";WHEN s4=> next_state <= s5; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0';enm<='0';enha<='1'; clkh_a<=adjust; clkm_a<= '0'; mode_ss <="100";WHEN s5=> next_state <= s0; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<=adjust; mode_ss <="101";END CASE;END PROCESS;PROCESS (mode)BEGINIF (mode'EVENT AND mode='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;扫描模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan ISPORT(clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END scan;ARCHITECTURE arc OF scan ISTYPE mystate IS (s0, s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS ( c_state )BEGINCASE c_state ISWHEN s0=> next_state <=s1; ss<="010";WHEN s1=> next_state <=s2; ss<="011";WHEN s2=> next_state <=s3; ss<="100";WHEN s3=> next_state <=s4; ss<="101";WHEN s4=> next_state <=s5; ss<="110";WHEN s5=> next_state <=s0; ss<="111";END CASE;END PROCESS;PROCESS (clk256hz)BEGINIF (clk256hz'EVENT AND clk256hz='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;复用模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux ISPORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END mux;ARCHITECTURE arc OF mux ISSIGNAL a,hhtmp,hltmp,mhtmp,mltmp,shtmp,sltmp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(mode_ss)BEGINCASE mode_ss ISWHEN "000"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "001"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "010"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "011"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "100"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN "101"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN OTHERS=>hhtmp<="0000";hltmp<="0000";mhtmp<="0000";mltmp<="0000";shtmp<="0000";sltmp<="0000"; END CASE;END PROCESS;PROCESS(ss)BEGINCASE ss ISWHEN "010"=> a <=hhtmp;WHEN "011"=> a <=hltmp;WHEN "100"=> a <=mhtmp;WHEN "101"=> a <=mltmp;WHEN "110"=> a <=shtmp;WHEN "111"=> a <=sltmp;WHEN OTHERS => a <="0000";END CASE;y<=a;END PROCESS;alarm<='1' WHEN ((hh=hha)AND(hl=hla)AND(mh=mha)AND(ml=mla)) ELSE '0';END arc;闪烁模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY blink_control ISPORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END blink_control;ARCHITECTURE arc OF blink_control ISBEGINPROCESS (ss,mode_ss)BEGINIF(ss="010" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="110" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="111" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="010" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="101") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="101") THEN blink_en<='1';ELSE blink_en<='0';END IF;END PROCESS;END arc;Top文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY design3 ISPORT (mode,adjust,clk1hz,clk2hz,clk256hz,clk1khz:IN STD_LOGIC;alarm,a,b,c,d,e,f,g:OUT STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END design3;ARCHITECTURE arc OF design3 ISCOMPONENT mode_adjust_with_alarm PORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT scan PORT (clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT segment4to7 PORT (s: IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g: OUT STD_LOGIC);END COMPONENT;COMPONENT mux PORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END COMPONENT;COMPONENT blink_control PORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END COMPONENT;COMPONENT count24 PORT (clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT count60 PORT (clk ,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNALclkh,enh,clkm,enm,clks,clkh_a,clkm_a,coutm,couts,coutm_en,couts_en,cout,vcc,coutma_en,coutma,alarm1,bli nk_en,blink_tmp,enha: STD_LOGIC;SIGNAL mode_ss,ss1:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,y,i:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINvcc<='1';coutm_en <= enh OR coutm;couts_en <= enm OR couts;coutma_en<= enha OR coutma;blink_tmp<=blink_en and clk2hz;i(3)<=y(3) OR blink_tmp;i(2)<=y(2) OR blink_tmp;i(1)<=y(1) OR blink_tmp;i(0)<=y(0) OR blink_tmp;ss<=ss1;alarm<=alarm1 AND clk1khz;u1:mode_adjust_with_alarmPORT MAP( adjust,mode,clk1hz,clkh,enh,clkm,enm,clks,enha,clkh_a,clkm_a,mode_ss);u2:count24 PORT MAP(clkh,coutm_en,cout,hh,hl);u3:count60 PORT MAP(clkm,couts_en,coutm,mh,ml);u4:count60 PORT MAP(clks,vcc,couts,sh,sl);u5:count24 PORT MAP(clkh_a,coutma_en,cout,hha,hla);u6:count60 PORT MAP(clkm_a,vcc,coutma,mha,mla);u7:mux PORT MAP(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,ss1,mode_ss,y,alarm1);u8:scan PORT MAP(clk256hz,ss1);u9:blink_control PORT MAP(ss1,mode_ss,blink_en);u10:segment4to7 PORT MAP(i,a,b,c,d,e,f,g);END arc;实验结果:数字钟包括正常的时分秒计时, 实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒。
EDA实验报告
![EDA实验报告](https://img.taocdn.com/s3/m/b527b59629ea81c758f5f61fb7360b4c2e3f2ab7.png)
EDA实验报告EDA(VHDL编程)实验报告一、引言EDA (Electronic Design Automation) 是一种用于电子设计和验证的自动化工具。
VHDL(VHSIC Hardware Description Language)是一种硬件描述语言,用于描述和建模数字系统。
本实验旨在使用VHDL编程并使用EDA工具进行设计和验证。
二、实验目的1.理解并熟悉VHDL编程2.学会使用EDA工具进行设计和验证3.实践数字系统的建模和仿真三、实验过程1.VHDL编程根据实验要求,我们使用VHDL编程来实现一个4位2选1多路器。
首先,我们定义输入端口和输出端口,并声明所需的信号和变量。
然后,我们编写组合逻辑和时序逻辑以实现所需的功能。
最后,我们将实例化该多路器并指定其输入和输出端口。
2.EDA工具设计和验证我们选择了 Xilinx ISE Design Suite 作为我们的 EDA 工具。
首先,我们创建一个新的项目并选择相应的 FPGA 芯片。
然后,我们添加我们的VHDL 设计文件到项目中,并进行综合、布局和路由。
最后,我们使用仿真工具验证我们的设计。
四、实验结果经过实验,我们成功地编写并实例化了一个4位2选1多路器。
我们使用 Xilinx ISE Design Suite 进行综合、布局和路由,并成功验证了我们的设计。
五、实验总结通过本实验,我们掌握了VHDL编程和EDA工具的使用。
我们学会了使用VHDL描述数字系统,并使用EDA工具进行设计和验证。
这些技能对于电子设计和验证非常重要,并将有助于我们更好地理解和应用数字系统的原理和方法。
在实验过程中,我们也遇到了一些困难和挑战。
例如,我们可能需要更深入地了解VHDL编程的语法和方法,以及如何使用EDA工具的高级功能。
此外,我们还需要更多的实践来提高我们的设计和仿真技能。
总之,本实验有助于我们深入学习和理解数字系统的设计和验证。
通过实践和使用EDA工具,我们能够更好地应用所学知识,提高我们的设计和验证能力。
2020年(OA自动化)电子设计自动化(eda)实验指导书
![2020年(OA自动化)电子设计自动化(eda)实验指导书](https://img.taocdn.com/s3/m/87d946765901020207409c6b.png)
(OA自动化)电子设计自动化(eda)实验指导书电子设计自动化(EDA)实验指导书前言近些年来,电子设计自动化(EDA)技术发展迅速。
一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出,使得专用集成电路(ASIC)的生产商感受到空前的竞争压力。
另一方面,出现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。
于是一场ASIC与FPGA/CPLD之争在所难免。
然而PLD器件具有先天的竞争优势,那就是可以反复编程,在线调试。
EDA技术正是这场较量的推动引擎之一。
一般来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。
设计者只需编写硬件描述语言代码,然后选择目标器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。
整个过程,大部分工作由EDA软件完成。
全球许多著名的可编程器件提供商都推出了自己的集成开发工具软件,如Altera公司的MAX+PLUSⅡ、QuartusⅡ软件;Xilinx公司的Foundation、ISE软件,Lattice公司的ispExpert软件,Actel 公司的Libero软件等。
这些软件的推出,极大地促进了集算法设计、芯片编程、电路板设计于一体的EDA技术的发展。
另外,在以SOC 芯片为目标器件的电子系统设计要求下,可编程器件的内部开始集成高速的处理器硬核、处理器软核、DSP模块、大量的存储资源、高速的串行收发模块、系统时钟管理器、多标准的I/O接口模块,亦使得设计者更加得心应手,新一轮的数字革命由此引发。
EDA技术是一门实践性很强的学科,要培养出具有竞争力的一流IC设计人才,动手能力是关键。
只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。
电子设计实训实验报告
![电子设计实训实验报告](https://img.taocdn.com/s3/m/c8737a221611cc7931b765ce0508763231127491.png)
一、实验目的1. 掌握电子设计的基本流程和常用工具;2. 熟悉电子元器件的识别、选用和焊接技术;3. 提高动手能力,培养解决实际问题的能力;4. 增强团队合作意识,提高团队协作能力。
二、实验内容本次实验共分为六个部分,分别是:1. LED流水灯设计;2. 数码管动态显示;3. 数字时钟(计数器);4. 正弦信号发生器设计;5. 任意波形发生器设计;6. 硬件消抖电路设计。
三、实验原理1. LED流水灯设计:通过单片机控制LED灯的亮灭,实现流水灯效果。
原理是利用单片机的定时器产生一个周期性的方波信号,通过控制方波的占空比来改变LED 灯的亮灭时间,从而实现流水灯效果。
2. 数码管动态显示:通过单片机控制数码管显示数字。
原理是利用单片机的定时器产生一个周期性的方波信号,通过控制方波的占空比来改变数码管上各个段码的亮灭,从而实现数字的动态显示。
3. 数字时钟(计数器):通过单片机实现一个简单的数字时钟。
原理是利用单片机的定时器产生一个周期性的方波信号,通过计数器对时钟信号进行计数,得到当前时间。
4. 正弦信号发生器设计:通过单片机产生正弦波信号。
原理是利用单片机的定时器产生一个周期性的方波信号,通过查表法得到正弦波信号。
5. 任意波形发生器设计:通过单片机产生任意波形信号。
原理是利用单片机的定时器产生一个周期性的方波信号,通过改变占空比和波形参数,得到所需的任意波形信号。
6. 硬件消抖电路设计:通过设计硬件电路,消除按键输入信号中的抖动。
原理是利用电容和电阻组成的RC电路,对输入信号进行滤波,消除抖动。
四、实验器材1. 单片机开发板;2. LED灯;3. 数码管;4. 按键;5. 电容、电阻、三极管等常用电子元器件;6. 万用表;7. 焊接工具;8. 电路板等。
五、实验步骤1. LED流水灯设计(1)搭建电路:将LED灯与单片机的IO口相连,设置IO口为输出模式。
(2)编写程序:编写单片机程序,实现LED流水灯效果。
实习报告自动化专业实习报告
![实习报告自动化专业实习报告](https://img.taocdn.com/s3/m/f09e779ac0c708a1284ac850ad02de80d5d80614.png)
实习报告自动化专业实习报告实习报告。
实习报告自动化专业实习报告。
一、实习单位介绍。
我所在的实习单位是一家知名的自动化设备制造公司,公司主要从事工业自动化设备的研发、生产和销售。
公司拥有一支技术精湛的研发团队和一流的生产制造能力,产品远销国内外,深受客户好评。
二、实习内容。
在实习期间,我主要参与了公司的自动化设备研发项目。
我所在的团队负责研发一款新型自动化控制系统,该系统具有高效、稳定、可靠的特点,可以广泛应用于工业生产中。
我的工作内容包括参与系统设计、编写程序代码、进行系统测试和故障排查等工作。
通过实习,我深入了解了自动化设备的工作原理和研发流程,提高了自己的专业技能和实践能力。
三、实习收获。
通过实习,我不仅学到了很多专业知识,还锻炼了自己的团队
协作能力和解决问题的能力。
在实习期间,我和团队成员密切合作,共同攻克了许多技术难题,取得了一定的成绩。
同时,我也学会了
如何快速定位和解决实际工作中的问题,这对我以后的工作将有很
大的帮助。
四、实习总结。
通过这段实习经历,我对自动化设备研发有了更深入的了解,
也更加坚定了我在这个领域的发展方向。
我将继续努力学习,提升
自己的专业能力,为将来能够更好地为自动化设备行业做出贡献而
努力奋斗。
以上就是我的实习报告,谢谢大家的聆听。
电子设计实验报告
![电子设计实验报告](https://img.taocdn.com/s3/m/d9d7de09ce84b9d528ea81c758f5f61fb6362840.png)
电子设计实验报告电子设计实验报告引言电子设计实验是电子工程专业的基础实验之一,通过实践操作和实验数据的分析,帮助学生巩固和拓展所学的电子设计理论知识。
本文将对我在电子设计实验中的实验内容、实验过程和实验结果进行详细阐述。
实验内容本次电子设计实验的主题是“放大器设计与实现”。
实验要求我们设计并实现一个特定功能的放大器电路,并通过实验数据验证其性能指标。
放大器是电子设备中非常重要的一种电路,它能够将输入信号放大到所需的幅度,并保持其波形不失真。
在实验中,我们需要选择合适的放大器类型、电路拓扑和元器件参数,以满足给定的放大倍数、频率响应和失真要求。
实验过程首先,我们在实验前进行了必要的理论学习,包括放大器的基本原理、不同类型放大器的特点和应用场景等。
然后,我们根据实验要求选择了适合的放大器类型和电路拓扑,并设计了相应的电路图。
在设计过程中,我们需要考虑电路的稳定性、抗干扰能力和功耗等因素,以及元器件的可获得性和成本等因素。
接下来,我们准备了所需的元器件和实验设备,并进行了电路的组装和连接。
在组装过程中,我们需要注意元器件的正确安装和连接,以及电路的可靠性和稳定性。
一旦电路组装完成,我们就可以进行实验测试了。
在实验测试中,我们首先对电路进行了静态工作点的调整,以确保电路在正常工作范围内。
然后,我们通过信号发生器输入不同频率和幅度的信号,测量输出信号的幅度、相位和失真程度等参数。
通过对实验数据的分析,我们可以评估电路的增益、带宽、噪声和非线性失真等性能指标,以及对不同频率信号的放大效果。
实验结果根据实验数据的分析,我们得出了以下结论:1. 电路的放大倍数在设计要求范围内,并且在整个频率范围内保持相对稳定。
2. 电路的频率响应满足要求,能够在给定的频率范围内放大信号。
3. 电路的失真程度较低,能够保持输入信号的波形基本不失真。
4. 电路的噪声水平较低,对输入信号的干扰较小。
结论通过本次电子设计实验,我深入理解了放大器的工作原理和设计方法,并通过实践操作和实验数据的分析,巩固了所学的电子设计理论知识。
EDA技术及应用实验报告
![EDA技术及应用实验报告](https://img.taocdn.com/s3/m/eb6a6b87ba4cf7ec4afe04a1b0717fd5360cb2cc.png)
EDA技术及应用实验报告摘要:EDA(Electronic Design Automation),即电子设计自动化,是一种用于半导体芯片设计的计算机辅助设计工具。
本实验通过对EDA技术的学习和应用,了解了EDA在电路设计中的重要性和实际应用。
1.引言电子设计自动化(EDA)是为了提高电子电路设计的效率和质量而发展的一种计算机辅助设计工具。
本实验通过学习EDA技术的相关知识和应用实例,深入了解EDA在电路设计中的应用及其优势。
2.EDA技术的基本原理EDA技术是通过计算机辅助分析、合成和验证电路的工具。
它包括电路仿真、布局布线、逻辑综合等多个方面。
其中,电路仿真是通过计算机模拟电路的工作原理和特性;布局布线是将电路逻辑设计映射为实际的物理设计;逻辑综合是将逻辑电路转换为门级或者布尔级电路。
3.EDA技术在电路设计中的应用3.1电路仿真电路仿真是一个重要的EDA技术应用,通过仿真可以验证电路的运行情况,提前发现并解决潜在的问题,从而降低设计风险和成本。
3.2布局布线布局布线是指将逻辑电路映射为物理电路的过程。
通过EDA工具的自动布局布线功能,可以将逻辑电路转换为最优的电路布线,减少电路面积和功耗,并提高电路的稳定性和性能。
3.3逻辑综合逻辑综合是将高级语言描述的逻辑电路转换为可实现的门级或布尔级电路。
通过EDA工具的逻辑综合功能,可以快速生成电路的逻辑结构,避免手工设计过程中的错误和繁琐性。
4.实验设计及结果本实验选取了一款集成电路芯片设计作为实验对象,使用EDA工具进行电路仿真、布局布线和逻辑综合三个方面的实验。
4.1电路仿真实验在电路仿真实验中,我们首先通过EDA工具搭建了待仿真的电路原理图,然后设置仿真条件和参数,运行仿真,并得到了仿真结果。
仿真结果显示,电路工作正常,符合预期。
4.2布局布线实验在布局布线实验中,我们将电路的逻辑设计转换为物理设计,通过EDA工具的自动布局布线功能进行布局布线。
EDA实验报告
![EDA实验报告](https://img.taocdn.com/s3/m/f337233bcbaedd3383c4bb4cf7ec4afe05a1b15a.png)
EDA实验报告一、实验目的本次 EDA 实验的主要目的是熟悉电子设计自动化(EDA)软件的使用,掌握数字电路的设计、仿真和实现流程,提高对数字逻辑电路的理解和设计能力。
二、实验设备与环境1、计算机一台2、 EDA 软件(如 Quartus II 等)三、实验原理1、数字逻辑基础数字电路中的基本逻辑门包括与门、或门、非门、与非门、或非门等。
通过这些基本逻辑门的组合,可以实现各种复杂的数字逻辑功能。
2、组合逻辑电路组合逻辑电路的输出仅取决于当前的输入,不存在存储单元。
常见的组合逻辑电路有加法器、编码器、译码器等。
3、时序逻辑电路时序逻辑电路的输出不仅取决于当前的输入,还与电路的过去状态有关。
常见的时序逻辑电路有计数器、寄存器等。
四、实验内容1、设计一个简单的加法器使用基本逻辑门设计一个两位加法器,输入为两个两位的二进制数A 和 B,输出为它们的和 S 以及进位 C。
2、设计一个 4 位计数器实现一个 4 位的计数器,能够在时钟信号的上升沿进行计数,计数范围为 0 到 15。
3、设计一个数码管显示译码器将输入的 4 位二进制数转换为数码管的 7 段显示编码,实现数字 0 到 9 的显示。
五、实验步骤1、加法器设计(1)打开 EDA 软件,创建一个新的项目。
(2)使用原理图输入方式,绘制出加法器的逻辑电路图,包括两个半加器和一个或门。
(3)对设计进行编译,检查是否存在语法错误。
(4)创建仿真文件,设置输入信号的激励,进行功能仿真,观察输出结果是否符合预期。
2、计数器设计(1)在项目中新建一个模块,使用 Verilog HDL 语言描述计数器的功能。
(2)编写测试代码,对计数器进行仿真验证。
(3)将计数器下载到硬件开发板上,通过观察实际的输出结果验证其功能。
3、数码管显示译码器设计(1)同样使用原理图输入方式,设计数码管显示译码器的逻辑电路。
(2)进行编译和仿真,确保译码器的功能正确。
(3)将译码器与计数器连接起来,实现数码管的动态显示。
门电路 EDA实验报告
![门电路 EDA实验报告](https://img.taocdn.com/s3/m/9d3845cd6429647d27284b73f242336c1eb9302a.png)
门电路EDA实验报告门电路是数字逻辑电路的一种基本电路,由逻辑门组成。
逻辑门包括与门、或门、非门等,通过它们的组合和联接可以实现各种复杂的逻辑功能。
在电子设计自动化(EDA)实验中,我们通常会使用相应的软件工具进行门电路的设计和仿真。
这些工具提供了图形化界面和强大的功能,可以帮助我们快速设计、验证和优化门电路。
首先,在实验中我们需要进行门电路的设计。
设计的目标是根据所需的逻辑功能,选择合适的逻辑门组合,并进行连线。
设计阶段主要包括逻辑门选择、输入输出定义和连线布局等。
通过EDA工具提供的图形化界面,我们可以直观地完成这些设计任务。
其次,设计完成后,我们需要进行电路的仿真。
仿真可以帮助我们预测电路的行为,并进行功能验证。
通过EDA工具提供的仿真功能,我们可以输入测试用例,观察电路的输出结果,并分析其与设计预期的差异。
如果存在差异,我们可以通过逐步调试和优化来解决问题。
此外,在实验中我们还可以使用EDA工具提供的其他功能。
例如,我们可以进行电路的布局和布线。
布局是指将电路中的组件放置在芯片上的具体位置,布线是指将各个组件之间通过导线连接起来。
通过优化布局和布线可以提高电路的性能和稳定性。
最后,在实验报告中我们需要对实验结果进行总结和分析。
我们可以比较仿真结果与预期设计的差异,并讨论可能的原因。
同时,我们还可以探讨改进和优化的方法,以提高电路的性能。
总之,门电路EDA实验通过使用EDA工具对门电路进行设计、仿真和优化,可以帮助我们快速实现复杂的逻辑功能。
实验报告应该包括设计过程、仿真结果和分析等内容,以便更好地理解和应用门电路的原理和技术。
eda课程设计实验报告
![eda课程设计实验报告](https://img.taocdn.com/s3/m/278be69a4128915f804d2b160b4e767f5bcf805b.png)
eda课程设计实验报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用所学知识,设计并实现基本的数字电路。
3. 学生了解数字电路的设计流程,掌握设计规范,具备初步的电路分析能力。
技能目标:1. 学生能独立操作EDA软件,完成电路的原理图绘制、仿真和布局布线。
2. 学生通过实验报告的撰写,提高实验数据分析、总结归纳的能力。
3. 学生在小组合作中,提高沟通协调能力和团队协作能力。
情感态度价值观目标:1. 学生培养对电子科学的兴趣,激发创新意识,增强实践能力。
2. 学生在实验过程中,形成严谨的科学态度,提高问题解决能力。
3. 学生通过课程学习,认识到科技发展对国家和社会的重要性,增强社会责任感。
课程性质:本课程为实践性较强的电子设计课程,旨在培养学生的实际操作能力、创新意识和团队合作精神。
学生特点:六年级学生具有一定的电子知识基础,好奇心强,喜欢动手实践,但需加强对理论知识的理解和应用。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. EDA基本概念与工具介绍- 电子设计自动化原理简介- 常用EDA软件功能与操作方法2. 数字电路设计基础- 数字电路基本元件及功能- 原理图绘制与仿真分析3. 布局布线与PCB设计- PCB设计流程与方法- 布局布线技巧与规范4. 实验报告撰写- 实验数据整理与分析- 实验总结与反思教学大纲安排如下:第一周:- EDA基本概念与工具介绍- 数字电路基本元件及功能第二周:- 原理图绘制与仿真分析第三周:- 布局布线与PCB设计第四周:- 实验报告撰写教学内容与教材关联性:本教学内容与教材《电子技术基础与实践》第六章“电子设计自动化”相关章节紧密相连,确保了教学内容的科学性和系统性。
eda实验报告计数器
![eda实验报告计数器](https://img.taocdn.com/s3/m/14c33bbc900ef12d2af90242a8956bec0975a5d5.png)
eda实验报告计数器EDA实验报告-计数器引言:计数器是数字电路中常用的基本模块之一,它在各个领域都有着广泛的应用。
本实验旨在通过EDA(电子设计自动化)软件进行计数器的设计与仿真,探索计数器的原理和功能。
一、计数器的基本原理计数器是一种能够按照规定的顺序改变其输出状态的电子电路。
它通过内部的触发器和逻辑门实现数字信号的计数功能。
常见的计数器有二进制计数器、十进制计数器等。
二、实验设计与仿真1. 实验目标本次实验的目标是设计一个4位二进制计数器,并通过EDA软件进行仿真验证。
计数器的功能是在每个时钟脉冲到来时,输出的二进制数加1。
2. 设计思路计数器的设计需要考虑以下几个方面:- 选择适当的触发器:本实验选择了D触发器作为计数器的基本单元,因为D触发器具有简单、易于控制的特点。
- 确定计数器的位数:本实验设计了一个4位计数器,即可以表示0~15的二进制数。
- 连接逻辑门:通过逻辑门将各个触发器连接起来,实现计数器的功能。
3. 电路设计根据设计思路,我们使用EDA软件进行电路设计。
首先,将4个D触发器连接起来,形成4位计数器。
然后,根据计数器的功能要求,将时钟信号连接到每个触发器的时钟输入端。
最后,将各个触发器的输出通过逻辑门进行连接,得到计数器的输出。
4. 仿真验证完成电路设计后,我们使用EDA软件进行仿真验证。
通过输入不同的时钟信号,观察计数器的输出是否符合预期。
在仿真过程中,我们可以调整时钟信号的频率,观察计数器的计数速度。
三、实验结果与分析通过EDA软件的仿真,我们得到了计数器的输出结果。
在时钟信号的作用下,计数器按照预期进行了计数,并输出了相应的二进制数。
通过观察输出结果,我们可以得出以下几点结论:- 计数器的输出与时钟信号的频率有关,频率越高,计数速度越快。
- 计数器的输出按照二进制的顺序进行计数,当达到最大值时,会从0重新开始计数。
四、实验总结本次实验通过EDA软件进行了计数器的设计与仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江苏大学京江学院Array JINGJIANG COLLEGE OF J I A N G S U U N I V E R S I T Y 课程实验报告
电子设计自动化实验报告
班级:
学号:
姓名:
实验一半加器和全加器的设计
一、实验目的
1. 进一步熟悉Max+PlusII软件的使用
2. 学习用图形输入方式和VHDL语言输入方式设计数字电路
3. 学习用元件例化语句进行结构化设计
二、实验内容
1. 用图形方式设计一位半加器
2.用VHDL语言设计一位半加器
3.用图形方式设计全加器
4.用元件例化方式设计全加器
三、设计实现
1. 用图形方式设计一位半加器
原理图:
仿真波形:
2.用VHDL语言设计全加器
原理图:
源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY or2 IS
PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);
END ENTITY or2;
ARCHITECTURE fu1 OF or2 IS
BEGIN
c<=a OR b;
END ARCHITECTURE fu1;
---半加器描述
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY half_adder IS
PORT(a,b:IN STD_LOGIC;s,c:OUT STD_LOGIC);
END ENTITY half_adder ;
ARCHITECTURE fu1 OF half_adder IS
BEGIN
s<=a XOR b;
c<=a and b;
END ARCHITECTURE fu1;
--1位二进制全加器顶层设计描述
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY f_adder IS
PORT( A,B,Cin :IN STD_LOGIC;sum,cout :OUT STD_LOGIC;);
END ENTITY f_adder IS
COMPONENT h_adder2;
PORT( a,b:IN STD_LOGIC;
c,s :OUT STD_LOGIC);
END COMPONENT;
COMPONENT or2
PORT( a,b :IN STD_LOGIC; c :OUT STD_LOGIC);
END COMPOMENT;
SINGNAL d,e,f : STD_LOGIC;
BEGIN
u1 :h_adder2 PORT MAP( A,B,d,e);
u2 :h_adder2 PORT MAP(d,Cin,f,sum);
u3 : or2 PORT MAP(e,f,cout);
END ARCHTECTURE fd1;
仿真波形:
实验二四选一数据选择器的设计
一、实验目的
1. 进一步熟悉Max+PlusII软件的使用
2. 学习VHDL语言中顺序语句和并行语句的使用
二、实验内容
1. 用if语句实现
2. 用case语句实现
3. 用when…else语句实现
4. 用with…select …when语句实现
三、设计实现
1. if
源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux41_3 IS
PORT(a,b,c,d:IN STD_LOGIC_VECTOR(3 DOWNTO 0); sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
y :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END mux41_3;
ARCHITECTURE one OF mux41_3 IS
BEGIN
PROCESS(sel)
BEGIN
IF sel="00" THEN
y<=a;
ELSIF sel="01" THEN
y<=b;
ELSIF sel="10" THEN
y<=c;
ELSE
y<=d;
END IF;
END PROCESS;
END one;
仿真波形:
2. case
源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux41_4 IS
PORT(a,b,c,d:IN STD_LOGIC_VECTOR(3 DOWNTO 0); sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
y :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END mux41_4;
ARCHITECTURE one OF mux41_4 IS
BEGIN
PROCESS(sel)
BEGIN
CASE sel IS
WHEN "00"=>y<=a;
WHEN "01"=>y<=b;
WHEN "10"=>y<=c;
WHEN "11"=>y<=d;
WHEN OTHERS=>y<="XX";
END CASE;
END PROCESS;
END one;
3.When else
源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux41 IS
PORT(a,b,c,d:IN STD_LOGIC_VECTOR(3 DOWNTO 0); sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
y :OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END mux41;
ARCHITECTURE one OF mux41 IS
BEGIN
y<=a WHEN sel="00" ELSE
b WHEN sel="01" ELSE
c WHEN sel="10" ELSE
d WHEN sel="11" ELSE
"xxx"WHEN OTHERS;
END one;
4.with select
源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY mux41_2 IS
PORT(a,b,c,d:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
sel:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
y :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END mux41_2;
ARCHITECTURE one OF mux41_2 IS
BEGIN
WITH sel SELECT
y<=a WHEN "00",
b WHEN "01",
c WHEN "10",
d WHEN "11",
"XXXX" WHEN OTHERS;
END one;
实验三可逆计数器的设计
一、实验目的
1. 进一步熟悉Max+PlusII软件的使用
2. 学习简单时序逻辑电路的设计
二、实验内容
1.用VHDL语言设计可逆计数器的设计
三、设计实现
源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY bicnt IS
PORT(dir :IN STD_LOGIC;
clk :IN STD_LOGIC;
q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); END bicnt;
ARCHITECTURE one OF bicnt IS
BEGIN
PROCESS(clk)
BEGIN
IF (clk'EVENT AND clk='1')THEN
IF dir='0'THEN q<=q+1;
ELSE q<=q-1;
END IF;
END IF;
END PROCESS;
END one;
仿真波形:。