EDA实验报告 -状态机
EDA实训报告总结

实训心得短暂的一周实训已经过去了,对于我来说这一周的实训赋予了我太多实用的东西了,不仅让我更深层次的对课本的理论知识深入了理解,而且还让我对分析事物的逻辑思维能力得到了锻炼,提高了实际动手能力,下面谈一下就这一周实训中我自己的一些心得体会.一周的实训已经过去了,我们在老师提供的实践平台上通过自己的实践学到了很多课本上学不到的宝贵东西,熟悉了对quartus ⅱ软件的一般项目的操作和学到了处理简单问题的基本方法,更重要的是掌握了vhdl语言的基本设计思路和方法,我想这些会对我今后的学习起到很大的助推作用。
此外,还要在今后的课本理论知识学习过程中要一步一个脚印的扎实学习,灵活的掌握和运用专业理论知识这样才能在以后出去工作的实践过程中有所成果。
最后还要感谢学校为我们提供这样专业的实践平台还有瓮老师在一周实训以来的不断指导和同学的热情帮助。
总的来说,这次实训我收获很大.同时,感谢大专两年来所有的老师,是你们为我解惑受业,不仅教授我专业知识,更教会我做人的道理.这次eda实训让我感觉收获颇多,在这一周的实训中我们不仅巩固了以前学过的知识,而且还学到了怎样运用eda设计三种波形的整个过程和思路,更加强了我们动手能力,同时也提高了我们的思考能力的锻炼,我们在写程序的同时还要学会要改程序,根据错误的地方去修改程序.本文基于verilog hdl的乒乓球游戏机设计,利用verilog hdl语言编写程序实现其波形数据功能在分析了cpld技术的基础上,利用cpld开发工具对电路进行了设计和仿真,从分离器件到系统的分布,每一步都经过严格的波形仿真,以确保功能正常。
从整体上看来,实训课题的内容实现的功能都能实现,但也存在着不足和需要进一步改进的地方,为我今后的学习和工作奠下了坚实的基础。
通过此次的实训课题,掌握了制作乒乓球游戏机技术的原理及设计要领,学习并掌握了可编程逻辑电路的设计,掌握了软件、cpld元件的应用,受益匪浅,非常感谢瓮老师这一学期来的指导与教诲,感谢老师在学习上给予的指导,老师平常的工作也很忙,但是在我们学习的过程中,重来没有耽搁过,我们遇到问题问他,他重来都是很有耐心,不管问的学生有多少,他都细心的为每个学生讲解,学生们遇到的不能解决的,他都配合同学极力解决。
《EDA技术》实验报告

《EDA技术》课程实验报告姓名:学号:班级:同组者:指导教师:信息科学与工程学院2013-2014学年第二学期《EDA技术》课程实验报告学生姓名:所在班级:电信1101班指导教师:老师记分及评价:一、实验名称实验1-3:简单数字电子钟的设计(原理图输入设计方法)二、任务及要求【基本部分】1、在QuartusII平台上,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,完成一个24进制同步计数器的设计,并进行时序仿真。
要求具备使能功能和异步清零功能,设计完成后封装成一个元件。
2、同1,采用原理图输入设计方法,调用两片74160十进制计数器,采用反馈置数法,完成一个60进制同步计数器的设计,并进行时序仿真。
要求具备使能功能和异步清零功能,设计完成后封装成一个元件。
3、利用1和2所设计的60进制计数器和24进制计数器元件,采用同步的方式设计一个简单的数字电子钟并进行时序仿真,要求具有时分秒功能显示功能、使能功能和异步清零功能。
【发挥部分】1、思考:采用反馈清零法设计的计数器与反馈置数法有何不同?请用实例进行仿真。
2、如何实现电子钟时分秒连续可调的功能?三、原理图1、如图3.1为24进制计数器原理图,2、如图3.2为60进制计数器的原理图,该图在24进制的基础上进行改进3、如图3.3为电子时钟原理图,4、图3.4a、3.4b分别为24、60进制原理图的封装元件1、g[3..0]OUTPUT s[3..0]OUTPUT图3.1 24进制计数器原理图2、g[3..0]OUTPUT s[3..0]OUTPUT图3.2 60进制原理图3、图3.3 数字电子时钟4、24jinzhi insten clr clk 24co co g[3..0]s[3..0]24jinzhi2insten clr clk 60co co g[3..0]s[3..0]3.4a 24进制原理图封装图 3.4b 60进制原理图封装四、仿真及结果分析1、图4.1 24进制时序仿真图2、图4.2 60进制时序仿真图3、图4.3 电子时钟时序仿真图五、小结在实验中需要注意的是创建的文件名需要和工程名字保持一致,若不一致,在进行功能仿真和时序仿真时会出现错误。
EDA-实验报告

