CPLD(EDA实验报告)

CPLD(EDA实验报告)
CPLD(EDA实验报告)

CPLD与电子CAD报告

班号:网选 X班

序号: XXXXXXXXX

学号: XXXXXXXXX

姓名: XXXXXXXXX

同组同学姓名: XXXXXXXXX

1

●三峡大学电气与新能源学院

CPLD及电子CAD

?前言 VDHL初步理解和软件常规操作

?第一章 VHDL中的进程、信号与变量

?第二章并行语句、顺序语句

?第三章循环语句、双向口

?第四章数字钟综合设计

?第五章Protel原理图、PCB图

?总结学习CPLD心得和体会

前言 VDHL初步理解和软件常规操作

一,VHDL的历史

1982年,诞生于美国国防部赞助的vhsic项目

1987年底,vhdl被IEEE和美国国防部确认为标准硬件描述语言,即IEEE-1076(简称87版)

1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL,即IEEE标准的1076-1993(1164)版本

1996年,IEEE-1076.3成为VHDL综合标准

二,VHDL软件Max+plusⅡ的常规操纵方法

1)新建文件后,输入项目文件名(File-Project-Name)(此时save as名称如果是程序则需要用vhd结尾保存文件)

2)输入源文件(图形、VHDL、波形输入方式)

(Max+plusⅡ-graphic Editor;Max+plusⅡ-Text Editor;Max+plusⅡ-Waveform Editor)

3)指定CPLD型号,选择器件(Assign-Device)(应选择EP1K 30TC144-1)4)设置管脚、下载方式和逻辑综合的方式

(Assign-Global Project Device Option,Assign-Global Logic Synthesis)

2

3

5)保存并检查源文件(File-project-Save & Check)

6)指定管脚(Max+plus Ⅱ-Floorplan Editor)(具体的管脚应该参考 CPLD 管脚资源表格)

7)保存和编译源文件(File-project-Save & Compile) 8)生成波形文件(Max+plus Ⅱ-Waveform Editor) 9)仿真(Max+plus Ⅱ-Simulator)

10)下载配置(Max+plus Ⅱ-Programmer)

第一章 VHDL 中的进程、信号与变量

1.VHDL 中编程单元以及用法:

1.Entity(实体):像一个黑盒子一样,用来说明模型外部的输入输出特征

2.Architecture (构造体):用来定义模型的内容和功能,每一个构造体必须有一个实体与它相对应,所以两者一般成对出现;

3.Generic(类属参量):规定端口的大小、实体中子元件的数目等;

4.Ports (端口):是实体的一部分,主要用于信号的传输;常见的端口类型有IN (数据只能进实体),OUT (数据只能流出实体),INOUT (即可流进又可流出),BUFFER (数据流进实体同时可被反馈);

5.数据类型:BIT(位类型,只取‘0’或‘1’);BIT_VECTOR (位矢量类型,包含一组位类型);BOOLEAN (布尔类型,其值可为‘TEUE ’或‘FALSE ’);INTEGER (整型);Natural (自然数类型);Positive (正整数类型);REAL (浮点数类型);

6.Std_Logic 数据类型:IEEE1164中定义的一种数据类型,包含9种取值 (U,X,0,1,Z,W,L,H,_)。电路中有三态逻辑必须用std_logic 和std_logic_vector ;

7.构造体:描述实体的内部结构和逻辑功能,和实体相联系,一个实体可以 有多个构造体,构造体的运行时并发的;

2.进程语句意义和用法:

进程语句是VHDL 中最重要的语句,具有并行和顺序行为的双重性,其特点主要有:

1.进程和进程语句之间是并行的关系;

2.进程内部是一组连续执行的顺序语句;

3.进程语句与结构体中的其余部分进行信息交流是靠信号来完成的;

4.一个构造体可以有多个进程语句;

5.进程的基本格式:

【进程标号:】PROCESS[(信号敏感表)]IS <说明区> BEGIN

<顺序语句>

4

END PROCESS[进程标号]; 6.进程举例 library ieee;

use ieee.std_logic_1164.all; entity if_case_55_56 is port

(a,b,c,d: in std_logic;

sel : in std_logic_vector (1 downto 0); y,z:out std_logic);

end if_case_55_56;

architecture logic of if_case_55_56 is begin

if_label:process(a,b,c,d,sel) begin

if sel="00" then y<=a; elsif sel="01" then y<=b; elsif sel="10" then y<=c; else y<=d; end if;

end process if_label; case_label:

process(a,b,c,d,sel) begin

case sel is

when "00" =>z<=a; when "01" =>z<=b; when "10" =>z<=c; when "11" =>z<=d; when others =>z<='0';

end case;

end process case_label; end logic;

7.其仿真波形为

5

3.信号的用途以及和变量的区别 :

※ 信号是描述硬件系统的基本数据对象,它的性质类似于连接线。它可以代表连线、内连元件、或端口。 ※ 用“<=”来给信号赋值。

※ 信号可以作为实体中进程模块之间的信息交流媒介,信号存在于进程外。 ※ 信号定义的语句格式与变量相似,信号定义也可以设置初始值。 ※ 在进程中只能将信号列入敏感表,而不能将变量列入敏感表。 ※ 信号的定义格式:

SIGNAL 信号名: 数据类型:=初始值; ※ 信号的赋值语句表达式:

目标信号名 <= 表达式;/*这里的表达式可以是一个运算表达式,也可以是数据对象(变量、信号或常量)*/

4.变量的定义及特点:

1.变量是一个局部量,只能在进程和子程序中使用。

2.必须在进程和子进程的说明性区域说明。

3.不能表达连线和存储元件。变量的主要作用是在进程中作为临时的数据存储单元。

4.定义变量的一般表述:

WARIABLE 变量名 :数据类型 := 初始值; 5.变量赋值的一般表述为:

目标变量名 := 表达式;

因此,变量赋值符号是“:=”,变量数值的改变是通过变量赋值来实现的。赋值语句右方的“表达式”必须是一个与“目标变量名”具有相同数据类型的数据,这个表达式可以是一个运算表达式,也可以是一个数值。

5.信号与变量的区别(如下表):

