电子科技大学电子设计自动化EDA实验报告
西安电子科技大学EDA实验报告

EDA大作业及实验报告实验一:QUARTUS Ⅱ软件使用及组合电路设计仿真实验目的:学习QUARTUS Ⅱ软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容;实验内容:1.四选一多路选择器的设计首先利用QuartusⅡ完成4选1多路选择器的文本编辑输入(mux41a.vhd)和仿真测试等步骤,给出仿真波形。
步骤:(1)建立工作库文件夹和编辑设计文件;(2)创建工程;(3)编译前设置;(4)全程编译;(5)时序仿真;(6)应用RTL电路图观测器(可选择)实验程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT(S10:IN STD_LOGIC_VECTOR(1 DOWNTO 0);A,B,C,D:IN STD_LOGIC;Q:OUT STD_LOGIC);END ENTITY mux41;ARCHITECTURE bhv OF mux41 ISBEGINPROCESS(A,B,C,D,S10)BEGINIF S10="00" THENQ<=A;ELSIF S10="01" THENQ<=B;ELSIF S10="10" THENQ<=C;ELSEQ<=D;END IF;END PROCESS;END bhv;波形仿真如图:其中,分别设置A,B,C,D四个输入都为10.0ns的方波,其占空比分别为25%,50%,75%,90%以作为四种输入的区分,使能端s10以此输入00(即[0]),01(即[1]),10(即[2]),11(即[3]),可以观察到输出端Q依次输出分别为A,B,C,D。
试验成功。
其RTL电路图为:2.七段译码器程序设计仿真2.1 原理:7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。
eda技术实验报告

eda技术实验报告EDA技术实验报告引言EDA(Electronic Design Automation)技术是电子设计自动化的缩写,是现代电子设计中不可或缺的一环。
它通过计算机辅助设计,提高了电路设计的效率和质量。
本文将介绍EDA技术的背景、应用和实验结果。
背景随着电子产品的不断发展,电路设计变得越来越复杂,传统的手工设计已经无法满足需求。
EDA技术的出现填补了这一空白。
它利用计算机的强大计算能力和算法,帮助设计师完成电路设计、仿真、布局和验证等工作。
应用1. 电路设计EDA技术的核心应用是电路设计。
通过EDA工具,设计师可以绘制电路图、选择器件、进行参数设置等。
EDA工具还可以自动进行电路优化,提高电路性能。
2. 仿真验证在电路设计完成后,需要对电路进行仿真验证。
EDA技术可以提供准确的仿真结果,帮助设计师分析电路的性能和稳定性。
仿真验证可以帮助设计师发现潜在的问题,提前解决。
3. 物理布局物理布局是将电路逻辑转化为实际的物理结构。
EDA技术可以自动进行物理布局,优化电路的面积和功耗。
物理布局的好坏直接影响到电路的性能和可靠性。
4. 电路验证在电路设计完成后,需要进行电路验证,确保电路的正确性和可靠性。
EDA技术可以自动进行电路验证,提供准确的验证结果。
电路验证可以帮助设计师发现设计缺陷,提高电路的可靠性。
实验设计在本次实验中,我们选择了一款EDA工具进行实验。
首先,我们设计了一个简单的数字电路,包括与门和或门。
然后,利用EDA工具进行电路仿真和优化。
最后,对电路进行物理布局和验证。
实验结果通过实验,我们得到了以下结果:1. 仿真结果显示,设计的数字电路在不同输入条件下均能正确输出结果,验证了电路的正确性。
2. 通过优化算法,我们成功提高了电路的性能,减少了功耗和面积。
3. 物理布局结果显示,电路的布局紧凑,满足了设计要求。
4. 电路验证结果显示,电路的功能和性能均符合设计要求,验证了电路的可靠性。
eda实验报告最终版