实验一五人表决器设计一、实验目的1 加深对电路理论概念的理解3 加深计算机辅助分析及设计的概念4 了解及初步掌握对电路进行计算机辅助分析的过程二、实验要求制作一个五人表决器,共五个输入信号,一个输出信号。
若输入信号高电平数目多于低电平数目,则输出为高,否则为低。
三、实验原理根据设计要求可知,输入信号共有2^5=32种可能,然而输出为高则有15种可能。
对于本设计,只需一个模块就能完成任务,并采用列写真值表是最简单易懂的方法。
四、计算机辅助设计设A,B,C,D,E引脚为输入引脚,F为输出引脚。
则原理图如1所示图1.1 五人表决器原理图实验程序清单如下:MODULE VOTEA,B,C,D,E PIN;F PIN ISTYPE 'COM';TRUTH_TABLE([A,B,C,D,E]->[F])[0,0,1,1,1]->[1];[0,1,1,1,0]->[1];[0,1,0,1,1]->[1];[0,1,1,0,1]->[1];[1,0,1,1,1]->[1];[1,1,0,1,1]->[1];[1,1,1,0,1]->[1];[1,1,1,1,0]->[1];[1,1,1,0,0]->[1];[1,1,0,1,0]->[1];[1,1,1,1,1]->[1];[1,1,0,0,1]->[1];[1,0,0,1,1]->[1];[1,0,1,0,1]->[1];[1,0,1,1,0]->[1];END五、实验测试与仿真根据题目要求,可设输入分别为:0,0,0,0,0;1,1,1,1,1;1,0,1,0,0;0,1,0,1,1。
其测试程序如下所示:MODULE fivevoteA,B,C,D,E,F PIN;X=.X.;TEST_VECTORS([A,B,C,D,E]->[F])[0,0,0,0,0]->[X];[1,1,1,1,1]->[X];[1,0,1,0,0]->[X];[0,1,0,1,1]->[X];END测试仿真结果如图1.2所示:图1.2 五人表决器设计仿真图可知,设计基本符合题目要求。
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实验报告

湖北民族学院信息工程学院实验报告(电气、电子类专业用)班级: 09 姓名:周鹏学号:030940908 实验成绩:实验地点: EDA实验室课程名称:数字系统分析与设计实验类型:设计型实验题目:实验一简单的QUARTUSII实例设计,基于VHDL格雷码编码器的设计实验仪器:HH-SOC-EP3C40EDA/SOPC实验开发平台,PC机。
一、实验目的1、通过一个简单的3—8译码器的设计,掌握组合逻辑电路的设计方法。
2、初步了解QUARTUSII原理图输入设计的全过程。
3、掌握组合逻辑电路的静态测试方法。
4、了解格雷码变换的原理。
5、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。
6、进一步掌握实验系统的使用。
二、实验原理、原理图及电路图3-8译码器三输入,八输出。
当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。
因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。
其真值表如表1-1所示输入输出A B C D7 D6 D5 D4 D3 D2 D1 D00 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 1 0 0 01 0 0 0 0 0 1 0 0 0 01 0 1 0 0 1 0 0 0 0 01 1 0 1 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0表1-1 三-八译码器真值表译码器不需要像编码器那样用一个输出端指示输出是否有效。
但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。
本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。
EDA实验报告

