OA自动化电子设计自动化eda实验指导书.docx

上传人:b****6 文档编号:5899372 上传时间:2023-01-02 格式:DOCX 页数:23 大小:30.25KB
下载 相关 举报
OA自动化电子设计自动化eda实验指导书.docx_第1页
第1页 / 共23页
OA自动化电子设计自动化eda实验指导书.docx_第2页
第2页 / 共23页
OA自动化电子设计自动化eda实验指导书.docx_第3页
第3页 / 共23页
OA自动化电子设计自动化eda实验指导书.docx_第4页
第4页 / 共23页
OA自动化电子设计自动化eda实验指导书.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

OA自动化电子设计自动化eda实验指导书.docx

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

OA自动化电子设计自动化eda实验指导书.docx

OA自动化电子设计自动化eda实验指导书

(OA自动化)电子设计自动化(eda)实验指导书

电子设计自动化(EDA)实验指导书

前言

近些年来,电子设计自动化(EDA)技术发展迅速。

一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出,使得专用集成电路(ASIC)的生产商感受到空前的竞争压力。

另一方面,出现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。

于是一场ASIC与FPGA/CPLD之争在所难免。

然而PLD器件具有先天的竞争优势,那就是可以反复编程,在线调试。

EDA技术正是这场较量的推动引擎之一。

一般来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。

设计者只需编写硬件描述语言代码,然后选择目标器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。

整个过程,大部分工作由EDA软件完成。

全球许多著名的可编程器件提供商都推出了自己的集成开发工具软件,如Altera公司的MAX+PLUSⅡ、QuartusⅡ软件;Xilinx公司的Foundation、ISE软件,Lattice公司的ispExpert软件,Actel公司的Libero软件等。

这些软件的推出,极大地促进了集算法设计、芯片编程、电路板设计于一体的EDA技术的发展。

另外,在以SOC芯片为目标器件的电子系统设计要求下,可编程器件的内部开始集成高速的处理器硬核、处理器软核、DSP模块、大量的存储资源、高速的串行收发模块、系统时钟管理器、多标准的I/O接口模块,亦使得设计者更加得心应手,新一轮的数字革命由此引发。

EDA技术是一门实践性很强的学科,要培养出具有竞争力的一流IC设计人才,动手能力是关键。

只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。

ZY11EDA13BE型实验系统采用主板加适配板加扩展板的灵活结构,可方便进行基于不同PLD芯片的实验开发,并易于升级,符合当前高校在此方面对人才培养的要求。

我们相信,只要学生扎扎实实完成本实验系统的所有实验,并在此基础上利用现有硬件资源开发出新的数字应用系统,学生的潜力会得到最大程度的发挥,对EDA技术的学习也会有质的飞跃,从而为推动我国数字系统设计技术的发展做出更大的贡献。

本实验手册是我校电子设计自动化(EDA)课程实验指导的主要依据。

根据实验大纲要求,共包含8个实验,其中实验二、三、四为必做,实验五、六、七、八至少选做一个。

实验一EDA软件的熟悉与使用1

实验目的1

实验内容1

实验原理1

实验步骤1

实验报告1

实验思考题2

实验二1位全加器的设计3

实验目的3

实验内容3

实验仪器3

实验原理3

实验注意事项4

实验步骤4

实验报告4

思考题4

实验三基本组合逻辑电路的VHDL模型6

实验目的6

实验内容6

实验仪器6

实验原理6

实验步骤12

实验四基本时序逻辑电路的VHDL模型13

实验目的13

实验内容13

实验仪器13

实验原理13

实验步骤31

实验五Melay型有限状态机的设计32

实验目的32

实验内容32

实验仪器32

实验原理32

实验步骤34

实验六ROM设计35

实验目的35

实验内容35

实验仪器35

实验原理35

实验步骤36

实验七键盘控制电路设计38

实验目的38

实验内容38

实验仪器38

实验原理38

实验步骤40

实验八交通灯实验41

实验目的41

实验内容41

实验仪器41