6

6.举例说明

程序功能:以上是一个信号的例子,a 和b 相或得e ,c 和d 相或得f ,然后e 和f 相与得到输出g 。其中e 和f 是在构造体内部声明的内部连接信号。

第二章 并行语句、顺序语句

1.并行语句意义和用法

1.在VHDL 中,并行语句有多种语句格式,包括:并行信号赋值语句、进程语句、块语句、条件信号赋值语句、元件例化语句,生成语句,并行过程调用语句。

2.并行信号赋值语句:它包括简单信号赋值语句、条件信号赋值语句和选择信号赋值语句。

3.并行语句的优点:并行语句是硬件描述语言与一般软件程序的最大区别所在,所以并行语句在结构体中的执行都是同时进行的,即他们的执行顺序与语句的书写的先后顺序无关。

4.并行语句有with_select_then,when_else,if_then_else 和case_when 四种。

例如: With s select x<=a when “00”,

b when “01”,

c when “10”,

d when others; 这是with_select_then 语句,该语句的

7

作用是当s 分别为“00”“01”“10”时,对应把a,b,c 赋值给x ,否则把d 赋值给x 。

2.顺序语句

1.每一条语句的执行顺序与其书写顺序一致。

2.顺序语句只能出现在进程、函数和过程中。

3.顺序语句包括:赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句。

3.程序调试步骤:①选择File-new,然后选择Waveform Editor File ,再从下拉列表中选择.扩展名,并按ok ,即可创建一个新的无标题的文件,保存并修改名称。② 选择File -END TIME ,在出现的对话框中输入1s ,按ok ,则设置了结束时间;③选择Options-Gird size ,输入30ns ,按ok ;④选择node-Enter nodes from SNF 菜单项⑤选中type 框中input 和output 项,选择List ,选择=>按钮,按ok 根据需要编辑波形。 程序截图和仿真波形截图:

4.程序工作原理:程序中进程里的是顺序语句,既有信号又有变量,由于赋值无延迟,而变量赋值有延迟,因此当En 为1时,最终的输出y (n )为11100010

输出y(n)为11100010.

3、第三章循环语句、双向口

1.循环语句

1.循环语句的基本格式为:

[LOOP标号:]

[重复模式]LOOP

顺序语句;

END LOOP [LOOP标号]

2.举例说明:

for i in 7 downto 4 loop

shift_var(i):= shift_var(i-4);

end loop;

该语句的作用是当i=4,5,6,7时,执行顺序语句shift_var(i):= shift_var(i-4)。

2.双向口

1.双向口申明的格式为:

[双向口标号]:INOUT [数据类型];

2.双向口既可以作为输入也可以作为输出。双向端口在完成输入功能时,必须使原来成输出模式的端口成高阻态,否则,待输入的外部数据势必会与端口处原有电平发生“线与”,导致无法将外部数据正确的读入,从而实现“双向”的功能。

3.波形仿真过程为:

MAX+plus II → Waveform Editor →(Options → Grid Size → 50ms)→Node → Enter Nodes from SNF → List →给定输入信号高低电平→ XC

选中所有输入信号,点击右键→ Enter Group ,可以创建组。

4.双向口举例程序:

ENTITY ldcnt_55_56 IS PORT ( clk, ld, oe: IN std_logic;

count: INOUT std_logic_vector(7 DOWNTO 0));

END ldcnt_55_56;

ARCHITECTURE archldcnt OF ldcnt_55_56 IS

SIGNAL int_count: std_logic_vector(7 DOWNTO 0);

BEGIN

cnt: PROCESS (clk)

BEGIN

8

9

IF rising_edge(clk) THEN

IF ld='1' THEN int_count <= count; ELSE int_count <= int_count + 1; END IF; END IF;

END PROCESS cnt ;

outen: PROCESS (oe, int_count) BEGIN

IF oe = '1' THEN count <= int_count ; ELSE count <= (OTHERS => 'Z') ; END IF ; END PROCESS outen;

END archldcnt; 双向口仿真波形如下图:

4、第四章 数字钟综合设计

一、实验目的:

1.掌握多位计数器相连的设计方法;

2.掌握十进制,六进制,二十四进制计数器的设计方法;

3.掌握扬声器的驱动;

4.掌握EPLD 技术的层次化设计方法。

5.能将数字钟的各个单元电路组合成整机电路。

6.会装配和调试数字钟电路。

7.会制作分频电路。

二、实验原理

10

1.这里用到了,六十、二十四、一百进制的计数器,分频器等。

2.在同一EPLD 芯片EP1K30TC144-1 上集成了如下电路模块: ★时钟计数: 秒,分,秒——60 进制BCD 码计数 微秒——100 进制BCD 码计数 ★同时计数器有清零、调分、调时功能。 在整数时间能提供报时信号。

★扬声器在整点时有报时驱动信号产生。

★此设计任务分成若干模块,规定每一块的功能和各模块之间的接口。先分做 和调试其中之一,然后再将各模块联合起来联试。

★对于不同目录下的同一设计,模块说明如下:各种进制的计数及时钟控制模块;扫描分时显示,译码模块;扬声键编码模块;微秒功能;闹钟功能;

3.由程序生成元件的过程:MAX+plus II → Graphic Editor → 点击右键 → Enter Symbol → 选择要生成元件的程序。

5.六十进制计数器用作秒和分,一百进制用作微秒,程序和波形如下: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_signed.all; entity jsq_55_56 is

port(clk,clr,en: in std_logic;

carry : out std_logic;

ge,shi : out std_logic_vector(3 downto 0));

end jsq_55_56;

architecture one of jsq_55_56 is

signal s,g :std_logic_vector(3 downto 0); begin

process(clk,clr,en,s,g) begin

if clr='1' then

s<="0000";g<="0000";

elsif clk'event and clk='1' then if en='0' then

if s=5 and g="1001" then

s<="0000";g<="0000"; carry<='1';

elsif g="1001" then -- and s<6 then s<=s+1;g<="0000"; else

g<=g+1;carry<='0';

end if; end if; end if;

11

end process; ge<=g;

shi<=s; end;

六十进制仿真波形截图:

6.二十四进制程序: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_signed.all; entity jsq24_55_56 IS

port(clk,clr,en: in std_logic;

carry : out std_logic;

ge,shi : out std_logic_vector(3 downto 0));

end jsq24_55_56;

architecture one of jsq24_55_56 is

signal s,g :std_logic_vector(3 downto 0); begin

process(clk,clr,en,s,g) begin

if clr='1' then

s<="0000";g<="0000";

elsif clk'event and clk='1' then

12

if en='0' then

if s=2 and g="0011" then s<="0000";g<="0000"; carry<='1';

elsif g="1001" then -- and s<2 then s<=s+1;g<="0000";

else

g<=g+1;carry<='0';

end if;

end process; ge<=g;shi<=s; end;

13

一百进制计数器这里就不做介绍了,跟60进制没有什么区别,只是上限值的改变。

7.选择器,比较器,报时器程序:

8.分频器程序和仿真波形(10分频程序和波形,30000分频程序)

14

8.数字钟综合结果截图(不是老师验收的图,是我自己加闹钟过后的图):

15

9.实验完成的效果:一.可清零;二.微秒为00-99一百进制计数器,秒分为00-59六十进制计数器,时为00-23二是进制计数器;三.可手动校正分时,1键清零,2键暂停,3键调分,4键调时,5键闹钟调分,6键闹钟调时,7键转换闹钟状态;四.计时过程具有报时功能,当时间达到整点时报时,当达到整分时报时。

第五章 Protel 原理图、PCB 图

一、实验目的:

a) 初步掌握PROTE199 软件的使用;

b) 了解由555 组成多谐振荡器,555 组成单稳态触发器。

二、实验步骤:

1.设计电路原理图,包括装入元器件库,放置及调整元器件位置,编辑元器件属性,绘制原理图;

2.电路图的后期处理,包括检查电路原理图,电路原理图的修饰;

3.设计印制电路板;

4.生成各种电路原理图报表文件,主要是生成网络表文件。

打开软件protel99,建立一个新的文件,将所用到的文件引入左侧区中。在

16

工作区内将由555组成的多谐振荡器的电路图。

四、protel 搭线截图:

四、自动布线效果:

17

实验最终结果:和生成网格表的比较结果符合!(虽然刚开始对比数据位5.0.0.0.5.5,最后发现是接线有一点小错误,改正过后就是正确的了)

总结学习CPLD心得和体会

这个学期我们学习使用MAX+PLUSⅡ软件来进行CPLD 设计,虽然经过8周课程的学习让我学会了一种新的程序语言——VHDL,让我们知道了程序的编写以及运用,让我们了解软件与硬件的结合,以及通过MAX+PLUSⅡ软件编程控制实验硬件的方法。

在学习的过程中,刚开始接触这门课程感觉很是棘手,因为许多以前知识的遗忘再加上编程软件为英文软件,对于软件操作不是很熟悉,很多时候一个小的问题或者一个操作步骤错误就会导致程序编译不出来,软件操作通过课后的几次练习之后才彻底解决,对于编程的问题,在老师辅助之下和自己思考之后也得到解决,之后随着对软件和编程的熟悉,渐渐的自己也可以调试自己在操作和编程的错误了,随着对VHDL语言的深入了解,加之以前学习过计算机C语言以及51单片机的编程语言,逐渐也对编程语言有了更深的理解。

这次EDA实践让我了解了现代数字电路系统设计相对于传统电子系统设计

的模式的优势,采用模块法自顶向下设计的原则,一边设计一边调试,结构清晰,并且使系统的开发速度更快。对于VHDL 语言,它与以前学习的计算机C语言和51单片机的编程语言有一定的相似性,也有不同,有很多细节方面的东西需要我们注意,课后多熟悉、练习,不然就会有编译错误,影响编译效率。

数字钟的综合设计让我们真正有了一次EDA 设计的经历,也极大的提升的我对CPLD的兴趣,毕竟数字钟的设计是一次自己全新的设计过程,从器件到最后的完成作品,都是由自己来制作,也可以在作品中加入自己的思想,开始由于对设计没有什么概念,所以开始感觉很困难,在老师的带领下我们一步步制作,直到作品初步成型,我才真正理解了这次综合设计,最后我在几次上课以及几次蹭课的过程中,初步完成了自己一项对于数字钟的设计,虽然最后验收是重新根据老师的要求制作的,自己的作品由于还没有完全做好所以没有验收,不过心中油然的感到欣慰;在课堂上虽然学习的时间不是很足,但是还是可以学到很多东西,在课下的时间操作也补足了很多知识。

最后一次课上,简单学习了PROTEL 这个软件和PCB 板的设计。

感谢老师们的精心教导,通过CPLD的学习,我有很大的收获!

18

EDA实验报告 -状态机

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;

8位全加器实验报告

实验1 原理图输入设计8位全加器 一、实验目的: 熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。 二、原理说明: 一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现。即将低位加法器的进位输出cout与其相邻的高位加法器的最低进位输入信号cin相接。而一个1位全加器可以按照本章第一节介绍的方法来完成。 三、实验内容: 1:完全按照本章第1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真。 2:建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。 四、实验环境: 计算机、QuartusII软件。 五、实验流程: 实验流程: 根据半加器工作原 理,建立电路并仿 真,并将元件封装。 ↓ 利用半加器构成一位 全加器,建立电路并 仿真,并将元件封 装。 ↓ 利用全加器构成8位全 加器,并完成编译、综 合、适配、仿真。 图1.1 实验流程图

六、实验步骤: 1.根据半加器工作原理建立电路并仿真,并将元件打包。(1)半加器原理图: 图1.2 半加器原理图(2)综合报告: 图1.3 综合报告: (3)功能仿真波形图4: 图1.4 功能仿真波形图

时序仿真波形图: 图1.5 时序仿真波形图 仿真结果分析:sout为和信号,当a=1,b=0或a=0,b=1时,和信号sout为1,否则为0.当a=b=1时,产生进位信号,及cout=1。 (4)时序仿真的延时情况: 图1.6 时序仿真的延时情况 (5)封装元件: 图1.7 元件封装图 2. 利用半加器构成一位全加器,建立电路并仿真,并将元件封装。 (1)全加器原理图如图: 图2.1 全加器原理图

