武汉大学EDA实验报告1

合集下载

EDA-实验报告

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

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

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

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

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

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

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

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

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

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

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

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

EDA实验报告1

EDA实验报告1

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 ;ARCHITECTURE bhv OF DFF1 IS BEGIN PROCESS (CLK) BEGINIF CLK'EVENT AND CLK = '1' THEN Q <= D ; END IF; END PROCESS ;END bhv;D 触发器的仿真波形图最简单并最具代表性的时序电路是D 触发器,它是现代可编程ASIC 设计中最基本的时序元件和底层元件。

EDA实验报告完结版

EDA实验报告完结版

EDA实验报告完结版一、实验目的本次 EDA 实验的主要目的是通过实际操作和设计,深入理解和掌握电子设计自动化(EDA)技术的基本原理和应用。

具体而言,包括熟悉 EDA 工具的使用方法,学会运用硬件描述语言(HDL)进行逻辑电路的设计与描述,以及通过综合、仿真和实现等流程,将设计转化为实际的硬件电路,并对其性能进行评估和优化。

二、实验环境本次实验所使用的 EDA 工具为_____,该工具提供了丰富的功能模块和强大的设计支持,包括原理图编辑、HDL 代码编写、综合、仿真和下载等。

实验所使用的硬件平台为_____开发板,其具备多种接口和资源,便于对设计的电路进行实际验证和测试。

三、实验内容1、基本逻辑门电路的设计与实现使用 HDL 语言(如 Verilog 或 VHDL)设计常见的基本逻辑门电路,如与门、或门、非门等。

通过编写代码,对逻辑门的输入输出关系进行描述,并进行综合和仿真,验证设计的正确性。

2、组合逻辑电路的设计与实现设计并实现较为复杂的组合逻辑电路,如加法器、减法器、编码器、译码器等。

运用 HDL 语言描述电路的功能,进行综合和仿真,确保电路在各种输入情况下的输出结果符合预期。

3、时序逻辑电路的设计与实现设计常见的时序逻辑电路,如计数器、寄存器、移位寄存器等。

在设计过程中,考虑时钟信号、同步复位和异步复位等因素,通过仿真验证时序逻辑的正确性,并对电路的性能进行分析。

4、有限状态机(FSM)的设计与实现设计一个有限状态机,实现特定的功能,如交通信号灯控制器、数字密码锁等。

明确状态转移条件和输出逻辑,通过编写 HDL 代码实现状态机,并进行综合和仿真,验证其功能的准确性。

5、综合与优化对设计的电路进行综合,生成门级网表,并通过优化工具对电路进行面积、速度等方面的优化,以满足特定的设计要求。

6、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。

观察电路在实际运行中的表现,对出现的问题进行分析和解决。

EDA实验报告

EDA实验报告

实验一:不同设计输入方式比较1、实验目的(1) 学习MAX+plus II软件的基本使用方法。

(2) 学习EDA实验开发系统的基本使用方法。

(3) 掌握VHDL程序的原理图和文本输入方式。

2、实验内容(1) 原理图输入(mux21.vhd) 方式的2选1多路选择器的设计(2) 文本编辑输入(mux41.vhd) 方式的4选1多路选择器的设计3、实验要求(1) MAX+plus II软件画出系统的原理框图,说明系统中各主要组成部分的功能。

(2) 编写VHDL源程序。

(3) 在MAX+plus II工具下编译、综合、适配、仿真、实验板上的硬件测试。

(4) 根据EDA实验开发装置编好用于硬件验证的管脚锁定文件。

(5) 记录系统仿真、硬件验证结果。

(6) 记录实验过程中出现的问题及解决办法。

4:实验步骤:程序编译过程:新建text文件→输入程序并保存其中保存名为实体名,并以vhd类型结尾→点击file下的project设定为current file点击maxplus 中的compiler按钮→显示无误后→点击新建按钮建立wave 文件→点击node 按钮添加管脚→保存并按text 的步骤检验wave 文件。

(1):用原理图法实现二选一多路选择器。

二选一选择器原理图其中B端为控制端,A,C为控制端(2):用文本输入法实现四选一多路选择器。