实验一实验二1、24进制加法计数器的程序:LIBRARY Ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count24 ISPORT(en,clk: IN STD_LOGIC;qa: out STD_LOGIC_VECTOR(3 DOWNTO 0);--个位数计数qb: out STD_LOGIC_VECTOR(1 DOWNTO 0));--十位数计数END count24;ARCHITECTURE a1 OF count24 ISBEGINprocess(clk)variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0);variable tmb: STD_LOGIC_VECTOR(1 DOWNTO 0);beginif clk'event and clk='1' thenif en='1' thenif tma="1001" then tma:="0000";tmb:=tmb+1;Elsif tmb="10" and tma="0011" then tma:="0000";tmb:="00";else tma:=tma+1;end if;end if;end if;qa<=tma;qb<=tmb;end process;END a1;2,60进制的加法器的实验程序LIBRARY Ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count60 ISPORT(en,clk: IN STD_LOGIC;qa: out STD_LOGIC_VECTOR(3 DOWNTO 0);--个位数计数qb: out STD_LOGIC_VECTOR(2 DOWNTO 0));--十位数计数END count60;ARCHITECTURE a1 OF count60 ISBEGINprocess(clk)variable tma: STD_LOGIC_VECTOR(3 DOWNTO 0);variable tmb: STD_LOGIC_VECTOR(2 DOWNTO 0);beginif clk'event and clk='1' thenif en='1' thenif tma="1001" and tmb="101"then tmb:="000";tma:="0000" ;Elsif tma="1001" then tma:="0000";tmb:=tmb+1;else tma:=tma+1;end if;end if;end if;qa<=tma;qb<=tmb;end process;END a1;实验三9、采用VHDL语言描述以上3-8译码器LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY s3_8 ISPORT ( A : IN STD_LOGIC_VECTOR(2 DOWNTO 0);D : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ) ;END ;ARCHITECTURE one OF s3_8 ISBEGINPROCESS( A )BEGINCASE A ISWHEN "000" => D <= "00000001" ;WHEN "001" => D <= "00000010" ;WHEN "010" => D <= "00000100" ;WHEN "011" => D <= "00001000" ;WHEN "100" => D <= "00010000" ;WHEN "101" => D <= "00100000" ;WHEN "110" => D <= "01000000" ;WHEN "111" => D <= "10000000" ;WHEN OTHERS => NULL ;END CASE ;END PROCESS ;END ;实验四1、用VHDL语言设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1,反之为0。
EDA实验报告完结版

EDA实验报告完结版一、实验目的本次 EDA 实验的主要目的是通过实际操作和设计,深入理解和掌握电子设计自动化(EDA)技术的基本原理和应用。
具体而言,包括熟悉 EDA 工具的使用方法,学会运用硬件描述语言(HDL)进行逻辑电路的设计与描述,以及通过综合、仿真和实现等流程,将设计转化为实际的硬件电路,并对其性能进行评估和优化。
二、实验环境本次实验所使用的 EDA 工具为_____,该工具提供了丰富的功能模块和强大的设计支持,包括原理图编辑、HDL 代码编写、综合、仿真和下载等。
实验所使用的硬件平台为_____开发板,其具备多种接口和资源,便于对设计的电路进行实际验证和测试。
三、实验内容1、基本逻辑门电路的设计与实现使用 HDL 语言(如 Verilog 或 VHDL)设计常见的基本逻辑门电路,如与门、或门、非门等。
通过编写代码,对逻辑门的输入输出关系进行描述,并进行综合和仿真,验证设计的正确性。
2、组合逻辑电路的设计与实现设计并实现较为复杂的组合逻辑电路,如加法器、减法器、编码器、译码器等。
运用 HDL 语言描述电路的功能,进行综合和仿真,确保电路在各种输入情况下的输出结果符合预期。
3、时序逻辑电路的设计与实现设计常见的时序逻辑电路,如计数器、寄存器、移位寄存器等。
在设计过程中,考虑时钟信号、同步复位和异步复位等因素,通过仿真验证时序逻辑的正确性,并对电路的性能进行分析。
4、有限状态机(FSM)的设计与实现设计一个有限状态机,实现特定的功能,如交通信号灯控制器、数字密码锁等。
明确状态转移条件和输出逻辑,通过编写 HDL 代码实现状态机,并进行综合和仿真,验证其功能的准确性。
5、综合与优化对设计的电路进行综合,生成门级网表,并通过优化工具对电路进行面积、速度等方面的优化,以满足特定的设计要求。
6、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。
观察电路在实际运行中的表现,对出现的问题进行分析和解决。
EDAl电子设计自动化实验报告(含PCB)

