EDA技术项目教程-基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现_第1页
EDA技术项目教程-基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现_第2页
EDA技术项目教程-基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现_第3页
EDA技术项目教程-基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现_第4页
EDA技术项目教程-基于VHDL与FPGA 课件 项目1 数据比较器的设计与实现_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDA项目教程

——基于VHDL与FPGA主编:于润伟本章要点

EDA技术的内涵

QuartusⅡ软件的使用数据比较器的设计项目1数据比较器的设计与实现1.1.1发展历史

1.计算机辅助设计(CAD)

1.1认识EDA技术

这一阶段是EDA发展的初级阶段,其主要特征是利用计算机辅助进行电路原理图的编辑、PCB(印刷电路板)布线。CAD工具可以减少设计人员繁琐重复的劳动,但自动化程度低,需要人工干预整个设计过程。CAD工具大多以计算机为工作平台,易学易用,现仍有很多这类专用软件应用于中小规模的电子系统工程设计。1.1.1发展历史2.计算机辅助工程设计(CAE)

这一阶段的主要特征是以逻辑模拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使工程师能在产品制作之前预知产品的功能与性能。CAE工具已经具备了自动布局布线、电路的逻辑仿真、电路分析和测试等功能。与CAD技术相比,CAE技术除了具有图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,以实现工程设计。1.1认识EDA技术1.1.1发展历史3.电子系统设计自动化(ESDA)

这一阶段采用一种新的设计概念,即自顶而下(Top-to-Down)的设计程式和并行工程的设计方法,设计者的精力主要集中在所要设计电子产品的准确定义上,而由EDA系统去完成电子产品的系统级至物理级的设计,开始实现“概念驱动工程”的梦想。电子设计工程师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,从而极大地提高了设计效率,使设计更复杂的电路和系统成为可能,并且使产品的研制周期大大缩短。

1.1认识EDA技术(1)在一个可编程芯片上完成系统级的集成已成为可能,即可编程片上系统(SOPC)。(2)计算机硬件平台性能大幅度提高,为复杂的SOC(系统级芯片)设计提供了物理基础。(3)EDA工具和IP(知识产权核)应用更为广泛。(4)高性能的EDA工具软件得到长足的发展,其自动化和智能化程度不断提高,为嵌入系统设计提供了功能强大的开发环境。总的趋势表现在以下几个方面:

1.采用自顶向下设计方案

2.应用硬件描述语言(HDL)

3.能够自动完成仿真和测试

4.开发技术的标准化和规范化

5.对工程技术人员的硬件知识和经验要求低1.1.2EDA技术的特点1.硬件描述语言(HDL)

硬件描述语言是各种描述方法中最能体现EDA优越性的描述方法。所谓硬件描述语言就是一个描述工具,其描述的对象是设计电路系统的逻辑功能、实现该功能的算法、选用的电路结构以及其他各种约束条件等。通常要求硬件描述语言既能描述系统的行为,又能描述系统的结构。

目前主要使用Verilog-HDL和VHDL两种硬件描述语言。1.1.3EDA技术的内涵2.可编程逻辑器件:是实现数字系统的主要载体。可编程逻辑器件(PLD)是一种可以由用户编程来实现某种逻辑功能的新型逻辑器件,不仅速度快、集成度高,能够完成用户定义的逻辑功能外,还可以加密和重新定义编程,其允许编程次数可多达上万次。使用可编程逻辑器件可大大简化硬件系统、降低成本、提高系统的可靠性和灵活性。目前,PLD主要分为FPGA(现场可编程门阵列)和CPLD(复杂可编程逻辑器件)两大类。1.1.3EDA技术的内涵3.EDA工具软件:用于在计算机上仿真、调试设计的数字系统。EDA技术的核心是利用计算机软件完成电路设计的全程自动化,即自动地完成逻辑编译、化简、分割、综合、优化、布局、布线、仿真,直至对于特定目标芯片(可编程逻辑器件)的适配编译、逻辑映射和编程下载等工作。1.1.3EDA技术的内涵1.1.4EDA技术的设计流程1.设计准备2.设计输入3.设计处理4.设计校验5.器件编程1.组合逻辑电路的设计(1)分析设计要求,列出真值表。根据题意设定输入变量和输出函数,然后将输入变量以自然数二进制顺序的各种取值组合排列,根据题意,推导输出函数的状态,列出真值表。(2)根据真值表写出输出函数的逻辑表达式。将真值表中输出函数取值为1所对应输入变量的各个最小项进行逻辑相加后,便得到输出逻辑函数表达式。(3)对输出逻辑函数表达式进行化简。用公式法对逻辑函数表达式进行化简,得到逻辑函数的最简与非式(或最简或非式)。(4)画出逻辑电路图。可根据最简输出逻辑函数式,也可以根据要求将输出逻辑函数变换为与非表达式、或非表达式、与或非表达式来画逻辑电路图。

