FPGA设计实验指导书.docx

上传人:b****6 文档编号:5626895 上传时间:2022-12-29 格式:DOCX 页数:26 大小:415.06KB
下载 相关 举报
FPGA设计实验指导书.docx_第1页
第1页 / 共26页
FPGA设计实验指导书.docx_第2页
第2页 / 共26页
FPGA设计实验指导书.docx_第3页
第3页 / 共26页
FPGA设计实验指导书.docx_第4页
第4页 / 共26页
FPGA设计实验指导书.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

FPGA设计实验指导书.docx

《FPGA设计实验指导书.docx》由会员分享,可在线阅读,更多相关《FPGA设计实验指导书.docx(26页珍藏版)》请在冰豆网上搜索。

FPGA设计实验指导书.docx

FPGA设计实验指导书

《FPGA设计》实验指导书

安全操作注意事项

1、接插下载电缆前,请务必关闭开发板开关,避免损坏下载电缆或实验箱器件。

2、操作过程中应防止静电,手指不可以接触开发板的扩展口引脚。

3、保持实验室整洁。

4、小心轻放,避免不必要的硬件损伤或者人身受伤。

实验一Quartusii软件的操作使用

一、实验目的

1、熟悉QuartusII软件的使用;

2、掌握用原理图输入法和硬件描述语言(VerilogHDL)两种方法来设计逻辑电路;

3、通过电路的仿真及验证,进一步了解2选1多路选择器的功能;

二、实验内容

1、用原理图输入法来设计2选1多路选择器

参照按图1-1所示来编辑完成2选1多路选择器的原理图输入,其中a、b、为数据输入端,sl为控制输入端,out为2选1多路选择器输出端。

图1-12选1多路选择器原理图

2、用VerilogHDL硬件描述语言来设计数据选择器

三、实验仪器、设备及材料

电脑、EDA软件、实验箱、下载电缆。

四、实验原理

2选1多路选择器的RTL图及真值表如图1-2及表1-1所示。

图1-22选1多路选择器的RTL图

表1-12选1多路选择器的真值表

选择输入sl

输出out

0

a

1

b

五、重点、难点

本实验技术重点在于理解2选1多路选择器的功能后,用原理图输入法和硬件描述语言(VerilogHDL)两种方法来设计该逻辑电路。

六、实验步骤

(一)原理图输入法的设计步骤:

进入Windows操作系统,双击QuartusII图标,启动软件。

1、单击File\NewProjectWizard菜单,输入文件名路径与设计项目的名字mux21a,点击finish,建立设计项目。

点击Assignment\Device菜单,选择器件(本设计选用cyclone系列的EP4CE6E22C8)。

2、启动菜单File\New,选择BlockDiagram/SchematicFile,点OK,启动原理图编辑器。

画出图1-1(在原理图空白处双击,会出现元件选择对话框,在name处输入元件名,点OK完成元件放置。

把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线)。

默认存盘名为mux21a,保存。

图1-1mux21a原理图

项目导航栏内容如下(依次为层次标签、文件标签、设计单元标签)。

选用的FPGA器件型号,双击可修改

项目名称

3、综合和分析

点击菜单栏上分析和综合红色箭头所指的工具图标,可以为下一步功能仿真作准备(注意功能仿真需要产生网表文件)。

上图快捷工具栏中主要用到的快捷操作按钮英文含义如下:

Projectnavigator项目导航;

Device器件选择;

Setting环境设置;

Pinplanner引脚锁定;

Startcompilation全程编译;

Startanalysis&synthesis分析和综合

4、引脚锁定

点击菜单栏上pinplanner红色箭头所指的工具图标,进行引脚锁定,引脚编号请查阅原理图。

5、全程编译

点击菜单栏上全程编译红色箭头所指的工具图标,可以进行全程编译。

6、编译无误后,用下载电缆通过JTAG接口将对应的mux21a.sof文件下载到FPGA中。

7、观察实验结果是否与仿真结果相吻合。

(二)用VerilogHDL语言完成的设计步骤:

(一)大体类似,只是在其第步时选择veriloghdlfile,点击OK后,键入下列代码:

modulemux21a(out,a,b,sl);

outputout;

inputa,b,sl;

regout;

always@(a,b,sl)

case(sl)

0:

out=a;

1:

out=b;

default:

out=1'bz;

endcase

endmodule

七、实验报告要求

写出用VerilogHDL设计mux21a的主要过程。

八、实验注意事项

用原理图输入法和VerilogHDL语言两种方法所做的设计,一定要建两个不同的工程,并放在不同的目录中,且目录路径中千万不要出现中文字符。

 

实验二组合逻辑电路设计

 