封面(一页)
最低要求:
电子设计自动化电路设计
***电路板设计报告
姓名,学号,年级专业,日期
较高要求:
封面设计的艺术图片,用艺术字等(应与电路相关)
正文一律用小四号字体,标题可用四号字
所有图片背景以白色为主,PCB印制板可用彩色打印
一.电路原理图
最低要求:
1.电路设计要求,具体的性能指标:工作频率,输入输出电压电流工作范围等
2.电路的主要用途,电路性质(模拟数字混合高频等。
)
3.电路的工作原理描述
4.画原理图过程中的关键操作步骤
5.电路图不能过于简单。
至少10个元器件以上。
较高要求:
原理图布局紧凑,合理,无多余的节点,截图比例适当
二.电路仿真
最低要求:
1. 仿真哪些项目,仿真分析方法:静态工作点,波特图,参数扫描,温度扫描….(至少两个仿真并且针对电路特点)
2. 仿真数据与仿真截图
3. 仿真数据及其结果分析,目标是否达到
4. 仿真操作的关键步骤
较高要求:
1.通过仿真选择电路参数等。
2.应用更多的仿真分析方法
3.理论计算与仿真比较
三. PCB印制板
最低要求:
电路元件采取什么封装,确定几层板,电路板大小形状….
布局,布线比较合理
具体操作流程和关键步骤。
PCB板图打印清楚
较高要求:
元件排列紧凑,布线宽度适当,四层板,加泪滴等。
四.设计体会。
eda仿真实验报告

eda仿真实验报告EDA仿真实验报告一、引言EDA(Electronic Design Automation)是电子设计自动化的缩写,是指利用计算机技术对电子设计进行辅助、自动化的过程。
在现代电子设计中,EDA仿真是不可或缺的一环,它可以帮助工程师验证电路设计的正确性、性能和可靠性。
本篇报告将介绍我在EDA仿真实验中的经验和收获。
二、实验背景本次实验的目标是对一个数字电路进行仿真,该电路是一个4位加法器,用于将两个4位二进制数相加。
通过仿真,我们可以验证电路设计的正确性,并观察其在不同输入情况下的输出结果。
三、实验步骤1. 电路设计:首先,我们根据给定的要求和电路原理图进行电路设计。
在设计过程中,我们需要考虑电路的逻辑关系、时序要求以及输入输出端口的定义等。
2. 仿真环境搭建:接下来,我们需要选择合适的EDA仿真工具,并搭建仿真环境。
在本次实验中,我选择了Xilinx ISE Design Suite作为仿真工具,并创建了一个仿真项目。
3. 仿真测试向量生成:为了对电路进行全面的测试,我们需要生成一组合适的仿真测试向量。
这些测试向量应该覆盖了电路的所有可能输入情况,以验证电路的正确性。
4. 仿真运行:在仿真环境搭建完成后,我们可以开始进行仿真运行了。
通过加载测试向量,并观察仿真结果,我们可以判断电路在不同输入情况下的输出是否符合预期。
5. 仿真结果分析:仿真运行结束后,我们需要对仿真结果进行分析。
通过对比仿真输出和预期结果,可以判断电路设计的正确性。
如果有不符合预期的情况,我们还可以通过仿真波形分析,找出问题所在。
四、实验结果与讨论在本次实验中,我成功完成了4位加法器的仿真。
通过对比仿真输出和预期结果,我发现电路设计的正确性得到了验证。
无论是正常情况下的加法运算,还是特殊情况下的进位和溢出,电路都能够正确地输出结果。
在实验过程中,我还发现了一些有趣的现象。
例如,在输入两个相同的4位二进制数时,电路的输出结果与输入完全一致。
eda实验报告