EDA实验报告(quartus2仿真)

EDA 设计(Ⅱ) 学号: 姓名: 院系: 指导:谭雪琴 时间:2011年4月8日

目录 1.引言 (03) 2.正文 (03) 2.1.设计要求 (03) 2.2.整体电路工作原理 (04) 2.3.子模块设计原理与仿真 (04) 2.3.1.脉冲发生电路 (04) 2.3.2.计时电路 (07) 2.3.3.译码显示电路 (10) 2.3.4.报时电路 (15) 2.3.5.校时、保持以及清零电路 (16) 2.3.6.总功能电路连接 (20) 2.4.整体电路下载 (21) 2.5.扩展闹铃功能设计 (21) 2.5.1.闹铃时间设定功能 (21) 2.5.2.闹铃显示功能 (22) 2.5.3.闹铃响铃功能 (23) 2.5.4.闹铃总电路连接 (24) 3.结论 (25) 4.致谢 (26) 5.参考资料 (26)

多功能数字钟设计 (南京理工大学) 摘要:本文详细介绍了多功能数字钟的工作原理及设计过程。首先利用 quartus2软件,采用模块化设计方法,分别设计分频器、模计数器、动态显示电路、清零校时电路和报时电路等功能模块,然后观察仿真波形,确认功能实现后进行封装与调用。最后将各功能模块整合起来构成整体电路,仿真和调试通过后下载到EDA实验箱,观察实际运行结果。此外,本文还描述了附加闹铃功能的设计过程,并记述了实验过程中出现的一些问题及解决方案,以及对这次设计的一些经验教训的反思。 关键词:数字钟;校时报时;闹铃;动态显示;消颤;仿真;下载1、引言 该数字钟功能丰富、操作简单,可使人们方便的获取时间信息及相关提醒,在实际生活中广泛应用,具有显著的实用价值。其构成虽较简单,但融合了组合逻辑电路和时序逻辑电路,包括了分频器、计数器、数据选择器、编码器译码器以及锁存器等几乎所有数字逻辑电路的所学内容,是理论联系实际,提高知识技能的绝佳途径。 2、正文 2.1 设计要求 利用quartus2软件设计一个数字钟,并下载到EDA实验系统中。要求可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时(当时钟计到59’53”时开始报时,在59’53”, 59’55”,59’57”时报时频率为512HZ,59’59”时报时频率为1KHZ)等功能。此外,还可以设计闹铃功能或自行添加其他功能。 基本设计要求为: 1、能进行正常的时、分、秒计时功能; 2、分别由六个数码管显示时分秒的计时; 3、 K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变); 4、 K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零); 5、 K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分); 6、 K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校时);

EDA 1位全加器实验报告

南华大学 船山学院 实验报告 (2009 ~2010 学年度第二学期) 课程名称EDA 实验名称1位全加器 姓名学号200994401 专业计算机科学与 班级01 技术 地点8-212 教师

一、实验目的: 熟悉MAX+plus 10.2的VHDL 文本设计流程全过程 二、实验原理图: ain cout cout ain bin sum cin bin sum cin f_adder or2a f e d u3 u2u1b a c co so B co so B h_adder A h_adder A 三、实验代码: (1)LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY f_adder IS PORT (ain ,bin ,cin : IN STD_LOGIC; cout ,sum : OUT STD_LOGIC ); END ENTITY f_adder; ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder PORT ( a ,b : IN STD_LOGIC; co ,so : OUT STD_LOGIC); END COMPONENT ; COMPONENT or2a PORT (a ,b : IN STD_LOGIC; c : OUT STD_LOGIC); END COMPONENT ; SIGNAL d ,e ,f : STD_LOGIC; BEGIN u1 : h_adder PORT MAP(a=>ain ,b=>bin ,co=>d ,so=>e); u2 : h_adder PORT MAP(a=>e , b=>cin , co=>f ,so=>sum); u3 : or2a PORT MAP(a=>d , b=>f , c=>cout);

EDA设计课程实验报告数码管动态显示实验报告

EDA设计课程实验报告 实验题目:数码管动态显示实验 学院名称: 专业:电子信息工程 班级: 姓名:高胜学号 小组成员: 指导教师: 一、实验目的 学习动态扫描显示的原理;利用数码管动态扫描显示的原理编写程序,实现自己的学号的显示。 二、设计任务及要求

1、在SmartSOPC实验箱上完成数码管动态显示自己学号的后八个数字。 2、放慢扫描速度演示动态显示的原理过程。 三、系统设计 1、整体设计方案 数码管的八个段a,b,c,d,e,f,g,h(h是小数点)都分别连接到SEG0~SEG7,8个数码管分别由八个选通信号DIG0~DIG7来选择,被选通的数码管显示数据,其余关闭。如果希望8个数码管显示希望的数据,就必须使得8个选通信号DIG0~DIG7分别被单独选通,并在此同时,在段信号输入口SEG0~SEG7加上该对应数码管上显示的数据,于是随着选通信号的扫描就能实现动态扫描显示的目的。虽然每次只有1个数码管显示,但只要扫描显示速率足够快,利用人眼的视觉余辉效应,我们仍会感觉所有的数码管都在同时显示。 2、功能模块电路设 (1)输入输出模块框图(见图1) 图1 (2)模块逻辑表达(见表1) 表1(数码管显示真值表) clk_1k dig seg ↑01111111 C0 ↑10111111 F9

注:数码管显示为01180121 (3)算法流程图(见图2) (4)Verilog源代码 module scan_led(clk_1k,d,dig,seg); //模块名scan_led input clk_1k; //输入时钟 input[31:0] d; //输入要显示的数据output[7:0] dig; //数码管选择输出引脚

EDA设计实验报告