姓名:郭灵芝学号:0704240115班级:通信一班07042200实验一0704240115 郭灵芝通信一班一.实验内容1.调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。
2.加入信号源频率5kHz(幅度1mV) ,调节电路使输出不失真,测试此时的静态工作点值。
测电路的输入电阻、输出电阻和电压增益;3.设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(幅度1mV) ,负载电阻5.1kΩ,电压增益大于50。
4.测电路的频率响应曲线和f L、f H值。
二.放大电路的原理图(1-1)放大电路的原理图R为滑动变阻器,该电路用的是三极管来实现放大,采用的是电压偏置,接法是共射极,1R的大小从而改变三极管的静态工作点,使三极管处于正常放通过它改变接入电路中的1大状态。
为了确定好的静态工作点,进行如下静态分析:上面图1-1的静态电路如下(1-2)放大电路所对应的静态电路可以用两个交流电压表分别测量输入电压和输出电压,输出电压除以输入电压即为放大倍数。
为了保证放大电路工作在放大区(可用示波器监测,保证波形不失真),将交流输入电压调为1mv,2mv,3mv 。
电压表均用交流模式。
当交流信号源取下表所示不同值时,读出电压表的读数,即i V 和0V ,并计算电压的放大倍数。
(表一)结论:当三极管工作在放大区时,其电压放大倍数近似为常数。
即输入电压随输入电压线性变化。
且放大倍数符合大于50的要求。
(表二)结论1R 调到10%到80%之间时三极管都正常放大,这可以通过C I 与B I 的比值即β来确定,在这个区间里β基本保持不变,当然1R 处于0%到10%之间的确定不了,这个还要通过实际测量的β来确定。
三.失真研究1. 电位器调到0%,交流信号保持20mv ,5 KHz ,输出信号如下(1-3)饱和失真的波形图此时负半周出现了失真,即削底,对于NPN 管说明出现了饱和失真。
EDA实验报告 (2)

实验一QUARTUS II软件安装、基本界面及设计入门一、实验目的:QUARTUSII是Altera公司提供的EDA工具,是当今业界最优秀的EDA设计工具之一。
提供了一种与结构无关的设计环境,使得电子设计人员能够方便地进行设计输入、快速处理和器件编程。
通过本次实验使学生熟悉QUARTUSII软件的安装,基本界面及基本操作,并练习使用QUARTUS的图形编辑器绘制电路图。
二、实验内容:1、安装QUARTUSII软件;2、熟悉QUARTUSII基本界面及操作;3通过一个4位加法器的设计实例来熟悉采用图形输入方式进行简单逻辑设计的步骤。
三、实验仪器:1、PC机一台;2、QUARTUSII软件;3、EDA实验箱。
四、实验原理:4位加法器是一种可实现两个4位二进制数的加法操作的器件。
输入两个4位二进制的被加数A和B,以及输入进位Ci,输出为一个4位二进制和数D和输出进位数Co。
半加操作就是求两个加数A、B的和,输出本位和数S及进位数C。
全加器有3位输入,分别是加数A、B和一个进位Ci。
将这3个数相加,得出本位和数(全加和数)D和进位数Co。
全加器由两个半加器和一个或门组成。
五、实验步骤:安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
设计半加器:在进行半加器模块逻辑设计时,采用由上至下的设计方法,在进行设计输入时,需要由下至上分级输入,使用QuartusIIGraphic Editor进行设计输入的步骤如下。
(1)、打开QUARTUSII软件,选择File-new project wizard…新建一个设计实体名为has的项目文件;(2)、新建文件,在block.bdf窗口下添加元件符号,并连接。
如下图:半加器原理图(3)、将此文件另存为has.gdf的文件。
(4)、在主菜单中选择Processing→Start Compilation命令,系统对设计进行编译,同时打开Compilation Report Flow Summary窗体,Status视图显示编译进程。
EDA 实验报告