eda实验报告
1. 实验目的
通过本次实验,了解EDA(Electronic Design Automation)的基本概念和应用模式,并通过实际操作掌握EDA工具的使用方法和流程。
2. 实验原理
EDA是电子设计自动化的缩写,是指通过计算机技术来实现电子系统设计的各个环节的自动化。
常用的EDA工具有电路仿真、电路布局、原理图设计、印刷电路板设计等。
3. 实验步骤
3.1 电路仿真
首先,我们需打开EDA工具,并导入所需的仿真器和电路元件库。
其次,我们需绘制电路图并进行仿真,根据仿真结果进一步分析和改进电路设计。
3.2 电路布局
在电路设计完成后,我们需进行电路布局,以便更精确地计算
电路性能和参数。
在布局过程中,我们需根据电路设计需求进行
元件排布,并考虑布局紧凑性和功耗等因素。
3.3 原理图设计
电路图设计是EDA工具中非常重要的一个环节,它可以帮助
我们全面了解电路设计的各个细节,确定电路元件的类型和参数,以及进一步优化电路性能。
3.4 印刷电路板设计
在进行电路仿真、布局、原理图设计后,我们需将电路设计转
化为印刷电路板(PCB)的形式。
在进行印刷电路板设计前,我
们需考虑各个细节,在选择印刷方式、器件布局、线路距离、阻
抗匹配等方面进行优化和调整。
4. 实验结论
通过本次实验,我深刻认识到EDA工具在电子设计中的应用
和重要性,并掌握了EDA工具的基本操作方法和流程。
此外,我
了解了EDA工具在电子设计和生产中的优势和局限性,对于今后
电子设计工作的开展和优化有很大的指导意义。
电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告