一、实验目的

1、学习VerilogHDL基本语法;

2、巩固QuartusII环境下的VerilogHDL编程设计的基础

二、主要仪器设备

EDA实验系统1台

PC机

三、实验内容

1、设计一个四线至二线编码器,其真值表如下:

表2.1四线至二线编码器的真值表

1、设计一个2位信号的比较器,该比较器的电路符号如图2.1所示。

图2.1比较器电路符号

引脚说明:

A、B皆为二位信号;CLK为时钟脉冲输入;RST为清除控制信号。

AGTB:

当A>B时,其值为1,否则为0;

AEQB:

当A=B时,其值为1,否则为0;

ALTB:

当A

3、设计一个四位全加器。

四、实验报告

根据以上实验内容写出实验报告,包括程序设计,软件编译,管脚分配,硬件测试结果等内容。

实验三时序逻辑电路设计

一、实验目的

理解触发器概念,掌握时序器件的VerilogHDL语言程序设计的方法

二、主要仪器设备

EDA实验系统1台

PC机

三、实验内容

设计以下内容:

1、基本的D触发器;

2、同步复位的D触发器;

3、异步复位的D触发器;

4、同步置位/复位的D触发器;

 

四、实验报告

根据以上实验内容写出实验报告,包括程序设计,管脚分配;并提交其仿真结果及分析。

实验四一般计数器的设计及数码管显示

一、实验目的

1、学习计数器的设计、仿真和硬件测试;

2、掌握原理图与文本混合设计方法;

3、学习硬件扫描显示电路的设计方法。

二、主要仪器设备

EDA/SOPC实验系统1台

三、实验原理

1、设计1个模为24的8421BCD码加法计数器。

2、设计24分频时序电路。

3、将分频或计数结果在数码管上显示。

五、实验报告要求

根据以上实验内容写出实验报告,包括仿真结果及分析、硬件实现、硬件测试等内容。

实验五正弦信号发生器的设计

一、实验目的

熟悉基于DDS的正弦信号发生器的基本工作原理

二、主要仪器设备

EDA/SOPC实验系统1台,示波器1台

三、实验原理

如图5-1所示为基本DDS结构,由相位累加器、相位调制器、正弦ROM查找表、D/A构成。

相位累加器是整个DDS的核心,完成相位累加运算。

相位累加器的输入是相位增量

,又由于

与输出频率

呈线性关系:

,因此相位累加器的输入又可称为频率字输入。

相位调制器接收相位累加器的相位输出,加上一个相位偏移量,用于信号的相位调制,不用时可以去掉,或者加一固定值。

正弦ROM查找表完成

的查表转换,也就是相位到幅度的转换,它的输入是相位调制器的输出,事实上就是ROM的地址。

图5-1DDS原理框图

四、实验内容

1、本实验要完成任务就是设计一个正弦信号发生器,用Verilog设计出同步寄存器、相位累加器等,正弦ROM查找表建议采用定制器件的方法完成,正弦ROM数据文件可以用C代码完成。

2、(选做内容)改变ROM存放数据格式,使之为方波或三角波,设计出可以输出包括正弦、三角及方波的DDS信号源。

五、实验报告

根据以上实验内容写出实验报告,包括仿真结果及分析、硬件实现、硬件测试等内容。

实验六ModelSim仿真测试

一、实验目的

1、掌握一般计数器的ModelSim仿真测试方法。

二、主要仪器设备

EDA实验系统1台

PC机

三、实验原理

以下是2选一多路选择器的verilog结构描述程序:

下面是它的测试模块:

四、ModelSim仿真步骤

见参考资料《ModelSim操作简介》

五、实验内容

试设计一个含异步复位、同步计数使能和可预置的十进制计数器,请写出它的Verilog程序和testbench模块,并在ModelSim软件平台上进行仿真测试。

五、实验报告

根据以上实验内容写出实验报告,包括verilog源程序和verilogtestbench程序,并绘出仿真波形图,总结ModelSim仿真的主要工作流程。

实验七综合设计实验

一、实验目的

1、学习动态数码管的工作原理;

2、实现FPGA对四位动态数码管的控制;

3、学习设计硬件乐曲演奏电路以及相关的控制电路;

3、熟悉模块化编程的操作流程。

二、主要仪器设备

EDA实验系统1台

PC机

三、实验内容(三选一)

1、交通灯设计

编写时序控制程序,实现东西、南北向的交通灯计数并亮灯的程序。

东西、南北方向红灯、绿灯亮的时间各为30秒,黄灯亮时间为3秒;

表7.1交通灯控制器的状态转换表

设计提示:

(1)为了实现计时,需要设计一个分频器子程序,输出周期为1秒的时钟信号;采用倒计时形式,需要设计减法计时器;

(2)为了在七段数码管上正确显示十进制数据,需要设计一个译码器;

(3)主程序使用case语句,采用有限状态机的方式设计。

2、秒表的设计

实现FPGA对四位动态数码管的控制,使其能够正常工作;应用四位动态数码管做为显示器件设计一个简单秒表。

要求:

(1)秒表的最小计时单位为0.1秒;

(2)设计的秒表能够实现暂停和继续计时的功能。

设计提示:

需要设计3个模块,分别是分频模块、计时模块和数码管动态显示模块。

3、乐曲硬件演奏电路设计

实验内容要求及提示参考教材P200-P202页

 

四、实验报告

根据以上实验内容写出实验方案,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。

选做实验一秒表的设计

一、实验目的

1、实现FPGA对四位动态数码管的控制;

2、熟悉模块化编程的操作流程

二、主要仪器设备

EDA/SOPC实验系统1台

三、实验要求

1、秒表的最小计时单位为0.1秒;

2、设计的秒表能够实现暂停和继续计时的功能。

五、实验报告

根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。

选做实验二出租车计费器设计

一、实验目的

1.了解出租车计费器的工作原理。

2.学会用VerilogHDL语言编写正确的七段码管显示程序。

3.掌握用VerilogHDL编写复杂功能模块。

4.掌握电机测速、显示电器、计数电路的设计方法。

5.熟悉状态机在数字系统设计中的应用

二、主要仪器设备

EDA/SOPC实验系统1台

三、实验原理

出租车计费器一般都是按公里计费,通常是起步价xx元(xx元可以行走2公里),然后再是xx元/公里。

所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。

通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。

在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传感器,可以得到电机每转一周输出一个脉冲波形。

结果的显示用8个七段码管,前四个显示里程,后四个显示费用。

在设计verilog程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。

为了便于显示,在编写过程中的数据用BCD码来显示,这样就不存在数据格式转换的问题。

比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9

时,将其清零,同时十位数字加1,依此类推。

四、实验内容

本实验要完成的任务就是设计一个简单的出租车计费器,要求是起步价3元,准行1公里,以后1元/公里。

显示部分的七段码管扫描时钟选择时钟模块的1KHz,电机模块的跳线选择GND端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。

另外用按键模块的S1来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。

直流电机用来模拟出租车的车轮子,没转动一圈认为是行走1米,所以每旋转1000圈,认为车子前进1公里。

系统设计是需要检测电机的转动情况,每转一周,计米计数器增加1。

七段码管显示要求为前4个显示里程,后3个显示费用。

五、实验报告

根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。

选做实验三频率计的设计

一、实验目的

1.了解频率计的工作原理。

2.体会FPGA在数字系统设计方面的灵活性。

3.掌握VerilogHDL在测量模块设计方面的技巧。

二、主要仪器设备

EDA/SOPC实验系统1台、信号源1台

三、实验原理

所谓频率就是周期性信号在单位时间(1s)内变化的次数。

若在一定时间间隔T(也称闸门时间)内测得这个周期性信号的重复变化次数为N,则其频率可表示为

f=N/T

由上面的表示式可以看到,若时间间隔T取1s,则f=N,但是这种频率计仅能测出频率大于或者等于1Hz的情况,且频率越高,精度也越高。

实际应用中,频率计的闸门时间十个可变量,当频率小于1Hz是,闸门时间就要适当放大。

本实验中为了简化实验代码,闸门时间固定为1s,闸门信号是一个0.5Hz的方波,在闸门有效(高电平)期间,对输入的脉冲进行计数,在闸门信号的下降沿时刻,所存当前的计数值,并且清零所有的频率计数器。

由于闸门时间是1s(0.5Hz方波),所以显示的频率是1s钟更新一次,且显示的内容是闸门下降沿时锁存的值。

在设计频率计的时候,八个七段码管最多可以显示99,999,999Hz,因此在设计时候用八个4位二进制码(BCD码)来表示,另外还必须有同样的八个4位二进制码来对输入的频率进行计数,在闸门下降沿的时候,将后者的值锁存到前者的8个寄存器中。

另外为了读数方便,在显示时需要进行判断,假如频率的值小于1KHz并且大于100Hz,那么只显示三位有效值,其他高位全部不显示。

四、实验内容

本实验要完成的任务就是设计一个频率计,系统时钟选择实验箱时钟模模块的1KHz时钟,闸门时间为1s(0.5Hz,需要对系统时钟进行2000分频),在闸门为高电平期间,对输入的频率进行计数,当闸门变低的时候,记录当前的频率值,并将频率计数器清零,频率的显示每过2秒刷新一次。