实验原理41

实验步骤42

附录一实验要求43

附录二实验成绩的考核与评定办法44

附录三实验项目设置与内容45

实验一EDA软件的熟悉与使用

实验目的

1.熟悉ALTERA公司EDA设计工具软件QuartusII5.0。

2.熟悉ZY11EDA13BE型实验箱。

实验内容

1.学习QuartusII5.0软件课件。

2.学习QuartusII5.0软件的安装,重要菜单命令含义。

3.熟悉ZY11EDA13BE型实验箱的结构与组成。

4.模仿课件中实例动手操作一遍,掌握采用QuartusII5.0软件设计流程。

实验原理

参考QuartusII5.0软件学习课件。

实验步骤

1.在教师的指导下,学习软件课件。

2.由教师演示QuartusII5.0软件的安装,介绍菜单命令功能。

3.参考课件实例,动手操作软件,按照流程做完从新建文件,编译,仿真,分配引脚等软件操作部分的全过程。

4.参考第一部分实验系统简介,熟悉ZY11EDA13BE型实验箱结构,组成,了解各模块的基本作用,了解主板I/O分布情况,认识液晶屏,并口连接器,晶振,JTAG接口,逻辑笔,跳线等器件或组件。

实验报告

1.绘制出QuartusII5.0软件设计的详细流程图。

2.描述出QuartusII5.0软件是如何进行目标器件选择,I/O分配和锁定引脚的。

3.描述出QuartusII5.0软件help菜单功能,如何有效的使用它。

4.写出系统主板的I/O口分布情况。

5.写出ZY11EDA13BE型实验箱拨码开关CTRL各档的作用。

6.描述出一个完整的实验流程。

实验思考题

1.QuartusII5.0软件支持那些器件,该软件有什么局限性?

2.QuartusII5.0软件使用中大小写字母是否有区别?

3.在进行一个完整的实验流程时应注意些什么?

实验二1位全加器的设计

实验目的

1.掌握QuartusII5.0软件使用流程。

2.熟悉ZY11EDA13BE型实验箱的开关按键模块,LED显示模块。

实验内容

在QuartusII5.0软件中使用原理图输入法设计并实现一个1位全加器。

实验仪器

1.ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。

2.并口延长线,JTAG延长线。

(所有实验均包括,以下实验中均略去)。

3.安装QuartusII5.0软件的PC机。

(所有实验均包括,以下实验中均略去)。

实验原理

1位全加器可以用两个半加器及一个或门连接而成,半加器原理图的设计方法很多,我们用一个与门、一个非门和同或门(xnor为同或符合,相同为1,不同为0)来实现。

先设计底层文件:

半加器,再设计顶层文件全加器。

(1)半加器的设计

半加器表达式:

进位:

co=aandb

和:

so=axnor(notb)

半加器原理图如下:

(2)全加器的设计

全加器原理图如下:

实验注意事项

实验指导书中的所有实验内容都是针对主板系统的核心芯片EP1K30QC208-2来设计的,实验原理中提供了管脚分配情况,管脚分配好后必须通过成功编译才可以下载配置。

实验步骤

1.在QuartusII5.0软件中新建原理图文件,输入原理图,进行编译,仿真。

2.指定目标器件,并对编译通过的原理图分配管脚(可参考实验原理),分配完后再编译一次。

3.用并口延长线连接计算机机箱并口和实验箱并口插座,用JTAG延长线连接通用编程模块下载接口插座和配置模块核心芯片下载接口插座,接通实验箱电源,将实验箱电源按钮APW1,APW2按下,电源指示灯PL0-PL4亮。

4.下载配置文件f_adder.pof到目标芯片。

5.将拨码开关CTRL的

(2)、(4)、(8)均设置为“ON”。

6.拨位开关KD1、KD2、KD3分别作为全加器a输入,b输入和进位c输入。

LED1、LED2分别作为全加器进位和全加和。

记录全加器的实验结果填入实验报告。

