1、电子设计自动化实验指导书汇总电子设计自动化实验指导书江苏师范大学物理与电子工程学院2013-10-6第一章 CPLDEE-4型实验箱及配套软件简介1.1 系统基本特征 配备:本实验箱配有三家公司(altera低电压1k系列(3万门以上)、lattice的ispLSI1032E70LJ84、xilinx的xc95108系列)芯片下载板,适用范围广泛。 资源:芯片门数最多达到10万门(ACEX1K100),管脚可达208脚。 编辑方式有图形编辑,文本编辑,波形编辑,混合编辑等方式, 硬件描述语言有AHDL,VHDL,Verilog-HDL等语言。 主板功能: 配有模拟可编程器件ispPAC器件系列
2、,突破传统的EDA实验箱一般只做数字电路实验的模式,用户可以在实验箱上通过我们的模拟可编程器件进行一些模拟电子电路(运算放大器)的开发训练。 实验箱配有10个数码管,(包括6个并行扫描数码管和4个串行扫描数码管)。 16个数据开关,4个脉冲开关,数据开关和脉冲开关可配合使用,也可单独使用。 AD转换,采用双AD转换,有我们平常所熟悉的8位AD转换器ADC0809,还有高位数的12位AD转换器MAX196。 DA转换器,采用学生所熟知的芯片DAC0832. 通用小键盘,本实验箱提供16个微动开关(4X4),可通他们方便的进行人机交互。 单片机扩展槽,由于实验箱上的所有资源(如数码管、数据开关、小
3、键盘等)都可以借用,因此通过此扩展槽可以开发单片机及单片机接口实验。 外围扩展口,为了便于开发,本实验箱还预留一个40PIN的扩展槽,用以与外围电路的联接。1.2 本实验箱可完成的实验本实验箱用作数字系统设计实验。 可完成的基础实验: 各种传统数字电路实验 AHDL、VHDL、VERILOG语言描述数据显示译码设计 语言描述设计加法器,乘法器,计数器,数字钟,分频器,数字频率计等常用的数字实验 键盘去抖与译码实验 状态机设计实验 A/D、D/A转换 可编程仪用放大器,通用放大器 可编程模拟滤波器 可完成的较复杂实验 复杂数字电路实验,如八位BCD转换、20位以内乘法器等 数据采集与显示(可配合
4、MAX196进行12路的A/D采样) 用内部EAB技术实现各种数学函数运算。 PC机与CPLD之间的串行及并行通信 单片机与CPLD之间的异步串行通信 CPLD与CPLD之间的串、并行通信 单片机课程的各种实验 工业控制用微处理器方案其实现。1.3 利用本实验箱可开发的实验由于本实验箱设计考虑周全,因此,除了能完成数字系统的实验外,还可以开发使用单片机实验,模拟电子实验,通信原理实验等一系列学科的实验,体现出很强的开发性 ASK、FSK、PSK调制与解调实验 通过单片机扩展口与单片机开发机配合,本实验箱中的所有资源都可以被单片机借用,可以完成单片机课程中复杂的实验。 可以开发单片机接口实验,利
5、用已开发成功的模块如8255、8155、8279等进行进行各种单片机接口实验。 利用四型实验/开发系统可以很方便进行单片机、CPLD及单片机CPLD综合工业设计。2 详细的管脚说明下面详细的介绍有关电路组成:(1)时钟源本实验器CPLD芯片由40M晶振提供振荡频率,接与P183管脚,同时还有4M(可分频至1000Hz)接在CPLD的对应管脚P184管。为了方便操作,还为系统提供了约1Hz1MHz连续可调(调节W3)的时钟信号,接至CPLD的P78脚,通过调节短路夹J1和J2来改变其输出频率值。 (2)输入开关本实验器中的开关设计新颖独特,有创意,与一般电路中的开关设计不同。本实验器中有16个数
6、据开关(SW1SW16),4个脉冲开关(KP1KP4)。在通常状态下数据开关和脉冲开关为低电平。数据开关和脉冲开关可配合使用,也可单独使用。若二者配合使用,在数据开关为低电平时,按下脉冲开关则产生一个高脉冲;在数据开关为高电平时,按下脉冲开关则产生一个低脉冲。其中16个数据开关与CPLD的管脚的连接情况依次为:SW1-P94,SW2-P95,SW3-P96,SW4-P97,SW5-P99,SW6-P100,SW7-P101,SW8-P102,SW9-P103,SW10-P104,SW11-P111,SW12-P112,SW13-P113,SW14-P114,SW15-P115,SW16-P11
7、6。同时与数据开关和CPLD相应引脚相连的还有16个LED显示管,可以作为输出使用。在作为输出时,不论数据开关和脉冲开关为高电平还是低电平,均不影响其状态。 脉冲开关(KP1KP4)与CPLD的管脚的连接情况依次为P94,P95,P96, P97。脉冲开关在没有按下时为低电平,按下时则转为高电平,在此压放间会改变其ONOFF状态,经RS触发器去抖动之后,便可实现在数据开关为高电平时产生一个负脉冲,在数据开关为低电平时产生一个正脉冲。此电路极适合作计数器,暂存器的脉冲输入、分析测试观察用。 (3)数码管显示本实验器有10个数码管(SEG1SEG10),采用共阴极段LED显示。其中SEG1SEG2
8、采用静态显示方式,SEG3SEG10采用动态扫描显示方式。数码管SEG1SEG10与CPLD的对应管脚接法为:SEG1(a,b,c,d,e,f,g,p)P142,P143,P144,P147,P148,P149,P150,P157SEG2(a,b,c,d,e,f,g,p)P158,P159,P160,P161,P162,P163,P164,P166其中SEG1、SEG2的段LED显示输入端分别与个LED管相连且同时显示。SEG3SEG6的共阴公共端G经反向器分别与CPLD的对应管脚 170,P172,P173,P174相连,由其控制实现各位分时选通,动态扫描。SEG3SEG6(a,b,c,d,
9、e,f,g,p)的各段与CPLD引脚的对应关系为:P175、P176、P177、P179、P180、P186、P187、P189。SEG7SEG10的共阴公共端G经反向器分别与CPLD的对应管脚 190,P191,P192,P193相连,由其控制实现各位分时选通,动态扫描。SEG7SEG10(a,b,c,d,e,f,g,p)的各段与CPLD引脚的对应关系为:P195、P196、P197、P198、P199、P200、P202、P203。(4)AD转换 本实验器AD转换采用双AD转换,有8位AD转换器ADC0809与12位AD转换器MAX196。对于ADC0809本实验器只使用了一路模拟量输入I
10、N-1,其余个模拟量输入端均接到扩展槽COM5。用户可实现最多7路模拟量分时输入。ADD-A,ADD-B,ADD-C可选择地址,分别接到CPLD的对应管脚P36,P37,P38 。START(启动信号)与ALE(地址锁存信号)均接到CPLD的对应管脚P19。时钟CLOCK端接到CPLD的对应管脚P40。EOC(转换结束信号)接到CPLD的对应管脚P39。位数字量输出端由低(28)到高(21)分别接到CPLD的对应管脚P24,P25,P26,P27,P28,P29,P30,P31。对于MAX196,其VDD接外电源VCC(+5V),WR写端接与P25,RD读端接与P24,INT端接与P19,6路
11、输入与ADC0809复用,12位输出(D0D12)分别接与P26,P27,P28,P29,P30,P31,P36,P37,P38,P39,P40,P41。用户可以随意的使用任意一种。 (5)DA转换在主板上在一个DA转换器,DAC0832,参考电压为VCC(5V),数字量由CPLD输入到DAC0832的DI0-DI7,与CPLD管脚的对应关系为:P132DI0,P133DI1,P134DI2,P135DI3,P136DI4,P139DI5,P140DI6,P141PDI7。模拟量输出由J3(COM2)输出。 (6)单片机扩展槽及外扩槽在主板上留有一个模拟单片机扩展槽,用于CPLD模拟单片机之用
12、,其与CPLD的接口分别为,P0.0P0.7(3932),对应与P44,P45,P46,P47,P53,P54,P55,P56;P1.0P1.7(18),对应与P57,P58,P60,P61,P62,P63,P64,P65;P2.0P2.7(2128),对应与P75,P74,P73,P71,P70,P69,P68,P67;P3.0P3.7(1017),对应与P83,P85,P86,P87,P88,P89,P90,P92;PSEN脚对应于P93,ALE脚对应与P79;同时,为了外扩使用,我们在主板上有一个40PIN的扩展槽COM8,其与CPLD对应的管脚在主板上已标明,此扩展槽可供用户根据自己的
13、需要使用。第二章 电子设计自动化实验内容实验一 快速入门多路选择器的设计与仿真一 实验目的1 学习并掌握QUARTUS CPLD实验开发系统的基本操作。2 学习在QUARTUS下设计简单逻辑电路与功能仿真的方法。二 实验仪器设备1 PC机一台2QUARTUS CPLD软件开发系统一套。三 实验要求1 预习教材中的相关内容。2 阅读并熟悉本次实验的内容。3 用文本输入方式完成电路设计。四 实验内容及实验步骤(快速入门) (可参考课本第四章内容)步骤1:建文件夹 首先在除C盘外的任意一盘内新建一个文件夹,名字要求为英文名,用来放置相应工程的文件,如e:eda_work.步骤2:新建一个文件 建好文
14、件夹后,启动桌面上的QUARTUS软件。选菜单“File”-“New”,选择Verilog HDL file,如图1.1所示:图1.1 新建一个Verilog HDL file步骤3:输入代码 此时进入到文本输入界面,默认的文件名为Verilog1.v, 如图1.2所示。此时就可以在空白处输入verilog代码。图1.2 输入代码界面步骤4:保存文件,创建工程 代码输入完后,选择菜单“File”-“Save”,或点快捷键保存按钮。出现下面的界面,如图1.3所示。图1.3保存文件 此步骤一定要注意!一定要放在刚才第上步所建的文件内!然后起文件名。文件的名字要和模块的名字一致!后缀“.v”可以不要
15、。这一步非常重要,不能出错! 保存文件后会弹出一个会话框,如图1.3所示,提示是否以此文件来创建一个工程。图1.3 创建工程 选“是(Y)”,此时会进入下面的图1.4界面:图1.4工程wizard的简介 这一步没多大意义,工程wizard的简介,点击“Next”,出现下面图1.5的界面。这一步是检察存放目录及工程名字和模块名字是不是正确,直接点下一步。图1.5 存放目录及工程名字和模块名字此时出现图1.6界面,此图告诉我们工程中所加的文件是e:eda_workMux41a.v这个文件,如果忘记加文件或都想继续在此工程中加入其它文件,可以点击图1.6右上侧的,找到要加的文件,然后点击旁边的add
16、即可。当然如果出现文件加错的话也可以在此步删除掉,只要点击remove按键就可以了。图1.6 加入或删除文件点击“Next”出现图1.7的家族和器件的选择。图1.7家族和器件的选择这一步很重要!以后的硬件实验这一步都要正确选择。Family选择第一个ACX1K,器件选择EP1K100QC208-3,如图1.8所示。图1.8 已选择好的家族和器件Ok, 选择下一步,出现图1.9第三方工具选择的界面,我们用不到第三方工具,直接“Next”。图1.9第三方工具选择 图1.10为工程Wizard的最后一个界面,就是一个总结吧,可以看看,然后finish就可以了。图1.10 工程Wizard 总结步骤5
17、:编译工程文件 工程创建完后,可以对工程进行编译。图1.11 编译编译完成后可能会有warning或error,如果只出现少量的warning可以不用理会,但如果较多,要引起重视,要仔细看一看是什么警告,如果有问题必须修改。而如果出现error的话那肯定要改错了。以此例说明一下如何修改错误,点击确定,如图1.12所示。一般在修改错误时,都要先找到第一个错误。本例的第一个错误提示为:Error (10170): Verilog HDL syntax error at Mux41a.v(6) near text always; expecting ;, or ,,意思为在always附近少了一个;
18、, or ,。可以双击此错误,找到错误代码的位置。如图1.13。此时我们可以看到,在代码的第5行后面少了一个分号“;”,加上分号,再重新保存一下,再编译一次!图1.12 错误提示图1.13 修改错误 好了,恭喜你,大功告成!点击确定即可。图1.14 编译成功步骤6:看综合后的电路 编译成功后,可以先看看综合后的电路是什么样子的,你的代码已经转换成电路啦!操作如图1.15所示。综合后的电路如图1.16所示,可以利用左侧的放大镜来放大或缩小电路,左键为放大,右键为缩小。图1.15 看综合后的电路的菜单图1.16 综合后的电路步骤7:功能仿真 此步骤为验证所设计的代码功能的正确性。1 新建一个波形文
19、件 “File”-“New”,选择Other files标签,找到vector waveform file,如图1.17所示。点击ok图1.17 新建一个波形文件波形文件界面如图1.18所示。图1.18 波形文件界面2 加入节点 “View”-“Utility Windows” -“Nod Finder”,如图1.19所示。节点finder的界面如图1.20所示,过滤filter选择pins:all,点击右上方的list,然后就出现图1.21。然后将这些节点拖入到波形文件的左侧,如图1.22。节点可以一个个拖,也可全部选中,一起拖。图1.19 加入节点命令图1.20 选择pins:all图1.
20、21 节点出现图1.22 将节点拖入到波形文件的左侧3 设置仿真时间 “Edit”-“End Time”,如图1.23所示。系统默认的仿真时间为1us,此时间过短,我们可以设置为10us, 20us, 30us等等,也不要太长,太长时间会导致仿真时间过长。改好时间后,点击确定。回到图1.22的界面。点击左侧的放大按钮,如图1.25,在波形上点左键或右键可以放大和缩小波形。我们要求点击右键,将波形缩小到不能再缩为止,这时可以看到我们刚才设定的整个时间段。图1.23 设置时间操作图1.24 修改时间图1.25 将波形缩到最小4 加输入信号 缩小完小波形后,先选中a信号,点击左侧的时钟信号,如图1.
21、26。此时出现图1.27界面。从此界面可以看到仿真的起始和结束时间为0-20us,周期默认为10ns,占空比为50%,此处我们不改,在设置b信号时,这里的周期要修改,以和a信号相区别。点击OK,此时a信号已加好,如图1.28所示,可以放大看看,但在加b信号前还要象刚才一样把波形缩小。 图1.26-1.27 加信号图1.28 加好的a信号同样的方法,加b,c,d的信号,所不同的是,在图1.27中的周期要改变,4个信号要能明显地区分开来。如图1.29所示。图1.29 加好的a,b,c,d信号对于s0,s1两个信号,我们不采用加时钟信号的方法,我们可以直接在s0,s1的波形上任选一段,然后点击左侧“
22、1”,就可以加一个高电平了。如图1.30所示。最终加好的信号如1.31所示,注意y是输出信号,不要加。图1.30 加s0,s1信号图1.31 加好的信号5 仿真 信号加完后,首先要保存一下!点击保存后,会出现下面的界面,如图1.32所示。这一步什么都不用做,直接点击保存。OK,终于到最后一步了,开始仿真吧。按照图1.33操作吧。片刻之后你就可以看到结果了。当然了,结果要能看明白才行。可以对最后图1.34的图放大和缩小看看。这个图在此就不给出来了。图1.32 保存波形文件图1.33 仿真命令五 实验报告要求及提示1. 报告要求能给出实验现象,并对结果进行简要分析。2. 给出本实验的体会。3. 本
23、次实验为练习,不打操作分。实验二 4位加法器及7段码显示一 实验目的1 学习并掌握代码下载方法。2 学习4位全加器及7段译码器的设计。3 学习在QUARTUS采用原理图输入的方法和步骤。二 实验仪器设备1 PC机一台2QUARTUS CPLD软件开发系统一套。三 实验要求1 预习教材中的相关内容。2 阅读并熟悉本次实验的内容。3 用文本和原理图输入方式完成电路设计,并最终通过硬件显示。四 实验内容及实验步骤步骤1 按照实验一的步骤输入4位全加器的代码,完成编译、仿真等过程。(再次强调一下,要先建一个文件夹,用英文名,之后所有的文件都放在此文件夹内)1.编译成功后,回到输入代码的界面,执行“Fi
24、le”-“Create Update” -“Create Symbol for Current File”,创建4位全加器的symbol,如图2.1,2.2所示。图2.1 创建4位加法器的symbol图2.2 创建4位加法器的symbol成功2.仿真4位加法器 建立波形文件调入节点信号,并设置好合适的仿真时间(几十个us)。如图2.3所示。此时就可以加入输入信号的初值了,如图2.4所示。图2.3 加入节点信号图2.4 加输入信号的值同样的方法可以加入bin的信号值,ci可以随意选几个高电平即可,加好输入的图形如图2.5所示。当然这些值可以和图中不一样,我们关心的是和的结果是不是正确的。图2.5
25、 初值已加好的4位加法器图2.5是用二进制来表示的,当然也可以改为10进制或16进制,如果改为16进制,可以在每个信号上点击右键-“Properties”,在图2.6中修改其进制,修改后的图形如图2.7所示。图2.6 把ain,bin,sum修改为16进制图2.7改为16进制后的显示完成以上步骤就可以仿真了,验证仿真的结果是否正确。完成步骤1后,执行“File”-“Close Project”,这一步一定不要忘记!步骤2 同样的方法完成7段显示译码器的设计(可以不仿真,但要注意译码是否正确),参考的代码如图2.8所示。图2.8 7段译码器参考代码注意在保存此文件时,会进行到图2.9的界面,提示
26、我们要不要在别的目录下创建工程,本次实验为了方便起见,我们将所有的文件都放在同一个文件夹内,所以这里我们点击“否”,以下的步骤均相同。图2.9 选择不同的目录,选否在编译完成后,同样地在代码的界面执行“File”-“Create Update” -“Create Symbol for Current File”,创建7段显示译码器symbol。完成步骤2后,执行“File”-“Close Project”,这一步一定不要忘记!步骤3 新建一个原理图文件1“File”-“New”,选择Block Diagram/Schematic File,如图2.10所示。创建好的原理图文件如图2.11所示。
27、图2.10 创建一个原理图文件图2.11 创建好的原理图文件2调入元器件 具体操作如图2.12所示。把刚才创建的两个symbol调入到图2.11的原理图文件中。放置元件时,取消此原件可以按一下键盘上的Esc就可取消放置。放置两个自己创建的symbol后的图形如图2.12所示。此时还需要加入输入和输出引脚,调两个输入和三个输出。图2.12 调入symbol图2.12 调入add_4和led7s两个symbol 重复图2.12的第一步,在name框中输入input,放置三个input输入。同样的方面输入“output”放置三个输出。此步骤如图2.13及2.14所示。图2.12 调入input引脚3
28、连线 在图2.13中,粗线用总线连,细线用单线连接。连接好的后的图形如图2.14所示。若在连线过程中出现连错的现象,可以选中该线条,然后按删除键即可。图2.14 已放置好的原理图图2.15 连线接着定义6个引脚的名字,在图2.16中,选中一个引脚,点击右键,选择properties,会出现图2.17界面。 在图中修改引脚的名字。同样的方法修改其它5个引脚。 图2.17 输入引脚名字图2.16 引脚属性 图2.18为全部画好后的电路图。双击其中一个symbol可以看到该symbol的代码。图2.18 全部画好后的电路图4保存并编译 要求对此设计的原理图文件起一个有意义的名字,比如add4led7
29、s等名字,如图2.19所示。此过程同实验一中的步骤4到步骤6。注意建工程过程中会出现图2.9界面,依然选否(另外选器件一步一定要选择好正确的器件!)。接着编译,也可以看一下综合后的电路图,如图2.20所示。图2.19 保存原理图文件图2.20 综合后的电路图步骤4 引脚锁定 将所有的输入输出信号锁到FPGA的引脚上。1在当前界面执行“Assignment”-“Pin Planner”,如图2.21所示。此时出现锁引脚界面,如图2.22所示。图2.21 锁引脚命令图2.22 锁引脚界面放大图2.22的界面,将ain3拖到94脚,如图2.23所示。除了这种方法外,也可以参考图2.22中的第2种方法
30、。同样的方法,将其它引脚按表2.1一一锁好。锁好引脚后,执行一次编译!(此步骤必不可少!)图2.23 锁ain3引脚表2.1 引脚锁定对应表ain3ain2ain1ain0bin3bin2bin1bin0cin9495969799100101102103续上表led7s0led7s1led7s2led7s3led7s4led7s5led7s6co1co0142143144147148149150159160注:此表可参考第一章中第3页的内容。为说明此引脚锁定的原理,这里给出以下解释。图2.24 9个输入信号图2.25 输出信号接在数码管的引脚上步骤5 下载 这是最后一步了!1. 首先检查实验箱的串口有没有和电脑接好2. 接好串口后,打开实验箱的电源开关3. 启动桌面上的cplddown软件,如图2.26所示。4. 找到要下载的文件,点击“下载CPLD”,如图2.27所示,等待下载完成。5. 观察实现象,输入ain,bin,cin,看结果是否显示正确。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1