按照同比较器的定义,设输入的两个1位二进制数分别为A、B,用Y表示比较结果。若两数相等,输出1;两数不等输出0。

表1-1同比较器真值表1.2同比较器的设计输入端输出端ABY0010101001111.2.2项目建立1.项目准备

在计算机的E盘建立E:\EDAFILE\Example1_1文件夹作为项目文件夹。注意:文件夹名不能有汉字,也不要全是数字。2.启动软件3.打开项目建立向导新项目建立向导对话框5.添加文件6.选择器件7.选择EDA工具

8.摘要1.建立图形输入文件:单击菜单File→New选项1.2.3编辑文件编辑窗口输入元件及管脚同比较器电路

单击图形编辑窗口File→Save菜单,不要做任何改动,直接以默认的SameComp为文件名,保存在当前文件夹E:\EDAFILE\Example1_1下。

如果发现保存的文件名或文件夹不是这样,可单击File→SaveAs...菜单,在弹出的对话框中进行修改或选择文件夹。注意:文件名与项目名必须相同且在同一个文件夹下。1.2.4编译

单击菜单栏中的Processing→StartCompilation选项或工具栏的

按钮,启动编译。1.3大小比较器的设计

不但能够比较两个数字是否相等,还能比较两数大小的比较器称为大小比较器。大小比较器包含同比较器,可以代替同比较器。

设输入的两个二进制数分别为A、B,用Y1、Y2和Y3表示比较结果。

若A>B,则Y1=1、Y2=0、Y3=0;

若A=B,则Y1=0、Y2=1、Y3=0;

若A<B,则Y1=0、Y2=0、Y3=1。大小比较器逻辑图(1)仿真前必须建立波形文件。单击File→New选项,打开文件选择窗口,展开Verification/DebuggingFiles选项卡,选择其中的UniversityProgramVWF选项,单击【OK】按钮。2.仿真(2)为了使仿真时间设置在一个合理的时间区域上,单击波形编辑器的菜单Edit→SetEndTime选项,在弹出窗口中的Time输入框输入1,单位选us,即整个仿真域的时间设定为1微秒;单击波形编辑器的菜单Edit→GridSize…选项,在弹出窗口中的Period输入框输入100,单位选ns,即设定仿真周期为100纳秒。结束设置后,要将波形文件存盘。(3)双击波形编辑器“Name”下的空白处,会打开插入管脚或总线对话框。(5)编辑输入波形1.3.3时序波形仿真1.44位比较器的设计1.4.174LS85芯片4位比较器逻辑图4位比较器仿真波形仿真分析能够将设计电路的逻辑功能用波形的形式表现出来,检验电路功能。通过仿真分析后,就可以使用QuartusⅡ软件的编程器把设计下载到可编程逻辑器件中,进一步验证电路功能并实现电路。1.管脚锁定(1)单击标题栏中的Assignments→PinPlanner选项,出现管脚规划窗口1.4.3器件编程(2)在Location输入框中,双击鼠标,再单击出现的弹出式菜单的下拉式箭头,出现的下拉菜单列出所选用芯片的所有可用管脚,可根据所使用的实验箱或开发板的管脚分配情况锁定管脚。将输入信号管脚锁定为按键、输出管脚锁定为发光二极管。(3)按照同样的方法,将其他管脚一一锁定。(4)关闭配置编辑器。(5)单击标题栏中的Processing→StartCompilation选项,再次启动全程编译。编译成功后,就可以将设计的程序下载到可编程逻辑芯片中。在编译成功后,QuartusⅡ软件将自动生成编程数据文件,如.pof(专用配置器件)和.sof(通过连接计算机上的下载电缆直接对FPGA进行配置)等编程数据文件,这些文件可以被编程器使用,对器件进行编程。编程的方式可以是JTAG方式或AS方式,JTAG方式将程序下载到可编程逻辑器件;AS方式将程序下载到存储器(使用.pof文件)。(1)如果使用ByteBlasterMV编程器,可将ByteBlasterMV下载电缆接到计算机的并行端口;如果使用MasterBlaster编程器,可将MasterBlaster下载电缆连接到计算机的串行端口。编程器下载电缆连接后,要打开EDA实验箱或开发板的电源。2.编程(2)如果使用USB-Blaster编程器,需要安装USB驱动程序。将USB-Blaster编程器一端连接到计算机的USB端口,另一端连接到EDA实验箱或开发板的JTAG接口,打开EDA实验箱或开发板的电源。这时会弹出一个USB驱动程序对话框,根据对话框的提示,选择用户手动搜索驱动程序,如果QuartusⅡ安装在D盘的ALTERA文件夹下,则驱动程序的路径为D:\ALTERA\QUARTUS\DRIVERS\USB-BLASTER。(3)单击Tools→Programmer选项(4)单击图中的【HardwareSetup】按钮(5)单击Availablehardwareitems列表框,双击USB-Blaster[USB-0],然后单击【Close】按钮,关闭硬件配置对话框。(6)在编程窗口中,单击Mode下拉框右端的下拉按钮,选中JTAG编程方式。JTAG编程方式支持在系统编程,可对FPGA、DSP等器件进行编程,是通用的编程方式。另外,ActiveSerialProgramming模式可对FLASH存储器进行编程。(7)单击【AddFiles】按钮,在弹出的对话框中,再打开output_files文件夹,选中.sof文件。根据实验箱或开发板的实际情况,测试电路。本书使用的开发板:输入信号为按键按下时,输入信号为1,按键指示灯亮;按键抬起时,输入信号为0,按键指示灯暗。输出信号为1时,信号灯亮;输出信号为0时,信号灯暗。3.电路测试1.题目说明