灯亮表示‘1’(高电平),灯灭表示‘0’(低电平)。

实验报告

1.列出半加器与全加器的真值表。

如果实验室条件允许,打印半加器和全加器仿真波形图贴于实验报告中。

2.用文字描述出怎样实现层次化设计。

3.1位全加器的实现方法很多,画出其它方法的原理图。

思考题

1.多位全加器就是在一位的原理上扩展而成的,设计出原理图输入的8位全加器。

2.集成电路全加器芯片有7480、7483等,试述其内部结构是如何实现的?

3.参考全加器的设计思路设计出原理图输入的1位全减器。

(提示:

全加器的设计是根据真值表来建立最简表达式,最简表达式应该是一些基本门电路,同样全减器的设计也是如此)。

实验三基本组合逻辑电路的VHDL模型

实验目的

1.掌握简单的VHDL程序设计。

2.掌握用VHDL对基本组合逻辑电路的建模。

实验内容

分别设计并实现缓冲器、选择器、译码器、编码器、移位器、全加器的VHDL模型。

实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,LED显示模块。

实验原理

1.三态缓冲器

三态缓冲器(Tri-stateBuffer)的作用是转换数据、增强驱动能力以及把功能模块与总线相连接。

在使用总线互连方式时,与总线通信的器件通常要通过三态缓冲器与总线相连。

如果缓冲器的使能端en为1,则缓冲器的输入端in1的信号值被复制到输出端;如果缓冲器的使能端en为其它数值,则缓冲器的输出端为高阻态。

三态缓冲器的输出端可以用线与的方式和其他缓冲器的输出端接在一起。

下例20-1-1给出了三态缓冲器的VHDL源代码模型:

在IEEE的1164标准程序包中,用Z表示高阻态,现在的EDA综合工具一般都能根据这种描述综合得到三态器件。

下图20-1为本例中三态缓冲器的仿真波形图:

图20-1三态缓冲器的仿真图形

2.数据选择器(Multiplexer)

在数字系统设计时,需要从多个数据源中选择一个,这时就需要用到多路选择器。

下例20-2-1给出了四选一、被选择数字宽度为3的选择器VHDL源代码模型:

在上面这个模型中,由于使用了条件赋值语句,所以写得很简短。

上面的程序代码还可以改写为使用进程的等价方式。

如下例20-2-2的VHDL源代码所示:

由于模型中使用了std_Logic和std_Logic_vector数据类型,sel可能的数值不止四种,所以两种模型中都有一个分支来处理其他的数值。

在综合的时候,EDA工具一般都忽略这一分支。

除了处理三态器件中的高阻态‘Z’外,综合工具采用完全相同的方法来处理std_Logic和Bit数据类型。

图20-2为本例中多路选择器的仿真波形图:

图20-2多路选择器的仿真图形

3.译码器(Decoder)

译码器(Decoder)的输入为N位二进制代码,输出为2N个表征代码原意的状态信号,即输出信号的2N位中有且只有一位有效。

常见的译码器用途是把二进制表示的地址转换为单线选择信号。

下面例20-3-1为一个3-8译码器的VHDL源代码模型:

下图20-3为本例中3-8译码器的仿真波形图:

图20-33-8译码器的仿真图形

4.编码器(Encoder)

编码器(Encoder)的行为是译码器行为的逆过程,它把2N个输入转化为N位编码输出。

有的编码器要求输入信号的各位中最多只有一位有效,且规定如果所有输入位全无效时,编码器输出指定某个状态。

编码器的用途很广,比如说键盘输入编码等。

下面例20-4-1为一个8-3优先编码器的VHDL源代码模型:

下图20-4为本例中8-3优先编码器的仿真波形图:

图20-48-3优先编码器的仿真图形

5.移位器(Shifter)

数据的移位是很重要的操作,在一定的条件下,右移意味着被2除,左移意味着乘以2。

下面例20-5-1为一个移位器(Shifter)的VHDL源代码模型:

在这个模型中,如果sr=‘1’且sl=‘0’,移位器将输入信号右移一位后赋给输出信号;如果sr=‘0’且sl=‘1’,则移位器将输入信号左移一位后赋给输出信号。

对于sr和sl的其他两种输入模式,将输入信号直接赋给输出信号。

信号il和ir分别是左移操作和右移操作时在输入数据右端(或左端)补上的数据。

使用‘&’进行移位操作是常用的处理方法,但在VHDL’93版中增加了移位语句,可以直接实现移位操作。

下图20-5为本例中移位器的仿真波形图:

图20-5移位器的仿真图形

6.全加器(Adder)

加法器是最基本的运算单元。

加法器中最小的单元是一位全加器,下面例20-6-1为一位全加器(Adder)的VHDL源代码模型:

这个全加器中有两个数据输入端in1和in2,一个和输出端sum以及一个进位输出端carry_out。

用这个全加器级联是形成加法器最简单的实现方式,这种电路每个单元的结构都相同、但是在操作数的字长较大时,由于进位要经过多次传递,限制了这种电路的速度,并且和的各位产生的时刻也不同。

为了提高运算速度,可以采用行波进位加法器(RIPPLE-CARRYADDER)。

下图20-6为本例中一位全加器的仿真波形图:

图20-6一位全加器的仿真图形

实验步骤

1.在QuartusII5.0软件中新建文本文件,输入自己设计的VHDL程序代码,编译,仿真,锁定管脚并下载到目标芯片。

2.用拨位开关作为输入,LED作为输出,分别验证结果的正确性。

实验四基本时序逻辑电路的VHDL模型

实验目的

1.掌握简单的VHDL程序设计。

2.掌握VHDL对基本时序逻辑电路的建模。

实验内容

分别设计并实现锁存器、触发器、寄存器、计数器的VHDL模型。

实验仪器

ZY11EDA13BE型实验箱通用编程模块,配置模块,时钟源模块,开关按键模块,LED显示模块。

实验原理

1.锁存器(latch):

顾名思义,锁存器(latch)是用来锁存数据的逻辑单元。

锁存器一般可以分成三种基本类型:

电平锁存器、同步锁存器和异步锁存器。

下面我们将逐一介绍这三种锁存器的VHDL模型的描述方式。

(1)电平锁存器:

电平锁存器一般用在多时钟电路,比如微处理器芯片中。

电平锁存器的特点是:

常常有多路数据输入。

例21-1-1为单输入电平锁存器的VHDL模型:

当复位信号reset有效(高电平)时,锁存器latch1被复位,输出信号q为低电平;当复位信号reset无效(低电平)时,如果s信号为高电平,输出信号q输出输入端的值;当s信号为低电平时,latch1的输出信号q保持原值,亦即数据锁存。

下图21-1为单输入电平锁存器的仿真波形图:

图21-1单输入电平锁存器的仿真图形

例21-1-2为多输入电平锁存器的VHDL模型:

当复位信号reset有效(高电平)时,锁存器latch2被复位,输出信号q为低电平;如果复位信号reset无效(低电平)时,则根据选择信号s0、s1和s2来决定输出信号q是选择输入信号data0、data1还是data2;如果s0、s1和s2都无效(低电平),则锁存器输出信号q保持原值不变,亦即数据锁存。

下图21-2为多输入电平锁存器的仿真波形图:

图21-2多输入电平锁存器的仿真图形

(2)同步锁存器:

同步锁存器是指复位和加载功能全部与时钟同步,复位端的优先级较高。

在数字系统设计时,采用完全同步的锁存器,可以避免时序错误。

例21-1-3为同步锁存器的VHDL模型:

每当时钟信号clk跳变时激活进程,如果此时复位信号reset有效(高电平),锁存器latch3被复位,输出信号q为低电平;如果此时复位信号reset无效(低电平),并且装载信号load有效(高电平),锁存器latch3输出信号q为输入信号data;否则,锁存器输出保持原值,亦即数据锁存。

下图21-3为同步锁存器的仿真波形图:

图21-3同步锁存器的仿真图形

(3)异步锁存器:

异步锁存器,是指复位与时钟不同步的锁存器。

例21-1-4为异步锁存器的VHDL模型:

每当时钟信号clk跳变或者复位信号reset激活进程时,如果此时复位信号reset有效(高电平),锁存器latch4被复位,输出信号q为低电平;如果此时复位信号reset无效(低电平),并且正好时钟上升沿到达,而装载信号load有效(高电平),则锁存器latch4输出信号q为输入信号data;否则,锁存器输出保持原值,亦即数据锁存。

下图21-4为异步锁存器的仿真波形图:

图21-4异步锁存器的仿真图形

1.触发器(flip-flop)

触发器(flip-flop)是最基本的时序电路单元,指的是在时钟沿的触发下,引起输出信号改变的一种时序逻辑单元。

常见的触发器有三种:

D触发器、T触发器和JK触发器。

(1)D触发器:

D触发器是最常用的触发器。

按照有无复位信号和置位信号,以及复位、置位信号与时钟是否同步,可以分为多种常见的D触发器模型,以下将逐一给出示例和简单的说明。

例21-2-1为简单D触发器的VHDL模型:

D触发器dff1是最简单的D触发器,没有复位和置位信号,在每个时钟信号clk的上升沿,输出信号q值为输入信号d;否则,触发器dff1的输出信号q保持原值。

图21-5为简单D触发器的仿真波形图:

图21-5简单D触发器的仿真图形

例21-2-2为带异步置位D触发器的VHDL模型:

dff2是一个带异步置位的D触发器,当时钟信号clk或者置位信号prn有跳变时激活进程。

如果此时置位信号prn有效(高电平),D触发器dff2被置位,输出信号q为高电平;如果置位信号prn无效(低电平),而且此时时钟出现上跳沿,则D触发器dff2的输出信号q变为输入信号d;否则,D触发器dff2的输出信号q保持原值。

图21-6为带异步置位D触发器的仿真波形图:

图21-6带异步置位D触发器的仿真图形

例21-2-3为带异步复位D触发器的VHDL模型:

dff3是一个带异步复位的D触发器,当时钟信号clk或者复位信号clr有跳变时激活进程。

如果此时复位信号clr有效(高电平),D触发器dff3被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而且此时时钟出现上跳沿,则D触发器dff3的输出信号q变为输入信号d;否则,D触发器dff3的输出信号q保持原值。

图21-7为带异步复位D触发器的仿真波形图:

图21-7带异步复位D触发器的仿真图形

例21-2-4为带异步复位和置位D触发器的VHDL模型:

dff4是一个带异步复位和置位的D触发器,当时钟信号clk、复位信号clr或者置位信号prn有跳变时激活进程。

如果此时复位信号clr有效(高电平),D触发器dff4被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而置位信号有效(高电平),D触发器dff4被置位,输出信号q为高电平;如果复位信号clr和置位信号prn都无效(低电平),而且此时时钟出现上跳沿,则D触发器dff4的输出信号q变为输入信号d;否则,D触发器dff4的输出信号q保持原值。

图21-8为带异步复位和置位D触发器的仿真波形图:

图21-8带异步复位和置位D触发器的仿真图形

例21-2-5为带同步置位D触发器的VHDL模型。

在该例中dff5是一个带同步置位的D触发器,当时钟信号clk有跳变时激活进程。

如果此时置位信号prn有效(高电平),D触发器dff5被置位,输出信号q为高电平;如果置位信号prn无效(低电平),而且此时时钟出现上跳沿,则D触发器dff5的输出信号q变为输入信号d;否则,D触发器dff5的输出信号q保持原值。

图21-9为带同步置位D触发器的仿真波形图:

图21-9带同步置位D触发器的仿真图形

例21-2-6为带同步复位D触发器的VHDL模型:

dff6是一个带同步复位的D触发器,当时钟信号clk有跳变时激活进程。

