EDA实验指导书.docx
- 文档编号:11873227
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:39
- 大小:1.33MB
EDA实验指导书.docx
《EDA实验指导书.docx》由会员分享,可在线阅读,更多相关《EDA实验指导书.docx(39页珍藏版)》请在冰豆网上搜索。
EDA实验指导书
在EDA-VI实验箱底板上,采用了CPLD资源整合及与CPU板主控制器之间采用总线互联,其中地址总线和数据总线可以通过4位从CPU板到EDA-VI底板的功能选择位,实现多路复用,来决定是用作总线方式,还是IO方式。
EDA-VI实验用到的管脚资源及功能选择说明如下:
一、EDA基本实验用到的管脚资源
(约定:
如不作特别声明,以下管脚均为E-PLAY-SOPCCPU板上FPGA芯片EP1C12的对应管脚)
地址线:
BUS_A[0]PIN_128--8位数据时用,16位数据时BUS_A[0]没用到
BUS_A[1]PIN_115
BUS_A[2]PIN_114
BUS_A[3]PIN_113
BUS_A[4]PIN_108
数据线:
BUS_D[0]PIN_105
BUS_D[1]PIN_104
BUS_D[2]PIN_101
BUS_D[3]PIN_100
BUS_D[4]PIN_85
BUS_D[5]PIN_84
BUS_D[6]PIN_83
BUS_D[7]PIN_82
BUS_D[8]PIN_86
BUS_D[9]PIN_87
BUS_D[10]PIN_88
BUS_D[11]PIN_93
BUS_D[12]PIN_94
BUS_D[13]PIN_95
BUS_D[14]PIN_98
BUS_D[15]PIN_99
功能选择:
VGA[0]PIN162
VGA[1]PIN161
VGA[2]PIN164
VGA[3]PIN163
EP1C12板上4位按键
PB[0]PIN127
PB[1]PIN126
PB[2]PIN125
PB[3]PIN124
EP1C12板上复位按键
RESETPIN131
EP1C12板上4位LED
LED[0]PIN165
LED[1]PIN166
LED[2]PIN167
LED[3]PIN168
EP1C12板上4位拨码
SW[0]PIN4
SW[1]PIN5
SW[2]PIN6
SW[3]PIN7
EP1C12板上50MHz晶振输入
OSCPIN153
EDA-VI底板上IO9到IO16在EP1C12上对应的引脚
用于8位LED显示,将L1—L8分别连接到IO9—IO16
data[0]PIN_132IO9
data[1]PIN_133IO10
data[2]PIN_134IO11
data[3]PIN_135IO12
data[4]PIN_136IO13
data[5]PIN_137IO14
data[6]PIN_138IO15
data[7]PIN_139IO16
PLL1_OUTnPIN_39IO1
PLL1_OUTpPIN_38IO2
CLK1pPIN_28IO3
CLK1nPIN_29IO4
LED0PIN_165IO5(对应CPU板上的L0—L3)
LED1PIN_166IO6
LED2PIN_167IO7
LED3PIN_168IO8
EDA-VI底板上IO_CLK为4位拨码开关SW17—SW20来控制输出40M分频后的可调时钟
具体对应如下
SW17—SW20IO_CLK
11111Hz
01115Hz
101110Hz
001125Hz
110150Hz
0101500Hz
10011KHz
00012.5KHz
111010KHz
011020KHz
101050KHz
0010200KHz
1100500KHz
01002MHz
10005MHz
000020MHz
P1—P3未定义
P410MHz固定时钟(40MHz分频产生)
P51MHz
P6100KHz
P75KHz
P8100Hz
二、4位功能管脚说明:
PORTBEP1C12leftright对应标识
41—>162—>77—>49—>VGA[0]
42—>161—>78—>50—>VGA[1]
43—>164—>79—>51—>VGA[2]
44—>163—>80—>52—>VGA[3]
left表示EDA-VI主板左边的CPLDEPM1270,right表示EDA_VI主板右边的CPLDEPM1270
VGA[3..0]000116位拨码开关接到16位数据总线上;
0010左端8个数码管,低8位为7位段总加小数点选取位,高8位为8个数码管com端选取,即如果要选取数码管0,则发送总线值为:
1111111011111111,如要选取数码管1,则发送总线值为:
1111110111111111.此时所选数码管7段和DP位将全部亮;
01014X4键盘功能选取,此时只有最低的8位有效,高4位为键盘的4位行扫描输出,低4位为键盘的4位列查询输入;
011016X16LED点阵显示功能选取,16位数据总线作为点阵的行值,4位地址对应列值编码,(底板上已经过译码).4位地址分别对应E-Play-SOPC主适配器上外扩总线地址的ADDRESS[4..1];
除以上4种状态外的其它状态,均为总线方式操作。
在做基本的CPLD实验时,如果用到EDA-VI底板的资源时,一定要设置VGA[3..0]4位功能位,并且设置值一定要与上述功能对应,如不对应有可能对硬件造成损伤。
当实验用到的拨码,按键,LED小于5位时,可以使用E-Play-SOPC适配器上的资源,当实验中的资料仅使用到E-Play-SOPC适配器就可以完成时,可以不设置VGA[3..0]。
约定:
在实验接线方式中,如果a为n位宽的数据的线,那么写为a0~a(n-1)与直接写为a等效;如果要表示a0到a(n-3)共n-2位宽的数据线,刚必须写为a0~a(n-3)的方式。
本实验教程适合达盛科技有限公司EDA-VI(E1P1C12与EP2C35)实验平台,在本实验教程中没有特别说明时,对两种硬件平台都合适,即E1P1C12与EP2C35都能完成同样的功能,对于EP2C35不同之处都一一列出说明详细过程。
另外:
由于核心板子改动,LED和BUTTON的标识号不一样。
对EP1C12,是LED0-LED3,PB0-PB3;拨码开关S0~S3
对EP2C35,是LED1-LED4,PB1-PB4;无拨码开关
软件平台:
对于E1P1C12,提供的工程文件以AlteraQuartusII5.1为软件平台开发,对于EP2C35,提供的工程文件以AlteraQuartusII6.1或6.0为软件平台开发。
考虑到实验的全面性,大部分实验的程序都提供了Verilog代码和VHDL代码
实验一组合逻辑3-8译码器的设计
说明:
本书将以实验一为例详细介绍altera公司QuartusII5.0版本软件的基本应用,其它实验将不再赘述。
读者在通过本实验后将对QuartusII软件及CPLD/FPGA的设计与应用有一个比较完整的概念和思路。
此书因篇幅有限,仅仅介绍了QuartusII软件的最基本、最常用的一些基本功能,相信读者在熟练使用本软件以后,你定会发现该软件还有好多非常方便、快捷、灵活的设计技巧与开发功能。
由于编者能力有限,不详之处再所难免,我们希望得到您的谅解与指正。
一、实验目的:
1、通过3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步了解可编程器件设计的全过程。
二、实验步骤:
1、打开QuartusII软件。
2、选择路径。
选择File/NewProjectWizard,指定工作目录,指定工程和顶层设计实体名称;
注意:
工作目录名不能有中文。
3、添加设计文件。
将设计文件加入工程中。
单击“Next”,如果有已经建立好的VHDL或者原理图等文件可以在Filename中选择路径然后添加,或者选择AddAll添加所有可以添加的设计文件(.VHDL,.Verilog原理图等)。
如果没有直接点击“Next”,等建立好工程后再添加也可,这里我们暂不添加。
4、选择FPGA器件。
Family选择CycloneII,Availabledevice选择EP2C35F484C8,Packge选择Any,PinCount选择484,Speedgrade选择Any;点击“Next”。
5、选择外部综合器、仿真器和时序分析器。
QuartusII支持外部工具,可通过选中来指定工具的路径。
这里我们不做选择,默认使用QuartusII自带的工具。
6、结束设置。
单击“Next”,弹出“工程设置统计”窗口,上面列出了工程的相关设置情况。
最后单击“Finish”,结束工程设置。
7、建立原理图文件。
如果在建立工程时没有添加设计文件,这时可以新建文件再添加。
也可通过选择Project/Add/RemoveFilesInProject来添加外部文件。
8、添加文件到工程中。
点击“OK”,并选择File/SaveAs,选择和工程相同的文件名。
点击“保存”,文件就被添加进工程当中。
9、原理图建立完毕。
这时,可以开始在原理图上进行设计了。
提示:
用户可以在打开QuartusII后直接建立原理图或者VHDL文件,选择SaveAs,系统会提示是否要保存为工程文件,选择建立工程文件,也可进入工程文件建立流程。
10、添加器件。
按照3-8译码器的电路图添加器件并连线。
可以看到在下图中,左下角处已添加4位功能选择位,设置状态为0001,即16位拨码开关接到16位数据总线上。
11、预编译。
选择Processing/Start/StartAnalysis&Synthesis,进行综合。
12、添加管脚信息。
当综合完成后,网表信息才会生成。
选择Assignments/AssignmentEditor在Edit中选择NodeFider,在NodeFider中选择List显示所有节点信息,然后全部选中。
13、为每个节点分配引脚。
EP1C12器件
EP2C35器件
14、全局编译。
15、下载。
下载可以选择JTAG方式和AS方式(JTAG下载方式把文件直接下载到FPGA里面,AS下载方式把文件下载到配置芯片里面,因此可以掉电存储)。
选择Tool/Programmer,选择JTAG下载方式,选择AddFile,添加.sof文件(AS下载选择.pof文件)并选中Program/Configure,点击“Start”后开始下载。
第一次使用下载时,首先点击“HardwareSetup...”,打开HardwareSetup对话框,然后点击AddHardware,选择ByteBlasterII后单击”SelectHardware”,选择下载形式为ByteBlasterII。
三、功能仿真验证
在下载程序之前可以利用QuartusII的强大功能,对所设计的工程进行功能仿真验证或时序仿真验证。
从菜单File-New中选择创建VectorWaveformFile,如下图所示。
在新的波形文件中选入需要验证的引脚,通过在左边窗栏理点击鼠标右键,选InsertNodeorBus..,在打开的对话框中点击List,选择所要观察的信号引脚,设置引脚的信号值,如下图所示。
点击保存Save.
在Settings对话框中,选中SimulatorSettings选择页,设置Function类型仿真,并将新创建的波形文件当作仿真输入,如下图所示:
设置完毕之后,点击Processing->GenerateFunctionalSimulatorNetList,生产网表文件之后,点击StartSimulator,进行功能仿真,然后验证逻辑功能是否正确。
四、实验接线及说明
A、B、C、G1、G2AN、G2BN分别对应EDA-VI实验箱底板SW1—SW6
Y0N—Y7N分别对应EDA-VI实验箱底板IO9—IO16
用导线将IO9—IO16与8位LEDL1—L8相连,LED为低电平点亮
功能选择位VGA[3..0]状态为0001,即16位拨码SW1—SW16被选中输出到总线D[15..0]
控制拨码开关SW1—SW6,观察L1—L8显示状态是否与预期输出结果一置。
五、实验记录
控制端口
输入数据
输出数据
G1
G2AN
G2BN
A
B
C
Y0N
Y1N
Y2N
Y3N
Y4N
Y5N
Y6N
Y7N
实验二组合逻辑电路的设计
一、实验目的
1.掌握组合逻辑电路的设计方法。
2.掌握组合逻辑电路的静态测试方法。
3.加深PLD设计的过程,并比较原理图输入和文本输入的优劣。
二、实验内容
1.设计一个四舍五入判别电路,其输入为8421BCD码,要求当输大于或等于5时,判别电路输出为1,反之为0。
2.设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮;断任一开关,灯灭。
(即任一开关的合断改变原来灯亮灭的状态)
3.设计一个优先权排队电路,其框图如下:
排队顺序:
A=1最高优先级
B=1次高优先级
C=1最低优先级
要求输出端最高只能有一端为“1”,即只能是优先级较高的输入端所对应的输出端为“1”。
三、实验连线
1、四位拔码开关连D3,D2,D1,D0信号对应的管脚。
OUT输出信号管脚接LED灯。
D0~D3对应SW1—SW4
OUT对应IO9,(IO9用导线连接L1)
功能选择位VGA[3..0]状态为0001,即16位拨码SW1—SW16被选中输出到总线D[15..0]
2、四位按键开关分别连K1,K2,K3,K4信号对应的管脚。
OUT输出信号管脚接LED灯。
K0~K3对应SW1—SW4
OUT对应IO9,(IO9用导线连接L1)
功能选择位VGA[3..0]状态为0001,即16位拨码SW1—SW16被选中输出到总线D[15..0]
3、A、B、C信号对应管脚分别连三个按键开关。
输出A_OUT,B_OUT,C_OUT信号对应的管脚分别连三个LED灯。
A、B、C分别对应SW1—SW3
A_OUT、B_OUT、C_OUT分别对应IO9—IO11,(IO9—IO11用导线连接L1—L3)
功能选择位VGA[3..0]状态为0001,即16位拨码SW1—SW16被选中输出到总线D[15..0]
注意:
电路板中LED灯亮标识1还是灯灭标识1,根据程序中的设置而定。
四、实验原理(供教师参考)
1.原理图如图2.1.1
图:
2.1.1
2.原理图:
图2.2.1
3.原理图:
图2.3.1
实验三触发器功能的模拟实现
一、实验目的
1.掌握触发器功能的测试方法。
2.掌握基本RS触发器的组成及工作原理。
3.掌握集成JK触发器和D触发器的逻辑功能及触发方式。
4.掌握几种主要触发器之间相互转换的方法。
二、实验内容
将基本RS触发器,同步RS触发器,集成J-K触发器,D触发器同时集成一个芯片中,模拟其功能,并研究其相互转化的方法。
本实验不提供工程文件,请学生按照原理图自行完成。
实验原理如图32-1:
图3-1
电路中各个触发器的仿真波形图如下:
图3-2RS触发器仿真波形图
图3-3RS锁存器仿真波形图
图3-4JK触发器仿真波形图
图3-5D触发器仿真波形图
三、实验连线
输入信号Sd、Rd对应的管脚接按键开关,CLK接时钟源(频率在1Hz左右);输入信号J,K,D,R,S对应的管脚分别接拨码开关;输出信号QRS,NQRS,QRSC,NQRSC,QJK,NQJK,QD,NQD对应管脚分别接LED灯。
Sd、Rd、S、R、J、K、D、CLK分别对应SW1—SW8
QRS、NQRS、QRSC、NQRSC、QJK、NQJK、QD、NQD分别对应IO9—IO16,用导线连接IO9—IO16与L1—L8。
功能选择位VGA[3..0]状态为0001,即16位拨码SW1—SW16被选中输出到总线D[15..0]
另外准备几根连线,在改变为T‘触发’器时,短接相应管脚,或连接“0”“1”电平。
四、实验报告:
填下述表格表一,表二,表三,表四。
表一:
RS寄存器
RdSd
Q
NQ
说明
01
10
11
00
表二:
RS锁存器
R
S
CLK
Rd
Sd
Qn
Qn+1
Qn-1
说明
X
X
X
1
0
X
X
X
0
1
X
X
X
0
0
X
X
0
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
1
表三:
JK触发器
J
K
CLK
Rd
Sd
Qn
Qn+1
NQn+1
X
X
X
0
1
X
X
X
1
0
X
X
X
0
0
X
X
0
1
1
X
X
1
1
1
0
0
※
1
1
0
1
※
1
1
1
0
1
1
1
1
1
1
表四:
D触发器
INPUTS
OUTPUTS
D
CLK
Rd
Sd
Q
NQ
X
X
X
X
X
0
1
X
X
X
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
分别将JK触发器和D触发器接成T触发器,模拟其工作状态,并画出其波形。
实验四扫描显示电路的驱动
一、实验目的
了解教学系统中8位八段数码管显示模块的工作原理,设计标准扫描驱动电路模
块,以备后面实验调用。
二、实验内容
1.用拨码开关产生8421BCD码,用FPGA产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后进行设计实现,适配化分。
调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。
2.编一个简单的从0~F轮换显示十六进制数的电路。
(样例程序为综合程序)
三、实验原理
四位拔码开关提供8421BCD码,经译码电路后成为8段数码管的字形显示驱动信号。
(A…G)扫描电路通过可调时钟输出片选地址SEL[2..0]。
由SEL[2..0]和A…G决定了8位中的哪一位显示和显示什么字形。
SEL[2..0]变化的快慢决定了扫描频率的快慢。
T33-1.gdf原理图示
2.T33-2.GDF(时钟频率<2HZ,如下图所示)
T33-2.GDF原理图示
四、实验连线
Reset对应CPU板上的PB1。
Clk对应EDA-VI底板的IO3,用导线将IO3与IO_CLK相连,拨动SW17—SW20改变时钟频率。
功能选择位VGA[3..0]状态为0010,左端8个数码管,低8位为7位段加小数点选取位,高8位为8个数码管com端选取,即如果要选取数码管0,则发送总线值为:
1111111011111111,如要选取数码管1,则发送总线值为:
1111110111111111.此时所选数码管7段和DP位将全部亮;
调整SW17—SW20,观察数码管显示的变化。
Sel0-Sel7:
DB8-DB15;a-g,dp:
DB0-DB6,DB7
附:
译码器DELED的源代码
SUBDESIGNdeled
(
num[3..0]:
INPUT;
a,b,c,d,e,f,g:
OUTPUT;
)
BEGIN
TABLE
num[3..0]=>a,b,c,d,e,f,g;
H"0"=>1,1,1,1,1,1,0;
H"1"=>0,1,1,0,0,0,0;
H"2"=>1,1,0,1,1,0,1;
H"3"=>1,1,1,1,0,0,1;
H"4"=>0,1,1,0,0,1,1;
H"5"=>1,0,1,1,0,1,1;
H"6"=>1,0,1,1,1,1,1;
H"7"=>1,1,1,0,0,0,0;
H"8"=>1,1,1,1,1,1,1;
H"9"=>1,1,1,1,0,1,1;
H"A"=>1,1,1,0,1,1,1;
H"B"=>0,0,1,1,1,1,1;
H"C"=>1,0,0,1,1,1,0;
H"D"=>0,1,1,1,1,0,1;
H"E"=>1,0,0,1,1,1,1;
H"F"=>1,0,0,0,1,1,1;
ENDTABLE;
END;
实验五、六计数器及时序电路
一、实验目的
1.了解时序电路的经典设计方法(D触发器和JK触发器和一般逻辑门组成的时序逻辑电路)。
2.了解通用同步计数器,异步计数器的使用方法。
3.了解用同步计数器通过清零阻塞法和预显数法得到循环任意进制计数器的方法。
4.理解时序电路和同步计数器加译码电路的联系,设计任意编码计数器。
5.了解同步芯片和异步芯片的区别。
二、实验内容
1.用D触发器设计异步四位二进制加法计数器。
2.用JK触发器设计异步二一十进制减法计数器。
3.用74LS161两个宏连接成八位二进制同步计数器。
4.用74LS390两个宏连接成八位二一十进制异步计数器。
5.用74LS161用清零和置数法组成六进制和十二进制计数器。
6.分别用D触发器和同步计数器加译码电路的方法构成7进制电路实现如下编码:
0,2,5,3,4,6,1。
三、实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 实验 指导书