电子设计自动化(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实验报告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工具,我们能够更好地应用所学知识,提高我们的设计和验证能力。
电子设计自动化EDA实验

电子设计自动化(EDA)实验引言电子设计自动化(EDA)是一种利用计算机技术来辅助电子系统设计的工具和方法。
传统的电子设计过程通常需要进行大量的手工操作,但由于电子系统的复杂性不断增加,现代电子设计已经无法满足快速、高效、准确开发产品的需求。
因此,EDA成为了现代电子设计的关键技术。
本实验将介绍EDA的基本概念和相关工具,以帮助大家更好地理解和应用EDA技术。
1. EDA的定义EDA,即Electronic Design Automation,是指利用计算机和相关工具来辅助进行电子系统设计的一种技术。
它采用了计算机辅助设计(CAD)的概念和方法,结合了电路设计、逻辑设计、物理设计等多种技术,可大大提高电子系统设计的效率和可靠性。
EDA技术已经广泛应用于各个层次的电子系统设计中,包括电路设计、芯片设计、电路板设计等。
2. EDA的基本流程EDA的基本流程包括以下几个主要步骤:2.1 电路设计电路设计是EDA的首要步骤之一。
在电路设计阶段,需要通过选择合适的元器件和器件参数来构建电路图,并进行电路仿真和性能评估。
常用的电路设计工具包括Altium Designer、Cadence 等。
2.2 逻辑设计逻辑设计是EDA的核心步骤之一。
在逻辑设计阶段,需要将电路图转化为逻辑电路图,并进行逻辑仿真、逻辑综合等操作,以验证电路功能和性能的正确性。
常用的逻辑设计工具包括Verilog、VHDL等。
2.3 物理设计物理设计是EDA的重要步骤之一。
在物理设计阶段,需要进行芯片布局、布线规划、时钟树设计等操作,以实现电路的物理布局和布线,最终生成物理设计数据。
常用的物理设计工具包括Cadence、Synopsys等。
2.4 验证与验证验证与验证是EDA的关键步骤之一。
在验证与验证阶段,需要进行电路功能验证、时序验证、功耗验证等操作,以保证电子系统设计的正确性和可靠性。
常用的验证与验证工具包括Mentor、Cadence等。
杭州电子科技大学EDA第一次实验报告

杭州电子科技大学EDA实验报告第一次实验报告班级:1404751*学号: ********姓名:***实验一:双2选1多路选择器MUXKP893-5 图3-16所示的是双2选1多路选择器构成的电路MUXK。
对于其中MUX21A,当s=0和s=1时,分别有y=a和y=b。
试在一个模块中用两个过程来表达此电路。
MUX21A的代码如下module MUX21A(a,b,s,y);input a,b,s;output y;assign y=(s?a:b);endmoduleMUXK的代码如下module muxk(a1,a2,a3,s0,s1,outy);input a1,a2,a3,s0,s1;output outy;wire tmp;MUX21A u1(a2,a3,s0,tmp);MUX21A u2(a1,tmp,s1,outy);Endmodule代码分析:1.用例化语句,直接调用放在MUXK工程的mux21a,实现双二选一数据选择器;2.条件判断语句y=s?a:b,实现2选1。
MUXK RTL图MUXK 仿真波形图如下图所示P1114-1 多路选择器设计实验实验目的:进一步熟悉Quartus II的Verilog文本设计流程,组合电路的设计仿真和硬件测试。
实验内容:根据4.1节的流程,利用QuartusⅡ完成4选1多路选择器的文本代码编辑输入和仿真测试等步骤,给出图3-5所示的仿真波形。
代码如下module MUX41A(A,B,C,D,S1,S0,Y);input A,B,C,D,S1,S0;output Y;reg[1:0] SEL; reg Y;always@(A,B,C,D,SEL)beginSEL={S1,S0};if (SEL==0) Y=A;else if(SEL==1) Y=B;else if(SEL==2) Y=C;else Y=D; endendmodule电路图如下仿真波形如下图分析:当S=2’b00时,Y=A; 当S=2’b01时,Y=B;当S=2’b00时,Y=C; 当S=2’b00时,Y=D;4-2 8位加法器设计实验实验目的:熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握文本和原理图输入方式设计的详细流程。
(完整word版)EDA实验报告

计算机学院计算机科学与技术专业1班____组、学号姓名协作者______________ 教师评定_________________实验题目_________基于Libero的数字逻辑设计仿真及验证实验_________1、熟悉EDA工具的使用;仿真基本门电路。
2、仿真组合逻辑电路。
3、仿真时序逻辑电路。
4、基本门电路、组合电路和时序电路的程序烧录及验证。
5、数字逻辑综合设计仿真及验证。
实验报告1、基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。
2、熟悉利用EDA工具进行设计及仿真的流程。
3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、74HC86进行VerilogHDL设计的方法。
二、实验环境Libero仿真软件。
三、实验内容1、掌握Libero软件的使用方法。
2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。
3、参考教材中相应章节的设计代码、测试平台代码(可自行编程),完成74HC00、74HC02、74HC04、74HC08、74HC32、74HC86相应的设计、综合及仿真。
)4、提交针对74HC00、74HC02、74HC04、74HC08、74HC32、74HC86(任选一个....的综合结果,以及相应的仿真结果。
四、实验结果和数据处理1、所有模块及测试平台代码清单..(完整word版)EDA实验报告//74HC00代码-与非module HC00(A,B,Y);input [4:1]A,B;output [4:1]Y;assign Y=~(A&B);//与非endmodule//74HC00测试平台代码`timescale 1ns/1nsmodule testbench();reg [4:1] a,b;wire [4:1] y;HC00 u1(a,b,y);initialbegina=4'b0000;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;a=4'b1111;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;(完整word版)EDA实验报告endendmodule//74HC02代码-或非module HC02(A,B,Y);input [4:1]A,B;output [4:1]Y;assign Y=~(A|B);//或非endmodule//74HC02测试平台代码`timescale 1ns/1nsmodule testbench();reg [4:1] a,b;wire [4:1] y;HC00 u1(a,b,y);initialbegina=4'b0000;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;a=4'b1111;b=4'b0001;(完整word版)EDA实验报告#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;endendmodule//74HC04代码-非module HC04(A,Y);input [4:1]A;output [4:1]Y;assign Y=~A;endmodule//74HC04测试平台代码`timescale 1ns/1nsmodule testbench();reg [4:1] a,b;wire [4:1] y;HC00 u1(a,b,y);initialbegina=4'b0000;b=4'b0001;#10 b=b<<1;(完整word版)EDA实验报告#10 b=b<<1;#10 b=b<<1;a=4'b1111;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;endendmodule//74HC08代码-与module HC08(A,B,Y);input [4:1]A,B;output [4:1]Y;assign Y=A&B;endmodule//74HC08测试平台代码`timescale 1ns/1nsmodule testbench();reg [4:1] a,b;wire [4:1] y;HC00 u1(a,b,y);initialbegin(完整word版)EDA实验报告a=4'b0000;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;a=4'b1111;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;endendmodule//74HC32代码-或module HC32(A,B,Y);input [4:1]A,B;output [4:1]Y;assign Y=A|B;endmodule//74HC32测试平台代码`timescale 1ns/1nsmodule testbench();reg [4:1] a,b;wire [4:1] y;(完整word版)EDA实验报告HC00 u1(a,b,y);initialbegina=4'b0000;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;a=4'b1111;b=4'b0001;#10 b=b<<1;#10 b=b<<1;#10 b=b<<1;endendmodule//74HC86代码-异或module HC86(A,B,Y);input [4:1]A,B;output [4:1]Y;assign Y=A^B;endmodule//74HC86测试平台代码`timescale 1ns/1ns(完整word 版)EDA 实验报告module testbench(); reg [4:1] a,b; wire [4:1] y;HC00 u1(a,b,y);initial begin a=4'b0000;b=4'b0001; #10 b=b<<1; #10 b=b<<1; #10 b=b<<1;a=4'b1111;b=4'b0001; #10 b=b<<1; #10 b=b<<1;#10 b=b<<1;endendmodule2、第一次仿真结果(任选一个....门,请注明,......插入截图,.....下同..)。
EDA技术及应用实验报告

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)实验报告(4位二进制加法器)