摘要 通过实验学习和训练,掌握基于计算机和信息技术的电路系统设计和仿真方法。要求: 1. 熟悉multisim软件的使用,包括电路图编辑、虚拟仪器仪表的使用和掌握常见电路分析 方法。2. 能够运用multisim软件对模拟电路进行设计和性能分析,掌握eda设计的基本方 法和步骤。multisim常用分析方法:直流工作点分析、直流扫描分析、交流分析。掌握设计 电路参数的方法。复习巩固单级放大电路的工作原理,掌握静态工作点的选择对电路的影响。 了解负反馈对两级放大电路的影响,掌握阶梯波的产生原理及产生过程。 关键字:电路仿真 multisim 负反馈阶梯波 目次 实验一 (1) 实验二............................................................................................. 11 实验三 (17) 实验一单级放大电路的设计与仿真 一、实验目的 1. 设计一个分压偏置的单管电压放大电路,要求信号源频率5khz(峰值10mv) , 负载电阻5.1kω,电压增益大于50。 2. 调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出 信号波形,并测试对应的静态工作点值。 3. 调节电路静态工作点(调节电位计),使电路输出信号不失真,并且幅度尽可能 大。在此状态下测试: ①电路静态工作点值; ②三极管的输入、输出特性曲线和? 、 rbe 、rce值;③电路的输入电阻、输出电 阻和电压增益;④电路的频率响应曲线和fl、fh值。 二、实验要求 1. 给出单级放大电路原理图。 2. 给出电路饱和失真、截止失真和不失真且信号幅度尽可能大时的输出信号波形 图,并给出三种状态下电路静态工作点值。 3. 给出测试三极管输入、输出特性曲线和? 、 rbe 、rce值的实验图,并给出 测试结果。 4. 给出正常放大时测量输入电阻、输出电阻和电压增益的实验图,给出测试结果 并和理论计算值进行比较。 5. 给出电路的幅频和相频特性曲线,并给出电路的fl、fh值。 6. 分析实验结果。 三、实验步骤 实验原理图: 饱和失真时波形: 此时静态工作点为: 所以,i(bq)=4.76685ua i(cq)=958.06700ua u(beq)=0.62676v u(ceq)=0.31402v 截止失真时波形: 此时静态工作点为: 所以,i(bq)=2.07543ua i(cq)=440.85400ua u(beq)=0.60519v u(ceq)=5.54322v 最大不失真时波形:篇二:eda课程设计实验报告电子电工实习 华北电力大学

南理工EDA2多功能数字钟设计实验报告(蒋立平)——优秀

EDAⅡ实验报告 --多功能数字钟 学院专业: 学生学号: 指导老师:蒋立平 交稿时间:2012年3月25日

摘要 本实验借助于quartusⅡ软件设计一个多功能的数字时钟,具有24小时计时、星期显示、保持、清零、校分校时校星期、整点报时等基本功能,并在此基础上添加了闹钟、音乐闹钟、秒表等附加功能。同时,留有万年历的接口可以方便的进行扩展。.利用quartusⅡ进行相应的设计、仿真、调试,最后下载到SmartSOPC实验系统上验证设计的正确性。 关键词:多功能数字时钟,quartusⅡ,计时,星期显示,整点报时,闹钟,秒表 ABSTRACT This experiment is to design a multifunctional digital clock with quartus Ⅱ.The multifunctional digital clock has varities of the functions like 24-hour timer,week,keeping,clearing zero,adjusting time and chime on integral hour .It also include additional functions such as alarm clock,stopwatch and so on.At the sametimes,it can be added calendar.we designed and simulated with quartusⅡ.Finally downloaded it to the experiment platform to test. Key words:multifunctional digital clock,quartusⅡ,time,week,chime on integral hour, alarm clock,stopwatch

EDA课程设计----八位二进制全加器

EDA设计说明书 课程名称:EDA技术实用教程 设计题目:八位二进制全加器 院系:电子信息与电气工程学院学生姓名: 学号: 专业班级: 指导教师:李响 2011 年6 月1

1. 设计目的 熟悉利用QuartusⅡ的原理图输入法设计简单的组合电路,掌握层次化设计的方法,并通过一个八位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 2. 设计原理 2.1 一位全加器的原理 一位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。在本设计中,将采用原理图输入法来完成设计。 一位全加器的设计步骤: ①为本项工程设计建立文件夹; ②输入设计项目和存盘; ③将设计项目设计成可调用的元件; ④设计全加器顶层文件; ⑤将设计项日设置成工程和时序仿真。 2.2 八位全加器的原理 一个八位全加器可以由八个一位全加器构成,加法器之间的进位可以用串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。 3. 设计方案与仿真 3.1 一位全加器的设计与仿真 全加器的实现是以半加器的实现为基础的,因此,要设计全加器应首先设计一个一位的半加器。半加器的实现方案为: ①为此项工程建立文件夹; ②在基本元件库中,选中需要的元件,将元件(包含元件and2、not 、xnor 和输 入输出引脚input、output)调入原理图编辑窗口中;

③将己设计好的原理图文件存盘; ④将所设计的半加器设置成可调用的元件。 用原理图输入法所设计的半加器原理图如图3-1所示,利用QuartusⅡ软件平台,根据图3-1所示电路,可生成一个半加器元件符号,如图3-2所示。在半加器的基础上,为了建立全加器的顶层文件,必须再打开一个原理图编辑窗口,方法同上。其中,所选择的元件包含半加器、或门和输入输出引脚,由此可得到如图3-3所示的全加器原理图;进而可生成个全加器元件符号,如图3-4所示。 图3-1 半加器原理图图3-2 半加器元件符号 图3-3 全加器原理图图3-4 全加器元件符号按照一位全加器原理图连接电路,通过编译、仿真所得的波形图如图3-5所示: 图3-5 一位全加器时序仿真波形 根据图3-5可知,当输入信号ain 、bin 、cin 全是低电平时,输出信号sum 和cout 全是低电平;当输入信号ain 、bin 、cin 中有且只有一个为高电平时,输出信号sum 为高电平,输出信号cout 为低电平;当输入信号ain 、bin 、cin 中有两个为

郑州航院EDA实验报告模板

《EDA技术及应用》 实验报告 系部:电子通信工程系 指导教师:张松炜 学号:121307214 ____ 姓名:李俊杰_______