其文本程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX41 ISPORT(INPUT:IN STD_LOGIC_VECTOR(3 DOWNTO 0);A,B:IN STD_LOGIC;Y:OUT STD_LOGIC);END MUX41;ARCHITECTURE BE_MUX41 OF MUX41 ISSIGNAL SEL:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGINSEL<=A&B;PROCESS(INPUT,SEL)BEGINIF(SEL="00")THENY<=INPUT(0);ELSIF(SEL="01")THENY<=INPUT(1);ELSIF(SEL="10")THENY<=INPUT(2);ELSEY<=INPUT(3);END IF;END PROCESS;END BE_MUX41;实验二:VHDL语言编程—组合逻辑电路设计1、实验目的(1) 学习VHDL三种描述风格;(2) 学习元件例化语句的使用方法;(3) 学习VHDL程序层次化设计方法2、实验内容用元件例化语句方法和原理图方法设计四位全加器。

EDA技术实验报告(1)

EDA技术实验报告(1)

实验一利用原理图输入法设计4位全加器一、实验目的:掌握利用原理图输入法设计简单组合电路的方法,掌握MAX+plusII的层次化设计方法。

通过一个4位全加器的设计,熟悉用EDA软件进行电路设计的详细流程。

二、实验原理:一个4位全加器可以由4个一位全加器构成,全加器的进位以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的低位进位输入信号cin相接。

1位全加器f-adder由2个半加器h-adder和一个或门按照下列电路来实现。

半加器h-adder由与门、同或门和非门构成。

四位加法器由4个全加器构成1234三、实验内容:1. 熟悉QuartusII软件界面,掌握利用原理图进行电路模块设计的方法。

QuartusII设计流程见教材第五章:QuartusII应用向导。