设计一个比较两个4位二进制数是否相同的同比较器。要求:设计出4位同比较器的原理图,建立项目,编辑原理图文件,完成编译和波形仿真后,依据开发板或实验箱的具体情况锁定管脚,再次编译成功后,下载到实验箱验证4位同比较器的功能。1.5实训:四位同比较器的设计与实现

两个4位二进制数的同比较器,可以在一位二进制数同比较器的基础上完成。

如果两个4位二进制数的每一数据位都相同,则两个数据相同;

只要有一个数据位不相同,则两个数据不同。

使用四个同比较器比较4位二进制数的每一位,得到四个输出结果,再接入一个4输入端的与门,与门的输出端就是4位同比较器的输出端。2.设计提示设输入的两个4位二进制数分别为A[3..0]、B[3..0],用Y表示比较结果。若两数相同,输出1;两数不同输出0。4位同比较器的原理图如图所示。(4)命名节点线:选中与总线连接的节点线(在线上单击),即可输入节点线名称,但需要注意连接信号输入、输出端的节点线,其名称要与相应管脚的名称对应。例如与管脚A[3..0]相连的4条节点线分别命名为A[3]、A[2]、A[1]、A[0],不同的节点线名代表总线的数据分配关系。还要注意输入的节点线名称的颜色与节点线的颜色必须相同,不同就是没有选中,需要重新做。按照逻辑关系将其连接,按照总线和节点的规则命名管脚和连接导线的名称后,可不用连接。(1)单击File→New选项,选中UniversityProgramVWF选项,单击【OK】按钮,建立波形输入文件。(2)单击Edit→SetEndTime选项,设定仿真时间为2us;单击Edit→GridSize…选项,设定仿真时间周期为100ns。(3)双击波形编辑器“Name”下的空白处,打开插入管脚或总线对话框。(4)单击该对话框的[NodeFind]按钮,打开管脚搜索对话框,选中Pins:all,然后单击【list】按钮。在下方的NodesFinder窗口中会出现设计项目的所有端口管脚名。(5)选中输入端口节点和输出信号节点后,单击窗口中间的方向按钮,将管脚进入窗口右侧的选择区,单击OK按钮;回到插入管脚或总线对话框,再次单击OK按钮。(6)调整波形坐标间距后,选中输入管脚A,单击波形编辑按钮

,并在Countevery输入框内输入100,单位选ns;选中输入管脚B,单击波形编辑按钮

,并在Period输入框内输入200,单位选ns。4.波形仿

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论