EDA技术实验教案.docx

上传人:b****3 文档编号:10781592 上传时间:2023-05-27 格式:DOCX 页数:33 大小:258.19KB
下载 相关 举报
EDA技术实验教案.docx_第1页
第1页 / 共33页
EDA技术实验教案.docx_第2页
第2页 / 共33页
EDA技术实验教案.docx_第3页
第3页 / 共33页
EDA技术实验教案.docx_第4页
第4页 / 共33页
EDA技术实验教案.docx_第5页
第5页 / 共33页
EDA技术实验教案.docx_第6页
第6页 / 共33页
EDA技术实验教案.docx_第7页
第7页 / 共33页
EDA技术实验教案.docx_第8页
第8页 / 共33页
EDA技术实验教案.docx_第9页
第9页 / 共33页
EDA技术实验教案.docx_第10页
第10页 / 共33页
EDA技术实验教案.docx_第11页
第11页 / 共33页
EDA技术实验教案.docx_第12页
第12页 / 共33页
EDA技术实验教案.docx_第13页
第13页 / 共33页
EDA技术实验教案.docx_第14页
第14页 / 共33页
EDA技术实验教案.docx_第15页
第15页 / 共33页
EDA技术实验教案.docx_第16页
第16页 / 共33页
EDA技术实验教案.docx_第17页
第17页 / 共33页
EDA技术实验教案.docx_第18页
第18页 / 共33页
EDA技术实验教案.docx_第19页
第19页 / 共33页
EDA技术实验教案.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

EDA技术实验教案.docx

《EDA技术实验教案.docx》由会员分享,可在线阅读,更多相关《EDA技术实验教案.docx(33页珍藏版)》请在冰点文库上搜索。

EDA技术实验教案.docx

EDA技术实验教案

教案

2011~2012学年第1学期

 

系(部)室

电子与通信工程系

课程名称

EDA技术及应用(实验)

专业、年级、班级

09电气、08通信专业

主讲教师

张文希

 

长沙学院教务处

 

教案编写说明

长沙学院教案

编号:

1(累积2课时)

课时安排:

2学时

教学课型:

实验课

题目:

实验一简单逻辑电路实验

教学目的要求:

运用QuartusII集成环境下的VHDL文本设计方法设计半加器,进行波形仿真、引脚分配并下载到实验设备上进行逻辑功能验证,并分析其波形。

教学重点、难点:

重点:

QuartusII软件平台和使用VHDL语言设计电路的方法

难点:

波形仿真、分析

教学方式、手段、媒介:

讲授、多媒体、示范

教学过程:

一、实验目的

1.学习Create-SOPC实验平台的使用方法;

2.熟悉QuartusII软件平台和使用VHDL语言设计电路的方法;

3.学习简单逻辑电路的设计、仿真和硬件测试。

二、实验内容

运用QuartusII集成环境下的VHDL文本设计方法设计半加器,进行波形仿真、引脚分配并下载到实验设备上进行逻辑功能验证。

三、实验步骤及参考程序

1.EDA实验箱介绍和使用

2.创建个人实验文件夹(最好使用英文字母命名不要用中文或数字名称)如:

D:

\example

3.运行QuartusⅡ软件。

4.创建一个VHDL设计文件:

File->New,在DeviceDesignFiles中选择VHDLFile。

在程序编辑窗输入VHDL程序并保存;在弹出对话框中输入文件名(必须和程序中实体名相同)并使下方小框内出现“√”,点击保存会弹出“是否创建新工程”提示信息如图1-1所示。

图1-1图1-2

5.创建一个新工程:

点击图1-1中“是”可进入创建工程向导(也可以File->NewprojectWizard进入向导),此时看到的默认工程名、顶层实体名都为h_adder(其中工程名可换名但顶层实体名必与编写的程序实体名一致),如图1-2。

点击NEXT,再在弹出窗中点击NEXT,选择目标器件:

Cyclone系列EP1C20F324C8芯片,如图1-3。

图1-3

6.编译:

选择Processing->StartCompilation命令,对此工程进行逻辑分析、综合适配、时序分析等。

如果设计正确则完全通过各种编译,如果有错误则根据报错信息返回h_adder.vhd进行修改,直至完全通过编译为止。