电子设计(EDA)实验报告(4位二进制加法器)一、实验名称4位二进制加法器二、实验目的掌握输入编辑原理图文件的方法;掌握编译原理图文件的方法;掌握仿真原理图文件的方法;理解Quartus 2 器件编程的方法三、实验环境计算机与Quartus 2 工具软件四、实验原理图、源程序entity halfadd isport(a1,b1:in bit;s1,c1:out bit);end ;architecture a of halfadd isbeginprocess(a1,b1)begins1<=a1 xor b1 after 10ns;c1<=a1 and b1 after 10ns;end process;end a;entity orgate isport(a,b:in bit;o:out bit);end orgate;architecture a of orgate isbegino<=a or b;end a;entity fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end ;architecture a of fulladd issignal temp_s,temp_c1,temp_c2:bit; component halfaddport(a1,b1:in bit;s1,c1:out bit);end component;component orgate port(a,b:in bit;o:out bit);end component;beginu0:halfadd port map(i1,i2,temp_s,temp_c1);u1:halfadd port map(temp_s,c_in,fs,temp_c2); u2:orgate port map(temp_c1,temp_c2,c_out); end a;entity add4 isport(a,b:in bit_vector(3 downto 0);cin:in bit;fs:out bit_vector(3 downto 0);cout:out bit);end add4;architecture a of add4 issignal temp_co0,temp_co1,temp_co2:bit; component fulladd isport(i1,i2,c_in:in bit;fs,c_out:out bit);end component;beginu0:fulladd port map(a(0),b(0),cin,fs(0),temp_co0);u1:fulladd port map(a(1),b(1),temp_co0,fs(1),temp_co1);u2:fulladd port map(a(2),b(2),temp_co1,fs(2),temp_co2);u3:fulladd port map(a(3),b(3),temp_co2,fs(3),cout);end a;五、实验波形图及分析延迟12.08ns。
EDA实验报告

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实验报告实验报告:EDA1111实验实验目的:掌握EDA1111的工作原理和性能特点,熟悉数字电子系统原理和设计流程。
实验内容:通过EDA1111实现一个简单的LED灯控制电路,并通过编程实现对LED灯的亮灭控制。
实验步骤:1.准备材料:EDA1111芯片、LED灯、电阻、跳线等。
2.按照电路原理图连接电路,将EDA1111芯片与其他元件连接,并正确引出引脚。
3.将电路连接到电源,并接通电源,确保电源电压稳定。
4.使用编程软件进行编程,编写控制LED灯亮灭的代码。
6.在实验板上观察LED灯的亮灭情况,并通过改变控制代码中的参数,改变LED灯的亮灭模式。
实验结果:经过以上步骤,我成功地完成了EDA1111实验。
在对LED灯进行控制的过程中,我发现控制代码中的参数变化会直接影响LED灯的亮灭情况。
通过不断调整参数,我可以实现不同模式的LED灯亮灭,如常亮、闪烁、呼吸灯等。
实验结果与我预期的一致,证明了EDA1111芯片的工作原理和性能特点。
实验总结:通过本次实验,我深入了解了EDA1111的工作原理和性能特点。
EDA1111是一款高性能的数字电子系统芯片,可以实现对LED灯的精确控制。
在实验过程中,我掌握了数字电子系统的设计流程,包括电路搭建、编程等步骤。
通过不断调整参数和编写代码,我能够实现不同模式的LED 灯亮灭,提高了我对数字电子系统设计的理解和实践能力。
总体而言,这次实验让我更加深入了解了EDA1111芯片的工作原理和性能特点,也增强了我对数字电子系统的理解和实践能力。
通过不断调试和改进,我成功实现了对LED灯的精确控制,提高了我对数字电子系统设计的掌握程度。
这次实验为我今后的学习和发展提供了很好的基础。
eda课程设计实验报告