2014___年_6___月__19_日 实验一点亮LED设计 一、实验目的 通过此试验可以让大家逐步了解,熟悉和掌握FPGA开发软件Quartus II的使用方法及VerilogHDL的编程方法。 二、实验内容 本实验是一个简单的点亮LED灯的实验,具体包括: 1)使用Quartus II建立一个工程; 2)Quartus II工程设计; 3)设置编译选项并编译硬件系统; 4)下载硬件设计到目标FPGA; 5)观察LED的状态; 三、实验原理 和单片机一样,向片子里写进数据,输出高电平(对于共阴极的),或者输出低电平(对于共阳极)。根据Cyclone片子已经分配好的针脚设置好针脚。 四、实验步骤 建立-----个工程-----输入程序-----软件编译 ------生成下载文件-----下载—调试。

五、实验程序 module led1(led); //模块名led1 output[7:0] led; //定义输出端口 reg[7:0] led; //定义寄存器 always //过程1 begin led = 8'b10101010; //输出0xAA end endmodule 六、思考题 (1)写出使用QuartusII软件开发工程的完整的流程。 建立一个工程—输入程序—软件编译综合—生成下载文件— 下载—硬件调。 实验二流水灯实验 一、实验目的 通过此试验让大家进一步了解熟悉和掌握FPGA开发软件的使用方法及软件编程方法。学习简单的时序电路的设计和硬件测试。 二、实验内容 本实验的内容是建立用于控制LED流水灯的简单硬件电路,要求在SmartSOPC上实现LED1-LED8发光二极管流水灯的显示。 三、实验原理

EDA实验报告

实验一 单级放大电路的设计与仿真 一、实验目的 1)掌握单级放大电路在仿真软件中的设计。 1)掌握放大电路与静态工作点的调整和测试方法。 2)掌握放大电路的动态参数的测试方法。 3)观察静态工作点的选择对输出波形及电压放大倍数的影响。 二、实验要求 1.设计一个分压偏置的单管电压放大电路,要求信号源频率10kHz(峰值1mV) ,负载电阻3.9k Ω,电压增益大于70。 2.调节电路静态工作点(调节偏置电阻),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。 3.调节电路静态工作点(调节偏置电阻),使电路输出信号不失真,并且幅度最大。在此状态下测试: ①电路静态工作点值; ②三极管的输入、输出特性曲线和 、 rbe 、rce 值; ③电路的输入电阻、输出电阻和电压增益; 4.电路的频率响应曲线和L f 、H f 值。 三、实验步骤 1.单级放大电路的原理图及原理

图1.1单级放大电路原理图 放大电路的原理图如上,该电路为一个分压偏置单级共射放大电路,其中信号源为10kHz (峰值为5mV ),该电路的负载为8k Ω。输入输出信号都是通过耦合电容连接信号源和负载的,这样做可以使得静态工作点不受负载和信号源的影响。该电路利用R4和R5从而稳定住三极管基极的电压值。引进了的电容C3对三极管的静态工作点没有影响,而在三极管的动态分析时可以将R2的作用忽略,使得小信号分析更加的简便。分压偏置的电路中引入了一个电位器R6,目的是为了在实验中便于修改三极管的静态工作点。 2.电路的截止失真和饱和失真 (1)电路的饱和失真 调节电位器R6,可以改变三极管的静态工作点,当R6值为1%时(0.7k Ω)在虚拟示波器中可以观察到输出波形明显的出现了饱和失真的现象,输出波形如图1.2所示。利用Multisim 的“直流工作点分析”功能可以测出三极管的静态工作点。由于软件本身的限制,无法直接读取三极管的Vce 值。为了解决这个问题,实验中添加表达式测量项b e V V (本实验电路中的表达式为“V(3)-V(2)”)来表示Vce ,测量结果如图1.3所示。

eda实验报告

一位全加器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. --library UNISIM; --use UNISIM.VComponents.all; entity adder is port(a,b,cin:in std_logic; co,so:out std_logic); end adder; architecture Behavioral of adder is signal temp1,temp2:std_logic; begin temp1<= a xor b; temp2<= temp1 and cin; so<= temp1 xor cin; co<= temp2 OR (a AND b); end Behavioral; 四位全加器 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; -- Uncomment the following lines to use the declarations that are -- provided for instantiating Xilinx primitive components. --library UNISIM; --use UNISIM.VComponents.all; entity counter10 is

EDA技术基础实验报告

EDA技术基础实验报告 学院:信息科学与技术学院 班级: 姓名: 学号:

实验一 MAX—plusII及开发系统使用 一、实验目的 1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路 2、掌握层次化设计的方法 3、熟悉DXT-BⅢ型EDA试验开发系统的使用 二、主要实验设备 PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。 三、实验原理 数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。 因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面: 1、实验器材集中化,所有实验基本上在一套实验设备上进行。 传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致; 2、实验耗材极小(基本上没有耗材); 3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单; 4、下载后,实验结果清晰; 5、实验仪器损耗少,维护简单; 下面,就本套实验设备做一个简单的介绍。 1、Max+PlusII软件的安装步骤: 第一步:系统要求 奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果只是进行仿真的话,对系统没要求) 第二步:安装 点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。 第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,

EDA实验报告

一MAX –plusII及开发系统使用 一、实验目的 1、熟悉利用MAX-plusⅡ的原理图输入方法设计简单的组合电路 2、掌握层次化设计的方法 3、熟悉DXT-BⅢ型EDA试验开发系统的使用 二、主要实验设备 PC 机一台(中档以上配置),DXT-B3 EDA实验系统一台。 三、实验原理 数字系统设计系列实验是建立在数字电路基础上的一个更高层次的设计性实验。它是借助可编程逻辑器件(PLD),采用在系统可编程技术(ISP),利用电子设计自动化软件(EDA),在计算机(PC)平台上进行的。 因为本实验是在计算机平台上进行,因此实验方式,实验手段和实验仪器与传统的实验有很大的区别,主要体现在以下几个方面: 1、实验器材集中化,所有实验基本上在一套实验设备上进行。 传统的实验每作完一个实验,实验器材基本上都要变动(个别除外)。而做本实验时,只要在计算机上把不同的程序输进去,其它步骤所有实验都一致; 2、实验耗材极小(基本上没有耗材); 3、在计算机上进行,自动化程度高,人机交互性好,修改、验证实验简单;

