EDA实验报告--
EDA实验报告
EDA实验报告班级:姓名:目录实验一:七段数码显示译码器设计 (1)摘要 (1)实验原理 (1)实验方案及仿真 (1)引脚下载 (2)实验结果与分析 (3)附录 (3)实验二:序列检测器设计 (6)摘要 (6)实验原理 (6)实现方案及仿真 (6)引脚下载 (7)实验结果与分析 (8)实验三:数控分频器的设计 (11)摘要 (11)实验原理 (11)方案的实现与仿真 (11)引脚下载 (12)实验结果及总结 (12)附录 (12)实验四:正弦信号发生器 (14)摘要 (14)实验原理 (14)实现方案与仿真 (14)嵌入式逻辑分析及管脚下载 (16)实验结果与分析 (17)附录 (18)实验一:七段数码显示译码器设计摘要:七段译码器是一种简单的组合电路,利用QuartusII的VHDL语言十分方便的设计出七段数码显示译码器。
将其生成原理图,再与四位二进制计数器组合而成的一个用数码管显示的十六位计数器。
整个设计过程完整的学习了QuartusII的整个设计流程。
实验原理:七段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA\CPLD中来实现。
本实验作为7段译码器,输出信号LED7S的7位分别是g、f、e、d、c、b、a,高位在左,低位在右。
例如当LED7S 输出为“1101101”时,数码管的7个段g、f、e、d、c、b、a分别为1、1、0、1、1、1、0、1。
接有高电平段发亮,于是数码管显示“5”。
实验方案及仿真:I、七段数码显示管的设计实现利用VHDL描述语言进行FPGA上的编译实现七段数码显示译码器的设计。
运行QuartusII在G:\QuartusII\LED7S\下新建一个工程文件。
新建一个vhdl语言编译文件,编写七段数码显示管的程序见附录1-1。
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技术实验报告1. 背景介绍EDA(Exploratory Data Analysis)是指探索性数据分析,是数据科学和机器学习中一项重要的任务。
通过EDA技术,我们可以对数据集进行可视化和统计分析,从而深入了解数据的特征和结构,为后续的数据处理和建模提供指导。
2. 实验目的本实验旨在通过使用EDA技术来分析一个给定的数据集,并从中获取有价值的信息。
通过实践,我们将深入了解EDA技术的应用和优势。
3. 实验步骤步骤1:导入数据首先,我们需要将实验所需的数据导入到Python的数据分析库中。
我们可以使用pandas库读取数据集,并将其存储为DataFrame对象,以便后续的分析和处理。
import pandas as pd# 读取数据集data = pd.read_csv('data.csv')步骤2:数据概览在进行数据分析之前,我们先要对数据进行整体的了解。
我们可以通过以下几个步骤来获取数据的概览信息:1.查看数据的前几行,了解数据的结构和格式。
data.head()2.查看数据的基本统计信息,包括均值、标准差、最小值、最大值等。
data.describe()3.检查数据中是否存在缺失值或异常值。
data.isnull().sum()步骤3:数据可视化EDA技术的核心之一是数据可视化。
通过可视化数据,我们可以更直观地理解数据的分布和关系。
下面是几种常用的数据可视化方法:1.直方图:用于展示数值型数据的分布情况,可以帮助我们了解数据的集中趋势和离散程度。
data['column'].plot.hist()2.散点图:用于展示两个数值型变量之间的关系,可以帮助我们发现数据的相关性。
data.plot.scatter(x='column1', y='column2')3.条形图:用于展示类别型数据的分布情况,可以帮助我们比较不同类别之间的差异。
EDA实验报告——计数器
EDA实验报告——计数器一、实验目的本实验主要是通过搭建计数器,了解计数器的基本原理和使用方法,掌握数字电路的设计方法及仿真分析方法。
二、实验原理计数器是数字电路的重要组成部分,在数字电路的多个应用中都有着广泛的应用。
计数器可以实现多种数字处理功能,如二进制计数、定量计数、计时、频率分频等。
三、实验材料1. Protues软件2. 74LS90集成电路3. 7段数码管4. 4位拨动开关5. 4个LED灯6. 电路板、杜邦线等。
四、实验内容1. 给定 74LS90 计数器数据手册,分析本实验使用到的 74LS90 芯片的接口及特性。
2. 根据实验需求,用 Protues 软件搭建计数器电路图。
3. 在计数器电路图中连通 74LS90 芯片的译码器输出端口,设置与四个拨动开关相连的输入端口以及 LED 显示器输出端口,实现计数器的计数。
4. 在计数器的输出端口增加 7 段数码管,通过数码管显示计数值。
5. 根据实验需求搭建模电流源电路,对实验电路进行仿真分析,并对仿真结果进行评估。
五、实验步骤2. 从库中拖动 74LS90 芯片、7 段数码管、拨动开关、LED 灯等元件到设计图中。
4. 在 74LS90 芯片工作模式的选择端口接上拨动开关,选择计数器的计数方式。
5. 配置模电流源电路,并设置仿真参数。
6. 进行仿真并记录仿真结果。
七、实验结果本实验搭建的计数器能够正确地进行计数,并且将计数结果通过数码管和 LED 灯显示出来。
在进行仿真分析时,根据仿真数据评估实验电路的合理性。
本实验通过搭建计数器,了解计数器的基本原理和使用方法,掌握数字电路的设计方法及仿真分析方法。
实验中主要学习了数字计数器的结构、性能和工作原理,在搭建计数器电路时主要包括了 74LS90 芯片的接口和设置以及输入输出端口的设置。
通过本实验,我进一步了解了计数器的基本知识和原理,也学习了如何使用 Protues 软件进行电路的搭建和仿真。
EDA实验报告-单级放大电路-负反馈放大电路-阶梯波发生器
EDA设计实验报告2009.10.25实验一单级放大电路的设计与仿真一、实验目的1.掌握放大电路静态工作点的调整与测量方法。
2.掌握放大电路的动态参数的测量方法。
3.观察静态工作点的选择对输出波形及电压放大倍数的影响。
二、实验内容1.设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(幅度10mV) ,负载电阻5.1kΩ,电压增益大于50。
2.调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。
3.加入信号源频率5kHz(幅度1mV) ,调节电路使输出不失真,测试此时的静态工作点值。
测电路的输入电阻、输出电阻和电压增益;4.测电路的频率响应曲线和fL、fH值。
三、实验内容及步骤1、分压偏置的单管电压放大电路2、给出电路静态工作点(调节R4),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。
a)不失真情况:U e=2.95VU c=4.66VU ce=U c-U e=1.71VI c=1.47mAI b=7.07uA示波器波形静态工作点参数b)饱和失真:U e=3.39VU c=3.58VU ce=U c-U e=0.19VI c=1.70mAI b=11.90uA示波器波形静态工作点参数c)截止失真U e=482.85mVU c=10.80VU ce=U c-U e=10.75VI c=240.34uAI b=1.09uA示波器波形静态工作点参数3、电压增益的实验图,测试结果并和理出测量输入电阻、输出电阻论计算值进行比较。
a)电压增益: A u=0.136/1=136理论值:r be=130+220*26/1.47=4.02kΩA u理论=220*2.5/4.02=136.82误差:E=(136.82-136)/136=0.60%b)输入电阻:Ri=1/0.409=2.44kΩR i理论=23 // 10 // 4.02 =2.55kΩ误差:E=|(2.55-2.44)/2.55|=4.31%c)输出电阻: R o=10/2.141=4.67kΩ理论值:R o理论=5.1kΩ误差:E=(5.1-4.67)/5.1=8.43%4、电路的幅频和相频特性曲线f L=92.88Hzf H=11.17MHz四、实际元件电路实际电路波形:实验二负反馈放大电路的设计与仿真一、实验要求1、给出引入电压串联负反馈电路的实验接线图。
EDA实验报告完结版
EDA实验报告完结版一、实验目的本次 EDA 实验的主要目的是通过实际操作和设计,深入理解和掌握电子设计自动化(EDA)技术的基本原理和应用。
具体而言,包括熟悉 EDA 工具的使用方法,学会运用硬件描述语言(HDL)进行逻辑电路的设计与描述,以及通过综合、仿真和实现等流程,将设计转化为实际的硬件电路,并对其性能进行评估和优化。
二、实验环境本次实验所使用的 EDA 工具为_____,该工具提供了丰富的功能模块和强大的设计支持,包括原理图编辑、HDL 代码编写、综合、仿真和下载等。
实验所使用的硬件平台为_____开发板,其具备多种接口和资源,便于对设计的电路进行实际验证和测试。
三、实验内容1、基本逻辑门电路的设计与实现使用 HDL 语言(如 Verilog 或 VHDL)设计常见的基本逻辑门电路,如与门、或门、非门等。
通过编写代码,对逻辑门的输入输出关系进行描述,并进行综合和仿真,验证设计的正确性。
2、组合逻辑电路的设计与实现设计并实现较为复杂的组合逻辑电路,如加法器、减法器、编码器、译码器等。
运用 HDL 语言描述电路的功能,进行综合和仿真,确保电路在各种输入情况下的输出结果符合预期。
3、时序逻辑电路的设计与实现设计常见的时序逻辑电路,如计数器、寄存器、移位寄存器等。
在设计过程中,考虑时钟信号、同步复位和异步复位等因素,通过仿真验证时序逻辑的正确性,并对电路的性能进行分析。
4、有限状态机(FSM)的设计与实现设计一个有限状态机,实现特定的功能,如交通信号灯控制器、数字密码锁等。
明确状态转移条件和输出逻辑,通过编写 HDL 代码实现状态机,并进行综合和仿真,验证其功能的准确性。
5、综合与优化对设计的电路进行综合,生成门级网表,并通过优化工具对电路进行面积、速度等方面的优化,以满足特定的设计要求。
6、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。
观察电路在实际运行中的表现,对出现的问题进行分析和解决。
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实验报告 (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实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)EDA实验报告实验14选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 )(如图所示)。
用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。
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实验报告完整版
eda实验报告完整版EDA实验报告一、文献综述EDA,全称为Exploratory Data Analysis,是一种数据探索性分析方法。
EDA通过多种可视化工具和数据分析技术快速探索数据集的特征和结构,从而发现其中的规律和异常,确定数据的可靠性和种类。
EDA的主要目的在于对数据进行全面的分析和理解,为后续的数据处理和建模提供参考。
EDA作为数据预处理的重要步骤,在数据分析和建模中占据着重要的地位。
目前,随着数据收集、存储和分析技术的快速发展,EDA正在成为数据分析中不可缺少的部分。
在大数据时代,EDA的发展已经超越了其传统的数据探索性分析功能,成为了快速调试和优化模型的重要手段。
二、实验目的本次实验旨在掌握EDA技术方法和可视化工具,在实际数据集中进行数据预处理和探索性分析。
主要目标包括:1.掌握常用的EDA方法和可视化工具。
2.通过对实际数据集处理和分析,了解数据的特征和结构。
3.确定数据集的质量、可靠性和种类。
4.为后续的数据处理和建模提供参考。
三、实验流程1.数据集的加载和清洗本次实验选用的数据集为Iris数据集,包含了鸢尾花的三个品种(Setosa、Versicolour、Virginica)的四个特征(sepal length、sepal width、petal length、petal width)共150个样本。
由于Iris数据集已经经过处理,因此不需要进行特殊的预处理。
为了更好地探索Iris数据集,我们将其存储为dataframe格式,以方便进行数据的各类统计和可视化。
2.数据特征的可视化在数据特征的可视化中,我们使用了多种可视化工具包括:ggplot2和ggpubr。
下面是我们在R语言环境下所使用的代码。
# 加载ggplot2和ggpubrlibrary(ggplot2)library(ggpubr)#加载Iris数据集data("iris")df = iris# 1.绘制直方图hist <- ggplot(df, aes(x = Sepal.Length)) +geom_histogram(fill = "blue", alpha = .5, bins = 30) +ggtitle("Distribution of Sepal.Length")# 2.绘制密度图density <- ggplot(df, aes(x = Sepal.Width, fill = Species)) +geom_density(alpha = .5) +scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) +ggtitle("Density plot of Sepal.Width")# 5.绘制箱线图boxplot <- ggplot(df, aes(x = Species, y = Sepal.Length, fill = Species)) + geom_boxplot() +ggtitle("Boxplot of Sepal.Length by Species")上述代码会生成6个图表,分别为直方图、密度图、散点图、热力图、箱线图和柱状图。
EDA实验七八实验报告(1)
实验七序列检测器的VHDL设计(1)实验目的:用状态机实现序列检测器的设计,了解一般状态机的设计与应用。
(2)实验原理:序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出 1,否则输出 0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
书上P168例5-11 描述的电路完成对序列数”11100101”的检测,当这一串序列数高位在前(左移)串行进入检测器后,若此数与预置的密码数相同,则输出”A”,否则仍然输出”B”。
(3)实验内容 1:用VHDL状态机设计一个8位序列信号检测器。
实验程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCHK ISPORT (DIN,CLK,CLR: IN STD_LOGIC;AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END ENTITY SCHK;ARCHITECTURE ONE OF SCHK ISSIGNAL Q : INTEGER RANGE 0 TO 8;SIGNAL D : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIND<="11100101";PROCESS(CLK,CLR)BEGINIF CLR='1' THEN Q<=0;ELSIF CLK'EVENT AND CLK='1' THENCASE Q ISWHEN 0=> IF DIN=D(7) THEN Q<=1; ELSE Q<=0; END IF;WHEN 1=> IF DIN=D(6) THEN Q<=2; ELSE Q<=0; END IF;WHEN 2=> IF DIN=D(5) THEN Q<=3; ELSE Q<=0; END IF;WHEN 3=> IF DIN=D(4) THEN Q<=4; ELSE Q<=0; END IF;WHEN 4=> IF DIN=D(3) THEN Q<=5; ELSE Q<=0; END IF;WHEN 5=> IF DIN=D(2) THEN Q<=6; ELSE Q<=0; END IF;WHEN 6=> IF DIN=D(1) THEN Q<=7; ELSE Q<=0; END IF;WHEN 7=> IF DIN=D(0) THEN Q<=8; ELSE Q<=0; END IF;WHEN OTHERS=> Q<=0;END CASE;END IF;END PROCESS;PROCESS(Q)BEGINIF Q=8 THEN AB<="1010";ELSE AB<="1011";END IF;END PROCESS;END ARCHITECTURE ONE;实验步骤如下:1 将源程序以SCHK.vhd的形式存入D盘名为liulin的文件夹中2 全程编译3 时序仿真4 引脚锁定和下载引脚锁定如下:CLR-PIN34;CLK-PIN32;DIN- PIN33;AB[0]- PIN77、 AB[1]- PIN78、AB[2]- PIN83、 AB[3]- PIN84;5 实际测试时序仿真波形如下图:实验分析:选择电路模式 No.8 。
eda实验报告
EDA技术与 VHDL 实验报告电气工程系电子信息工程实验一: 1 位全加器设计实验目的:I1131.学习 QuartusII9.1 集成开发环境的使用方法以及如何建立工程和文件;2.用原理图输入设计法和VHDL 文本输入设计法设计1 位全加器;3.通过电路仿真和硬件验证,进一步了解1 位全加器的功能I113实验内容:用原理图输入设计法和VHDL 文本输入设计法分别设计1 位全加器,并下载到 CH4 实验箱上运行。
实验原理: 1 位全加器可以由两个半加器和一个或门连接而成, 因而可根据半加器的电路 (如图 3-1 所示)或真值表写出或门和半加器的 VHDL 描述。
然后根据图 3-2 写出全加器的顶层描述。
co a b so co0 0 0 0 aand20 1 1 0bnot xnor2so1 0 1 0111图 3-1半加器 h_adder 电路图及其真值表u1dh_adder a or2aainh_adder ccoutf_addercoutain A coAco f bbinsumbin BsoeBsou3sumcincinu2图 3-2全加器 f_adder 电路图及其实体模块实验步骤:1.打开实验箱电源; 2.输入移位寄存器 VHDL 程序;3.点击图标,进行分析和综合;4. 建立波形文件,进行功能仿真; 5.按接线图配置 FPGA 引脚; 6.点击图标 ,进行编译;7.下载 ****.sof 配置文件到 EP3C16Q240C8中;1 半加器的 vhdl 描述有两种,我用的是下面这种,布尔函数描述法 :( 1)布尔函数描述方法的VHDL 源程序如下:LIBRARY IEEE; --半加器描述 (1):布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder isBEGINso <= NOT(a XOR (NOT b)) ; co <= a AND b ;END ARCHITECTURE fh1;( 2)或门逻辑描述:LIBRARY IEEE ; --或门逻辑描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a, b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b ;END ARCHITECTURE one ;( 3) 1 位二进制全加器顶层设计描述:LIBRARY IEEE; --1 位二进制全加器顶层设计描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder ISPORT (ain, bin, cin : IN STD_LOGIC;cout , sum: OUT STD_LOGIC );END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder ISCOMPONENT h_adder--调用半加器声明语句PORT ( a, b :IN STD_LOGIC;co, so :OUT STD_LOGIC);END COMPONENT ;COMPONENT or2aPORT (a, b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;SIGNAL d, e,f : STD_LOGIC; --定义 3 个信号作为内部的连接线。
EDA实验报告
实验一七段数码显示译码器一、实验目的:1.设计七段显示译码器,并在实验板上验证。
2.学习Verilog HDL文本文件进行逻辑设计输入。
3.学习设计仿真工具的使用方法。
二、实验原理:七段数码管纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能做十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
首先要设计一段程序,该程序可按case语句表达方法,再由真值表写出程序。
设输入的4位码为A[3:0],输出控制7段共阳数码管的7位数据LED7s[6:0]。
输出信号LED7s的7位分别接共阳数码管的7个段,高位在左,低位在右。
例如当LED7s输出为“0010010”时,数码管的7个段g、f、e、d、c、b、a分别接0、0、1、0、0、1、0;接有低电平的段发亮,于是数码管显示“5”。
这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,然后将LED7s改为8位输出。
图1图2三、实验器材:MagicSOPC实验箱,电脑,QutersII软件、四、实验步骤步骤1.新建一个文件夹打开vhdl文件步骤2:编写源程序并保存module translation7(A,seg,DIG);input [3:0] A;output[6:0] seg;output[7:0] DIG;reg [6:0] seg;always@(A) begincase(A)4'b1111:seg<=7'b1000000;4'b1110:seg<=7'b1111001;4'b1101:seg<=7'b0100100;4'b1100:seg<=7'b0110000;4'b1011:seg<=7'b0011001;4'b1010:seg<=7'b0010010;4'b1001:seg<=7'b0000010;4'b1000:seg<=7'b1111000;4'b0111:seg<=7'b0000000;4'b0110:seg<=7'b0010000;4'b0101:seg<=7'b0001000;4'b0100:seg<=7'b0000011;4'b0011:seg<=7'b1000110;4'b0010:seg<=7'b0100001;4'b0001:seg<=7'b0000001;4'b0000:seg<=7'b0001110;default:seg<=7'b1111111;endcaseendassign DIG=8'h00;endmodule3.新建一个工程及进行工程设置4.打开并建立新工程管理窗口。
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实验报告| 实验一:全加器设计一.实验目的:1.通过实验初步了解EDA的基本概念;2.初步掌握用VHDL语言及原理图进行单元设计的方法;3.初步了解层次设计法;4.熟悉EDA开发软件的操作。
二.实验内容设计一个两位全加器,并用发光二极管显示结果。
三.实验要求全加器的三个输入(二个数字输入,一个进位输入)用实验箱中W1,SW2,SW3控制,二个输出用发光管LED1,LED2显示。
整个设计采用层次设计方法,顶层文件采用原理图输入法。
整个电路设计思路分三部分:1半加器电路设计;2.全加器电路设计,是在半加器的基础上设计的;3.数据输入,输出电路设计。
四.实验步骤1.半加器设计:编写halfaddr.vhd(编辑、设为当前项目、选择器件、编译、仿真无误)2.全加器设计:编写addr.vhd(用结构描述方法的方法、用COMPONENT halfaddr作两次半加构成全加器;编辑、设为当前项目、选择器件、编译、仿真无误)3.顶层文件设计:编辑好endaddr.gdf(用原理图输入设计方法、全加器符号、输入输出端口信号、设为当前项目、选择器件、编译、仿真无误),并观察系统设计的层次结构4.管脚锁定:根据EPF10K10引脚对应表分配好管脚,并进行定时分析6.实验编程下载:确认管脚分配正确,跳线正确,下载程序到芯片。
观察实验现象SW1(a30) LED1(s16) LED2(co17)0 1 0 ▲1 0 0 ▲1 1 0 ▲0 0 1 ▲0 1 1 ▲1 0 1 ▲1 1 1 ▲▲(其中▲代表LED灯亮)五.思考题参考以上方法产生的一位全加器endaddr.gdf:设计出二位全加器。
以下是2endaddr.gdf:经老师验证,结果正确。
六.实验心得:首先谢谢赵老师的细心和悉心帮助。
虽然先前有先使用过软件,但没琢磨透,因此第一次实验都是在尽量学会使用这个软件^_^ 如今基本掌握做实验可以把自己的思路和课本的理论结合起来,受益匪浅;而能把实验正确结果做出来又是很快意的。
EDA实验报告-实验1-简单组合逻辑设计
暨南大学本科实验报告专用纸课程名称EDA实验成绩评定实验项目名称简单组合逻辑设计指导教师郭江陵实验项目编号01 实验项目类型验证实验地点B305 学院电气信息学院系专业物联网工程组号:A6一、实验前准备本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。
EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为3.3V;EDAPRO/240H实验仪主板的VCCIO跳线器组中“VCCIO3.3V”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为 2.5V;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为3.3V。
请参考前面第二章中关于“电源模块”的说明。
二、实验目的1、熟悉Max+Plus II下简单的VHDL文本方式设计。
2、学习使用JTAG接口下载逻辑电路到CPLD并能调试到正常工作。
3、熟悉数字电路集成设计的过程。
三、实验原理译码器是把输入的数码解出其对应的数码,例如:BCD至7段显示器执行的动作就是把一个四位的BCD码转换成7个码的输出,以便在7段显示器上显示这个十进制数。
译码器有N个二进制选择线,那么最多可译码转换成2N个数据。
当一个译码器有N条输入线及M条输出线时,则称为N×M的译码器。
3×8译码器是依此而来。
3×8译码器真值表如下表所示:四、实验内容把译码器的输入接到拨码开关,输出端接8个LED灯,通过拨码开关改变输入的逻辑电平变化来观察LED输出情况,验证3×8译码器的工作状态。
五、实验要求学习使用Max+Plus II 的使用VHDL 语言组成简单的数字逻辑电路。
六、设计框图及原理图首先判断使能端口EN 状态,当其满足高电平时,判断三个输入端口A2、A1、A0的状态来决定输出,如使能端口为低电平则固定输出不受三个逻辑输入A2、A1、A0的影响,使能有效时按照三个输入状态来决定八个输出的状态。
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位全加器进行时序仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA实验报告电科133-27-李玲玲实验一:“四选一“多路选择器一、实验目的通过实验让用户逐步了解、熟悉和掌握FPGA开发软件Quartus Ⅱ的使用方法及VHDL的编程方法。
二、实验内容描述一个“四选一“多路选择器,通过实验实现一个四选一的多路选择器,观察其波形图,实现四选一的原理三、实验原理a,b,c,d是四个输入端口,s1和s0为通道选择控制信号端,y为输出端。
当s1和s0取值分别为00,01,10和11时,输出端y将分别输出来自输入口a,b,c,d4个输入口分别输入不同频率信号时,针对选通控制端s1,s0的不同电平选择,则输出端y有对应的信号输出。
四、实验步骤1)使用Quartus Ⅱ建立工程打开Quartus Ⅱ软件并建立工程;建立图形设计文件;建立文本编辑文件;2)Quartus Ⅱ工程设计在VHDL文件中编写源程序,从设计文件创建模块,将led.bsf模块添加到Quartus Ⅱ顶层模块,添加引脚和其他基本单元3)设置编译选项并编译硬件系统设置编译选项,编译硬件系统,查看编译报告,下载硬件设计到目标FPGA五、实验参考程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY led ISPORT(a,b,c,d:IN STD_LOGIC;s0,s1:IN STD_LOGIC;y:OUT STD_LOGIC);END ENTITY led;ARCHITECTURE BHV OF led ISSIGNAL S:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINS <= s1 & s0 ;PROCESS(s1,s0)BEGINCASE (S) ISWHEN "00"=>y<=a;WHEN "01"=>y<=b;WHEN "10"=>y<=c;WHEN "11"=>y<=d;WHEN OTHERS=>NULL;END CASE;END PROCESS;END ARCHITECTURE BHV ;六、实验总结实验二:I/O控制实验一、实验目的通过此实验让用户进一步了解、熟悉和掌握CPLD/FPGA开发软件的使用方法及VHDL的编程方法,并熟悉以VHDL文件为顶层模块的设计;学好并体会分支条件语句case的使用方法及FPGA I/O的输入/输出控制。
二、实验内容SmartSOPC 实验箱上完成8个按键KEY1-KEY8和8个发光二极管LED1-LED8。
本实验内容是要求在SmartSOPC 实验箱上完成对8个按键KEY1-KEY8进行监控,一旦有键入则判断其键值,并点亮相应的发光二极管。
例如:若KEY3按下,则点亮LED1-LED3发光管。
三、实验原理SmartSOPC 实验箱8个发光二极管LED1-LED8的电路原理如图2.44所示,芯片输出后通过串连一个限流电阻和一个发光二极管组成,发光管采用共阳接法,降低芯片引脚的输出功率。
控制引脚为低电平时,LED点亮;控制引脚为高电平时,LED不亮;SmartSOPC 实验箱8个按键KEY1-KEY8的电路原理图如图2.45所示,芯片输入通过串联一个限流电阻和一个按键开关组成,开关采用共阴接法,降低系统的运行功率。
按钮按下时,输入引脚为低电平,度数为0;按钮悬空时,输入引脚为高电平,度数为1。
FPGA的所有I/O引脚单独配置为输入口,不过这种配置是系统自动完成的。
当该I/O口被设置为输入口使用时,该I/O控制模块将直接使三态缓冲区的控制端接地,使得该I/O引脚对外呈高阻态,这样该I/O引脚即可用作专用输入引脚。
正确分配并锁定引脚后,一旦在KEY1-KEY8中有键输入,即可在检测到键盘输入的情况下,继续判断其键盘值并作出相应的处理。
四、实验步骤1)建立一个新的工程,编写VHDL程序代码;2)实验箱配置引脚如表2.2,在引脚适配过程中配置相应的引脚;34)取出SmartSOPC实验箱,将实验箱上的JP6的LED0-LED7、LED1-LED8分别与FPGA引脚50、53-55、176和47-49相连,并接通电源;5)将程序下载到实验箱,并进行试验,观察试验结果,并分析其原因。
五、实验参考程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_Arith.ALL;USE IEEE.STD_LOGIC_Unsigned.ALL;ENTITY keyled ISPORT(key:IN STD_LOGIC_VECTOR(7DOWNTO 0);led:OUT STD_LOGIC_VECTOR(7DOWNTO 0));END;ARCHITECTURE one OF keyled ISSIGNAL led_r: STD_LOGIC_VECTOR(7DOWNTO 0);SIGNAL buffer_r:STD_LOGIC_VECTOR(7DOWNTO 0);BEGINled<=led_r;PROCESS(key,buffer_r)BEGINbuffer_r<=key;CASE buffer_r ISWHEN"11111110"=> led_r<="11111110";WHEN"11111101"=> led_r<="11111101";WHEN"11111011"=> led_r<="11111011";WHEN"11110111"=> led_r<="11110111";WHEN"11101111"=> led_r<="11101111";WHEN"11011111"=> led_r<="11011111";WHEN"10111111"=> led_r<="10111111";WHEN"01111111"=> led_r<="01111111";WHEN OTHERS=> led_r<="11111111";END CASE;END PROCESS;END;六、实验思考1)通过按键单独控制对应的LED灯,例如Key1按下,LED1点亮;Key1松开,LED1熄灭。
参考程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_Arith.ALL;USE IEEE.STD_LOGIC_Unsigned.ALL;ENTITY keyled ISPORT(key:IN STD_LOGIC_VECTOR(7 DOWNTO 0);led:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END;ARCHITECTURE one OF keyled ISSIGNAL led_r: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL buffer_r:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINled<=led_r;PROCESS(key,buffer_r)BEGINbuffer_r<=key;IF (buffer_r(0)='0') THEN led_r(0)<='0'; else led_r(0)<='1'; END IF; IF (buffer_r(1)='0') THEN led_r(1)<='0'; else led_r(1)<='1'; END IF; IF (buffer_r(2)='0') THEN led_r(2)<='0'; else led_r(2)<='1'; END IF; IF (buffer_r(3)='0') THEN led_r(3)<='0'; else led_r(3)<='1'; END IF; IF (buffer_r(4)='0') THEN led_r(4)<='0'; else led_r(4)<='1'; END IF; IF (buffer_r(5)='0') THEN led_r(5)<='0'; else led_r(5)<='1'; END IF; IF (buffer_r(6)='0') THEN led_r(6)<='0'; else led_r(6)<='1'; END IF; IF (buffer_r(7)='0') THEN led_r(7)<='0'; else led_r(7)<='1'; END IF; END PROCESS;END;七、实验总结实验三:数码管显示实验一、实验目的学习7段数码管显示译码器的设计,进一步了解、熟悉和掌握FPGA开发软件Quartus Ⅱ的使用方法及VHDL的编程方法。
二、实验内容SmartSOPC 实验箱上有两个4位动态共阳数码管LED12和LED13。
本实验的内容是建立7段译码显示模块,用于控制LED数码管的动态显示。
要求在SmartSOPC 实验箱上的数码管循环依次显示0-9,A-F共16个字符。
三、实验原理数码管LED显示是工程项目中使用较广的一种输出显示显示器件。
常见的数码管有共阴和共阳两种。
共阴数码管是将8个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将8个发光二极管的阳极连接在一起作为公共端。
公共端常称为位码,而其他8位称为段码。
如图2.46所示为共阳数码管及其电路,数码管有8个段分别为:h、g、f、e、d、c、b、a和a(h为小数点),只要公共端为高电平“1”,某个段输出低电平“0”则相应的段就亮。