电子设计自动化实验指导书六个实验.docx
《电子设计自动化实验指导书六个实验.docx》由会员分享,可在线阅读,更多相关《电子设计自动化实验指导书六个实验.docx(29页珍藏版)》请在冰点文库上搜索。
电子设计自动化实验指导书六个实验
实验一半加器和全加器的设计
实验二多路选择器设计
实验三基本触发器的设计
实验四十进制加法计数器的设计
实验五八位七段数码管动态显示电路的设计
实验六基于VHDL的表决器的设计
附表一
核心板载资源与FPGAEP2C35I/O接口对照表
附表二
EP2C35与开发平台硬件资源I/O接口对照表
实验一半加器和全加器的设计
一、实验目的
1、掌握图形的设计方式;
2、掌握自建元件及调用自建元件的方法;
3、熟练掌握QUARTUSII的使用。
二、实验内容
1、熟练软件基本操作,完成半加器和全加器的设计;
2、正确设置仿真激励信号,全面检测设计逻辑;
3、综合下载,进行硬件电路测试。
三、实验原理
1、半加器的设计
半加器只考虑了两个加数本身,没有考虑由低位来的进位。
半加器真值表:
被加数A
加数B
和数S
进位数C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
半加器逻辑表达式:
;
2.全加器的设计
全加器除考虑两个加数外,还考虑了低位的进位。
全加器真值表:
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
全加器逻辑表达式:
;
3、利用半加器元件完成全加器的设计
(1)图形方式
其中HADDER为半加器元件。
四、实验步骤
1、完成图形半加器设计。
2、完成VHDL半加器设计与仿真(记录仿真波形)。
3、完成VHDL全加器设计与仿真(记录仿真波形)。
4、利用半加器元件进行图形的全加器设计。
五、思考题:
1、怎样自建元件?
自建元件的调用要注意什么?
实验二多路选择器的设计
一、实验目的
1.熟练掌握多路选择器的设计方法;
2.用VHDL语言中不同的语句来描述。
二、实验原理
四选一多路选择器的原理如下图及下表,由Sl,S0来选择d0,dl,d2,d3的信号,并使其能在Q上输出。
S1
S0
Q
0
0
d0
0
1
d1
1
0
d2
1
1
d3
X
X
0
三、实验内容
1、用VHDL语言的不同语句分别描述任务选择器,并通过编译仿真比较不同语句描述的区别。
2、通过仿真下载并通过硬件验证实验结果。
四、实验报告要求
l、写出几种不同的VHDL源程序;
2、画出电路的时序仿真波形;
3、分析不同VHDL语句的优劣;
4、写出设计心得体会。
五、思考题:
1、如何设计一个3选1的选择器?
实验三基本触发器的设计
一、实验目的
1、了解基本触发器的工作原理。
2、进一步熟悉在QuartusII中基于原理图设计的流程。
二、实验原理
基本触发器的电路如下图8-1所示。
它可以由两个与非门交叉耦合组成,也可
图8-1基本触发器电路
以由两个或非门交叉耦合组成。
现在以两个与非门组成的基本触发器为例,来分析其工作原理。
根据与非逻辑关系,可以得到基本触发器的状态转移真值表及简化的真值表,如下表8-1所示:
状态转移真值表
简化真值表
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
Qn
1
0
1
1
0
0
不定
1
1
0
0
1
1
1
1
0
0
0
不定
0
0
1
不定
表8-1基本触发器状态转移真值表
根据真值表,不难写出其特征方程:
其中式
(2)为约束条件。
三、实验内容
本实验的任务就是利用QuartusII软件的原理图输入,产生一个基本触发器,触发器的形式可以是与非门结构的,也是可以或非门结构的。
实验中用按键模块的用K1和K3来分别表示R和S,用LED模块的LED8和LED1分别表示Q和
。
在R和S满足式
(2)的情况下,观察Q和
的变化。
实验箱中的拨动开关、LED与FPGA的接口电路,以及拨动开关、LED与FPGA的管脚连接在以前的实验中都做了详细说明,这里不在赘述。
四、实验步骤
1.打开QUARTUSII软件,新建一个工程。
2.建完工程后再新建一个图形符号输入文件,打开图形符号编辑器对话框。
3.按照实验原理和自己的想法,在图形符号编辑窗口编写设计程序,用户可参照光盘中提供的示例程序。
4.设计好设计电路程序后,保存起来。
方法同实验一。
5.对自己编写的设计电路程序进行编译并仿真,对程序的错误进行修改。
6.编译仿真无误后,依照拨动开关、LED与FPGA的管脚连接表或参照附录进行管脚分配。
表8-2是示例程序的管脚分配表。
分配完成后,再进行全编译一次,以使管脚分配生效。
端口名
使用模块信号
对应FPGA管脚
说明
NR
拨动开关K1
E15
NS
拨动开关K2
B14
Q
LED灯LED12
B20
NQ
LED灯LED1
E9
表8-2端口管脚分配表
7.用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
观察实验结果是否与自己的编程思想一致。
五、实验现象与结果
以设计的参考示例为例,当设计文件加载到目标器件后,拨动相应的拨动开关(即R、S),则通过LED灯上的亮和灭来显示这个触发器的输入结果。
将输入与输出和表8-1基本触发器状态转移真值表进行比较,看是否一致。
六、实验报告
1、绘出不同R、S值的仿真波形,并作说明。
2、试设计一个其它的功能触发器如D触发器、JK触发器等
3、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
实验四十进制的加法计数器设计
一、实验目的
1、掌握流程控制语句(IF语句和CASE语句)的使用。
;
2、掌握计数器进制的设置原理。
3、熟练掌握矢量类型数据与进程语句的使用。
4、掌握IF语句的嵌套使用方法,
二、实验内容
1、完成多功能十进制加法计数器的VHDL设计。
2、正确设置仿真激励信号,全面检测设计逻辑。
3、综合下载,进行硬件电路测试。
三、实验说明
十进制计数器的VHDL设计的关键在于计数位宽的设置与进制的设置,通常应具有以下功能:
清零、使能、向高位进位。
要注意进位信号的处理,进位信号的脉宽处理与产生时间处理。
四、实验步骤
1、了解十进制计数器的工作原理。
2、用VHDL文本方式设计十进制加法计数器。
3、进行十进制加法计数器的设计仿真(记录仿真波形)。
4、进行十进制加法计数器的设计下载与测试。
五、实验报告要求及思考题:
1、进制数与计数最大值的关系是什么?
2、能否设计出可改变参数的通用的计数器?
怎样设计?
实验五八位七段数码管动态显示电路的设计
一、实验目的
1、了解数码管的工作原理。
2、学习七段数码管显示译码器的设计。
3、学习VHDL的CASE语句及多层次设计方法。
二、实验原理
七段数码管是电子开发过程中常用的输出显示设备。
在实验系统中使用的是两个四位一体、共阴极型七段数码管。
其单个静态数码管如下图4-1所示。
图4-1静态七段数码管
由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。
反之则不亮。
共阳极性的数码管与之相么。
四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。
八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。
三、实验内容
本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。
在实验中时,数字时钟选择1KHZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。
实验箱中的拨动开关与FPGA的接口电路,以及拨动开关FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。
数码管显示模块的电路原理如图4-2所示,表4-1是其数码管的输入与FPGA的管脚连接表。
图4-2数字时钟信号模块电路原理
信号名称
对应FPGA管脚名
说明
7SEG-A
H3
七段码管A段输入信号
7SEG-B
H4
七段码管B段输入信号
7SEG-C
K5
七段码管C段输入信号
7SEG-D
L5
七段码管D段输入信号
7SEG-E
K4
七段码管E段输入信号
7SEG-F
L3
七段码管F段输入信号
7SEG-G
L4
七段码管G段输入信号
7SEG-DP
M3
七段码管dp段输入信号
7SEG-SEL0
G4
七段码管位选输入信号
7SEG-SEL1
G3
七段码管位选输入信号
7SEG-SEL2
F4
七段码管位选输入信号
表4-1数码管与FPGA的管脚连接表
四、实验步骤
1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。
3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、编写完VHDL程序后,保存起来。
方法同实验一。
5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、编译仿真无误后,依照拨动开关、数码管与FPGA的管脚连接表(表1-1、表4-1)或参照附录进行管脚分配。
表4-2是示例程序的管脚分配表。
分配完成后,再进行全编译一次,以使管脚分配生效。
端口名
使用模块信号
对应FPGA管脚
说明
CLK
数字信号源
L2
时钟为1KHZ
KEY0
拨动开关K1
E15
二进制数据输入
KEY1
拨动开关K2
B14
KEY2
拨动开关K3
F9
KEY3
拨动开关K4
B15
LEDAG0
数码管A段
G6
十六进制数据
输出显示
LEDAG1
数码管B段
G7
LEDAG2
数码管C段
H3
LEDAG3
数码管D段
H4
LEDAG4
数码管E段
H5
LEDAG5
数码管F段
H6
LEDAG6
数码管G段
J4
DEL0
位选DEL0
G5
DEL1
位选DEL1
G3
DEL2
位选DEL2
F4
表4-2端口管脚分配表
7、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
观察实验结果是否与自己的编程思想一致。
五、实验现象与结果
以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1KHZ,拨动四位拨动开关,使其为一个数值,则八个数码管均显示拨动开关所表示的十六进制的值。
六、实验报告
1、绘出仿真波形,并作说明。
2、明扫描时钟是如何工作的,改变扫描时钟会有什么变化。
3、实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
实验六基于VHDL的表决器的设计
一、实验目的
1、熟悉VHDL的编程。
2、熟悉七人表决器的工作原理。
3、进一步了解实验系统的硬件结构。
二、实验原理
所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。
实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。
表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。
同时,数码管上显示通过的票数。
三、实验内容
本实验就是利用实验系统中的拨动开关模块和LED模块以及数码管模块来实现一个简单的七人表决器的功能。
拨动开关模块中的K1~K7表示七个人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票;LED模块中LED1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则当LED1熄灭时,表示此行为未通过表决。
同时通过的票数在数码管上显示出来。
在此实验中数码管、LED、拨动开关与FPGA的连接电路和管脚连接在以前的实验中都做了详细说明,这里不在赘述。
四、实验步骤
1、打开QUARTUSII软件,新建一个工程。
2、建完工程之后,再新建一个VHDLFile,打开VHDL编辑器对话框。
3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、编写完VHDL程序后,保存起来。
方法同实验一。
5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、编译仿真无误后,依照拨动开关、LED、数码管与FPGA的管脚连接表或参照附录进行管脚分配。
表11-1是示例程序的管脚分配表。
分配完成后,再进行全编译一次,以使管脚分配生效。
端口名
使用模块信号
对应FPGA管脚
说明
K1
拨动开关K1
E15
七位投票人
的表决器
K2
拨动开关K2
B14
K3
拨动开关K3
F9
K4
拨动开关K4
B15
K5
拨动开关K5
A15
K6
拨动开关K6
F11
K7
拨动开关K7
A16
m_Result
LED模块LED1
E9
表决结果亮为通过
LEDAG0
数码管模块A段
G6
表决通过的票数
LEDAG1
数码管模块B段
G7
LEDAG2
数码管模块C段
H3
LEDAG3
数码管模块D段
H4
LEDAG4
数码管模块E段
H5
LEDAG5
数码管模块F段
H6
LEDAG6
数码管模块G段
J4
表11-1端口管脚分配表
7、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。
观察实验结果是否与自己的编程思想一致
五、实验结果与现象
以设计的参考示例为例,当设计文件加载到目标器件后,拨动实验系统中拨动开关模块的K1-K7七位拨动开关,如果拨动开关的值为“1”(即拨动开关的开关置于上端,表示此人通过表决)的个数大于或等于四时LED模块的LED1被点亮,否则LED1不被点亮。
同时数码管上显示通过表决的人数。
六、实验报告
1、绘出仿真波形,并作说明。
1、将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
2、试在此实验的基础上增加一个表决的时间,只的在这一时间内的表决结果有效。
附表一:
核心板EP2C35F484I/O接口对照表
信号名称
EP2C35IO接脚
信号名称
EP2C35IO接脚
核心板模块
FLASH(29LV065D)
A0
AA12
A18
AA8
A1
AB12
A19
AB19
A2
AA11
A20
AA19
A3
AB11
A21
AB16
A4
AA10
A22
AB3
A5
AB10
D0
AB14
A6
AA9
D1
AA14
A7
AB9
D2
AB15
A8
AB7
D3
AA15
A9
AA6
D4
AA16
A10
AA18
D5
AB17
A11
AB6
D6
AA17
A12
AA5
D7
AB18
A13
AB5
WE#
AA7
A14
AA4
OE#
AA13
A15
AB4
CE#
AB13
A16
AA3
RDY
AB8
A17
AB20
RESET#
B3
核心板模块
SRAM(IDT74V416)
A0
AA11
A11
AB5
A1
AB11
A12
AA4
A2
AA10
A13
AB4
A3
AB10
A14
AA3
A4
AA9
A15
AB20
A5
AB9
A16
AA8
A6
AB7
A17
AB19
A7
AA6
D0
AB14
A8
AA18
D1
AA14
A9
AB6
D2
AB15
A10
AA5
D3
AA15
信号名称
EP2C35IO接脚
信号名称
EP2C35IO接脚
核心板模块
SRAM(IDT74V416)
D4
AA16
D22
K21
D5
AB17
D23
J22
D6
AA17
D24
J21
D7
AB18
D25
G20
D8
Y21
D26
G22
D9
Y22
D27
G21
D10
W21
D28
F22
D11
W22
D29
F21
D12
V21
D30
E22
D13
V22
D31
E21
D14
U21
BE0
T21
D15
U22
BE1
T22
D16
R21
BE2
C22
D17
R22
BE3
D21
D18
R20
OE#
D22
D19
N21
WE#
C21
D20
N22
CS#
AA20
D21
K22
------
------
核心板模块
自定义按键(BT1-BT4)
BT1
M1
BT3
U12
BT2
M2
BT4
U11
核心板模块
自定义LED(LED1-LED4)
LED1
V8
LED3
T7
LED2
T8
LED4
T6
核心板模块
七段码LED
a
T11
e
V9
b
T12
f
V11
c
T16
g
U13
d
J14
dp
U14
核心板模块
复位按键、时钟
RESET
B3
50MHZ
L1
信号名称
EP2C35IO接脚
信号名称
EP2C35IO接脚
核心板模块
SDRAM
DQ0
H1
A4
W5
DQ1
H2
A5
T5
DQ2
J1
A6
R5
DQ3
J2
A7
T3
DQ4
N1
A8
U3
DQ5
N2
A9
V4
DQ6
P1
A10
Y1
DQ7
P2
A11
W3
DQ8
F1
A12
W4
DQ9
F2
SD-CLK
U4
DQ10
E1
SD-WE
R2
DQ11
E2
SD-CS
U1
DQ12
D1
SD-CKE
Y3
DQ13
D2
SD-M0
R1
DQ14
C1
SD-M1
Y4
DQ15
C2
SD-BA0
U2
A0
W2
SD-BA1
Y2
A1
W1
RAS
T2
A2
V2
CAS
T1
A3
V1
------
------
核心板模块
NANDFLASH
NF-D0
W16
NF-RDY
AB8
NF-D1
Y16
NF-OE
Y5
NF-D2
W15
NF-CE
Y6
NF-D3
W14
NF-CLE
Y7
NF-D4
Y14
NF-ALE
W7
NF-D5
Y13
NF-WE
W8
NF-D6
Y10
NF-WP
Y9
NF-D7
W9
信号名称
EP2C35IO接脚
信号名称
EP2C35IO接脚
核心板模块
扩展接口JP1
1-4
5V
29
N3
5-7
GND
30
N4
8
RESET(B3)
31
N6
9
D3
32
P3
10
D4
33
P5
11
D5
34
P6
12
E3
35
P19
13
E4
36
P4
14
F3
37
R6
15
F4
38
R7
16
G3
39
R8
17
G5
40
J3
18
G6
41
W18
19
G7
42
R11
20
H3
43
R4
21
L2
44
J6
22
H4
45
R14
23
H5
46
R15
24
H6
47
R16
25
J4
48
U8
26
L8
49
U9
27
M5
50
U10
28
M6
------
核心板模块
扩展接口JP2
1
C19
9
E19
2
G11
10
G17
3
C20
11
E20
4
H21
12
H16
5
D19
13
E18
6
M15
14
H17
7
D20
15
F20
8
G16
16
H18
信号名称
EP2C35IO接脚
信号名称
EP2C35IO接脚
核心板模块
扩展接口JP2
17
G18
34
R17
18
J15
35
U20
19
H19
36
R18
20
J17
37
M22
21
J19
38
M21
22
J18
39
V19
23
J20
40
T18
24
L18
41
V20
25
K20
42
U18
26
M18
43
W20
27
L19
44
U15
28
P15
45
Y20
29
M19
46
V14
30
P17
47
Y19
31
R19
48
V15
32
P18
49
Y18
33
U19
50
Y17
核心板模块R
扩展接口JP3
1-4
5V
21
B6
5-8
GND
22
D11
9
D6
23
A6
10
D7
24
C13
11
A3
25
B7
12
C7
26
D14
13
B4
27
A7
14
D8
28
C14
15
A4
29
B8
16
D9
30
D15
17
B5
31
A8
18
C9
32
D16
19
A5
33
B9
20
C10
34
C16
信号名称
EP2C35IO接脚
信号名称
EP2C35IO接脚
核心板模块
扩展接口JP3
35
A9
58
F11
36
C17
59
A16
37
B10
60
F12
38
C18
61
B17
39
A10
62
F13
40
E7
63
A17
41
B11
6