EDA工程实践报告附录电路图 (1)
EDA实验报告(DOC)(word文档良心出品)
西华大学实验报告西华大学实验报告(理工类)开课学院及实验室:电气与电子信息信息学院实验时间:年月日学生姓名学号成绩学生所在学院电气与电子信息学院年级/专业/班课程名称EDA技术课程代码106001589 实验项目名称实验一、Quartus II软件使用初步与简单组合电路的设计项目代码指导教师林竞力项目学分一、实验目的1.熟习Quartus II软件的使用;2. 掌握用原理图输入法和硬件描述语言(Verilog HDL)两种方法来设计逻辑电路;3. 对设计电路作硬件验证;二、实验原理1.用原理图输入法来设计一个半加器电路参照图1-1(P57)来完成一个半加器电路的设计,其中a、b 为一位的加数与被加数信号,he、jw分别为和与进位信号。
存盘仿真后,观察仿真波形,并用硬件验证电路的功能。
图1-1 半加器电路原理图2.Quartus II软件目前版本已达到10.0以上,但对于初学者来说采用6.0或7.1版本最为适合。
6.0与7.1版本相比更稳定,因此本实验采用Quartus II 6.0,而7.1版本界面与6.0非常相似,学会6.0版本的使用也就学会了7.1版本的使用。
3. Quartus II软件设计电路流程:(1)新建一个工程:每设计一个电路就必须新建一个工程!所有的设计文件都装在工程目录中,并由软件管理。
(2)设计输入:第组告诉软件你要设计的电路是什么。
A.原理图设计方法-----用原理图编辑器画出电路图。
B.本文输入-----用文本编辑器采用硬件语言描述电路(电路主流设计方式)。
(3)编译将设计电路的功能与PLD芯片结合,并提取出仿真所需的时序参数。
(4)仿真软件验证电路功能是否实现。
(5)编程、配置与硬件测试用下载电缆完成器件的编程与配置,做硬件测试。
原理图输入法设计半加器电路与描述语言设计3-8译码器区别在于流程的第二步设计输入。
三、实验设备、仪器及材料电脑、EDA软件(Quartus II)、实验箱、下载电缆、连接导线。
EDA实验报告
EDA 实验报告实验一:组合电路的设计实验内容是对2选1多路选择器VHDL 设计,它的程序如下:ENTITY mux21a ISPORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ;END ARCHITECTURE one ;Mux21a 仿真波形图以上便是2选1多路选择器的VHDL 完整描述,即可以看成一个元件mux21a 。
mux21a 实体是描述对应的逻辑图或者器件图,图中a 和b 分别是两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y 为输出端的端口名。
Mux21a 结构体可以看成是元件的内部电路图。
最后是对仿真得出的mux21a 仿真波形图。
Mux21a 实体Mux21a 结构体实验二:时序电路的设计实验内容D触发器的VHDL语言描述,它的程序如下:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF1 ISPORT (CLK : IN STD_LOGIC ;D : IN STD_LOGIC ;Q : OUT STD_LOGIC );END ;D触发器ARCHITECTURE bhv OF DFF1 ISBEGINPROCESS (CLK)BEGINIF CLK'EVENT AND CLK = '1'THEN Q <= D ;END IF;END PROCESS ;END bhv;D触发器的仿真波形图最简单并最具代表性的时序电路是D触发器,它是现代可编程ASIC设计中最基本的时序元件和底层元件。
EDA实习报告
EDA技术及其应用实训报告学院:电气与控制工程学院班级:自动化1202班姓名:李锦涛学号: 27指导老师:杨占社许琼时间:2015年1月15日电子电路EDA实训一、课程设计的目的及任务EDA课程设计是工科院校电类专业学生进行的一次较全面的设计能力训练实践课程。
通过本课程设计重点掌握一种EDA 软件--Multisim软件在模拟电路和数字电路的设计和仿真应用,训练学生综合运用学过的电子电路的基本知识,独立设计比较复杂的电路的能力。
软件平台是NI Multisim,便于开展综合性的设计和实验,有利于培养综合分析能力、开发和创新的能力。
通过课程设计,学生要掌握使用EDA工具设计电路的方法,包括图形设计输入、编译、软件仿真和分析等全过程。
1.培养理论联系实际的设计思想,训练综合运用电子设计自动化和有关先修课程的理论,结合生产实际分析和解决工程实际问题的能力,巩固、加深和扩展有关电子电路设计方面的知识。
2.通过系统学习NI Multisim,利用软件的方法虚拟电子与电工元器件,虚拟电子与电工仪器和仪表,制定设计方案实现原理电路设计、电路功能测试,仿真和分析,达到掌握电子电路分析和设计全过程和实验。
3.进行设计基本技能的训练。
结合所学电工电子理论进行软件电路设计,熟悉和运用设计资料以及使用经验数据、进行经验估算和处理数据的分析和设计能力。
二、课程设计的基本要求通过学习与实践,使学生接触、了解、进而初步掌握先进的电子系统设计技术,学习基于NI Multisim EDA软件的一般方法和设计思想,并培养学生的抽象思维能力和创新意识;提高学生学习应用电子技术课程知识解决实际问题的能力,锻炼学生应用EDA解决小型系统设计的能力。
1、通过课程设计使学生能熟练掌握EDA软件(NI Multisim)的使用方法,能熟练进行设计输入、管脚分配、仿真、分析等过程。
2、通过课程设计使学生能利用EDA软件进行电子技术综合问题的设计。
EDA实验报告
实验1 Max+plusⅡ软件的使用一、实验目的:1、学习Max+plusⅡ的设计流程全过程,分别采用VHDL和原理图输入方式设计一个简单的三人表决器,学习简单组合电路的设计、仿真。
2、了解VHDL程序的基本结构。
二、实验条件1、PC机一台。
2、开发软件:Max+plusⅡ。
三、实验内容1、三人表决器的功能描述三个人分别用手指拨动开关SW1、SW2、SW3来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平(上方),不同意就把自己的指拨开关拨到低电平(下方)。
表决结果用高电平显示,如果决议通过那么L2为高电平;如果不通过那么L1为高电平;如果对某个决议有任意二到三人同意,那么此决议通过,L2为高电平;如果对某个决议只有一个人或没人同意,那么此决议不通过,L1为高电平。
2、实验步骤(1)采用电路图方式,如下图(2)采用VHDL编程方式,程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY majority_voter ISPORT(SW : IN std_logic_vector(3 DOWNTO 1);L : OUT std_logic_vector(2 DOWNTO 1));END majority_voter;ARCHITECTURE concurrent OF majority_voter ISBEGINWITH SW SELECTL <= "10" WHEN "011","10" WHEN "101","10" WHEN "110","10" WHEN "111","01" WHEN OTHERS;END concurrent;。
四、仿真结果:五、结论通过仿真波形可以看出三人表决器的图形方式和VHDL编程两种方式的正确性。
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实验报告
电子线路E D A实验报告-CAL-FENGHAI.-(YICAI)-Company One1实验一五人表决器的设计一、实验目的1.了解和初步掌握ISPLENVER软件的基本操作方法,Abel语言的编写。
2.加深电路设计的概念以及了解计算机辅助设计分析的过程。
二、实验内容及步骤本实验要求利用ISPLEVER软件完成对五人表决器的设计及仿真,表决的规则是:多数胜少数。
分析题意,我们可以知道此次仿真应有五个输入端口,一个输出端口。
分别设置其A、B、C、D、E为输入端口,F为输出端口。
可分析:五人中任意三人通过则表决通过,故得到其逻辑表达式为:F=ABC+ABD+ABE+ACD+ACE+ADE+BCD+BCE+BDE+CDE实验步骤1、打开IPSPLEVER软件,新建一个项目,命名为vote.syn。
2、在新建项目的基础上新建一个原理图文件,命名为vote51.sch。
运用软件按绘制原理图如下所示:图1:五人表决器原理图3、在顶层原理图的基础上,为模块编写ABEL语言程序,原理图中建立了V3模块,新建立一个程序V3.abl文件。
MODULE V3A,B,C,D,E PIN;F PIN ISTYPE 'com';EQUATIONSF=A&B&C#A&B&D#A&B&E#A&C&D#A&C&E#A&D&E#B&C&D#B&C&E #B&D&E#C&D&E;END4、编写此项目的仿真文件程序vote50.abv得到:MODULE vote50A,B,C,D,E,F PIN;X=.X.;TEST_VECTORS([A,B,C,D,E]->[F])[1,1,1,1,1]->[X];[1,1,0,1,1]->[X];[1,1,0,0,1]->[X];[1,1,0,0,0]->[X];[0,0,0,0,1]->[X];[0,0,0,0,0]->[X];END5、对此项目文件进行仿真,得到仿真结果如图:图2:实验结果仿真分析三、实验结果分析本次实验为五人表决器的设计,要求A、B、C、D、E五个输入中不少于三个为1,那么实验结果输出即为1。
EDA实验报告含结果图
EDA电子课程实验报告专业:班级:姓名:学号:实验一四人表决器一实验目的1、熟悉Quartus II软件的使用。
2、熟悉EDA-IV实验箱。
3、熟悉EDA开发的基本流程。
二硬件需求1、RC-EDA-IV型实验箱一台;2、RC-EDA-IV型实验箱配套USB-Blaster下载器一个;3、PC机一台。
三实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
四人表决器顾名思义就是由四个人来投票,当同意的票数大于或者等于3人时,则认为同意;反之,当否决的票数大于或者等于2人时,则认为不同意。
实验中用4个拨挡开关来表示4个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
四实验内容VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--------------------------------------------------------------------entity EXP3 isport(k1,K2,K3,K4 : in std_logic;ledag : out std_logic_vector(3 downto 0);m_Result : out std_logic);end EXP3;--------------------------------------------------------------------architecture behave of EXP3 issignal K_Num : std_logic_vector(2 downto 0); signal K1_Num,K2_Num: std_logic_vector(2 downto 0); signal K3_Num,K4_Num: std_logic_vector(2 downto 0);beginprocess(K1,K2,K3,K4)beginK1_Num<='0'&'0'&K1;K2_Num<='0'&'0'&K2;K3_Num<='0'&'0'&K3;K4_Num<='0'&'0'&K4;end process;process(K1_Num,K2_Num,K3_Num,K4_Num,)beginK_Num<=K1_Num+K2_Num+K3_Num+K4_Num;end process;process(K_Num) beginif(K_Num>2) thenm_Result<='1';elsem_Result<='0';end if;end process;end behave;实验电路实验二格雷码转换一实验目的1、了解格雷码变换的原理。
EDA实验及程序原理图
实验四原理图实验五:Light实验library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity light isport(clk1: in std_logic;light: buffer std_logic_vector(11 downto 0)); end light;architecture behv of light isconstant len: integer:=11;signal banner: std_logic:='0';signal clk,clk2: std_logic;beginclk<=(clk1 and banner) or (clk2 and not banner);process(clk1)beginif clk1'event and clk1='1' thenclk2<=not clk2;end if;end process;process(clk)variable flag: bit_vector(2 downto 0):="000";beginif clk'event and clk='1' thenif flag="000" thenlight<='1' & light(len downto 1);if light(1)='1' thenflag:="001";end if;elsif flag="001" thenlight<=light(len-1 downto 0) & '0';if light(10)='0' thenflag:="010";end if;elsif flag="010" thenlight(len downto 6)<=light(len-1 downto 6)&'1';light(len-6 downto 0)<='1'&light(len-6 downto 1);if light(1)='1' thenflag:="011";end if;elsif flag="011" thenlight(len downto 6)<='0'&light(len downto 7);light(len-6 downto 0)<=light(len-7 downto 0)&'0';if light(2)='0' thenflag:="100";end if;elsif flag="100" thenlight(len downto 6)<='1'&light(len downto 7);light(len-6 downto 0)<='1'&light(len-6 downto 1);if light(1)='1' thenflag:="101";end if;elsif flag="101" thenlight<="000000000000";flag:="111";elsif flag="111" thenbanner<=not banner;flag:="000";end if;end if;end process;end behv;实验结构框图LED阵列结构--元件例化library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ledall isport(clkin :in std_logic;outera:out std_logic_vector(15 downto 0); outerb:out std_logic_vector(3 downto 0));end ledall;architecture beh of ledall iscomponent pinport(f1m :in std_logic;f800 :out std_logic);end component;component source1port(clk :in std_logic;outer:out std_logic_vector(7 downto 0));end component;component source2port(clk :in std_logic;iner :in std_logic_vector(3 downto 0);outer:out std_logic_vector(3 downto 0));end component;component rom1port(address:in STD_LOGIC_VECTOR (7 DOWNTO 0);inclock:in STD_LOGIC ;q :out STD_LOGIC_VECTOR (15 DOWNTO 0));end component;signal sig0,sig1,sig2:std_logic;signal temp:std_logic_vector(7 downto 0);beginsig1<=not sig0;sig2<=not sig0;U1:source1 port map(sig0,temp(7 downto 0));U2:source2 port map(sig1,temp(3 downto 0),outerb(3 downto 0)); U3:rom1 port map(temp(7 downto 0),sig2,outera(15 downto 0)); U4:pin port map(clkin,sig0);end beh;--分频程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity pin isport(f1m:in std_logic;f800:out std_logic);end pin;architecture behave of pin issignal Count : integer range 0 to 4999;beginDivideCLK :process(f1m)--对1M的信号1000分频 1KHzbeginif (f1m'event and f1m = '1')thenif Count<2499 then f800<='0';Count<=Count+1;elsif Count<4999 then f800<= '1';Count <= Count+1;elsif Count>=4999 then f800<='0';Count<=0; end if;end if;end process;end behave;ROM1程序:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY rom1 ISPORT(address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (15 DOWNTO 0));END rom1;ARCHITECTURE SYN OF rom1 ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (15 DOWNTO 0);COMPONENT lpm_romGENERIC (lpm_width : NATURAL;lpm_widthad : NATURAL;lpm_address_control : STRING;lpm_outdata : STRING;lpm_file : STRING);PORT (address : IN STD_LOGIC_VECTOR (7 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (15 DOWNTO 0));END COMPONENT;BEGINq <= sub_wire0(15 DOWNTO 0);lpm_rom_component : lpm_romGENERIC MAP (LPM_WIDTH => 16,LPM_WIDTHAD => 8,LPM_ADDRESS_CONTROL => "REGISTERED",LPM_OUTDATA => "UNREGISTERED",LPM_FILE => "rom1.mif")PORT MAP (address => address,inclock => inclock,q => sub_wire0);END SYN;rom1:rom1_inst : rom1 PORT MAP(address => address_sig,inclock => inclock_sig,q => q_sig);Soucel:library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;entity source isport(clk:in std_logic;outer:out integer range 0 to 255);end source;architecture behave of source isbeginprocess(clk)variable temp:integer range 0 to 255;beginif(clk'event and clk='1')then temp:=temp+1; end if;outer<=temp;end process;end behave;soucel1:--Source1 地址寻址信号library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity source1 isport(clk:in std_logic;outer:out std_logic_vector(7 downto 0));end source1;architecture behave of source1 issignal temp1:std_logic_vector(3 downto 0);--temp1为地址低4位代表一帧数据signal temp2:std_logic_vector(3 downto 0);--temp1为地址高4位代表帧数signal time:integer range 0 to 15;--time为帧循环次数计数每帧扫16遍beginprocess(clk)beginif(clk'event and clk='1')thenif temp1="1111" thenif time<15 then time<=time+1;else time<=0;temp2<=temp2+'1';end if;end if;temp1<=temp1+'1'; --转为下帧数据end if;end process;outer<=temp2 & temp1;end behave;八位十进制频率计实验:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity freq isport(clk :in std_logic;--1Hz 标准时钟fs_in :in std_logic;--被测时钟dout :out std_logic_vector (31 downto 0)--被测时钟频率值);end freq;architecture ex4 of freq issignal clr_cnt :std_logic;--清零测频计数器signal en_cnt :std_logic;--使能测频计数器signal load :std_logic;--加载测量值signal div2clk :std_logic;signal d_temp :std_logic_vector (31 downto 0);--被测时钟频率值缓存器signal c :std_logic_vector (7 downto 0);--进位链component cnt10 isport(clk :in std_logic;--计数时钟clr :in std_logic;--复位ena :in std_logic;--使能qout :out std_logic_vector (3 downto 0);--10进制计数输出car_out :out std_logic --进位);end component;begin--2分频clkprocess(clk)beginif clk'event and clk = '1' thendiv2clk <= not div2clk;end if;end process;--产生控制信号clr_cnt <= '1' when clk = '0' and div2clk = '0' else'0';load <= not div2clk;en_cnt <= div2clk;process(load)beginif load'event and load = '1' thendout <= d_temp;end if;end process;u1 : cnt10 PORT MAP(clk=>fs_in,clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(3 downto 0),car_out=>c(0));u2 : cnt10 port map(clk=>c(0), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(7 downto 4),car_out=>c(1));u3 : cnt10 port map(clk=>c(1), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(11 downto 8),car_out=>c(2));u4 : cnt10 port map(clk=>c(2), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(15 downto 12),car_out=>c(3));u5 : cnt10 port map(clk=>c(3), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(19 downto 16),car_out=>c(4));u6 : cnt10 port map(clk=>c(4), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(23 downto 20),car_out=>c(5));u7 : cnt10 port map(clk=>c(5), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(27 downto 24),car_out=>c(6));u8 : cnt10 port map(clk=>c(6), clr=>clr_cnt,ena=>en_cnt,qout=>d_temp(31 downto 28),car_out=>c(7)); end ex4;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk :in std_logic;--计数时钟clr :in std_logic;--复位ena :in std_logic;--使能qout :out std_logic_vector (3 downto 0);--10进制计数输出car_out :out std_logic --进位);end cnt10;architecture ex5 of cnt10 issignal qout_t :std_logic_vector (3 downto 0);begin--10进制计数process(clk,clr)beginif clr = '1' thenqout_t <= x"0";elsif clk'event and clk = '1' thenif ena = '1' thenif qout_t < 9 thenqout_t <= qout_t + '1';elseqout_t <= x"0";end if;end if;end if;end process;--产生进位car_out <= '1' when qout_t = x"9" else'0';qout <= qout_t;end ex5;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity LED isport(din :in std_logic_vector (3 downto 0);dout :out std_logic_vector (7 downto 0) );end entity;architecture ex3 of LED isbeginprocess(din)begincase din iswhen "0000"=> dout <= "00111111";--"0"when "0001"=> dout <= "00000110";--"1"when "0010"=> dout <= "01011011";--"2"when "0011"=> dout <= "01001111";--"3"when "0100"=> dout <= "01100110";--"4"when "0101"=> dout <= "01101101";--"5"when "0110"=> dout <= "01111101";--"6"when "0111"=> dout <= "00000111";--"7"when "1000"=> dout <= "01111111";--"8"when "1001"=> dout <= "01101111";--"9"when "1010"=> dout <= "01110111";--"a"when "1011"=> dout <= "01111100";--"b"when "1100"=> dout <= "00111001";--"c"when "1101"=> dout <= "01011110";--"d"when "1110"=> dout <= "01111001";--"e"when "1111"=> dout <= "01110001"; --"f"when others => dout <= "00000000";end case;end process;end architecture;数字时钟原理图library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk:in std_logic;--时钟输入20MHzclr:in std_logic;--清零端en:in std_logic;--暂停信号mode:in std_logic;--控制信号,用于选择模式inc:in std_logic;--置数信号seg7:out std_logic_vector(6 downto 0);--7段显示控制信号scan:out std_logic_vector(5 downto 0));--数码管地址选择信号end;architecture one of clock issignal state:std_logic_vector(1 downto 0);--定义4种状态signal qhh,qhl,qmh,qml,qsh,qsl:std_logic_vector(3 downto 0);--小时、分、秒的高位和地位signal data:std_logic_vector(3 downto 0);signal cnt:integer range 0 to 5;--扫描数码管的计数器signal clk1khz,clk1hz,clk2hz:std_logic;--1kHz、1Hz、2Hz的分频信号signal blink:std_logic_vector(2 downto 0);--闪烁信号signal inc_reg:std_logic;signal sec,min:integer range 0 to 59;signal hour:integer range 0 to 23;beginprocess(clk)--20000分频,产生1kHz信号,用于扫描数码管variable count:integer range 0 to 9999;beginif clk'event and clk='1' thenif count=9999 then clk1khz<=not clk1khz;count:=0;else count:=count+1;end if;end if;end process;process(clk1khz)--1000分频,产生1Hz信号,用于计时variable count:integer range 0 to 499;beginif clk1khz'event and clk1khz='1' thenif count=499 then clk1hz<=not clk1hz;count:=0;else count:=count+1;end if;end if;end process;process(clk1khz)--500分频,产生2Hz信号,用于数码管闪烁variable count:integer range 0 to 249;beginif clk1khz'event and clk1khz='1' thenif count=249 then clk2hz<=not clk2hz;count:=0;else count:=count+1;end if;end if;end process;process(mode,clr)--模式转换beginif clr='1' then state<="00";elsif mode'event and mode='1' thenstate<=state+1;end if;end process;process(clk1hz,state,en,clr,hour,sec,min)--状态控制beginif en='1' thenhour<=hour;min<=min;sec<=sec;elsif clr='1' thenhour<=0;min<=0;sec<=0;elsif clk1hz'event and clk1hz='1' then case state iswhen "00"=> --模式0,正常计时if sec=59 then sec<=0;if min=59 then min<=0;if hour=23 then hour<=0;else hour<=hour+1;end if;else min<=min+1;end if;else sec<=sec+1;end if;when "01"=> --模式1,设定小时时间if inc='1' thenif inc_reg='0' then inc_reg<='1';if hour=23 then hour<=0;else hour<=hour+1;end if;end if;else inc_reg<='0';end if;when "10"=> --模式2,设定分钟时间if inc='1' thenif inc_reg='0' then inc_reg<='1';if min=59 then min<=0;else min<=min+1;end if;end if;else inc_reg<='0';end if;when "11"=> --模式3,设定秒钟时间if inc='1' thenif inc_reg='0' then inc_reg<='1';if sec=59 then sec<=0;else sec<=sec+1;end if;end if;else inc_reg<='0';end if;end case;end if;end process;process(state,clk2hz)--当进行时间设定时,令数码管闪烁begincase state iswhen"00"=>blink<="000";when"01"=>blink<=(2=>clk2hz,others=>'0');when"10"=>blink<=(1=>clk2hz,others=>'0');when"11"=>blink<=(0=>clk2hz,others=>'0');when others=>null;end case;end process;process(sec)--秒计数的十进制转BCD码begincase sec iswhen 0|10|20|30|40|50=>qsl<="0000";when 1|11|21|31|41|51=>qsl<="0001";when 2|12|22|32|42|52=>qsl<="0010";when 3|13|23|33|43|53=>qsl<="0011";when 4|14|24|34|44|54=>qsl<="0100";when 5|15|25|35|45|55=>qsl<="0101";when 6|16|26|36|46|56=>qsl<="0110";when 7|17|27|37|47|57=>qsl<="0111";when 8|18|28|38|48|58=>qsl<="1000";when 9|19|29|39|49|59=>qsl<="1001";when others=>null;end case;case sec iswhen 0|1|2|3|4|5|6|7|8|9=>qsh<="0000";when 10|11|12|13|14|15|16|17|18|19=>qsh<="0001";when 20|21|22|23|24|25|26|27|28|29=>qsh<="0010";when 30|31|32|33|34|35|36|37|38|39=>qsh<="0011";when 40|41|42|43|44|45|46|47|48|49=>qsh<="0100";when 50|51|52|53|54|55|56|57|58|59=>qsh<="0101";when others=>null;end case;end process;process(min)--分计数的十进制转BCD码begincase min iswhen 0|10|20|30|40|50=>qml<="0000";when 1|11|21|31|41|51=>qml<="0001";when 2|12|22|32|42|52=>qml<="0010";when 3|13|23|33|43|53=>qml<="0011";when 4|14|24|34|44|54=>qml<="0100";when 5|15|25|35|45|55=>qml<="0101";when 6|16|26|36|46|56=>qml<="0110";when 7|17|27|37|47|57=>qml<="0111";when 8|18|28|38|48|58=>qml<="1000";when 9|19|29|39|49|59=>qml<="1001";when others=>null;end case;case min iswhen 0|1|2|3|4|5|6|7|8|9=>qmh<="0000";when 10|11|12|13|14|15|16|17|18|19=>qmh<="0001";when 20|21|22|23|24|25|26|27|28|29=>qmh<="0010";when 30|31|32|33|34|35|36|37|38|39=>qmh<="0011";when 40|41|42|43|44|45|46|47|48|49=>qmh<="0100";when 50|51|52|53|54|55|56|57|58|59=>qmh<="0101";when others=>null;end case;end process;process(hour)--小时计数的十进制转BCD码begincase hour iswhen 0|10|20=>qhl<="0000";when 1|11|21=>qhl<="0001";when 2|12|22=>qhl<="0010";when 3|13|23=>qhl<="0011";when 4|14=>qhl<="0100";when 5|15=>qhl<="0101";when 6|16=>qhl<="0110";when 7|17=>qhl<="0111";when 8|18=>qhl<="1000";when 9|19=>qhl<="1001";when others=>null;end case;case hour iswhen 0|1|2|3|4|5|6|7|8|9=>qhh<="0000";when 10|11|12|13|14|15|16|17|18|19=>qhh<="0001";when 20|21|22|23=>qhh<="0010";when others=>null;end case;end process;process(clk1khz)--数码管动态扫描计数beginif clk1khz'event and clk1khz='1' thenif cnt=5 then cnt<=0;else cnt<=cnt+1;end if;end if;end process;process(cnt,qhh,qhl,qmh,qml,qsh,qsl,blink)begincase cnt iswhen 0=>data<=qsl or (blink(0)&blink(0)&blink(0)&blink(0));scan<="000001";when 1=>data<=qsh or (blink(0)&blink(0)&blink(0)&blink(0));scan<="000010";when 2=>data<=qml or (blink(1)&blink(1)&blink(1)&blink(1));scan<="000100";when 3=>data<=qmh or (blink(1)&blink(1)&blink(1)&blink(1));scan<="001000";when 4=>data<=qhl or (blink(2)&blink(2)&blink(2)&blink(2));scan<="010000";when 5=>data<=qhh or (blink(2)&blink(2)&blink(2)&blink(2));scan<="100000";when others=>null;end case;end process;process(data)--7段译码begincase data iswhen "0000"=>seg7<="1111110";when "0001"=>seg7<="0110000";when "0010"=>seg7<="1101101";when "0011"=>seg7<="1111001";when "0100"=>seg7<="0110011";when "0101"=>seg7<="1011011";when "0110"=>seg7<="1011111";when "0111"=>seg7<="1110000";when "1000"=>seg7<="1111111";when "1001"=>seg7<="1111011";when others=>seg7<="0000000";end case;end process;end;。
eda实验报告完整版
EDA实验报告焦中毅201300121069实验1 4选1数据选择器的设计一、实验目的1.学习EDA软件的基本操作。
2.学习使用原理图进行设计输入。
3.初步掌握器件设计输入、编译、仿真和编程的过程。
4.学习实验开发系统的使用方法。
二、实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台三、实验说明本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。
实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。
本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。
实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。
例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。
学会管脚锁定以及编程下载的方法等。
四、实验要求1.完成4选1数据选择器的原理图输入并进行编译;2.对设计的电路进行仿真验证;3.编程下载并在实验开发系统上验证设计结果。
五、实验结果4选1数据选择器的原理图:仿真波形图:管脚分配:实验2 四位比较器一、实验目的1.设计四位二进制码比较器,并在实验开发系统上验证。
2.学习层次化设计方法。
二、实验仪器与器材1.EDA 开发软件 一套 2.微机 一台 3.实验开发系统 一台 4.打印机 一台 5.其它器件与材料 若干 三、实验说明本实验实现两个4位二进制码的比较器,输入为两个4位二进制码0123A A A A 和0123B B B B ,输出为M (A=B ),G (A>B )和L (A<B )(如图所示)。
用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。
四、实验要求1.用硬件描述语言编写四位二进制码 比较器的源文件; 2.对设计进行仿真验证; 3.编程下载并在实验开发系统上进行 硬件验证。
EDA实验实验报告2
EDA实验实验报告学号:姓名:彭文勇院系:微电子技术系专业:嵌入式教师:李海2010年12月实验一一位全加器的设计实验地点:第二实验楼405同组人员:孙腾坤一、实验目的通过次实验我们逐步了解、熟悉和掌握FPGA开发软件Quartus II 的使用及Verilog HDL的编程方法。
学习用Verilog HDL语言以不同的方式来描述1位全加器及电路的设计仿真和硬件测试。
二、实验原理和内容本实验的内容是建立一个1位全加器。
具体内容包括:(1)使用Quartus II建立工程、编写程序;(2)进行波形仿真验证;(3)进行硬件测试。
通过SmartSOPC试验箱上的按键KEY1~KEY3输入信号,分别为A、B和cin,并通过LED1~LED3指示相应的状态。
输出Sum和cout通过LED7和LED8指示(灯亮表示输入或输出为“1”)。
三、实验步骤(1)启动Quartus II建立一个空白工程,然后命名为full_add。
(2)新建Verilog HDL源文件full_add.v,输入程序代码并保存,然后进行综合编译。
若在编译过程中发现错误,则找出并更正错误,直至编译成功为止,并生成图形符号文件full_add.bdf。
(3)波形仿真验证。
(4)新建图形设计文件命名为full_add.bdf并保存。
微电子技术系(5)选择目标器件并对相应的引脚进行锁定,我们选Altera公司Cyclone系列的EP1C6Q240C8芯片,引脚锁定方法参考实验书后面的附录A引脚分配。
将为使用的引脚设置为三态输入(一定要设置否则可能损坏芯片)。
(6)将full_add.bdf设置为顶层实体。
对该工程文件进行全程便已处理。
若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
(7)将跳线短接帽调解到JP6的KEY1~KEY3、LED0~LED2、LED6和LED7,使KEY1~KEY3、LED1~LED3、LED7、LED8与芯片对应的引脚相连。
电子电路CAD实习报告
电子电路CAD实习报告(通用11篇)电子电路CAD实习报告1一、电子电路CAD设计任务1、电路画图与制板软件Protel101se的运用2、运用Protel101se软件设计电路原理图3、运用Protel101se软件手动PCB布局布线4、运用Protel101se软件设计并制作一块PCB(实物)二、电子电路CAD设计内容LED数字电子钟电路原理图与PCB板图1、运用Protel101se软件制作元器件原理图库文件(1)、启动Protel101SE系统,进入设计界面后,单击“File”菜单选中“New”吩咐,系统将弹出Protel101SE建立新设计数据库的文件路径设置选项卡。
选择保存路径和类型,新建的数据库名后缀默认为“.ddb”为LED1029lib.ddb,特地存放原理图封装文件和PCB封装库文件。
(2)在Document新建LED1029sch.lib并打开利用右边工具栏画出自己所须要而软件自带的库里面没有的元器件,然后通过库文件栏里面的add/move调用自己做的库文件,以便于在原理图里面运用。
2、运用Protel101se软件制作元器件PCB封装库文件打开上面已经建立好的LED1029lib.ddb,在Document新建LED1029pcb.lib并打开利用右边工具栏画出自己所须要而软件自带的库里面没有的元器件,然后通过库文件栏里面的add/move调用自己做的库文件,以便于在PCB图里面运用。
3、LED数字电子钟电原理图设计(附图)(1)、启动Protel101SE系统,进入设计界面后,单击“File”菜单选中“New”吩咐,系统将弹出Protel101SE建立新设计数据库的文件路径设置选项卡。
选择保存路径和类型,新建的数据库名后缀默认为“.ddb”为LED1029.ddb,特地存放原理图和PCB图。
(2)、在LED1029.ddbDocuments建立一个新的原理图文档。
打开此文件数据库的“LED1029.sch”文件,进入原理图编辑界面。
《EDA技术与应用》实训报告
桂林电子科技大学信息科技学院《EDA技术与应用》实训报告学号姓名指导教师:2012 年6 月20 日数字日历电路的设计1.系统设计1.1 设计要求①通过编程下载至实训箱实现万年历的设计制作;②数字日历能够显示年、月、日和时、分和秒;③用EDA实训仪上的8只八段数码管显示年、月、日和时、分、秒,每过8秒分别现实两个时间段能自动倒换;④数字日历具有复位和校准年、月、日、时、分、秒的按钮,有锁定时分秒的按键,同时加了一个现实闹钟的程序,即在设置的时间,LED显示一分钟,按键可以暂停。
1.1.1 设计任务设计并制作一台数字日历,添加闹钟功能。
1.1.2 技术要求基于Verilog HDL 编写电路设计2.总体思路根据学校EDA实验设备的输入/输出接口的容限,本设计采用8只七断数码管分时完成时,分,秒,年,月,日的显示。
设计电路的计时器模块用于完成一天中24小时计时;年月日模块接受24小时计时器模块送来的“天”脉冲进行计数,得到日,月,年的显示结果;控制模块产生控制信号K,控制数码显示器显示年月日,和时分秒的显示或自动切换显示。
校时选择模块在k信号的控制下,选择将j1,j2,j3这三个校时按钮产生的信号是送到计时器模块的校秒,校时,校分的输入端,还是送到年月诶模块的校天,校月,校年输入端;显示选择模块在k信号的控制下,选择是将24小时模块信号,还是将年月日模块信号送到数码显示器显示。
闹钟模块用于在设置时间用LED代替真正的闹钟,灯光一闪一闪表示闹钟响,加一按键,用于控制闹钟的灭。
24小时计数器电路图分频模块控制模块控制模块24小时计时模块 年月日模块闹钟模块校时模块显示模块译码器系统流程图整个系统电路里模块有主要有年月日模块,24小时计数器模块,闹钟模块,显示模块,信号k控制模块,校时选择模块,还原选择模块;而24小时计数器模块中又分有分频模块,六十进制计数器模块,二十四进制计数器模块。
2.1 设计方案2.1.1各个模块程序的设计1:分频器module gen (clk,cout);input clk;reg[24:0] q;output reg cout;always @(posedge clk) beginif(q==20000000-1) q=0; else q=q+1;if(q==20000000-1) cout=1; else cout=0;endendmodule module gen_mb(clk,cout); input clk;reg[24:0] q;output reg cout;always @(posedge clk) beginif(q==200000-1) q=0; else q=q+1;if(q==200000-1) cout=1; else cout=0;endendmodule2:六十进制计数器模块module cnt60(clk,clrn,j,q,cout);input clk,clrn,j;2千万分频20万分频output reg[7:0] q;output reg cout;always @(posedge clk^j or negedge clrn) beginif(~clrn) q=0;else beginif(q=='h59) q=0;else q=q+1;if(q[3:0]=='ha)beginq[3:0]=0; q[7:4]=q[7:4]+1;endif(q=='h59) cout=1;else cout=0;endendendmodule3:二十四进制计数器模块module cnt24(clk,clrn,j,q,cout);input clk,clrn,j;output reg[7:0] q;output reg cout;always @(posedge clk^j or negedge clrn) beginif(~clrn) q=0;else beginif(q=='h23) q=0;else q=q+1;if(q[3:0]=='ha)beginq[3:0]=0; q[7:4]=q[7:4]+1;endif(q=='h23) cout=1;else cout=0;endendendmodule4:100进制计数器模块module cnt100(clk,clrn,j,q,cout);input clk,clrn,j;output reg[7:0] q;output reg cout;reg[7:0] flay;always @(j)beginif(j) flay=0;else flay=1;endalways @(posedge clk or negedge clrn) beginif(~clrn) q=0;else if(flay==0) beginif(q==99) q=0;else q=q+1;if(q[3:0]=='hff)beginq[3:0]=0; q[7:4]=q[7:4]+1;endif(q==99) cout=1;else cout=0;endendendmodule5:年月日模块module nyr2009(clrn,clk,jn,jy,jr,qn,qy,qr); input clrn,clk,jn,jy,jr;output [15:0] qn;output [7:0] qy,qr;reg [15:0] qn;reg [7:0] qy,qr;reg clkn,clky;reg [7:0] date;reg clkn1,clkn2,clkn3;initial begin clkn1=1;clkn2=1;clkn3=1;endinitial begin qn='h2000;qy=1;qr=1;endalways @(posedge (clk^jr) or negedge clrn)beginif (~clrn) qr=1;else beginif (qr==date) qr=1;else qr=qr+1;if (qr[3:0]=='ha) beginqr[3:0]=0; qr[7:4]=qr[7:4]+1;endif (qr==date) clky = 1;else clky = 0;endendalways @(posedge clky^jy or negedge clrn)beginif (~clrn) qy=1;else beginif (qy=='h12) qy=1;else qy=qy+1;if (qy[3:0]=='ha) beginqy[3:0]=0;qy[7:4]=qy[7:4]+1;endif (qy=='h12) clkn = 1;else clkn = 0;endendalwaysbegincase (qy)'h01: date='h31;'h02: beginif ((qn%4==0)&(qn%100 != 0)|(qn%400==0)) date='h29;else date='h28; end'h03: date='h31;'h04: date='h30;'h05: date='h31;'h06: date='h30;'h07: date='h31;'h08: date='h31;'h09: date='h30;'h10: date='h31;'h11: date='h30;'h12: date='h31;default :date='h30;endcaseendalways @(posedge (clkn^jn) or negedge clrn ) beginif (~clrn) qn[3:0]=0;else begin if(qn[3:0]==9) qn[3:0]=0;else qn[3:0]=qn[3:0]+1;if (qn[3:0]==9) clkn1=0;else clkn1=1;endendalways @(posedge clkn1 or negedge clrn ) beginif (~clrn) qn[7:4]=0;else begin if(qn[7:4]==9) qn[7:4]=0;else qn[7:4]=qn[7:4]+1;if (qn[7:4]==9) clkn2=0;else clkn2=1;endendalways @(posedge clkn2 or negedge clrn ) beginif (~clrn) qn[11:8]=0;else begin if(qn[11:8]==9) qn[11:8]=0;else qn[11:8]=qn[11:8]+1;if (qn[11:8]==9) clkn3=0;else clkn3=1;endendalways @(posedge clkn3 or negedge clrn ) beginif (~clrn) qn[15:12]=2;else if(qn[15:12]==9) qn[15:12]=0;else qn[15:12]=qn[15:12]+1;endendmodule6:信号k控制模块module contr(clk,k1,k2,k);input clk,k1,k2;output reg k;reg [3:0] qc;reg rc;always @(posedge clk)begin qc=qc+1;if (qc<8) rc=0;else rc=1;case ({k1,k2})0:k=rc;1:k=0;2:k=1;3:k=rc;endcaseendendmodule7:校时选择模块module mux_4(k,jm,jf,js,jr,jy,jn,j1,j2,j3,); input j1,j2,j3;input k;output reg jm,jf,js,jr,jy,jn;alwaysbeginif(k==0) {jm,jf,js}={j1,j2,j3};else {jr,jy,jn}={j1,j2,j3};endendmodule8:24小时计数器module cnt24(clrn,clk,q,j,cont);input clrn,clk,j;output reg [7:0] q;output reg cont;always @(posedge clk^j or negedge clrn)beginif(~clrn) q=0;else beginif(q=='h23) q=0;else q=q+1;if(q[3:0]=='ha) begin q[3:0]=0;q[7:4]=q[7:4]+1;end if(q=='h23) cont=1;else cont=0;endendendmodule9:.显示器选择器module mux_16(k,qm,qf,qs,qr,qy,qn,q);input k;input[7:0] qm,qf,qs,qr,qy;input[15:0] qn;output reg [31:0] q;alwaysbeginif(k==0) beginq[31:24]=0;q[23:0]={qs,qf,qm};endelse q={qn,qy,qr};endEndmodule10:闹钟模块naozhong(qs,qf,led,zt);input zt;input[7:0] qs,qf;output led;reg led;alwaysbeginif (qs=='h06&&qf=='h01)led=1;elseled=0;if(zt==1) led=0;endendmodule3.制作与调试过程在实验中参考上课中学的万年历,在原有的基础上添加了一个闹钟功能,用LED代替实际的闹钟,在设置的时间内闪烁1分钟,又添加姨暂停按键,实现闹钟关闭功能,由于能力有限,没能加上其他功能的创新,是此次实训设计的缺憾,在调试过程中也比较顺利,在经过一段时间的调试后,基本就能实现功能,而主要时间用在了对原来的程序理解上。
EDA实验报告时序电路
专用集成电路设计实验报告实验78 时序逻辑的特性姓名:***学号:**********班级:电科1301指导老师:***1、实验目的理解CMOS静态传输门寄存器的结构和时序特性。
了解SPICE仿真模型、门级(RTL级)仿真模型、电路综合模型之间的区别。
2、实验内容静态CMOS传输门主从正沿触发寄存器的结构如下图所示。
a)描述其工作原理。
b)设使用0.25um工艺,NMOS管的尺寸为L = 0.250um,W =0.375um;PMOS管的尺寸为L = 0.250um,W = 1.125um。
仿真反相器和传输门的延时。
c)计算寄存器的建立时间、保持时间、传播延时。
d)根据(c)中计算出的时序特性参数,调整D和CK之间的相位关系,使用SPICE分别仿真D的变化满足建立时间要求、不满足建立时间要求、满足保持时间要求、不满足保持时间要求的情况。
答:a)工作原理:当时钟处于低电平时(CLK=0),T1导通T2关断,输入D被采样到节点Qm上。
在此期间,T3和T4分别关断和导通。
交叉耦合的反相器(I5,I6)保持从锁存器的状态。
当时钟上升到高电平时,主级停止采样输入并进入维持状态。
T1关断T2导通,交叉耦合的反相器I2和I3保持Qm状态。
同时,T3导通T4关断,Qm被复制到输出Q上。
b)反相器延时:仿真波形图如图1.1所示。
图1.1 反相器延时仿真波形图Measure输出文件为:$DATA1 SOURCE='HSPICE' VERSION='U-2003.09 '.TITLE '*dai78_1object'invt1dlay invt2dlay temper alter#2.795e-11 1.937e-11 25.00001.0000输入下降延时:2.795e-11s输入上升延时:1.937e-11s(这里及以下计算的都是50%——50%延时)传输门:仿真波形如图1.2所示这里设置传输门的C端(Nmos的栅极)为高电平,输入A为脉冲信号,测试B端输出的延时。
EDA设计实验报告
EDA设计实验报告姓名学号:班级:指导老师:实验一单管分压偏置电路一:单管分压偏置电路原理图:二:调节电路静态工作点1:电路饱和失真时波形图如下:饱和失真时静态工作点2:最大不失真时波形图(电位器调节到34%时)最大不失真时静态工作点:由此可以计算出β=i c/i b=1.28102m/6.13449u=208.8226 U=V c-V e=V)15(-V)17(=5.59796-3.21635=2.38161v CEQ3:截止失真时波形:截止失真时静态工作点;三:测试三极管输入输出特性特性曲线1:测输入特性曲线原理图:输入特性曲线2:测输出特性曲线原理图:输出特性曲线:3:根据输入特性曲线求be r :由最大不失真时测得的静态工作点i b =6.13449u,在此值附近如图找两点:be r =BE U ∆/B i ∆=dx/dy=4.4444m/1.0775u=4.1247k Ω4:根据输出特性曲线测ce r ,在静态工作点i b =6.13449uA 线上, CEQ U =V c -V e =V )15(-V )17(=5.597963.21635=2.38161v选取其中褐色线条即ii1=6uA 的线,c ce ce i u r ∆∆=/=dx/dy=77.7778m/941.6365n=82.6k Ω四:测输入电阻原理图电源电压有效值、交流输入电流、交流输出电压值电压放大倍数Au=851.792/7.071=120.46输入电阻:Ri=7.071/0.003764=1.88kΩ五:测输出电阻原理图输出端电流如下图输出电阻R 0=7.071/0.001507=4.692k Ω与理论值比较分析:理论值: 输入电阻:Ri ’=R 3//R 1//R b =1.86k Ω 输出电阻:R 0’=Rl=5k Ω电压增益:Au=be L r R R /)//(2 =126.57 实际测得值:输入电阻:Ri=7.071/0.003764=1.88k Ω 输出电阻:R 0=7.071/0.001507=4.692k Ω 电压增益:Au=120.46 输入电阻相对误差为1.075%;输出电阻误差为6.16%;电压增益相对误差为4.83%六:波特图幅频相频曲线如下图:根据上限截止频率和下限频率定义,当放大倍数下降到中频的0.707倍时对应的频率,即幅频图中最高分贝处降低3dB对应频率,下限截止频率约f L=59.3347Hz,上限频率f H=16.6420MHz实验二一:两级阻容耦合放大电路原理图:负反馈接入前电路输入电阻:Ri=707.08uV/172.474nA=4.1kΩ电压放大倍数:Au=12.748mV/707.08uV=18.03 测输出电阻电路原理图:R 0=707.08uV/718.875nA=983.59Ω二:接入负反馈原理图输入电阻Ri=707.08uV/169.613nA=4.17kΩ电压增益Au=1.322mV/707.08uV=1.87反馈系数F=U f/U0=703.424uV/1.322mV=0.532 1/F=1.879A F≈1/F=1.879接入负反馈后输出电阻原理图:输出电阻R0=707.074mV/4.204mA=168.19Ω三:负反馈接入前后频率特性:1:反馈接入前f=1.6503kHz下限截止频率约为Lf=837.9489kHz 上限截止频率约为H2:L f =126.5834Hz ;H f =15.9560MHz五:经试验可知接入负反馈后当信号幅度为80mV 时开始出现失真;而未接负反馈时6mV时即出现失真。
EDA课程设计实验报告
EDA课程设计实验报告课程设计报告课程名称数字系统与逻辑设计课题名称 16*16点阵显示专业通信工程班级1181学号 131 7姓名肖浪指导教师乔汇东吴德建7月 2日湖南工程学院课程设计任务书课程名称数字系统与逻辑设计课题 16*16点阵显示专业班级通信工程1181 学生姓名肖浪学号 131 7指导老师乔汇东吴德建任务书下达日期年 6月 23日任务完成日期年7月2日《数字系统与逻辑设计》课程设计任务书一、设计目的全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常见的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
二、设计要求1、设计正确,方案合理。
2、程序精炼,结构清晰。
3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
4、上机演示。
5、有详细的文档。
文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。
三、进度安排第十八周星期一:课题讲解,查阅资料星期二:总体设计,详细设计星期三:编程,上机调试、修改程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。
目录一、课题的主要功能 (3)1.1问题描述 (3)1.2 功能描述 (4)二、课题的功能模块的划分 (4)2.1 系统的总体框图 (4)三、主要功能的实现 (5)3.1 1 8进制加法器设计 (5)3.2 2 16进制计数器设计 (5)3.3 列驱动设计 (5)3.4 字体显示控制器 (5)3.5 顶层文件设计 (5)四、系统调试与仿真 (6)4.1 程序仿真图 (6)4.2 16*16 LED点阵显示引脚分配 (8)4.3 程序运行结果 (9)五、总结与体会 (9)六、附件 (10)七、课程设计评分表 (20)一、课题的主要功能1.1问题描述本实验主要完成汉字字符在LED 上的显示,16*16 扫描LED 点阵的工作原理与8 位扫描数码管类似,只是显示的方式与结果不一样而已。
EDA实验总结报告
数字EDA实验实验报告学院:计算机科学与工程学院专业:通信工程学号: 0941903207 姓名:薛蕾指导老师:钱强实验一四选一数据选择器的设计一、实验目的1、熟悉Quartus II软件的使用。
2、了解数据选择器的工作原理。
3、熟悉EDA开发的基本流程.二、实验原理及内容实验原理数据选择器在实际中得到了广泛的应用,尤其是在通信中为了利用多路信号中的一路,可以采用数据选择器进行选择再对该路信号加以利用。
从多路输入信号中选择其中一路进行输出的电路称为数据选择器。
或:在地址信号控制下,从多路输入信息中选择其中的某一路信息作为输出的电路称为数据选择器.数据选择器又叫多路选择器,简称MUX。
4选1数据选择器:(1)原理框图:如右图.D0 、D1、D2、D3:输入数据A1 、A0 :地址变量由地址码决定从4路输入中选择哪1路输出.(2)真值表如下图:(3)逻辑图数据选择器的原理比较简单,首先必须设置一个选择标志信号,目的就是为了从多路信号中选择所需要的一路信号,选择标志信号的一种状态对应着一路信号。
在应用中,设置一定的选择标志信号状态即可得到相应的某一路信号.这就是数据选择器的实现原理.三.实验内容1、分别采用原理图和VHDL语言的形式设计4选1数据选择器2、对所涉及的电路进行编译及正确的仿真.电路图:四、实验程序library ieee;use ieee.std_Logic_1164.all;ENTITY mux4 ISPORT(a0,a1, a2, a3 :IN STD_LOGIC;s :IN STD_LOGIC_VECTOR (1 DOWNTO 0);y :OUT STD_LOGIC );END mux4;ARCHITECTURE archmux OF mux4 ISBEGINy 〈= a0 WHEN s = "00”else ——当s=00时,y=a0a1 WHEN s = "01" else ——当s=01时,y=a1a2 WHEN s = "10”else --当s=10时,y=a2a3; --当s取其它值时,y=a2END archmux;五、运行结果六.实验总结真值表分析:当js=0时,a1,a0取00,01,10,11时,分别可取d0,d1,d2,d3。
EDA技术实验报告
EDA技术实验报告实验⼀利⽤原理图输⼊法设计4位全加器⼀、实验⽬的:掌握利⽤原理图输⼊法设计简单组合电路的⽅法,掌握MAX+plusII 的层次化设计⽅法。
通过⼀个4位全加器的设计,熟悉⽤EDA 软件进⾏电路设计的详细流程。
⼆、实验原理:⼀个4位全加器可以由4个⼀位全加器构成,全加器的进位以串⾏⽅式实现,即将低位加法器的进位输出cout 与相邻的⾼位加法器的低位进位输⼊信号cin 相接。
1位全加器f-adder 由2个半加器h-adder 和⼀个或门按照下列电路来实现。
半加器h-adder 由与门、同或门和⾮门构成。
四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界⾯,掌握利⽤原理图进⾏电路模块设计的⽅法。
QuartusII 设计流程见教材第五章:QuartusII 应⽤向导。
2.设计1位全加器原理图(1)⽣成⼀个新的图形⽂件(file->new->graphic editor )(2)按照给定的原理图输⼊逻辑门(symbol ->enter symbol)COCO 1S 2S 3S 4(4)为管脚和节点命名:在管脚上的PIN_NAME处双击⿏标左键,然后输⼊名字;选中需命名的线,然后输⼊名字。
(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建⼀个设计的符号,该符号可被⾼层设计调⽤。
3.利⽤层次化原理图⽅法设计4位全加器(1)⽣成新的空⽩原理图,作为4位全加器设计输⼊(2)利⽤已经⽣成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形⽂件(file->new->Other Files->Vector Waveform File),保存后进⾏仿真(Processing ->Start Simulation),对4位全加器进⾏时序仿真。
电子电路EDA实习报告
电子电路EDA--Mutisim软件实习报告学院:电气与控制工程专业:自动化班级:1103姓名:赵宇学号:1106050319绪论EDA就是“Electronic Design Automation”的缩写技术已经在电子设计领域得到广泛应用。
发达国家目前已经基本上不存在电子产品的手工设计。
一台电子产品的设计过程,从概念的确立,到包括电路原理、PCB版图、单片机程序、机内结构、FPGA的构建及仿真、外观界面、热稳定分析、电磁兼容分析在内的物理级设计,再到PCB钻孔图、自动贴片、焊膏漏印、元器件清单、总装配图等生产所需资料等等全部在计算机上完成。
EDA技术借助计算机存储量大、运行速度快的特点,可对设计方案进行人工难以完成的模拟评估、设计检验、设计优化和数据处理等工作。
EDA已经成为集成电路、印制电路板、电子整机系统设计的主要技术手段。
美国NI公司(美国国家仪器公司)的Multisim 软件就是这方面很好的一个工具。
而且Multisim 计算机仿真与虚拟仪器技术(LABVIEW 8)(也是美国NI公司的)可以很好的解决理论教学与实际动手实验相脱节的这一老大难问题。
学员可以很好地、很方便地把刚刚学到的理论知识用计算机仿真真实的再现出来。
并且可以用虚拟仪器技术创造出真正属于自己的仪表。
极大地提高了学员的学习热情和积极性。
真正的做到了变被动学习为主动学习。
这些在教学活动中已经得到了很好的体现。
还有很重要的一点就是:计算机仿真与虚拟仪器对教员的教学也是一个很好的提高和促进。
NI Multisim是一款著名的电子设计自动化软件,与NI Ultiboard同属美国国家仪器公司的电路设计软件套件。
是入选伯克利加大SPICE项目中为数不多的几款软件之一。
Multisim在学术界以及产业界被广泛地应用于电路教学、电路图设计以及SPICE模拟。
本次实习就是通过对各种电路的仿真熟悉Multisim 11.0的操作方法,以便在日后的学习和工作中能够通过仿真调试自己设计的电路,从而提高设计效率,缩短开发周期。