7.创建一个仿真波形文件:

File->New,在OtherFiles中选择VectorWaveformFile,如图1-4,进入波形编辑窗口。

图1-4图1-5

8.以扩展名为.VWF,文件名与编译的文件名相同,保存创建的仿真波形文件,如h_adder.vwf。

9.输入引脚:

Name栏中点击鼠标右键,选择“InsertNodeorBus”,在其对话框中点击“NodeFinder”按钮,弹出“NodeFinder”对话框,Named:

*;Filter:

Pin:

all,点击“List”,列出所有引脚,在其中选择需要仿真的引脚,如图1-5所示。

它们将在波形编辑窗口中出现。

图1-6图1-7

10.对所有input引脚赋初值(所有可能出现的信号组合状态都要求存在),对所有output引脚赋随机值后,保存仿真波形文件,如图1-6所示。

11.开始仿真:

选择Processing->StartSimulation若仿真没有出错,则在完成仿真后,可以看到仿真结果波形,观察输入、输出波形逻辑关系是否是与设计要求相符,波形仿真无误后进行下步操作。

12.选择Assignments->AssignmentsEditor,在AssignmentsEditor窗口中选择Pin标签页,再按下表分配引脚,如图1-7所示:

引脚名称

引脚编号

连接网络

引脚名称

引脚编号

连接网络

a

PIN_N14

KEY2

co

PIN_N15

LED2

b

PIN_V11

KEY3

so

PIN_U11

LED3

13.重编译:

选择Processing->StartCompilation命令,重新编译,完成后形成可配置到FPGA的h_adder.sof文件和配置到外部存储器的h_adder.pof文件。

14.编程下载:

使用Create-SOPC2000实验系统及SOPC开发板,将ByteBlasterII下载电缆插入SOPC开发板的JTAG下载接口中。

仔细检查确保接线无误后打开电源。

在QuartusII软件中,选择Tools/Programmer菜单,出现如图1-8所示的编程配置界面。

在”Mode”中选择JTAG,点击”AddFile”按钮添加需要配置的SOF文件,选中Program/Configure,点击”Start”按钮就可以对芯片进行配置。

15.测试:

配置完成后按动KEY2和KEY3,改变a、b的输入电平观察输出结果验证设计是否正确。

参考程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYh_adderIS

PORT(a,b:

INSTD_LOGIC;

co,so:

OUTSTD_LOGIC);

END;

ARCHITECTUREoneOFh_adderIS

BEGIN

so<=NOT(aXOR(NOTb));

co<=aANDb;

END;

板书设计:

讨论、思考题、作业

1.一位全加器VHDL文本输入设计;

2.改变输入、输出引脚编号,并测试逻辑功能。

参考书目:

后记:

长沙学院教案

编号:

2(累积4课时)

课时安排:

2学时

教学课型:

实验课

题目:

实验二2选1多路选择器

教学目的要求:

运用QuartusII集成环境下的VHDL文本设计方法设计2选1多路选择器,进行波形仿真、引脚分配并下载到实验设备上进行逻辑功能测试,合理设计输入波形。

教学重点、难点:

重点:

掌握QuartusII软件平台、VHDL语言的基本语法和语句。

难点:

波形仿真激励设置、分析

教学方式、手段、媒介:

讲授、多媒体、示范

教学过程:

一、实验目的

学习Create-SOPC实验平台的使用方法;

熟悉QuartusII软件平台和使用VHDL语言设计电路的方法;

掌握VHDL语言的基本语法和语句;

把握VHDL程序设计组合逻辑电路的基本结构和设计特点。

二、实验内容

运用QuartusII集成环境下的VHDL文本设计方法设计2选1多路选择器,进行波形仿真、引脚分配并下载到实验设备上进行逻辑功能测试。

三、实验步骤及参考程序

实验步骤和方法参考实验一,引脚分配可参考下表。

引脚名称

引脚编号

连接网络

引脚名称

引脚编号

连接网络

a

PIN_M3

FPGA_M1

q

PIN_R10

LED1

b

PIN_M4

FPGA_M2

sel

PIN_T10

KEY1

参考程序如下:

libraryieee;

useieee.std_logic_1164.all;

