《可编程逻辑设计与应用》实验指导.docx
- 文档编号:5478734
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:54
- 大小:530.49KB
《可编程逻辑设计与应用》实验指导.docx
《《可编程逻辑设计与应用》实验指导.docx》由会员分享,可在线阅读,更多相关《《可编程逻辑设计与应用》实验指导.docx(54页珍藏版)》请在冰点文库上搜索。
《可编程逻辑设计与应用》实验指导
可编程逻辑设计与应用
实验指导书
电子与信息工程学院
二○○九年
实验一MAX+plusⅡ软件的使用
1-1实验目的
通过该实验掌握MAX+plusⅡ工具软件的使用方法,掌握原理图输入设计法和文本输入设计法,以及编译和仿真的操作方法。
1-2实验内容
分别用原理图输入设计法和文本输入设计法来设计3-8线译码器,在MAX+plusⅡ工具软件平台上完成设计电路的输入编辑、编译、仿真等操作。
1-3实验要求
1.编写3-8线译码器VHDL源程序。
2.编写用于仿真的测试文件。
3.记录系统仿真结果。
实验二8位加法器的设计
2-1实验目的
(1)学习EDA实验开发系统的基本使用方法
(2)了解VHDL程序的基本结构
2-2实验原理
加法器是数字系统中的基本逻辑器件,减法器和硬件乘法器都可由加法器来构成。
多位加法器的构成有两种方式:
并行进位和串行进位方式。
并行进位加法器设有进位产生逻辑,运算速度较快;串行进位方式是将全加器级联构成多位加法器。
并行进位加法器通常比串行级联加法器占用更多的资源。
随着位数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大。
因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。
实践证明,4位二进制并行加法器和串行级联加法器占用几乎相同的资源。
这样,多位加法器由4位二进制并行加法器级联构成是较好的折中选择。
本设计中的8位二进制并行加法器即是由两个4位二进制并行加法器级联而成的,其电路原理图如图2.1所示。
图2.18位加法器电路原理图
2-3实验内容
1.根据实验原理编写各个模块VHDL源程序,并加以简要说明。
2.编好用于系统仿真的测试文件。
3.硬件逻辑验证
选择实验电路结构图NO.1,由实验箱电路结构图NO.1和图2.1确定引脚的锁定。
如可取实验电路结构图的PIO3~PIO0接A[3..0],PIO7~PIO4接A[7..4],PIO11~PIO8接B[3..0],PIO15~PIO12接B[7..4],PIO49接CIN。
此加法器的被加数A和加数B分别由键2与键1、键4与键3输入,加法器的最低位进位CIN由键8输入,计算结果将分别通过PIO23~PIO20,PIO19~PIO16输出并显示于数码管6(高4位)和数码管5(低4位),溢出进位由PIO39输出,当有进位时,结果显示于发光管D8。
4.记录系统仿真、硬件验证结果。
实验三序列检测器的设计
3-1实验目的
(1)学习EDA实验开发系统的基本使用方法
(2)了解VHDL程序的基本结构
3-2实验原理
序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,这在数字通信领域有广泛的应用。
当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
如图3.1所示,当一串待检测的串行数据进入检测器后,若此数在每一位的连续检测中都与预置的密码数相同,则输出“A”,否则仍然输出“B”。
图3.18位序列检测器逻辑图
3-3实验内容
1.根据实验原理编写各个模块VHDL源程序,并加以简要说明。
2.编好用于系统仿真的测试文件。
3.硬件逻辑验证
选择实验电路结构图NO.8,由实验电路结构图NO.8和图3.1确定引脚的锁定。
待检测串行序列数输入DIN接PIO10(左移,最高位在前),清零信号CLR接PIO8,工作时钟CLK接PIO9,预置位密码D[7..0]接PIO7~PIO0,指示输出AB[3..0]接PIO39~PIO36(显示于数码管6)。
进行硬件验证时方法如下:
①选择实验电路结构图NO.8,按实验板“系统复位”键;②用键2和键1输入两位十六进制待测序列数;③利用键4和键3输入两位十六进制预置码;④按键8,高电平初始化清零,低电平清零结束(平时数码6应显“B”);⑤按键6(CLK)8次,这时若串行输入的8位二进制序列码与预置码相同,则数码7应从原来的“B”变成“A”,表示序列检测正确,否则仍为“B”。
。
4.记录系统仿真、硬件验证结果。
实验四数字频率计的设计
4-1实验目的
(1)学习EDA实验开发系统的基本使用方法
(2)了解VHDL程序的基本结构
4-2实验原理
图4.1是8位十进制数字频率计的电路逻辑图,它由一个测频控制信号发生器TESTCTL、8个有时钟使能的十进制计数器CNT10、一个32位锁存器REG32B组成。
以下分别叙述频率计各逻辑模块的功能与设计方法。
图4.18位十进制数字频率计逻辑图
1)测频控制信号发生器设计
频率测量的基本原理是计算每秒钟内待测信号的脉冲个数。
这就要求TESTCTL的计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器CNT10的ENA使能端进行同步控制。
当TSTEN高电平时,允许计数;低电平时,停止计数,并保持其所计的数。
在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B中,并由外部的7段译码器译出并稳定显示。
锁存信号之后,必须有一清零信号CLR_CNT对计数器进行清零,为下1秒钟的计数操作作准备。
测频控制信号发生器的工作时序如图4.2所示。
为了产生这个时序图,需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上沿到来时其值翻转。
其中控制信号时钟CLK的频率取1Hz,而信号TSTEN的脉宽恰好为1s,可以用作闸门信号。
此时,根据测频的时序要求,可得出信号LOAD和CLR_CNT的逻辑描述。
由图4.2可见,在计数完成后,即计数使能信号TSTEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0.5s后,CLR_CNT产生一个清零信号上跳沿。
高质量的测频控制信号发生器的设计十分重要,设计中要对其进行仔细的实时仿真(TIMINGSIMULATION),防止可能产生的毛刺。
图4.2测频控制信号发生器工作时序
2)寄存器REG32B设计
设置锁存器的好处是,显示的数据稳定,不会由于周期性的清零信号而不断闪烁。
若已有32位BCD码存在于此模块的输入口,在信号LOAD的上升沿后即被锁存到寄存器REG32B的内部,并由REG32B的输出端输出,然后由实验板上的7段译码器译成能在数码管上显示输出的相对应的数值。
3)十进制计数器CNT10的设计
如图4.1所示,此十进制计数器的特殊之处是,有一时钟使能输入端ENA,用于锁定计数值。
当高电平时计数允许,低电平时禁止计数。
4-3实验内容
1.根据实验原理编写各个模块VHDL源程序,并加以简要说明。
2.编好用于系统仿真的测试文件。
3.硬件逻辑验证
选择实验电路结构图NO.0,由实验箱的电路结构图NO.0和图4.1确定引脚的锁定,测频控制器时钟信号CLK(1Hz)可接CLOCK1,待测频FSIN可接CLOCK0,8位数码显示输出DOUT[31..0]接PIO47~PIO16。
进行硬件验证时方法如下:
选择实验模式0,测频控制器时钟信号CLK与CLOCK1信号组中的1Hz信号相接,待测频FSIN与CLOCK0信号组中的某个信号相接,数码管应显示来自CLOCK0的频率。
4.记录系统仿真、硬件验证结果。
实验五数字秒表的设计
5-1实验目的
(1)学习EDA实验开发系统的基本使用方法
(2)了解VHDL程序的基本结构
5-2实验原理
今需设计一个计时范围为0.01秒~1小时的秒表,首先需要获得一个比较精确的计时基准信号,这里是周期为1/100s的计时脉冲。
其次,除了对每一计数器需设置清零信号输入外,还需在6个计数器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起停控制开关。
因此秒表可由1个分频器、4个十进制计数器(1/100秒、1/10秒、1秒、1分)以及2个六进制计数器(10秒、10分)组成,如图5.1所示。
6个计数器中的每一计数器的4位输出,通过外设的BCD译码器输出显示。
图5.1中6个4位二进制计数输出的最小显示值分别为:
DOUT[3..0]1/100秒、DOUT[7..4]1/10秒、DOUT[11..8]1秒、DOUT[15..12]10秒、DOUT[19..16]1分、DOUT[23..20]10分。
图5.1数字秒表电路逻辑图
5-3实验内容
1.根据实验原理编写各个模块VHDL源程序,并加以简要说明。
2.编好用于系统仿真的测试文件。
3.硬件逻辑验证
选择实验电路结构图NO.0,由实验箱的电路结构图NO.0和图5.1确定引脚的锁定。
时钟信号CLK可接CLOCK0,计数清零信号接键1,计数使能信号接键2,数码管1~6分别显示以1/100s、1/10s、1s、10s、1min、10min为计时基准的计数值。
进行硬件验证时方法如下:
选择实验模式0,时钟信号CLK与CLOCK0信号组中的3MHz信号相接,键1和键2分别为计数清零信号和计数使能信号,计数开始后时间显示在6个数码管上。
4.记录系统仿真、硬件验证结果。
实验六交通灯信号控制器的设计
6-1实验目的
(1)学习EDA实验开发系统的基本使用方法
(2)了解VHDL程序的基本结构
6-2实验原理
设交通灯信号控制器用于主干道与支道的交叉路口,要求是优先保证主干道的畅通。
因此,平时处于“主干道绿灯,支道红灯”状态,只有在支道有车辆要穿行主干道时,才将交通灯切向“主干道红灯,支道绿灯”,一旦支道无车辆通过路口,交通灯又回到“主干道绿灯,支道红灯”的状态。
具体要求如下:
1.有MR(主红)、MY(主黄)、MG(主绿)、CR(支红)、CY(支黄)、CG(支绿)六盏交通灯需要控制;
2.交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间;
3.系统有MRCY、MRCG、MYCR、MGCR四个状态;
4.当有车辆通过支道时,发出请求信号S;
5.平时系统停留在MGCR状态,一旦S信号有效,经MYCR转入MRCG状态,但要保证MGCR状态也不得短于一分钟;(改10s)
6.一旦S信号无效,系统脱离MRCG状态。
随即经MRCY转入进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟。
(改6s)
6-3实验内容
1.根据实验原理编写交通灯控制器VHDL源程序,并加以简要说明。
2.编好用于系统仿真的测试文件。
3.硬件逻辑验证
时钟脉冲CLK可接CLOCK0(1Hz),主干道和支道红、黄、绿灯驱动信号MR、MY、MG和CR、CY、CG分别接D8~D6和D3~D1。
进行硬件验证时方法如下:
选择实验模式5,时钟脉冲与CLOCK0信号组中的1Hz信号相接,在对应的按键处施加相应的信号,发光二极管D1~D3、D8~D6则按控制要求显示相应的信号。
4.记录系统仿真、硬件验证结果。
附录一GW48-CK教学实验系统原理与使用介绍
一、GW48-CK系统使用注意事项
a:
闲置不用GW48-CKEDA系统时,关闭电源,拔下电源插头!
!
!
b:
EDA软件安装方法可参见光盘中相应目录中的中文README.TXT;详细使用方法可参阅本书或《VHDL实用教程》中的相关章节。
c:
在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该模式工作。
d:
换目标芯片时要特别注意,不要插反或插错,也不要带电插拔,确信插对后才能开电源。
其它接口都可带电插拔(当适配板上的10芯座处于左上角时,为正确位置)。
e:
惟独进行DAC0832接口实验,需外接-/+12V电源,接入时,请特别注意极性!
f:
系统板上的空插座是为单片机AT89C2051准备的,除非进行单片机与FPGA/CPLD的接口实验和开发,平时在此座上不允许插有任何器件,以免与系统上的其它电路发生冲突。
单片机与系统的连接情况可参阅以下的附图2-13。
该单片机和相应的编程器需自备或另购。
g:
对CPLD(如1032E/1048C、95108或7128S等)下载时。
最好将系统的电路“模式”切换到“b”,以便使工作电压尽可能接近5V。
h:
最好通过对PC机的CMOS的设置,将打印机口的输入输出模式改成“EPP”模式。
i:
GW48-CK详细使用方法可参见教学软件:
EDA-VHDL多媒体CAI.ppt
附图1-1B、GW48系统目标板插座引脚信号图
二、系统工作原理
附图1-1A为GW48-CK型EDA实验开发系统的板面结构图,附图1-2为其功能结构模块图。
图中所示的各主要功能模块对应于附图1-1A的器件位置恰好处于目标芯片适配座B2的下方,由一微控制器担任。
其各模块的功能分述如下(这部分内容可以不看):
附表1-1在线编程坐各引脚与不同PLD公司器件编程下载接口说明
PLD公司
LATTICE
ALTERA/ATMEL
XILINX
VANTIS
编程座
引脚
IspLSI
CPLD
FPGA
CPLD
FPGA
CPLD
TCK
(1)
SCLK
TCK
DCLK
TCK
CCLK
TCK
TDO(3)
MODE
TDO
CONF_DONE
TDO
DONE
TMS
TMS(5)
ISPEN
TMS
nCONFIG
TMS
/PROGRAM
ENABLE
nSTA(7)
SDO
nSTATUS
TDO
TDI(9)
SDI
TDI
DATA0
TDI
DIN
TDI
SEL0
GND
VCC*
VCC*
GND
GND
VCC*
SEL1
GND
VCC*
VCC*
VCC*
VCC*
GND
注:
VCC旁的*号对混合电压FPGA/CPLD,应该是VCCIO
(1)BL1:
实验或开发所需的各类基本信号发生模块。
其中包括最多至8通道的单次脉冲信号发生器、高低电平信号发生器、BCD码或16进制码(8421码)信号发生器。
所有这些信号的发生主要由BL6主控单元产生,并受控于系统板上的8个控制键。
附图1-2、GW48实验/开发系统功能结构图
(2)BL5:
CPLD/FPGA输出信息显示模块,其中包括直通非译码显示、BCD七段译码显示、16进制全码七段译码显示、两组8位发光管显示、16进制输入信号显示指示、声响信号指示等。
同样,所有这些显示形式及形式的变换皆由BL6转换和独立控制。
(3)在BL6的监控程序中安排了多达12种形式各异的信息矢量分布,即“电路重构软配置”。
由此可见,虽然GW48系统从硬件结构上看,是一个完全固定下来的实验系统,但其功能结构却等同于12套实验接口迥异的实验系统(参见第二节)。
(4)BL3:
此模块主要是由一目标芯片适配座以及上面的CPLD/FPGA目标芯片和编程下载电路构成。
通过更换目标板,就能对多种目标芯片进行实验。
(5)BL6使GW48系统的应用结构灵活多变,实际应用中,该模块自动读取BL7的选择信息,以确定信息矢量分布。
实验前,可根据实验类型,以及所需的CPLD/FPGA目标芯片的I/O接口位置,从14张实验电路结构图(第二节)中找到相适应的实验系统功能结构,并将该图的编号键入BL7,系统即刻进入了所需要的接口和实验模式。
三、GW48-CK系统主板结构与使用方法
附图1-1A为GW48-CK型EDA实验开发系统的主板结构图,该系统的实验电路结构是可控的。
即可通过控制接口键SW9,使之改变连接方式以适应不同的实验需要。
因而,从物理结构上看,实验板的电路结构是固定的,但其内部的信息流在主控器的控制下,电路结构将发生变化。
这种“电路重构软配置”设计方案的目的有3个:
1.适应更多的实验与开发项目;2.适应更多的PLD公司的器件;3.适应更多的不同封装的FPGA和CPLD器件。
系统板面主要部件及其使用方法说明如下(请参看附图1-1A):
(1)SW9:
按动该键能使实验板产生12种不同的实验电路结构。
这些结构如第二节的14张实验电路结构图所示。
例如选择了“NO.3”图,须按动系统板上的SW9键,直至数码管SWG9显示“3”,于是系统即进入了NO.3图所示的实验电路结构。
(2)B2:
这是一块插于主系统板上的目标芯片适配座。
对于不同的目标芯片可配不同的适配座。
可用的目标芯片包括目前世界上最大的六家FPGA/CPLD厂商几乎所有CPLD、FPGA和所有ispPAC等模拟EDA器件。
第三节的表中已列出多种芯片对系统板引脚的对应关系,以利在实验时经常查用。
(3)J3B/J3A:
如果仅是作为教学实验之用,系统板上的目标芯片适配座无须拔下,但如果要进行应用系统开发、产品开发、电子设计竞赛等开发实践活动,在系统板上完成初步仿真设计后,就有必要将连有目标芯片的适配座拔下插在自己的应用系统上(如GWDVP板)进行调试测试。
为了避免由于需要更新设计程序和编程下载而反复插拔目标芯片适配座,GW48系统设置了一对在线编程下载接口座:
J3A和J3B。
此接口插座可适用于不同的FPGA/CPLD(注意,1、此接口仅适用于5V工作电源的FPGA和CPLD;2、5V工作电源必须由被下载系统提供)的配置和编程下载。
对于低压FPGA/CPLD,(如EP1K30/50/100、EPF10K30E等,都是2.5V器件),下载接口座必须是另一座:
ByteBlasterMV。
(4)混合工作电压使用:
对于低压FPGA/CPLD目标器件,在GW48系统上的设计方法与使用方法完全与5V器件一致,只是要对主板的跳线作一选择:
跳线JV2对芯核电压2.5V或1.8V作选择;附图1-1A
跳线JVCC对芯片I/O电压3.3V(VCCIO)或5V(VCC)作选择,对5V器件,必须选“VCC”。
例如,若系统上插的目标器件是EP1K30/50/100或EPF10K30E/50E等,要求将主板上的跳线座“JVCC”短路帽插向“VCCIO”一端;将跳线座“JV2”短路帽插向“+2.5V”一端(如果是5V器件,跳线应插向“VCC”)。
(5)J2:
此接口通过下载线与微机的打印机口相连。
来自PC机的下载控制信号和CPLD/FPGA的目标码将通过J2口,完成对B2上的目标芯片的编程下载。
编程电路模块能自动识别不同的CPLD/FPGA芯片,并作出相应的下载适配操作。
(6)键1~键8:
为实验信号控制键,它在每一张电路图中的功能及其与主系统的连接方式随SW9的模式选择而变,使用中需参照第二节中的电路图。
(7)数码管1~8/发光管D1~D16:
它们的连线形式也需参照第二节的电路图。
GW48-CK实验开发系统的板面结构图
(8)JP1A/JP1B/JP1C:
为时钟频率选择模块。
通过短路帽的不同接插方式,使目标芯片获得不同的时钟频率信号。
对于JP1C,同时只能插一个短路帽,以便选择输向“CLOCK0”的一种频率。
由于CLOCK0可选的频率比较多,所以比较适合于目标芯片对信号频率或周期测量等设计项目的信号输入端。
JP1B分三个频率源组,即如系统板所示的“高频组”、“中频组”和“低频组”。
它们分别对应三组时钟输入端。
例如,将三个短路帽分别插于JP1B座的2Hz、1024Hz和12MHz;而另三个短路帽分别插于JP1A座的CLOCK4、CLOCK7和CLOCK8,这时,输向目标芯片的三个引脚:
CLOCK4、CLOCK7和CLOCK8分别获得上述三个信号频率。
需要特别注意的是,每一组频率源及其对应时钟输入端,分别只能插一个短路帽。
也就是说,通过JP1A/B的组合频率选择,最多只能提供三个时钟频率。
(9)S1:
目标芯片的声讯输出,可以通过在JP1B最上端是否插短路帽来选择是否将喇叭接到目标芯片的“SPEAKER”口上,即PIO50。
通过此口可以进行奏乐或了解信号的频率。
(10)J7:
为PS/2接口。
通过此接口,可以将PC机的键盘或鼠标与GW48系统的目标芯片相连,从而完成PS/2通信与控制方面的接口实验。
连接方式参见电路结构“NO.5B”。
(11)J6:
为VGA视频接口,通过它可完成目标芯片对VGA显示器的控制。
(12)单片机接口器件:
它与目标板的连接方式也已标于主系统板上:
连接方式可参见第2节的“实验电路结构NO.5B”。
注意:
平时不能插单片机,以防冲突。
(13)J8:
为RS-232串行通讯接口。
此接口电路是为单片机与PC机通讯准备的,由此可以使PC机、单片机、FPGA/CPLD三者实现双向通信。
当目标板上FPGA/CPLD器件需要直接与PC机进行串行通讯时,可参见实验电路结构图NO.5B,将标有“JMCU”处的两个插座的短路帽同时向右插,以使单片机的P3.0和P3.1分别与目标芯片的PIO31和PIO30相接。
而当需要使PC机的RS232串行接口与单片机的P3.0和P3.1口相接时,则应将标有“JMCU”处的两个插座的短路帽同时向左插(平时不用时也应保持这个位置)。
(14)AOUT/JP2:
利用此电路模块,可以完成FPGA/CPLD目标芯片与D/A转换器的接口实验或相应的开发。
它们之间的连接方式可参阅第二节的“实验电路结构NO.5C”:
D/A的模拟信号的输出接口是“AOUT”。
JP2为转换方式和输出方式选择座。
如系统板于JP2处所示:
1、当短路“D/A锁存”时,则D/A的信号WR将受PIO36信号的控制,完成数据锁存的输入方式;2、当短路“D/A直通”,则D/A的信号WR不受PIO36信号的控制,数据将直通输入;3、当短路“0to+5”时,D/A的模拟输出幅度处于0至+12V间;4、当短路“-5to+5”时,D/A的模拟输出幅度处于-12V至+12V间;5、当分别短路“滤波0”与“滤波1”时,D/A的模拟输出将获得不同程度的滤波效果。
另外须注意,进行D/A接口实验时,需要接上正负12伏工作电源,插座在主板的左上角,请注意极性。
(15)ADC0809/AIN0/AIN1:
外界模拟信号可以分别通过系统板左下侧的两个输入端“AIN0”和“AIN1”进入A/D转换器ADC0809的输入通道IN0和IN1,ADC0809与目标芯片直接相连。
通过适当设计,目标芯片可以完成对ADC0809的工作方式确定、输入端口选择、数据采集与处理等所有控制工作,并可通过系统板提供的译码显示电路,将测得的结果显示出来。
此项实验首先需参阅第二节的“实验电路结构NO.5A”有关0809与目标芯片的接口方式,同时了解系统板上的接插方法以及有关0809工作时序和引脚信号功能方面的资料。
注意:
不用0809时,需将左下角JP2的“A/D禁止”用短路帽短接。
(16)JP2(左下角座):
若将插座JP2的“A/D使能”短路、“A/D禁止”开路,则将ENABLE(9)与PIO35相接;若使“A/D使能”开路、“A/D禁止”短路,则使ENABLE(9)0,表示禁止0809工作,使它的所有输出端为高阻态。
若将插座JP2的“转换结束”短路,则使EOC(7)PIO36,由此可使目标芯片对ADC0809的转换状态进行测控。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程逻辑设计与应用 可编程 逻辑设计 应用 实验 指导