如果此时复位信号clr有效(高电平),D触发器dff6被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而且此时时钟出现上跳沿,则D触发器dff6的输出信号q变为输入信号d;否则,D触发器dff6的输出信号q保持原值。

图21-10为带同步复位D触发器仿真波形图:

图21-10带同步复位D触发器的仿真图形

例21-2-7为带同步置位和复位D触发器的VHDL模型:

dff7是一个带同步复位和置位的D触发器,当时钟信号clk有跳变时激活进程。

如果此时复位信号clr有效(高电平),D触发器dff7被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而置位信号有效(高电平),D触发器dff7被置位,输出信号q为高电平;如果复位信号clr和置位信号prn都无效(低电平),而且此时时钟出现上跳沿,则D触发器dff7的输出信号q变为输入信号d;否则,D触发器dff7的输出信号q保持原值。

图21-11为带同步置位和复位D触发器的仿真波形图:

图21-11带同步置位和复位D触发器的仿真图形

(2)T触发器

T触发器的特点是在时钟沿处输出信号发生翻转。

按照有无复位、置位信号以及使能信号等,T触发器也有多种类型。

例21-2-8为带异步复位T触发器的VHDL模型:

tff1是一个带有异步复位的T触发器。

每当时钟信号clk或者复位信号clr有跳变时进程被激活。

如果此时复位信号clr有效(高电平),T触发器tff1被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而时钟信号clk出现上跳沿,则T触发器tff1的输出信号q发生翻转;否则,输出信号q保持不变。

图21-12为带异步复位T触发器的仿真波形图:

图21-12带异步复位T触发器的仿真图形

例21-2-9为带异步置位T触发器的VHDL模型:

tff2是一个带有异步置位的T触发器。

每当时钟信号clk或者置位信号prn有跳变时进程被激活。

如果此时置位信号prn有效(高电平),T触发器tff2被置位,输出信号q为高电平;如果置位信号prn无效(低电平),而时钟信号clk出现上跳沿,则T触发器tff2的输出信号q发生翻转;否则,输出信号q保持不变。

图21-13为带异步置位T触发器的仿真波形图:

图21-13带异步置位T触发器的仿真图形

例21-2-10为带使能(enable)端和异步复位T触发器的VHDL模型:

tff3是一个带有异步复位和使能的T触发器。

每当时钟信号clk或者复位信号clr有跳变时进程被激活。

如果此时复位信号clr有效(高电平),T触发器tff3被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而时钟信号clk出现上跳沿,并且触发器翻转使能信号en有效(高电平),则T触发器tff3的输出信号q发生翻转;否则,输出信号q保持不变。

图21-14为带使能端和异步复位T触发器的仿真波形图:

图21-14带使能端和异步复位T触发器的仿真图形

(3)JK触发器

JK触发器中,J、K信号分别扮演置位、复位信号的角色。

为了更清晰的表示出JK触发器的工作过程,以下给出JK触发器的真值表(如表21-1所示)。

 

J

K

CLK

Qn+1

0

0

Qn

1

0

1

0

1

0

1

1

NOTQn

X

X

Qn

表21-1JK触发器真值表

按照有无复位(clr)、置位(prn)信号,常见的JK触发器也有多种类型,例21-2-11为基本JK触发器的VHDL模型:

jkff1是一个基本的JK触发器类型。

在时钟上升沿,根据j、k信号,输出信号q作相应的变化。

用case语句实现if条件语句,即简化了语句,又增加了效率。

图21-15为基本JK触发器的仿真波形图:

图21-15基本JK触发器的仿真图形

例21-2-12为带异步复位(clr)、置位(prn)的JK触发器的VHDL模型:

jkff2是一个带有异步复位和置位的JK触发器模型。

每当时钟信号clk、置位信号prn或者复位信号clr有跳变时激活进程。

如果此时复位信号clr有效(高电平),JK触发器jkff2被复位,输出信号q为低电平;如果复位信号clr无效(低电平),而置位信号prn有效(

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

当前位置:首页 > 自然科学

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

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