4、下载后,实验结果清晰; 5、实验仪器损耗少,维护简单; 下面,我们就本套实验设备做一个简单的介绍。 (一)Max+plusⅡ10.0的使用。 1、Max+PlusII软件的安装步骤: 第一步:系统要求 奔3CPU以上,128M内存以上,4G 以上硬盘,98 操作系统(98或Me操作系统才可以下载,其他操作系统下载必须安装驱动,否则只能仿真,如果大家只进行仿真的话,对系统没要求) 第二步:安装 点击安装可执行文件进行安装,安装完毕后会弹出一对话框,点击是或否都可以。 第三步:将安装文件夹中的License 文件夹打开,里面有一个License.bat 注册文件,将此文件复制到你的安装目录下(你的安装目录可放在任一个驱动器下,然后建立一个Max10的文件夹,将系统安装在此文件夹中,安装后此文件夹中会有三个文件夹)的任一个文件夹中,要清楚位置。 第四步:注册 启动Max+PlusII 软件,可以从开始-->程序-->Altera-->Max+PlusII 打开,也可以建立一个快捷方式在桌面上。启动软件后, 会有弹出一个对话框,点击是或否都可以,然 后进入系统。点击菜单中的Options,然后选 中License菜单项,打开弹出一个注册对话框, 在注册文件路径中打开你第三步中复制位置的 License 文件,然后点击OK,注册完毕。 2、 max+plusⅡ软件基本设计流程

EDA交通灯实验报告

EDA实验报告 题目:交通灯设计 学院:电子工程学院 专业:电子信息工程 作者:王正帅 14020120007 导师:孙万蓉

EDA实验报告:交通灯设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: (1)交通灯从绿变红时,有5秒黄灯亮的间隔时间; (2)交通灯红变绿是直接进行的,没有间隔时间; (3)东西主干道上的绿灯时间为25秒,南北支干道的绿灯时间为25秒; (4)在任意时间,显示每个状态到该状态结束所需的时间。 路口示意图如下: 图 1 路口交通示意图 设计要求: (1)采用VHDL语言编写程序,并在QuartusII工具平台中进行仿真,下载到EDA实验箱进行验证。 (2)编写设计报告,要求包括方案选择、程序清单、调试过程及测试结果。 二、设计原理 1、设计目的: 学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制 2、设计说明 (1)第一模块:clk时钟秒脉冲发生电路 在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。

因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。 模块说明: 系统输入信号: Clk: 由外接信号发生器提供50MHz的时钟信号; 系统输出信号: full:产生每秒一个脉冲的信号; (2)第二模块:计数秒数选择电路 计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。 模块说明: 系统输入:full: 接收由clk电路的提供的1HZ的时钟脉冲信号; 系统输出信号:tm:产生显示电路状态转换信号 tl:倒计数值秒数个位变化控制信号 th:倒计数值秒数十位变化控制信号 (3)第三模块:红绿灯状态转换电路 本电路负责红绿灯的转换。 模块说明: 系统输入信号:full: 接收由clk电路的提供的1Hz的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号; 系统输出信号:comb_out: 负责红绿灯的状态显示。 (4)第四模块:时间显示电路 本电路负责红绿灯的计数时间的显示。 模块说明: 系统输入信号:tl:倒计数值秒数个位变化控制信号; th:倒计数值秒数十位变化控制信号; 系统输出信号:led7s1: 负责红绿灯的显示秒数个位。 led7s2:负责红绿灯的显示秒数十位。

EDA 实验报告