eda课程设计实验报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用所学知识,设计并实现基本的数字电路。
3. 学生了解数字电路的设计流程,掌握设计规范,具备初步的电路分析能力。
技能目标:1. 学生能独立操作EDA软件,完成电路的原理图绘制、仿真和布局布线。
2. 学生通过实验报告的撰写,提高实验数据分析、总结归纳的能力。
3. 学生在小组合作中,提高沟通协调能力和团队协作能力。
情感态度价值观目标:1. 学生培养对电子科学的兴趣,激发创新意识,增强实践能力。
2. 学生在实验过程中,形成严谨的科学态度,提高问题解决能力。
3. 学生通过课程学习,认识到科技发展对国家和社会的重要性,增强社会责任感。
课程性质:本课程为实践性较强的电子设计课程,旨在培养学生的实际操作能力、创新意识和团队合作精神。
学生特点:六年级学生具有一定的电子知识基础,好奇心强,喜欢动手实践,但需加强对理论知识的理解和应用。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. EDA基本概念与工具介绍- 电子设计自动化原理简介- 常用EDA软件功能与操作方法2. 数字电路设计基础- 数字电路基本元件及功能- 原理图绘制与仿真分析3. 布局布线与PCB设计- PCB设计流程与方法- 布局布线技巧与规范4. 实验报告撰写- 实验数据整理与分析- 实验总结与反思教学大纲安排如下:第一周:- EDA基本概念与工具介绍- 数字电路基本元件及功能第二周:- 原理图绘制与仿真分析第三周:- 布局布线与PCB设计第四周:- 实验报告撰写教学内容与教材关联性:本教学内容与教材《电子技术基础与实践》第六章“电子设计自动化”相关章节紧密相连,确保了教学内容的科学性和系统性。
EDA(电子设计自动化)实验