2.设计1位全加器原理图(1)生成一个新的图形文件(file->new->graphic editor)(2)按照给定的原理图输入逻辑门(symbol->enter symbol)(3)根据原理图连接所有逻辑门的端口,并添加输入/输出端口(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实习报告1

EDA实习报告1

贵州师范大学学生实习报告科目:EDA实习专业: 电气工程及其自动化班级: 10电气**: ***学号: ************实验项目名称:数字电子钟的设计实验项目性质:普通试验所属课程名称:VHDL程序设计一、实验目的1 学习VHDL语言的一些基本特点。

2 掌握VHDL程序的基本结构。

3掌握VHDL程序设计方法。

4 要能够用vhdl语言读懂并编写eda程序,对eda设计的总体框架能有较好的把握,掌握各模块的调用方式。

二、实验内容和要求设计一个数字时钟,显示时(2位),分(2位),秒(2位),具体要求是:具有时分秒计数显示功能,以24小时循环计时;数码管动态显示时,分,秒;具有清零功能。

在软件工具平台上,进行VHDL语言的各模块编程输入、编译实现和仿真验证。

三、实验主要仪器设备和材料计算机,开发环境MAX-PLUSII,ZY11EDA实验系统,VHDL语言。

四、实验方法、步骤及结果测试1、设计思路:数字钟的主体是计数器,它记录并显示接收到的秒脉冲个数,其中秒和分位60进制计数器,小时为24进制计数器,分别产生3位BCD码。

BCD码经译码,驱动后接数码显示电路。

根据实验要求,将设计分为5个主要部分,时功能模块、分功能模块、秒功能模块、扫描仪功能模块和7段LED功能模块。

在时、分、秒模块中,包括复位和预置数,其主要思路如下:秒钟的模块:设计一个60进制的计数器,以clk为其时钟信号,每60个clk后产生一个进位信号CF给分钟模块,作为分钟进程的响应信号。

秒钟模块VHDL程序见附录1:仿真波形如下:封装如下图:分钟的模块:同理于秒钟的模块,设计一个60进制的计数器,以CFM为其时钟信号,每60个CFM后产生一个进位信号CFM给小时模块,作为小时模块进程的响应信号。

分钟模块VHDL程序见附录二:仿真波形如下:封装如下图:小时的模块:为24进制计数器,在分的进位信号CFM的激发下计数,从0到23的时候产生一个信号CFH,全部清0,重新开始计时。

eda实验报告完整版

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.编程下载并在实验开发系统上进行 硬件验证。

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

武汉大学计算机学院教学实验报告
课程名称EDA实验成绩教师签名
实验名称键盘显示电路实验序号 2 实验日期
姓名学号专业信息安全年级-班
一、实验目的及实验内容
小题分(本次实验所涉及并要求掌握的知识;实验内容;必要的原理分析)
一、实验目的
1.了解键盘显示电路的工作原理
2.掌握键盘显示电路的描述方法
3.熟悉键盘显示电路的下载测试
二、实验原理
功能:在电子系统中,用于数据传输;在实验系统中,用于模拟仿真以及人机交互。

结构:
KEY→控制电路→DISP
类型:编码键盘、非编码键盘、按键开关、拨动开关、LED显示、LCD显示以及CRT显示。

三、实验内容
设计键盘数码显示电路,要求如下:
1.6个数码管分别显示不同的数据;
2. 在例子程序的基础上,用4个按键开关组合输入一组数据,6个数码管滚动显示,输
入个数后,禁止输入。

小题分:二、实验环境及实验步骤
(本次实验所使用的器件、仪器设备等的情况;具体的实验步骤)
一、实验环境
pc机,教学实验箱,通信线
二、实验步骤
1.理解实验内容和实验例子程序。

2.根据实验指导书的要求接线。

3.输入课本上的程序代码。

在调通的情况下实现6个数码管分别显示不同数据的功能
4.更改程序,达到6个数后禁止输入的功能。

三、实验过程分析
小题分:(详细记录实验过程中发生的故障和问题,进行故障分析,说明故障排除的过程
及方法。

根据具体实验,记录、整理相应的数据表格、绘制曲线、波形等)
1.实验过程中出现的问题
接线错误,经过修改,达到预期的效果。

出现了1,12,123,1234,12345、123456、234567、345678、456789的数字
2.修改代码
(1)判断是否接受按键前加上条件,使得只有当最高的第六个数码管没有数字时才能继续输入。

如果第六个数码管已经有数字,则禁止。

(2)具体方法是:七段数码值左移前加入判断
(3)
elsif flag = '0' and led6 = "00000000"then
flag <= '1';
led6 <= led5;led5 <= led4;led4 <= led3;led3 <= led2;led2 <= led1; led1 <= temp;
(4)出现了六位码后,继续按键,数字无变化,禁止。

实验代码:
Library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity XY is
port( clk0 , clk1 : in std_logic;
din : in std_logic_vector( 3 downto 0 );
scan : out std_logic_vector( 5 downto 0 );
dout : out std_logic_vector( 7 downto 0 ) );
end XY;
architecture Behavioral of XY is
signal flag , clk2 : std_logic;
signal temp : std_logic_vector( 7 downto 0 );
signal led1 , led2 , led3 , led4 , led5 , led6 : std_logic_vector( 7 downto 0 );
signal t , s : std_logic_vector( 2 downto 0 );
begin
clk2 <= s( 2 );
process( clk0 )
begin
if clk0'event and clk0 = '1' then
if s = "100" then
s <= "000";
else
s <= s+1;
end if;
end if;
end process;
process( clk2 )
begin
if clk2'event and clk2 = '1' then
if din( 3 downto 0 ) <"1111" then
flag <= '0';
case din is
when "1110" => temp <= "00000110";
when "1101" => temp <= "01011011";
when "1011" => temp <= "01001111";
when "0111" => temp <= "01100110";
when "1100" => temp <= "01101101";
when "1010" => temp <= "01111101";
when "0110" => temp <= "00000111";
when "1001" => temp <= "01111111";
when others => null;
end case;
elsif flag = '0' and led6 = "00000000" then
flag <= '1';
led6 <= led5;
led5 <= led4;
led4 <= led3;
led3 <= led2;
led2 <= led1;
led1 <= temp;
elsif din( 3 downto 0 ) = "1111" then
flag <= '1';
end if;
end if;
end process;
process( clk1 )
begin
if clk1'event and clk1 = '1' then
if t = "101" then
t <= "000";
else
t <= t+1;
end if;
end if;
end process;
process( t )
begin
case t is
when "000" => scan <= "000001"; dout <= led1;
when "001" => scan <= "000010"; dout <= led2;
when "010" => scan <= "000100"; dout <= led3;
when "011" => scan <= "001000"; dout <= led4;
when "100" => scan <= "010000"; dout <= led5;
when "101" => scan <= "100000"; dout <= led6;
when others => null;
end case;
end process;
end Behavioral;
四、实验结果总结
小题分:(对实验结果进行分析,完成思考题目,总结实验的新的体会,并提出实验的改
进意见)
一、实验总结和体会
1.实验进行前要提前检查接线,排除接线影响。

2.代码的输入和接线出错非常难排查,因为太容易忽略了。

3.在学习的过程中要积极思考,也要及时的请教同学,学习经验,注重合作。

这样能更好的
找出问题改正问题。

相关文档
最新文档