4-1 组合电路设计 实验目的:熟悉Quartus2的VHDL文本设计流程全过程,学习简单的组合电路的设计,多层次电路设计、仿真、和硬件测试。 实验任务1:利用软件完成二选一多路选择器的文本编辑和仿真测试等步骤,给出仿真波形,最后在实验系统上进行硬件测试,验证功能。然后,利用元件例化语句描述图3-31,并将此文件放在同一目录下。 实验任务2:利用刚刚完成的实验内容,设计完成一位全加器,仿真该全加器,得到仿真结果,并利用一位二进制全加器为基本元件,用例化语句写出八位并行二进制全加器的顶层文件,讨论该加法器的电路特性。 实验代码及仿真结果: 二选一多路选择器: library ieee; use ieee.std_logic_1164.all; entity mux21a is port(a,b,s: in std_logic; y:out std_logic ); end entity mux21a; architecture one of mux21a is begin process(a,b,s) begin if 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 is port(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 is component mux21a

EDA实验报告

EDA 实验 实验一 用原理图输入法设计半加器 一、实验目的: 1.熟悉利用Quartus Ⅱ的原理图输入方法设计简单组合电路; 2.通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程; 3.学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。 二、实验器材: 1、计算机及操作系统 2、QUARTUS II 软件 三、实验要求: 1. 利用原理图输入法对半加器电路进行描述; 2. 进行波形仿真测试; 3. 严格按照实验步骤进行实验; 4. 管脚映射按照芯片的要求进行。 四、实验原理 其中a, b 为输入端口,So 与Co 分别为半加器 和与进位。其逻辑表达式为: 2. 根据逻辑表达式进行原理图输入。 五、实验步骤: 1. 为本项工程设计建立文件夹。注意文件夹 名不能用中文,且不可带空格。 2. 输入设计项目并存盘。 3. 将设计项目设计为工程文件。 4. 选择目标器件并编译。 b a b a b a So ⊕=+=ab Co =

5. 时序仿真。 6. 引脚锁定。 7. 编程下载。 实验二用原理图法设计一位、四位全加器 一、实验目的: 1. 熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路; 2. 通过一个半加器的设计把握利用EDA 软件进行电子线路设计的详细流程; 3. 学会对实验板上的FPGA/CPLD 进行编程下载,硬件验证自己的设计项目。 二、实验器材: 1、计算机及操作系统 2、QUARTUS II软件 三、实验要求: 1.利用原理图输入法对一位全加器电路进行描述; 2. 进行波形仿真测试; 3. 严格按照实验步骤进行实验; 四、实验原理: 利用实验一所设计的半加器设计一位全加器;利用设计封装好的一位全加器进行四位全加器的设计。 五、实验步骤: 与实验一相同。 六、实验报告: 1. 要求画出一位、四位全加器的真值表; 2. 分析用半加器实现一位全加器的优点; 3. 对波形进行分析,并绘制波形图。 实验三用文本输入法设计D触发器和锁存器 一、实验目的: 1. 熟悉QuartusⅡ的VHDL 文本设计过程。 2. 学习简单时序电路的设计、仿真和硬件测试。 二、实验器材:

EDA技术实验报告完整版

福建农林大学金山学院 信息工程类 实验报告 课程名称:EDA技术 姓名:邱彬彬 系:信息与机电工程系 专业:电子信息工程专业 年级:2010级 学号:100201079 指导教师:蔡剑卿 职称:讲师 2013年05月03日

实验项目列表

福建农林大学金山学院信息工程类实验报告 系:信息与机电工程系专业:电子信息工程年级: 2010级 姓名:邱彬彬学号: 100201079 实验课程: EDA技术 实验室号:__田实405 实验设备号: 2B 实验时间: 2013年4月13日指导教师签字:成绩: 实验一Quartus II 9.0软件的使用 1.实验目的和要求 本实验为验证性实验,其目的是熟悉Quartus II 9.0软件的使用,学会利用Quartus II 9.0软件来完成整个EDA开发的流程。 2.实验原理 利用VHDL完成电路设计后,必须借助EDA工具中的综合器、适配器、时序仿真器和编程器等工具进行相应的处理后,才能使此项设计在FPGA上完成硬件实现,并得到硬件测试,从而使VHDL设计得到最终的验证。 Quartus II是Altera提供的FPGA/CPLD开发集成环境,包括模块化的编译器,能满足各种特定设计的需要,同时也支持第三方的仿真工具。 3.主要仪器设备(实验用的软硬件环境) 实验的硬件环境是: 微机一台 GW48 EDA实验开发系统一套 电源线一根 十芯JTAG口线一根 USB下载线一根 USB下载器一个 实验的软件环境是: Quartus II 9.0软件 4.操作方法与实验步骤 利用Quartus II 9.0软件实现EDA的基本设计流程:创建工程、编辑文本输入设计文件、编译前设置、全程编译、功能仿真。 利用Quartus II 9.0软件实现引脚锁定和编译文件下载。

EDA技术实验报告

(此文档为word格式,下载后您可任意编辑修改!) 实验一利用原理图输入法设计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) (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实验报告模板

《EDA技术》实验报告 系别: 专业: 班级:学号: 姓名: 指导教师: 实验课程: 实验地点:EDA实验室 年月日

实验教师填阅

实习报告要求 1 封面——指定样稿 2 纸张——A4纸 3.格式要求如下

实验课程名称:EDA技术 (居中,三号宋体,加粗,占4行) 一、实验目的(左顶格,四号宋体,加粗,占2行,不接排) 1、了解EDA技术及常用EDA软件的用途(小4号宋体,)(正文)×××××(小4号宋体,接排) 2、了解电路设计中常用器件并能正确选择(同上)。 3、掌握Protel99 Se的基本使用(同上)。 二、实验课时:16学时(左顶格,四号宋体,加粗,占2行,不接排) 三、实验地点:EDA实验室(左顶格,四号宋体,加粗,占2行,不接排) 四、实验内容: 在电路板设计软件Protel99 Se环境下,完成稳压电源的原理图、PCB板的设计(或8051按键实验板原理图、PCB板的设计) 五、实验步骤:(要求详细描述各步骤的操作过程) 1.电路原理图的设计(小4号宋体,加粗)(要求截入设计的原理图,并 列出设计步骤,可用流程图表示) 图1. 稳压电源原理图(五号字体)

2.报表的生成(包括网络报表、元器件列表。电气规则测试报告, 并列出报表生成步骤) 。。。正文(小四,行距20磅) 3.印制电路板的设计(截入设计的原理图,并列出设计步骤)。。。 六实验总结: 1、总结设计电路板的过程或流程,及设计过程中应注意的问题。 a、电路原理图的设计流程。 b、生成报表,包括(网络报表,原件列表,电气规则测试报告)。 c、印制电路板的设计流程。 2、什么是元器件的封装,列出你所知道的电子元器件的基本封装类型,并说明其含义(至少列出六种)。 3、网络报表在电路板设计过程中起什么作用,并说明网络报表的内容都包括那些?。。 4、在电路板的设计过程中你都遇到的那些问题?是如何解决的? 。。 5、总结本课程的实验心得,提出你的意见和建议。

中原工学院EDA实验报告

实验二基于VHDL格雷码编码器的设计 一、实验原理 其转换规律为:高位同,从高到低看异同,异出‘1’,同出‘0’。也就是将二进制码转换成格雷码时,高位是完全相同的,下一位格雷码是‘1’还是‘0’,完全是相邻两位二进制码的“异”还是“同”来决定。下面举一个简单的例子加以说明。 假如要把二进制码10110110转换成格雷码,则可以通过下面的方法来完成 因此,变换出来的格雷码为11101101。 二、实验结果截图 截图1 实验结果分析:拨动开关输入:10110110,可以看到输出结果是11101101

截图2 当输入波动开关输入11010010,输出为10111011

实验四八位七段数码管动态显示电路的设计 一、实验原理 七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-4-1所示。 图4-1 静态七段数码管 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。

二、实验截图 截图1 当输入拨动开关输入1111时,在数码管上显示其十六进制的值是F 截图2 当输入拨动开关输入1001时,在数码管上显示其十六进制的值是9

实验九基于VHDL的抢答器的设计 一、实验原理 抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮;如果抢答允许位有效,那么第一个抢答者按下的按钮就将其清楚,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再有人按下按钮的情况。总的说来,抢答器的实现就是在抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清楚抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。 二、实验截图 截图1 当按下按键开关S8,允许抢答,此时LED灯全灭,数码管显示0,表示没有人抢答

相关文档
最新文档