4-1 组合电路设计实验目的:熟悉Quartus2的VHDL文本设计流程全过程,学习简单的组合电路的设计,多层次电路设计、仿真、和硬件测试。
实验任务1:利用软件完成二选一多路选择器的文本编辑和仿真测试等步骤,给出仿真波形,最后在实验系统上进行硬件测试,验证功能。
然后,利用元件例化语句描述图3-31,并将此文件放在同一目录下。
实验任务2:利用刚刚完成的实验内容,设计完成一位全加器,仿真该全加器,得到仿真结果,并利用一位二进制全加器为基本元件,用例化语句写出八位并行二进制全加器的顶层文件,讨论该加法器的电路特性。
实验代码及仿真结果:二选一多路选择器:library ieee;use ieee.std_logic_1164.all;entity mux21a isport(a,b,s: in std_logic;y:out std_logic );end entity mux21a;architecture one of mux21a isbeginprocess(a,b,s)beginif s='0' then y<=a; else y<=b;end if;end process;end architecture one;仿真结果:分析:1、s对电路的输出具有决定作用,s为0时输出为a的值,为1时输出为b的值。
从仿真结果可以看出0到10ns内,s为0,此时y的输出为0,是a的值。
2、10到20ns时间内,s为1,输出为b的值,y为1。
图3-31的仿真仿真程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity singt isport(a:in std_logic_vector(3 downto 1);s:in std_logic_vector(1 downto 0);outy: out std_logic);end singt;architecture bhv of singt iscomponent mux21aport(a,b,s: in std_logic;y:out std_logic );end component;signal tmp: std_logic;beginu1:mux21a port map(a=>a(2),b=>a(3),s=>s(0),y=>tmp);u2:mux21a port map(a=>a(1),b=>tmp,s=>s(1),y=>outy);end architecture bhv;该部分仿真结果:分析:1、3-31中电路的涵义是,s1s0为00时选择outy为a1,s1s0为01时outy为a1,s1s0为10时outy为a2,s1s0为11时outy为a3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA实验报告
1状态机程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY circle IS
PORT(CLK1,RESET1 :IN STD_LOGIC;
D0,D1,D2,D3,D4:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END circle;
ARCHITECTURE behv OF circle IS
TYPE FSM_ST IS (s0,s1,s2,s3,s4,s5,s6);
SIGNAL current_state,next_state:FSM_ST;
BEGIN
REG:PROCESS(CLK1,RESET1)
BEGIN
IF RESET1='0' THEN current_state<=s0;
ELSIF CLK1='1'AND CLK1'EVENT THEN
current_state<=next_state;
END IF;
END PROCESS;
COM:PROCESS(current_state,next_state)
BEGIN
CASE current_state IS
WHEN s0=> D0<="1111001";D1<="1111111";D2<="1111111";D3<="1111111";D4<="1111111"; next_state<=s1;
WHEN s1=> D0<="0100100";D1<="1111001";D2<="1111111";D3<="1111111";D4<="1111111"; next_state<=s2;
WHEN s2=> D0<="0110000";D1<="0100100";D2<="1111001";D3<="1111111";D4<="1111111";
next_state<=s3;
WHEN s3=> D0<="1111111";D1<="0110000";D2<="0100100";D3<="1111001";D4<="1111111";
next_state<=s4;
WHEN s4=> D0<="1111111";D1<="1111111";D2<="0110000";D3<="0100100";D4<="1111001";
next_state<=s5;
WHEN s5=> D0<="1111001";D1<="1111111";D2<="1111111";D3<="0110000";D4<="0100100";
next_state<=s6;
WHEN s6=> D0<="0010010";D1<="1111001";D2<="1111111";D3<="1111111";D4<="0110000";
next_state<=s2;
END CASE;
END PROCESS;
END behv;
2.1秒时间程序:
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY timer1 IS
PORT(CLK,RESET:IN STD_LOGIC;
CONT:OUT STD_LOGIC);
END ENTITY timer1;
ARCHITECTURE bhv OF timer1 IS
BEGIN
PROCESS(CLK,RESET)
V ARIABLE Q:INTEGER RANGE 0 TO 50000000;
BEGIN
IF RESET='0' THEN CONT<='0';
ELSIF CLK'EVENT AND CLK ='1' THEN Q:=Q+1;
END IF;
IF Q=50000000 THEN Q:=0;CONT<='1';
ELSE CONT<='0';
END IF;
END PROCESS;
END bhv;
3.总程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY circle123 IS
PORT(CLK2,RESET2:IN STD_LOGIC;
b1,b2,b3,b4,b5:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END ENTITY circle123;
ARCHITECTURE one OF circle123 IS
COMPONENT timer1
PORT(CLK,RESET:IN STD_LOGIC;
CONT:OUT STD_LOGIC);
END COMPONENT;
COMPONENT circle
PORT(CLK1,RESET1 :IN STD_LOGIC;
D0,D1,D2,D3,D4:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END COMPONENT;
SIGNAL H:STD_LOGIC;
BEGIN
u1:timer1 PORT MAP(CLK=>CLK2,RESET=>RESET2,CONT=>H);
u2:circle PORT MAP(CLK1=>H,RESET1=>RESET2,D0=>b1,D1=>b2,D2=>b3,D3=>b4,D4=>b5);
END ARCHITECTURE one;
4.时序仿真波形图:
5.效果图:。