实验一 Multisim 软件中基本仪器的使用一、 实验目的1. 熟悉Multisim 软件绘制电路原理图的方法;2. 熟悉Mulitisim 软件基本仪器仪表的操作方法;3. 学习使用Multisim 软件对电路仿真的基本方法。
二、 实验仪器硬件:X86型兼容计算机;软件:Multisim 电路仿真软件 三、 实验步骤1. 新建电路图:点击菜单File-->New Schemati c 或点击图标新建一个电路原理图文件。
2. 原理图参数设定:a). 点击菜单Options-->Global Preferences ,在选项卡Parts 中选择Symbol Standard 为DIN ;在元件库Source 中选择VCC ,在元件库Basic 中选择Resistor ,在元件库TTL 中选择74LS00,放置于原理图上;b). 点击菜单Options-->Global Preferences ,在选项卡Parts 中选择Symbol Standard 为ANSI ;在元件库Source 中选择VCC ,在元件库Basic 中选择Resistor ,在元件库TTL 中选择74LS00,放置于原理图上;c). 对比两种标准下电路符号的异同,绘制于实验报告上。
d). 点击菜单Options-->Sheet Properties ,设置Circuit 、Workspace 、Wiring 、Font 等电路属性。
3. 绘制电路原理图:a). 点击Place Source 图标放置交流电源和地,点击Place Basic 图标放置电阻Resistor 、电容Capacitor 、电感Inductor ; b). 用鼠标左键选取元件,将各元件放置到合适的位置,击右键可旋转或镜像元件;。
c). 双击元件修改元件参数; d). 绘制导线,连接电路。
4. 测量元件参数:a). 经预习计算得U R1= ,U C1= ,I R1= ,I C1= ,I L1= ,使用万用表Multimeter 进行仿真测量,自拟表格记录并对比理论值和测量值; b). 练习使用元件库Indicators 中的V oltmeter 和Ammeter 测量电压电流; c). 练习使用测量工具栏中的Measurement Probe 测量电压电流;d). 经预习计算得电路的有功功率为P= ,使用瓦特表Wattmeter 测量电路的功率,注意功率因数的作用; e). 练习使用2通道示波器Oscilloscope 观察电路波形,使用Grapher 观察电压的最大值、相位等信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA实验报告
一、设计思路
这个实验的最终成品是利用无缘蜂鸣器发出频率不断变小的声音,表现为音调不断下降,就像是飞机被击落的音调。
设计初期是想令发声器发出不同的音调,但是如果要编程歌曲比较困难。
于是考虑通过循环改变分频系数来进行变频,首先对时钟进行第一次分频,设置成周期为1ms的分频;然后设置分频循环为16到256,每1ms改变一次分频数;另开一个分频按16到256进行分频了,第三分频的最高位进行输出。
仿真过程没有问题,下载时发声不能,复位指示灯显示正常,跳频指示灯不闪烁。
上网查无源发生器的发生频率在1k到4k之间,而16到256分频是132k到2.11M,频率过大无法发声。
因此改为从8192分频到32768分频,为了编程方便在第二分频加八位,第一分频减八位,因此总的发声循环不发生改变,同时降低输出频率。
最终结果成功!
二、编程源码
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity sound is
port (clk,clr:in std_logic;
output,light1,run:out std_logic);
end sound;
architecture rtl_sound of sound is
signal cnt:std_logic_vector(12 downto 0);
signal spt:std_logic_vector(13 downto 0);
signal snd:std_logic_vector(12 downto 0);
signal ver:std_logic;
begin
process(clk,clr)
begin
if(clr='0')then
spt<="10011101111001";
elsif(rising_edge(clk))then
if(spt="00000000000000")then
spt<="10011101111001";
else
spt<=spt+"11111111111111";
end if;
end if;
end process;
process(spt(13),clk,clr)
begin
if(clr='0')then
cnt<="0000111111111";
elsif(rising_edge(spt(13)))then
if(cnt="1111111111111")then
cnt<="0000111111111";
else
cnt<=cnt+"0000000000001";
end if;
end if;
end process;
process(clk,clr)
begin
if(clr='0')then
snd<=cnt;
ver<='1';
elsif(rising_edge(clk))then
if(snd="0000000000000")then
snd<=cnt;
ver<=not ver;
else
snd<=snd+"1111111111111";
end if;
end if;
end process;
output<=ver;
run<=clr;
light1<=cnt(12);
end rtl_sound;
三、仿真结果
可以看到输出的频率越来越小,对应发生音调越来越低图示cnt为此状态应分频数(count),spt为第一分频(seperate),snd为按照cnt的数目进行分频,ver取snd的最高位。
四、最终结果
I M G_2159.M O V。
或者见于附件的视频。