EDA数字系统综合实验
- 格式:ppt
- 大小:932.50 KB
- 文档页数:75
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)摘要 (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。
实验一五人表决器设计一、实验目的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 五人表决器设计仿真图可知,设计基本符合题目要求。
实验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编程两种方式的正确性。
湖北民族学院信息工程学院实验报告(电气、电子类专业用)班级: 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 三-八译码器真值表译码器不需要像编码器那样用一个输出端指示输出是否有效。
但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。
本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。
数字系统设计及实验实验报告一、实验目的数字系统设计及实验课程旨在让我们深入理解数字逻辑的基本概念和原理,掌握数字系统的设计方法和实现技术。
通过实验,我们能够将理论知识应用于实际,提高解决问题的能力和实践动手能力。
本次实验的具体目的包括:1、熟悉数字电路的基本逻辑门、组合逻辑电路和时序逻辑电路的设计方法。
2、掌握使用硬件描述语言(如 Verilog 或 VHDL)进行数字系统建模和设计。
3、学会使用相关的电子设计自动化(EDA)工具进行电路的仿真、综合和实现。
4、培养团队合作精神和工程实践能力,提高解决实际问题的综合素质。
二、实验设备和工具1、计算机:用于编写代码、进行仿真和综合。
2、 EDA 软件:如 Quartus II、ModelSim 等。
3、实验开发板:提供硬件平台进行电路的下载和测试。
4、数字万用表、示波器等测量仪器:用于检测电路的性能和信号。
三、实验内容1、基本逻辑门电路的设计与实现设计并实现与门、或门、非门、与非门、或非门和异或门等基本逻辑门电路。
使用 EDA 工具进行仿真,验证逻辑功能的正确性。
在实验开发板上下载并测试实际电路。
2、组合逻辑电路的设计与实现设计一个 4 位加法器,实现两个 4 位二进制数的相加。
设计一个编码器和译码器,实现数字信号的编码和解码。
设计一个数据选择器,根据控制信号选择不同的输入数据。
3、时序逻辑电路的设计与实现设计一个同步计数器,实现模 10 计数功能。
设计一个移位寄存器,实现数据的移位存储功能。
设计一个有限状态机(FSM),实现简单的状态转换和控制逻辑。
四、实验步骤1、设计方案的确定根据实验要求,分析问题,确定电路的功能和性能指标。
选择合适的逻辑器件和设计方法,制定详细的设计方案。
2、代码编写使用硬件描述语言(如 Verilog 或 VHDL)编写电路的代码。
遵循代码规范,注重代码的可读性和可维护性。
3、仿真验证在 EDA 工具中对编写的代码进行仿真,输入不同的测试向量,观察输出结果是否符合预期。
第一章 技术实验基础实验实验一 用原理图输入法设计一位半加器一、实验目的.熟悉利用Ⅱ的原理图输入方法设计简单组合电路;.通过一个半加器的设计把握利用软件进行电子线路设计的详细流程;.学会对实验板上的进行编程下载,硬件验证自己的设计项目。
二、实验设备及器材配置机一台综合实验开发系统中:基本核心板模块、发光管显示模块、普通键盘模块、下载器、下载线、十针连接线根。
三、实验原理.根据真值表表写出电路的逻辑表达式表 一位半加器真值表其中, 为输入端口,与分别为半加器的和与进位。
其逻辑表达式为:o s a b =⊕ab Co =.根据逻辑表达式进行原理图设计。
注意:在进行原理图设计时,元件之间的连线应尽量避免与元件外的虚线框重合。
四、实验步骤:.为本项工程设计建立文件夹,注意文件夹名不能用中文,且不可带空格。
.根据半价器逻辑表达式进行原理图设计。
.对所设计的工程文件进行编译,排查错误。
.时序仿真,记录时序分析表。
.选择目标芯片。
.引脚锁定。
推荐锁定形式:输入接口选择核心板上接口,与普通键盘模块相连,连接后,可任意选择按键所对应的引脚(例如,选择和,它们所对应的引脚编号为和;输出接口选择核心板上接口,与发光管显示模块相连,连接后,课任意选择发光二级管所对应的引脚(例如选择和,它们所对应的引脚编号为和)。
注:输入输出接口可在核心板上十针接口中任意选择(白色接口除外),对应的引脚可在核心板上的引脚标注中查找。
.编程下载,观察硬件结果。
下载时请下载器形式请选择。
注:如下载后硬件调试没有通过,需重新检查连接,如果修改后重新进行下载,请将下载界面中原有的*文件删除,重新加载一次,然后再下载。
.撰写实验报告册,思考如何利用半加器设计一位全加器。
五、练习题. 请用本实验所作的一位半加器设计一位全加器。
要求利用原理图输入方式。
. 请利用一位全加器设计四位全加器。
要求利用原理图输入方式。
注:本练习主要使学生牢固掌握原理图输入设计方法,同时掌握设计中有关层次的基本概念。
一、实验目的通过本实验的学习,使学生掌握VHDL 中文件IO、配置、同步和异步设计等知识,训练VHDL 的编程能力,培养数字电路设计的基本技能,为今后继续学习大规模数字系统设计奠定基础。
二、实验内容1、分析示例代码,掌握VDHL 文件IO 的编写方法。
2、分析示例代码,掌握VDHL 配置的使用以及编写方法。
3、按照要求修改文件IO 和配置的示例代码。
4、根据同步和异步设计的不同,按照要求编写代码。
三、实验原理、方法和手段复杂设计,例如CPU,需要给它执行的指令。
以验证其正确性。
执行的结果也可以保存在文件中,供以后分析用。
VHDL 提供了文件读写功能,可以将测试激励预先保存在文件中,然后读入进行仿真。
文件读写的功能保存在IEEE 库的std.textio 和 std_logic_textio 包中,在文件头包含这些库,包,就可以调用文件读写函数。
文件I/O 关键语句:1、使用IEEE 文件读写包:USE ieee.std_logic_textio.all;USE std.textio.all;2、定义文件数据类型file results: text open write_mode is “results.txt";file mem_data: text;3、打开文件file_open(mem_data, "mem_data.txt", read_mode);4、定义行变量variable inline: line;5、读入一行数据到行变量readline(mem_data, inline);6、读行变量数据read(inline, ram_mem_temp);7、写数据到行变量write(OneLine,addr,right,10);8、写行变量到文件中writeline(results,OneLine);9、类型转换To_stdlogicvector(ram_mem_temp);--将ram_mem_temp 转换成std_logic_vector 型变量conv_integer(addr);--将addr 转换成interger 型变量1),常用的数据类型,函数,过程,模块,测试激励可以放在一个包中,以方便重用。
实验三: 二位比较器的设计与实现一.实验简介:这个实验将指导你通过使用ISE软件进行简单的二位比较器的设计与实现。
二.实验目的:•使用ISE软件设计并仿真。
•学会程序下载。
三.实验原理:1.ISE软件是一个支持数字系统设计的开发2.用ISE软件进行设计开发时基于相应器件型号的。
注意:软件设计时选择的器件型号是与实际下载板上的器件型号相同。
3.图2-1所示为二位比较器的真值表,本实验中用Verilog语句来描述。
b[1] b[0] a[1] d[0]0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1a_eq_b a_gt_b a_lt_b1 0 00 1 00 1 00 1 00 0 11 0 00 1 00 1 00 0 10 0 11 0 00 1 00 0 10 0 10 0 11 0 0四.实验步骤:1.新建工程(1)双击桌面上“”图标,启动ISE软件(也可从开始菜单启动)。
每次打开ISE都会默认恢复到最近使用过的工程界面。
当第一次使用时,由于还没有历史工程记录,所以工程管理区显示空白。
选择File—New Project选项,在弹出的对话框中输入工程名称并指定工程路径。
(2)点击Next按钮进入下一页,选择所使用的芯片及综合、仿真工具。
计算机上安装的所有用于仿真和综合的第三方EDA工具都可以在下拉菜单中找到。
在图中我们选用了Spartan6 XC6SLX16芯片,采用CSG324封装,这是NEXYS3开发板所用的芯片。
另外,我们选择Verilog作为默认的硬件描述语言。
(3)再点击Next按钮进入下一页,这里显示了新建工程的信息,确认无误后,点击Finish 就可以建立一个完整的工程了。
(1)在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,选择Verilog Module输入,并输入Verilog文件名。
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 个信号作为内部的连接线。