entitymux21ais

port(a,b,sel:

instd_logic;

q:

outstd_logic);

end;

architecturebehaveofmux21ais

begin

process(a,b,sel)

begin

ifsel='0'thenq<=a;

elseq<=b;

endif;

endprocess;

end;

板书设计:

讨论、思考题、作业

分析程序中的每一条语句的功能及特点;

采用多种描述方式表达出2选1多路选择器功能。

参考书目:

后记:

长沙学院教案

编号:

3(累积6课时)

课时安排:

2学时

教学课型:

实验课

题目:

实验三D触发器设计

教学目的要求:

运用QuartusII集成环境下的VHDL文本设计方法设计简单时序电路——D触发器,依据D触发器的工作特性,进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试。

教学重点、难点:

重点:

时序逻辑电路的设计方法和VHDL语句并行、串行特性。

难点:

进程、变量、信号的使用用

教学方式、手段、媒介:

讲授、多媒体、示范

教学过程:

一、实验目的

熟悉QuartusII的VHDL文本设计简单时序电路的方法;

掌握时序电路的描述方法、波形仿真和测试,特别是时钟信号的特性。

二、实验内容

运用QuartusII集成环境下的VHDL文本设计方法设计简单时序电路——D触发器,依据D触发器的工作特性,进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试。

三、实验步骤及参考程序

实验步骤和方法参考实验一,引脚分配可参考下表。

引脚名称

引脚编号

连接网络

clk

PIN_T10/J16

KEY1/连线

d

PIN_M3

FPGA_M1

q

PIN_R10

LED1

libraryieee;

useieee.std_logic_1164.all;

entityDFF1is

port(clk:

instd_logic;

d:

instd_logic;

q:

outstd_logic);

end;

architecturebhvofDFF1is

signalq1:

std_logic;

begin

process(clk)

begin

ifclk’eventandclk=’1’

thenq1<=d;

endif;

q<=q1;

endprocess;

end;

板书设计:

讨论、思考题、作业

分析程序中的每一条语句的功能及特点;

试调整CLK频率,观看其波形仿真及测试情况;

试设计一锁存器并与D触发器进行比较。

参考书目:

后记:

长沙学院教案

编号:

4(累积8课时)

课时安排:

2学时

教学课型:

实验课

题目:

实验四1位二进制全加器设计

教学目的要求:

使用图形输入的方法用逻辑门电路设计一个半加器,生成符号文件。

分别进行仿真、引脚分配并下载到电路板进行功能验证。

教学重点、难点:

重点:

图形法设计电路,学会制作图形元件,调用自制图形元件。

难点:

顶层文件与底层文件的设计

教学方式、手段、媒介:

讲授、多媒体、示范

教学过程:

一、实验目的

熟悉QuartusII集成环境的图形输入方法;

学会把设计项目成为可调用元件符号和调用元件的方法;

掌握同一工程中多个文件的编译、仿真方法。

二、实验内容

本实验首先使用图形输入的方法由逻辑门电路设计一个半加器,然后使用。

分别进行仿真、引脚分配并下载到电路板进行功能验证。

三、实验步骤

创建个人实验文件夹(最好使用英文字母命名不要用中文名称)。

运行QuartusII软件,选择File->New,在DeviceDesignFiles中选择BlockDiagram/SchematicFile,如图4-1所示,点击OK打开原理图编辑窗口。

图4-1图4-2

在图形编辑窗中双击鼠标左键,将弹出元件输入对话框,在对话框右栏打开元件库找到需要的元件,如图4-2所示,点击OK即可将元件调入原理图编辑窗。

将所有需要的元件都调入编辑窗。

将各个元件采用单击鼠标并拖动的方法连接号电路图,然后分别在input和output的pin_name上双击使变为黑色,再分别输入各引脚名,如图4-3所示。

图4-3

选择File—>SaveAs命令,选择为此工程已建好目录,将设计好的原理图文件取名为h_adder.bdf同时使下方小框内出现“√”,点击保存会弹出“是否创建新工程”提示信息如图4-4所示。

图4-4图4-5

创建一个新工程:

点击图4-4中“是”可进入创建工程向导(也可以File->NewprojectWizard进入向导),此时看到的默认工程名、顶层实体名都为h_adder,此时将工程名换为f_adder顶层实体名不变,如图4-5所示。

点击NEXT,再在弹出窗中点击NEXT,选择目标器件:

Cyclone系列EP1C20F324C8芯片。

按照实验一的方法完成半加器的编译、仿真。

将半加器设置成可调用的元件,在打开半加器原理图文件下,选择File—>Create/Update—>CreateSymbolFilesforCurrentFile命令,如图4-6所示。

此时半加器文件形成了一个符号元件可供高层次设计调用。

图4-6

建立全加器原理图。

与半加器原理图建立方法相同,选择File—>New进入编辑窗,双击编辑窗,弹出元件输入对话框,此时在对话框右栏顶上可以看到多了一个Project元件库,其中有一个元件,它就是前面生成的可供调用的半加器元件,如图4-7所示。

找到需要的元件,连接好全加器原理图,选择Project—>SetasTop-LevelEntity命令,将其设置为顶层文件,如图4-8所示。

图4-7

图4-8

图4-9

编译、仿真、编程下载和实验一基本相同,需要注意的是:

波形仿真时的波形文件名必须与图4-9所示的框中名称一样的.vwf文件。

引脚分配可参考下表。

引脚名称

引脚编号

连接网络

引脚名称

引脚编号

连接网络

ain

PIN_T10

KEY1

cout

PIN_N15

LED2

bin

PIN_N14

KEY2

sum

PIN_R10

LED1

cin

PIN_V11

KEY3

板书设计:

讨论、思考题、作业

1.VHDL和原理图结合设计

2.多位加法计数器的设计

参考书目:

后记:

长沙学院教案

编号:

5(累积10课时)

课时安排:

2学时

教学课型:

实验课

题目:

实验五4位加法计数器

教学目的要求:

运用QuartusII集成环境下的VHDL文本设计方法设计4位加法计数器,进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试,充分理解硬件如何实现计数功能。

教学重点、难点:

重点:

时钟信号、进程和BUFFER端口的运用。

难点:

敏感信号和BUFFER端口的运用

教学方式、手段、媒介:

讲授、多媒体、示范

教学过程:

一、实验目的

掌握时钟信号、进程和BUFFER端口的运用;

了解计数器的设计、仿真和硬件测试,进一步熟悉VHDL语句、语法及应用等。

二、实验内容

运用QuartusII集成环境下的VHDL文本设计方法设计4位加法计数器,进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试。

三、实验步骤及参考程序

实验步骤和方法参考实验一,引脚分配可参考下表。

引脚名称

引脚编号

连接网络

引脚名称

引脚编号

连接网络

clk

PIN_T10

KEY1

q[2]

PIN_N15

LED2

q[0]

PIN_R11

LED4

q[3]

PIN_R10

LED1

q[1]

PIN_U11

LED3

参考程序如下:

entityCNT4is

port(clk:

inbit;

q:

bufferintegerrange15downto0);

end;

architecturebhvofCNT4is

begin

process(clk)

begin

ifclk'eventandclk='1'then

q<=q+1;

endif;

endprocess;

endbhv;

板书设计:

讨论、思考题、作业

分析程序中各语句的功能和特点;

比较各种端口类型以及如何应用;

试设计一个含异步清0和同步时钟使能的4位加法计数器。

参考书目:

后记:

 

长沙学院教案

编号:

6(累积12课时)

课时安排:

2学时

教学课型:

实验课

题目:

实验六数控分频器的设计

教学目的要求:

运用QuartusII集成环境下的VHDL文本设计方法设计数控分频器。

进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试。

教学重点、难点:

重点:

用VHDL语言设计多进制计数器。

难点:

灵活运用计数器将时钟信号分出多种不同频率信号。

教学方式、手段、媒介:

讲授、多媒体、示范

教学过程:

一、实验目的

1.学习数控分频器的设计、分析和测试方法

2.进一步熟悉VHDL语句、语法;

二、实验内容

运用QuartusII集成环境下的VHDL文本设计方法设计数控分频器。

进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试。

三、实验步骤及参考程序

实验步骤和方法参考实验一。

参考程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYPULSEIS

PORT(CLK:

INSTD_LOGIC;

D:

INSTD_LOGIC_VECTOR(7DOWNTO0);

FOUT:

OUTSTD_LOGIC);

END;

ARCHITECTUREONEOFPULSEIS

SIGNALFULL:

STD_LOGIC;

BEGIN

P_REG:

PROCESS(CLK)

VARIABLECNT8:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFCNT8="11111111"THEN

CNT8:

=D;

FULL<='1';

ELSE

CNT8:

=CNT8+1;

FULL<='0';

ENDIF;

ENDIF;

ENDPROCESSP_REG;

P_DIV:

PROCESS(FULL)

VARIABLECNT2:

STD_LOGIC;

BEGIN

IFFULL'EVENTANDFULL='1'THEN

CNT2:

=NOTCNT2;

IFCNT2='1'THEN

FOUT<='1';

ELSE

FOUT<='0';

ENDIF;

ENDIF;

ENDPROCESSP_DIV;

END;

参考波形图:

板书设计:

讨论、思考题、作业

1、思考频率测量的方法;2、扩展为16位分频器;3、怎样利用分频模块设计一个电路,使其输出方波的正负脉宽的宽度分别由两个8位输入数据控制?

参考书目:

后记:

长沙学院教案

编号:

7(累积14课时)

课时安排:

2学时

教学课型:

实验课

题目:

实验七7段数码显示译码器设计

教学目的要求:

运用QuartusII集成环境下的VHDL文本设计方法设计7段数码显示译码器,要求将输入的4位二进制数进行译码,并在实验箱的7段数码管上显示对应的十六进制数值。

要求进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试。

教学重点、难点:

重点:

CASE语句的使用,字形、字位的控制。

难点:

时钟信号频率与显示控制,实现多位数码管动态扫描。

教学方式、手段、媒介:

讲授、多媒体、示范

教学过程:

一、实验目的

1.熟悉进程和CASE语句的运用;

2.掌握译码的概念,掌握7段数码显示器的使用方法

3.进一步熟悉VHDL语句、语法。

二、实验内容

运用QuartusII集成环境下的VHDL文本设计方法设计7段数码显示译码器,要求将输入的4位二进制数进行译码,并在实验箱的7段数码管上显示对应的十六进制数值。

要求进行波形仿真和分析、引脚分配并下载到实验设备上进行功能测试。

三、实验步骤及参考程序

数码管个引脚的定义和显示原理

实验步骤和方法参考实验一,引脚分配可参考右图。

其中输入的二进制信号a用拔码开关输入,输出的

十六进制数值由数码管8显示(网络号:

E_7SEG_A8)

参考程序如下:

--7段数码显示程序设计

--程序包

libraryieee;

useieee.std_logic_1164.all;

--实体(所保存的文件名要为decl7s.vhd)

--如果该工程仅此一个程序文件,则工程名也为decl7s

entitydecl7sis

port(a:

instd_logic_vector(3downto0);--输入信号,表示4位二进制数

led_selout:

outstd_logic;--位选信号,选择实验箱上的7段数码管

led7s:

outstd_logic_vector(6downto0));--控制数码管7个段的亮和不亮

end;

--结构体,结构体的名字可以任取

architectureoneofdecl7sis

begin

--将led_selout置1,该信号可以绑定E_7SEG_A1到E_7SEG_A8范围的任一个数码管

led_selout<='1';

--进程语句,当输入信号a变化的时候,该进程所描述的电路工作

process(a)

begin

caseais

when"0000"=>led7s<="1000000";--0,数码管的G段不亮,显示为0

when"0001"=>led7s<="1111001";--1

when"0010"=>led7s<="0100100";--2

when"0011"=>led7s<="0110000";--3

when"0100"=>led7s<="0011001";--4

when"0101"=>led7s<="0010010";--5

when"0110"=>led7s<="0000010";--6

when"0111"=>led7s<="1111000";--7

when"1000"=>led7s<="0000000";--8

when"1001"=>led7s<="0010000";--9

when"1010"=>led7s<="0001000";--A

when"1011"=>led7s<="0000011";--B

when"1100"=>led7s<="1000110";--C

when"1101"=>led7s<="0100001";--D

when"1110"=>led7

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2