频率计的输入从实验箱的观察模块的探针输入。

五、实验报告

根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。

附录——FPGA接口对照表

复位信号

信号名称

对应FPGA引脚

RESET

240

串行接口(RS-232)

信号名称

对应FPGA引脚

RXD1

195

TXD1

128

RXD2

223

TXD2

222

VGA接口

信号名称

对应FPGA引脚

R

219

G

218

B

217

HS

216

VS

215

PS/2接口

信号名称

对应FPGA引脚

CLOCK

214

DATA

213

USB接口模块

信号名称

对应FPGA引脚

DB0

228

DB1

233

DB2

234

DB3

235

DB4

236

DB5

237

DB6

238

DB7

239

A0

227

WR

224

RD

225

CS

208

INT

207

SUSPEND

206

LCD显示模块

信号名称

对应FPGA引脚

DB0

228

DB1

233

DB2

234

DB3

235

DB4

236

DB5

237

DB6

238

DB7

239

C/D

227

WR

224

RD

225

CS

226

以太网接口模块

信号名称

对应FPGA引脚

SA0

96/38

SA1

95

SA2

94

SA3

93

SA4

88

SA5

87

SA6

86

SA7

85

SA8

84

SA9

83

SD0

98

SD1

100

SD2

41

SD3

104

SD4

106

SD5

108

SD6

114

SD7

116

SD8

99

SD9

101

SD10

47

SD11

105

SD12

107

SD13

113

SD14

115

SD15

117

RD

82

WR

23

AEN

79

INT

39

RESET

21

LED显示模块

信号名称

对应FPGA引脚

D1_1

98

D1_2

99

D1_3

100

D1_4

101

D1_5

41

D1_6

47

D1_7

104

D1_8

105

D2_1

106

D2_2

107

D2_3

108

D2_4

113

D2_5

114

D2_6

115

D2_7

116

D2_8

117

拨档开关

信号名称

对应FPGA引脚

K1

153

K2

57

K3

56

K4

55

K5

54

K6

53

K7

50

K8

49

按键模块

信号名称

对应FPGA引脚

S1

66

S2

65

S3

64

S4

63

S5

62

S6

61

S7

60

S8

59

键盘阵列模块

信号名称

对应FPGA引脚

ROW0

66

ROW1

65

ROW2

64

ROW3

63

COL0

62

COL1

61

COL2

60

COL3

59

七段码显示模块

信号名称

对应FPGA引脚

A

219

B

218

C

214

D

213

E

217

F

216

G

215

DP

42

SEL0

43

SEL1

44

SEL2

45

交通灯显示模块

信号名称

对应FPGA引脚

R1

20

Y1

19

G1

18

R2

17

Y2

16

G2

15

高速DA和高速AD模块

信号名称

对应FPGA引脚

DB0

3

DB1

4

DB2

5

DB3

6

DB4

7

DB5

8

DB6

11

DB7

12

AD_CLK

1

AD_OE

2

DA_CLK

13

存储器模块

信号名称

对应FPGA引脚

A0

187

A1

186

A2

185

A3

184

A4

183

A5

170

A6

169

A7

168

A8

167

A9

166

A10

132

A11

196

A12

197

A13

58

A14

126

A15

200

A16

201

A17

131

A18

188

A18

203

A20

202

DB0

181

DB1

180

DB2

179

DB3

178

DB4

177

DB5

176

DB6

175

DB7

174

DB8

143

DB9

141

DB10

140

DB11

139

DB12

138

DB13

137

DB14

136

DB15

135

DB16

118

DB17

119

DB18

120

DB19

121

DB20

122

DB21

123

DB22

124

DB23

125

DB24

165

DB25

164

DB26

163

DB27

162

DB28

161

DB29

160

DB30

159

DB31

158

SRAM_RD

194

SRAM_WR

173

SRAM_BE0

134

SRAM_BE1

133

SRAM_BE2

156

SRAM_BE3

144

SRAM_CS

182

FLASH_RD

127

FLASH_WR

193

FLASH_CS

206

音频CODEC模块

信号名称

对应FPGA引脚

SDIN

77

SCLK

78

CS

76

BCLK

75

DIN

74

LRCIN

73

LRCOUT

67

DOUT

68

时钟源模块

信号名称

对应FPGA引脚

CLOCK

28

扬声器模块

信号名称

对应FPGA引脚

SPERKER

46

直流电机模块

信号名称

对应FPGA引脚

PWM

14

SPEED

29

输入输出探测模块

信号名称

对应FPGA引脚

INPUT

152

OUTPUT

48

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

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1