EDA实验讲义.docx
《EDA实验讲义.docx》由会员分享,可在线阅读,更多相关《EDA实验讲义.docx(22页珍藏版)》请在冰豆网上搜索。
EDA实验讲义
实验一十进制计数器的设计
一、实验目的
熟悉QuartusⅡ的VerilogHDL文本设计流程全过程,学习计数器的设计、仿真和硬件测试。
二、实验原理
实验程序为例3-22,实验原理参考3.3节,设计流程参考4.1,4.2节。
三、实验内容
编写Verilog程序描述一个电路,实现以下功能:
设计带有异步复位、同步计数使能和可预置型的十进制计数器。
具有5个输入端口(CLK、RST、EN、LOAD、DATA)。
CLK输入时钟信号;RST起异步复位作用,RST=0,复位;EN是时钟使能,EN=1,允许加载或计数;LOAD是数据加载控制,LOAD=0,向内部寄存器加载数据;DATA是4位并行加载的数据。
有两个输出端口(DOUT和COUT)。
DOUT的位宽为4,输出计数值,从0到9;COUT是输出进位标志,位宽为1,每当DOUT为9时输出一个高电平脉冲。
四、实验步骤
1、启动QuartusII软件,建立工程,文件夹CNT10B。
2、编写Verilog程序,存盘CNT10.V,编译。
器件选择Cyclone系列中的EP1C6Q240C8。
3、通过编译后,建立波形文件CNT10.vwf,设置仿真输入信号,存盘。
4、进行仿真(仿真时间50цS),分析结果。
5、进行引脚锁定,重新编译。
选用实验电路结构图NO.5。
输入端口信号
D[3]
D[2]
D[1]
D[0]
RST
LOAD
EN
CLK
功能键设定
健8
PIO7
健7
PIO6
健6
PIO5
健5
PIO4
健3
PIO2
健2
PIO1
健1
PIO0
CLOCK0
引脚编号
PIN_240
PIN_239
PIN_238
PIN_237
PIN_235
PIN_234
PIN_233
PIN_28
输出端口信号
DOUT3
DOUT2
DOUT1
DOUT0
COUT
指示器设定
数码管1
PIO19
数码管1
PIO18
数码管1
PIO17
数码管1
PIO16
D1
PIO8
引脚编号
PIN_16
PIN_15
PIN_14
PIN_13
PIN_1
6、下载到EDA实验系统上的FPGA中,进行实际测试。
7、使用SignalTapII对此计数器进行实时测试,流程与要求参考4.3节。
四、实验报告要求
实验目的,实验内容,设计的Verilog程序,实验结果,结果分析,心得与体会。
思考题:
在例3-22中是否可以不定义信号CQI,而直接用输出端口信号完成加法运算,即:
CQ<=CQ+1?
为什么?
实验二四选一多路选择器的设计
一、实验目的
进一步熟悉QuartusⅡ的VerilogHDL文本设计流程,学习组合电路的设计、仿真和硬件测试。
二、实验原理
实验程序为例3-5,实验原理参考3.1节,设计流程参考4.1,4.2节。
三、实验内容
编写Verilog程序描述一个电路,实现以下功能:
具有6个输入端口A、B、C、D、S1、SO,A、B、C、D均为输入端口,位宽为1;Sl、S0为通道选择控制信号端,位宽为1;Y为输出端口,位宽为1。
当S1S0为“00”时,A的数据从Y输出,S1S0为“01”时,B的数据从Y输出,S1S0为“10”时,C的数据从Y输出,S1S0为“11”时,D的数据从Y输出。
四、实验步骤
1、启动QuartusII软件,建立工程。
器件选择Cyclone系列中的EP1C6Q240C8。
2、编写Verilog程序,存盘编译。
3、通过编译后,建立波形文件,设置仿真输入信号,存盘。
4、进行仿真,分析结果。
5、进行引脚锁定,重新编译。
选用实验电路结构图NO.5。
端口信号
A
B
C
D
SI
SO
Y
功能键设定
CLOCK0
CLOCK0
CLOCK0
CLOCK0
健2
PIO1
健1
PIO0
SPEAKER
PIO0
引脚编号
PIN_28
PIN_153
PIN_152
PIN_29
PIN_234
PIN_233
PIN_174
6、下载到EDA实验系统上的FPGA中,进行实际测试。
四、实验报告要求
实验目的,实验内容,设计的Verilog程序,实验结果,结果分析,心得与体会。
实验三原理图输入法设计8位全加器
一、实验目的
熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
二、实验原理
一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin相接。
而一个1位全加器可以由半加器来构成。
三、实验内容
1、按照1-1、1-2图完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。
键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。
1-1半加器原理图
1-2全加器原理图
2、建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件下载(JTAG模式下载SOF文件)测试。
建议选择电路模式1;键2、键1输入8位加数;键4、键3输入8位被加数;数码6/5显示加和;D8显示进位cout。
引脚分配如下:
a[7..0]对应的是PIO[15..8],,引脚分别是12、8、7、6、4、3、2、1。
b[7..0]对应的是PIO[7..0],,引脚分别是240、239、238、237、236、235、234、233。
cin对应的是PIO49,引脚是173。
sum[7..0]对应的是PIO[23..16],,引脚分别是20、19、18、17、16、15、14、13。
cout对应的是PIO39,引脚是160。
结构如图1-3。
1-38位加法器原理图
4、要求全程编译后生成用于配置器件EPCS4编程的压缩POF文件,并使用USB-Blaster,通过AS模式对实验板上的EPCS4进行编程,最后进行验证。
(6)实验报告:
详细叙述8位加法器的设计流程;给出各层次的原理图及其对应的仿真波形图;给出加法器的时序分析情况;最后给出硬件测试流程和结果。
实验七原理图输入法设计频率计
一、实验目的
熟悉原理图输入法中74系列等宏功能元件的使用方法,掌握更复杂的原理图层次化设计技术和数字系统设计方法。
完成8位十进制频率机的设计。
二、实验原理
利用4.5.2节介绍的2位计数器模块,连接它们的计数进位,用4个计数模块就能完成一个8位有时钟使能的计数器;对于测频控制器的控制信号,在仿真过程中应该注意它们可能的毛刺现象。
最后按照4.5.2节中的设计流程和方法即可完成全部设计。
三、实验内容
首先完成2位频率计的设计,然后进行硬件测试,建议选择电路模式2;数码2和1显示输出频率值,待测频率F_IN接clock0;测频控制时钟CLK接clock2,若选择clock2=8Hz,门控信号CNT_EN的脉宽恰好为1秒。
然后建立一个新的原理图设计层次,在此基础上将其扩展为8位频率计,仿真测试该频率计待测信号的最高频率,并与硬件实测的结果进行比较。
四、实验报告
给出各层次的原理图、工作原理、仿真波形图和分析,详述硬件实验过程和实验结果。
实验四正弦信号发生器设计
实验五8位数码显示频率计设计
实验六序列检测器设计
附加实验:
(可加分)
实验七原理图输入法设计频率计
实验八
实验九
实验十
实验十一
实验十二
实验十三
实验十四
实验十五
附录一实验电路结构图
图3-1电路结构图NO.0
图3-2电路结构图NO.1
图3-3电路结构图NO.2
图3-4电路结构图NO.3
图3-5电路结构图NO.4
图3-6电路结构图NO.7
图3-7电路结构图NO.8
图3-8电路结构图NO.9
图3-9电路结构图NO.5
图3-10电路结构图NO.6
图3-118位数码管扫描式显示电路(输入信号高电平有效)
图3-12液晶与单片机以及FPGA的I/O口的连接
图3-13GW_ADDA板插座引脚
图3-14目标芯片万能适配座CON1/2
图3-15编程下载接口
附录二超高速A/D、D/A板GW_ADDA说明
GW_ADDA板含两片10位超高速DAC(转换速率最高150MHz)和一片8位ADC(转换速率最高50MHz),另2片3dB带宽大于260MHz的高速运放组成变换电路。
GW_ADDA板上所有的A/D和D/A全部处于使能状态,除了数据线外,任一器件的控制信号线只有时钟线,这有利于高速控制和直接利用MATLAB/DSPBuilder工具的设计。
GW_ADDA板上工作时钟必须由FPGA的I/O口提供,且DAC和ADC的工作时钟是分开的。
无法直接利用MATLAB和DSPBuilder进行自动流程的设计,优点是时钟频率容易变化,且可通过Cyclone中的PLL的到几乎任何时钟频率。
由此即可测试ADC和DAC的最高转换频率。
两个电位器可分别调协两个D/A输出的幅度(输出幅度峰峰值不可大于5V,否则波形失真);模拟信号从接插口的2针“AIN”输入,J1和J2分别是模拟信号输出的PA、PB口,也可在两挂钩处输出,分别是两个10位DA5651输出口。
注意:
使用A/D,D/A板必须打开GW48-PK2主系统板上的+/-12V电源,用后关闭!
图3-16GWAC6/12板AD_DA板接口原理图
附录三步进电机和直流电机使用说明
图3-17电机引脚连接原理图
直流电机的MA1和MA2相为PWM输入控制端,cont为光电输出给FPGA的转速脉冲,接PIO66。
注意:
不作电机实验时要通过3个跳线座,禁止它们;如其中JM0是步进电机的开关跳线,如此等等。
附录四SOPC适配板使用说明
GW48-SOPC系统上的主适配板主要针对Cyclone(EP1C6/12)系列器件。
该适配板主要由大规模FPGA、A/D,D/A器件、RAM、FLASH、运放、高频时钟、不同模式配置块组成:
1、JTAGPORT:
JTAG口,用于编程开发、测试和SOPC软件调试,使用中应该将所配的10芯线与GW48-PK2主系统左侧的ByteBlasterMV(ByteBlasterII)口相连。
2、ASPORT:
若欲对Cyclone器件掉电保护的Flash器件“EPCS1/4”的编程选择;将10芯编程线连接GW48-PK2主系统右侧的ByteBlasterII口和主适配板的“ASPORT”下载口,OK!
3、RS232口:
是用于Nios系统C程序调试的。
RS232口1与Cyclone的引脚连接方式是:
RXD接P170脚;TXD接176脚。
4、GW2RAM:
含两片16位高速SRAM和一片FlashROM,主要用于SOPC设计,作为NiosCPU的外围接口存储器,是用于进行SOPCNios嵌入式系统实验开发用的。
附录五结构图信号与芯片引脚对照表
结构图
信号名
GW48-GK
EP1K30TC144
GW48-PK2EP1C3TC144
GW48-SOPC
EP1C6/12Q240
结构图
信号名
GW48-GK
EP1K30TC144
GW48-PK2
EP1C3TC144
GW48-SOPC
EP1C6/12Q240
引脚号
引脚号
引脚号
引脚号
引脚号
引脚号
PIO0
8
1
233
PIO38
83
83
159
PIO1
9
2
234
PIO39
86
84
160
PIO2
10
3
235
PIO40
87
85
161
PIO3
12
4
236
PIO41
88
96
162
PIO4
13
5
237
PIO42
89
97
163
PIO5
17
6
238
PIO43
90
98
164
PIO6
18
7
239
PIO44
91
99
165
PIO7
19
10
240
PIO45
92
103
166
PIO8
20
11
1
PIO46
95
105
167
PIO9
21
32
2
PIO47
96
106
168
PIO10
22
33
3
PIO48
97
107
169
PIO11
23
34
4
PIO49
98
108
173
PIO12
26
35
6
PIO60
137
131
226
PIO13
27
36
7
PIO61
138
132
225
PIO14
28
37
8
PIO62
140
133
224
PIO15
29
38
12
PIO63
141
134
223
PIO16
30
39
13
PIO64
142
139
222
PIO17
31
40
14
PIO65
143
140
219
PIO18
32
41
15
PIO66
144
141
218
PIO19
33
42
16
PIO67
7
142
217
PIO20
36
47
17
PIO68
119
122
180
PIO21
37
48
18
PIO69
118
121
181
PIO22
38
49
19
PIO70
117
120
182
PIO23
39
50
20
PIO71
116
119
183
PIO24
41
51
21
PIO72
114
114
184
PIO25
42
52
41
PIO73
113
113
185
PIO26
65
67
128
PIO74
112
112
186
PIO27
67
68
132
PIO75
111
111
187
PIO28
68
69
133
PIO76
11
143
216
PIO29
69
70
134
PIO77
14
144
215
PIO30
70
71
135
PIO78
110
110
188
PIO31
72
72
136
PIO79
109
109
195
PIO32
73
73
137
PIO33
78
74
138
SPEAKER
99
129
174
PIO34
79
75
139
CLOCK0
126
93
28
PIO35
80
76
140
CLOCK2
54
17
153
PIO36
81
77
141
CLOCK5
56
16
152
PIO37
82
78
158
CLOCK9
124
92
29
附图1-1AGW48-CK实验开发系统的板面结构图