收藏 分销(赏)

EDA技术与VHDL程序设计基础教程.pptx

上传人:丰**** 文档编号:4850117 上传时间:2024-10-15 格式:PPTX 页数:175 大小:15.31MB
下载 相关 举报
EDA技术与VHDL程序设计基础教程.pptx_第1页
第1页 / 共175页
EDA技术与VHDL程序设计基础教程.pptx_第2页
第2页 / 共175页
点击查看更多>>
资源描述
EDA技术与VHDL程序开发基础教程重点内容:重点内容:l EDAEDA技术发展和应用技术发展和应用l EDAEDA工程设计流程工程设计流程l EDAEDA集成开发工具集成开发工具第第第第1 1 1 1章章章章 EDAEDAEDAEDA概述概述概述概述 EDA技术与VHDL程序开发基础教程一、一、一、一、EDAEDAEDAEDA工程简介工程简介工程简介工程简介 EDA(Electronic Design Automation)工程是现代电子信息工程领域中一门发展迅速的新技术。EDA的定义有广义和狭义之分,广义定义EDA包括半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印制电路板设计自动化、仿真与测试故障诊断自动化等。狭义定义的EDA就是电子设计自动化。EDA技术主要有四个方面:1、可编程逻辑器件,即应用EDA技术完成电子系统设计的载体;2、硬件描述语言(VHDL 或者 Verilog)。它用来描述系统的结构和功 能,是EDA的主要表达手段;3、配套的软件工具。它用来完成电子系统的智能化设计;4、实验开发系统。在整个EDA设计电子系统的过程中,实验开发系统是实现可编程器件下载和验证的工具,EDA技术与VHDL程序开发基础教程二、二、二、二、EDAEDAEDAEDA技术的发展历程和未来展望技术的发展历程和未来展望技术的发展历程和未来展望技术的发展历程和未来展望 现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。它的成熟主要经历了三个阶段,即:计算机辅助设计(CAD,Computer Aided Design)计算机辅助工程设计(CAED,Computer Aided Engineering Design)电子设计自动化(EDA,Electronic System DesignAutomation)。随着工艺的进步和EDA技术的不断发展,软硬件协同设计将显得越来越重要。EDA技术的应用也将向广度和深度两个方向继续发展,今后还会超越电子设计的范畴,从而进入其他领域。随着SOC和SOPC的发展,IP核复用的概念越来越为业界所接受,这也正符合VHDL语言的设计理念。所以,未来电子系统的设计与规划将不再是电子工程师的专利。EDA技术与VHDL程序开发基础教程三、三、三、三、EDAEDAEDAEDA技术的应用技术的应用技术的应用技术的应用 EDA技术的应用范畴很广主要有:1、PCB印制电路板的设计2、ASIC全定制数字电路 的设计3、FPGA/CPLD等可编程器 件上的电子系统设计EDA技术与VHDL程序开发基础教程三、三、三、三、EDAEDAEDAEDA技术的应用技术的应用技术的应用技术的应用 PCBPCBPCBPCB设计设计设计设计PCB(Printed Circuit Board)印制电路板主要用作电子系统的载体,工程师通常将集成电路元件焊接在PCB板上完成整个电子系统的搭建、控制、通信等功能 点阵系统的原理图和版图 点阵系统的版图 EDA技术与VHDL程序开发基础教程三、三、三、三、EDAEDAEDAEDA技术的应用技术的应用技术的应用技术的应用 ASICASICASICASIC设计设计设计设计ASIC(Application Specific Intergrated Circuits)专用集成电路是EDA技术应用在电子系统设计的高端产物。这种芯片的集成度极高,有全定制和半定制两种。ASIC设计流程和所个步骤所使用的软件工具 EDA技术与VHDL程序开发基础教程三、三、三、三、EDAEDAEDAEDA技术的应用技术的应用技术的应用技术的应用 CPLD/FPGACPLD/FPGACPLD/FPGACPLD/FPGA设计设计设计设计CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件和FPGA(Field Programmable Garry Array)现场可编程门阵列随着EDA技术的发展已经成为电子设计领域的重要角色,其应用相当广泛。高集成度、高速度和高可靠性是CPLD/FPGA最明显的特点。CPLD/FPGA的一般设计流程 EDA技术与VHDL程序开发基础教程四、四、四、四、EDAEDAEDAEDA工程的设计流程工程的设计流程工程的设计流程工程的设计流程 一个完整的EDA工程通常要涉及到系统建模、逻辑综合、故障测试、功能仿真、时序分析、形式验证等内容。1、设计输入 2、逻辑综合和优化 3、布局布线和适配 4、工程设计的仿真 5、目标器件的编程和下载 6、硬件电路的后仿真验证和测 试 VHDL开发FPGA/CPLD电子系统的流程图 EDA技术与VHDL程序开发基础教程五、五、五、五、EDAEDAEDAEDA集成开发工具集成开发工具集成开发工具集成开发工具 目前比较流行的用于可编程器件的EDA集成开发工具主要有Altera公司的MAX+Plus II和Quartus II、Xilinx公司的Foundation和ISE以及Lattice公司的ispDesignEXPERT和ispLEVER。Quartus IIQuartus IIQuartus IIQuartus II Quartus II的GUI界面 它支持原理图、VHDL和Verilog语言文本输入方式和波形或EDIF格式的文件作为输入,且支持这些文件的混合设计。EDA技术与VHDL程序开发基础教程五、五、五、五、EDAEDAEDAEDA集成开发工具集成开发工具集成开发工具集成开发工具 ISE+ModelSimISE+ModelSimISE+ModelSimISE+ModelSimispLEVER ispLEVER ispLEVER ispLEVER EDA技术与VHDL程序开发基础教程五、五、五、五、EDAEDAEDAEDA集成开发工具集成开发工具集成开发工具集成开发工具 其它开发工具其它开发工具其它开发工具其它开发工具 System Generator和Matlab联合开发DSP系统 EDA技术与VHDL程序开发基础教程六、六、六、六、EDAEDAEDAEDA技术的学习重点和学习方法技术的学习重点和学习方法技术的学习重点和学习方法技术的学习重点和学习方法 1 1、EDAEDA技术的学习方法技术的学习方法从实用角度讲,EDA技术需要掌握四个方面,即:1)、可编程逻辑器件;2)、硬件描述语言(VHDL 或者 Verilog);3)、配套的软件工具;4)、实验开发系统;2 2、EDAEDA技术的学习方法技术的学习方法 读者在学习EDA技术的过程中首先接触的就是VHDL的基本编程,在这里应该熟练掌握基本门电路、多路选择器和状态机的编写。然后掌握配套的CPLD/FPGA开发软件,通过实际的案例和应用设计边学边用。EDA技术与VHDL程序开发基础教程重点内容:重点内容:l CPLDCPLD结构和工作原理结构和工作原理l FPGAFPGA结构和工作原理结构和工作原理l FPGA FPGA配置方式配置方式l CPLD/FPGA CPLD/FPGA应用选型应用选型第第第第2 2 2 2章章章章EDA技术与VHDL程序开发基础教程一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述 可编程逻辑器件 PROM、PLA和PAL的原理和特性 PROMPROMPROMPROM基于二极管和三极管的一次可编程PROM单元 EDA技术与VHDL程序开发基础教程一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述 PLAPLAPLAPLA PLA是Programmable Logic Array的缩写,它的出现主要是为了解决PROM的速度和输入端受到限制的问题。右图通过这种阵列结构PLA可以实现大量的组合函数,虽然不能完全覆盖所有的输入组合,但其较多的输入端和更快的速度使得它的应用超过了PROM。EDA技术与VHDL程序开发基础教程一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述 PALPALPALPAL 可编程阵列逻辑PAL是PLA的一个发展版,与PLA类似,它也有一个宽输入。可编程的“与”阵列。最大的不同是PAL的“或”阵列不再可编程,而是变成了固定的。EDA技术与VHDL程序开发基础教程可编程特性分类:从可编程特性分类可将PLD分为一次可编程和重复可编程两类。一次可编程器件主要以PROM、PAL和熔丝型FPGA为代表,其他的器件大多数是可重复编程的。熔丝型器件编程的主要原理是利用较大的编程电流将特定位置的熔丝烧断,从而完成所需的逻辑函数输出 一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述 对于多次可编程的器件而言,用紫外线擦除的器件一般只能使用几十次,而采用电擦除方式的器件编程次数会比紫外线方式的稍多一些,如果是采用E2MOS工艺的器件,擦写次数可以达到上千次。EDA技术与VHDL程序开发基础教程一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述一、可编程逻辑器件概述 可编程逻辑器件中的编程元件通常有五种:熔丝型开关可编程低阻电路EPROMEEPROMSRAM内部互联结构分类如果从内部互联结构分类,可编程逻辑器件可以分为CPLD和FPGA两类。EDA技术与VHDL程序开发基础教程二、二、二、二、PLDPLDPLDPLD内部结构的表示方法内部结构的表示方法内部结构的表示方法内部结构的表示方法 描述PLD内部电路结构的方法与普通逻辑电路的表示方法不同。它需要将芯片内部结构配置与逻辑图一一对应起来,从而使得器件制造商和电路设计这较容易掌握。PLD的表示方法在电路层、物理层以及版图的布局之间都有非常巧妙的映射,因而读起来十分方便。1.互补输入缓冲电路2.三态输出缓冲电路EDA技术与VHDL程序开发基础教程二、二、二、二、PLDPLDPLDPLD内部结构的表示方法内部结构的表示方法内部结构的表示方法内部结构的表示方法 3.与或逻辑与或逻辑是可编程器件的核心部件。如图所示,(a)中三条竖线A、B、C均为输入线,输入到与门的横线为乘积线。乘积线与输入线的交叉点为编程点,在编程点处有编程器件,如熔丝或可编程的MOS器件等。当输入线与乘积线相连通时,在编程点处以“”表示。(b)中三条竖线A、B、C也为输入线,输入到或门的横线为和线。和线与输入线的交叉点为编程点。当输入线与和线相连通时,在编程点处以“”表示。可以看出,图中电路表示的逻辑表达式分别为Y=AB和Y=A+B+C。EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 CPLD的基本结构 可编程逻辑阵列块类似于一个低密度的PAL/GAL,包括乘积项的与阵列、乘积项分配和逻辑宏单元等。基于乘积项阵列型CPLD的基本结构 EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 ispLSI2128的结构示意图,它由输入(Input)、全局布线区(GRP)、通用逻辑块(GLB)、I/O单元、宏块和控制电路等组成。每个宏块包括8个通用逻辑块(GLB)、2个输出布线区(ORP)、1个32位输入总线和33个引脚。EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 GLB结构:通用逻辑块GLB是Gerneric Logic Block的缩写,也是整个器件的逻辑核心。它由与阵列、乘积项共享阵列(Product Term Sharing Array)、输出逻辑宏单元(OLMC)和控制电路四部分组成,分布在GRP的四周,可实现类似GAL/PAL的功能 EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 1.输出逻辑宏单元2.控制电路3.全局布线区属于ispLSI中的一种专用内部互联结构。起作用是将GLB的输出信号或I/O单元的输入信号与GLB的输入端连接 EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 4、I/O单元结构I/O单元常称为输入/输出单元,是器件外部封装引脚与内部信号之间的接口电路 EDA技术与VHDL程序开发基础教程5、宏块结构 每个宏块包含8个GLB、16位输入总线、2个输出布线区(ORP)、32个I/O单元、2个专用输入和1个公用乘积项GOE。三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 Altera公司的CPLD器件总结起来可以概括为五个部分:可编程逻辑阵列块(LAB);宏单元;扩展乘积项;输入/输出块;互联资源;MAX7128结构原理图EDA技术与VHDL程序开发基础教程2、宏单元。由3个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。各部分可以被独自配置为时序逻辑和组合逻辑工作方式。三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 1.可编程逻辑阵列块(LAB),对于每个LAB有下列输入信号。A来自作为通用逻辑输入的PIA的36个信号B全局控制信号,用于寄存器辅助功能C从I/O引脚到寄存器的直接输入通道EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 3.扩展乘积项 利用扩展项可保证在实现逻辑综合时,用尽可能少的逻辑资源实现尽可能快的工作速度。具体的扩展乘积项分为共享扩展项和并联扩展项。并联扩展项的原理图 共享扩展乘积项结构 EDA技术与VHDL程序开发基础教程三、三、三、三、CPLDCPLDCPLDCPLD的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理的基本结构和工作原理 4.可编程连线阵列PIA5.输入/输出控制块(I/O)EDA技术与VHDL程序开发基础教程四、四、四、四、FPGAFPGAFPGAFPGA的结构和工作原理的结构和工作原理的结构和工作原理的结构和工作原理 1.基于SRAM编程的FPGA 基于SRAM编程的FPGA以Xilinx的逻辑单元阵列(LCA,Logic Cell Array)为例 FPGA由可配置逻辑模块(CLB,Configurable Logic Block)、可编程布线资源(PI,Progammable Interconnection)和可编程输入/输出模块(IOB,Input/Output Block)三部分组成。EDA技术与VHDL程序开发基础教程四、四、四、四、FPGAFPGAFPGAFPGA的结构和工作原理的结构和工作原理的结构和工作原理的结构和工作原理 2.基于反熔丝编程的FPGA 采用反熔丝编程的FPGA具有集成度高、功耗低、保密性强、抗辐射和抗干扰性好等优点。EDA技术与VHDL程序开发基础教程四、四、四、四、FPGAFPGAFPGAFPGA的结构和工作原理的结构和工作原理的结构和工作原理的结构和工作原理 Altera公司的FPGA FLEX 10K系列的FPGA是工业界第一款嵌入式PLD器件,采用了可重复配置的CMOS SRAM工艺和灵活逻辑单元矩阵(FLEX,Flexble Logic Element Matrix)框架,具有高密度、低成本、低功耗等特点。内部包括四个部分:嵌入式阵列块逻辑阵列块快速通道/互联通道输入/输出单元EDA技术与VHDL程序开发基础教程四、四、四、四、FPGAFPGAFPGAFPGA的结构和工作原理的结构和工作原理的结构和工作原理的结构和工作原理 1.逻辑阵列块(LAB)2.嵌入式阵列块 EDA技术与VHDL程序开发基础教程四、四、四、四、FPGAFPGAFPGAFPGA的结构和工作原理的结构和工作原理的结构和工作原理的结构和工作原理 3.快速通道/互联通道 4、输入/输出单元 EDA技术与VHDL程序开发基础教程四、四、四、四、FPGAFPGAFPGAFPGA的结构和工作原理的结构和工作原理的结构和工作原理的结构和工作原理 XilinxXilinx公司的公司的FPGA FPGA 主要包含:1、可配置的逻辑模块(CLB)EDA技术与VHDL程序开发基础教程2、可编程布线资源(PI)。由纵横分布在CLB阵列之间的金属线网络和位于纵横线交叉点上的可编程开关矩阵组成。3、可编程的输入/输出模块(IOB)由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个外部引出端。四、四、四、四、FPGAFPGAFPGAFPGA的结构和工作原理的结构和工作原理的结构和工作原理的结构和工作原理 EDA技术与VHDL程序开发基础教程五、五、五、五、FPGAFPGAFPGAFPGA的配置方式的配置方式的配置方式的配置方式 FPGA的配置方式是指FPGA用来完成设计师的逻辑配置和外部连接方式。逻辑配置是指FPGA的下载,即开发系统将用户的设计输入进行编译产生配置数据文件,然后装入FPGA芯片内部的可配置存储器的过程。1、主动串行配置 主动串行配置模式需要附加一个外部串行存储器EPROM或PROM。在配置之前需事先将配置数据写入外部存储器,每当电源接通后,FPGA将自动地从外部串行PROM或EPROM中读取串行配置数据,EDA技术与VHDL程序开发基础教程2、主动并行配置 主动并行配置同样适用EPROM做外部存储器,事先将配置数据写入EPROM芯片内。五、五、五、五、FPGAFPGAFPGAFPGA的配置方式的配置方式的配置方式的配置方式 EDA技术与VHDL程序开发基础教程3、菊花链配置 在数字系统的应用设计中,当单片FPGA不足以实现完整的功能时,可以采用多个FPGA芯片。五、五、五、五、FPGAFPGAFPGAFPGA的配置方式的配置方式的配置方式的配置方式 EDA技术与VHDL程序开发基础教程六、六、六、六、CPLD/FPGA CPLD/FPGA CPLD/FPGA CPLD/FPGA的应用选型的应用选型的应用选型的应用选型 1、器件逻辑资源的选择 能够影响逻辑资源占用的因素有很多,主要有:A描述语言和描述风格;BHDL综合器的选择;C综合策略的选择;D逻辑功能单元的性质额实现方法;2、芯片速度的选择。芯片速度的选择应与系统工作频率相吻合,3、器件功耗的选择。就低功耗而言,FPGA具有绝对的优势。4、器件封装的选择5、CPLD/FPGA的选择。FPGA的主要应用有三个方面:A直接使用与电路系统;B硬拷贝;C逻辑验证;EDA技术与VHDL程序开发基础教程重点内容:重点内容:l VHDLVHDL程序基本结构程序基本结构l VHDLVHDL基本词法与基本语句基本词法与基本语句l VHDL VHDL描述风格描述风格第第第第3 3 3 3章章章章 VHDLVHDLVHDLVHDL硬件描述语言硬件描述语言硬件描述语言硬件描述语言 EDA技术与VHDL程序开发基础教程一、硬件描述语言概述一、硬件描述语言概述一、硬件描述语言概述一、硬件描述语言概述 HDLHDL语言的种类语言的种类1、ABEL-HDL。是一种早期的硬件描述语言,可方便准确的描述所设计的电路逻辑功能,并被很多电子系统设计自动化(EDA)软件所支持。2、AHDL。是Altera公司开发一种HDL语言。它的特点是易学易用,3、VHDL。中文全称为超高速集成电路硬件描述语言4、Verilog。是1983年由GD(GateWay Design Automation)公司的Phil Moorby首创的。EDA技术与VHDL程序开发基础教程EDA技术与VHDL程序开发基础教程一、硬件描述语言概述一、硬件描述语言概述一、硬件描述语言概述一、硬件描述语言概述 VHDLVHDL语言的特点语言的特点 硬件描述能力强;设计技术齐全、方法灵活、支持广泛;对设计描述具有相对的独立性;具有很强的移植能力;易于共享和复用;具有丰富的仿真语句和库函数;设计结构清晰、易读易懂;容易实现系统的更新和升级;数据类型丰富、安全性好;EDA技术与VHDL程序开发基础教程 VHDLVHDL和和VerilogVerilog的比较的比较 一、硬件描述语言概述一、硬件描述语言概述一、硬件描述语言概述一、硬件描述语言概述 Verilog HDL在底层建模方面要强于VHDL,但系统建模覆盖面较小。而VHDL在系统级建模方面则可以像高级语言一样更灵活的描述系统行为。EDA技术与VHDL程序开发基础教程二、二、二、二、VHDLVHDLVHDLVHDL程序的基本结构程序的基本结构程序的基本结构程序的基本结构 用VHDL进行数字电路设计时,无论电路规模的大小,均要使用一个完整的VHDL程序结构,这个完整的程序结构包括五部分,它们分别是(参见上一节给出的VHDL七段译码器代码):实体(Entity);结构体(Architecture);配置(Configuration);包集合(Package);库(Library);EDA技术与VHDL程序开发基础教程二、二、二、二、VHDLVHDLVHDLVHDL程序的基本结构程序的基本结构程序的基本结构程序的基本结构 VHDLVHDL的设计简述的设计简述 其描述结构中包括IEEE标准库说明、程序包、实体和结构体等几个部分。四选一多路数据选择器 结构体(Architecture)是占VHDL程序比重最大的部分也是VHDL的核心部分,EDA技术与VHDL程序开发基础教程二、二、二、二、VHDLVHDLVHDLVHDL程序的基本结构程序的基本结构程序的基本结构程序的基本结构 实体说明是VHDL程序设计中最基本的组成部分,主要用来描述设计实体的外部接口信号,定义设计单元的输入输出端口,属于整个VHDL所描述电路结构的通信界面,为可视部分,但它并不描述所要设计系统的具体功能。端口说明语句描述了目标系统与外界通信的接口,即指明实体的输入输出信号,以及一些端口的模式信息,包括端口的名称、数据的类型和数据的传输方向(端口模式)。EDA技术与VHDL程序开发基础教程二、二、二、二、VHDLVHDLVHDLVHDL程序的基本结构程序的基本结构程序的基本结构程序的基本结构 结构体是VHDL程序的核心,它描述了目标系统的行为、元件以及它们之间的连接关系。结构体的基本格式包括四个部分:结构体引导语句(ARCHITECTURE)结构体说明语句功能描述语句结束语句(END)VHDLVHDL的结构体的结构体EDA技术与VHDL程序开发基础教程三、三、三、三、VHDLVHDLVHDLVHDL的基本词法的基本词法的基本词法的基本词法 VHDL语言与其他高级语言一样,具有计算机编程语言的一般特性,其语言要素是组成编程语句的基本单元,主要有数据对象(Object)、数据类型(Type)、操作数(Operations)和运算操作符(Operator)。1、标识符。包括短标识符和扩展标识符2、对象。在VHDL语言中,凡是可以赋值的客体叫做对象(Object)。VHDL对象包括专门的数据类型,即常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。3、数据类型。在VHDL标准中,IEEE一共定义了10种基本的数据类型。同时,为了方便设计,VHDL还容许工程师根据自己需要自定义数据类型,这就给数字系统设计提供了很大的自由空间,从而为EDA工具的高层次综合、仿真提供可能。常用数据类型:整数、实数类型、位类型、位矢量类型、布尔类型、时间类型、枚举类型、数组类型。EDA技术与VHDL程序开发基础教程三、三、三、三、VHDLVHDLVHDLVHDL的基本词法的基本词法的基本词法的基本词法类型转换类型转换 由于VHDL对数据类型的限制比较严格,不同类型的对象不能带入,因而很多程序设计常常会遇到数据转换的问题。为了进行不同数据类型的转换,VHDL提供了三种方法来完成这一功能,即类型标记法、函数转换法和常数转换法。运算操作符运算操作符 与其他程序设计语言相似,VHDL中的表达式也是由运算符将基本元素连接起来形成。这里的基本元素包括对象名、文字、函数调用及用括号括起来的表达式。在VHDL语言中共有4类操作符,即 逻辑运算符(LOGICAL)、关系运算符(RELATIONAL)算术运算符(ARITHMETIC)、并置运算(CONCATENATION)EDA技术与VHDL程序开发基础教程四、四、四、四、VHDLVHDLVHDLVHDL的基本语句的基本语句的基本语句的基本语句 VHDL语言的的描述语句主要用来描述系统的硬件结构、行为功能以及信号之间的逻辑关系。这些语句按执行的顺序可以分为顺序语句和并行语句两类。顺序语句主要包括四种:赋值语句、流程控制语句、等待语句、空操作语句。并行语句主要有7种:进程语句;并行信号赋值语句;块语句;元件例化语句;生成语句;条件信号赋值语句;并行过程调用语句;EDA技术与VHDL程序开发基础教程1、赋值语句。赋值语句分为简单信号赋值语句、条件信号赋值语句和选择信 号赋值语句三种2 IF语句。属于流控制语句。有单选控制、二选控制和多选控制三种。3、CASE语句。CASE语句也是顺序语句的一种,且可读性非常强。4、LOOP语句。是一种循环语句有三种格式,即 aFOR_LOOP;bWHILE_LOOP;cLOOP;5、PROCESS进程语句.从电路的工作方式上可以包括组合逻辑运行方式、同步 逻辑运行方式和异步逻辑运行方式等。6、COMPONENT元件例化语句7、PORT MAP端口映射语句。在上一小节元件例化语句的示例代码中,各个元 件之间的连线关系是通过端口映射语句(PORT MAP)来实现的,四、四、四、四、VHDLVHDLVHDLVHDL的基本语句的基本语句的基本语句的基本语句EDA技术与VHDL程序开发基础教程五、五、五、五、VHDLVHDLVHDLVHDL的描述风格的描述风格的描述风格的描述风格 在VHDL语言中,不同的描述方式或建模方式又称为VHDL语言的描述风格,常用的主要有三种或它们的混合。这三种描述方式为:行为描述;数据流描述;门级描述;1 1、行为级描述。、行为级描述。是按照目标系统的功能或算法来描述结构体,不必给出实现这些行为的硬件结构,而只强调电路的行为和功能。EDA技术与VHDL程序开发基础教程五、五、五、五、VHDLVHDLVHDLVHDL的描述风格的描述风格的描述风格的描述风格2 2、数据流描述、数据流描述 利用VHDL语言中的赋值符和逻辑运算符进行描述。其中既包含逻辑单元的结构信息有隐含的表示某种行为,主要采用非结构化的并行语句描述。3 3、门级描述、门级描述 门级描述属于比较底层的描述方法,就是描述出元件之间的互连方式。其具体步骤如下:1.元件说明2.元件例化3.元件配置EDA技术与VHDL程序开发基础教程重点内容:重点内容:l Quartus IIQuartus II基本基本设计流程流程l SignalTap IISignalTap II模模块使用使用l LPM_ROMLPM_ROM宏模宏模块使用使用第第第第4 4 4 4章章章章 Quartus IIQuartus IIQuartus IIQuartus II操作指南操作指南操作指南操作指南 EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 1 1、创建工程、创建工程 (1)新建文件夹(2)输入源程序(3)保存文件 EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 (4)创建工程并添加源程序(5)选择目标芯片 EDA技术与VHDL程序开发基础教程(6)设置EDA工具(7)结束设置一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 2 2、编译工程、编译工程 通过New Project Wizard建立了目标系统的工程之后,工程师可以对所建工程进行全程编译。Quartus II编译器是由一系列处理模块构成的,这些模块负责对设计项目的检错、逻辑综合、结构综合、输出结果的编辑配置以及时序分析。EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 3 3、时序仿真、时序仿真 工程编译成功后,必须对其功能和时序特性进行仿真测试,以了解设计结果是否满足原设计要求。Quartus II提供的波形文件为Vector Waveform File,即VWF。具体的流程为:新建波形编辑文件;设置仿真时间区域;保存文件;导入欲观察的信号节点;编辑激励信号;设置数据格式;设置仿真器参数;启动仿真观察仿真结果;EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 波形编辑器波形编辑器 仿真时间长的设置仿真时间长的设置EDA技术与VHDL程序开发基础教程 导入欲观察的信号导入欲观察的信号 将端口信号导入波形文件编辑器将端口信号导入波形文件编辑器一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 设置好激励波形的波形编辑器设置好激励波形的波形编辑器端口信号属性设置端口信号属性设置 EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 仿真器设置仿真器设置 仿真波形输出仿真波形输出 EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 4 4、ViewerViewer工具工具 (1)RTL Viewer RTL Viewer可以根据VHDL语言或网表文件直接生成RTL级电路,选择Tools-Netlist Viewers|RTL Viewer可以看到MEALY的RTL电路,EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 (2)Technology Map Viewer与RTL Viewer不同,Quartus II Technology Map Viewer提供的是设计的底级或基元极专用技术原理表征,它展示的是综合后的电路结构,EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 (3)State Machine Viewer如果目标系统是是按照状态机机理设计的(状态机的概念在第五章介绍),State Machine Viewer直观的看到各个状态转移的关系 EDA技术与VHDL程序开发基础教程一、一、一、一、Quartus IIQuartus IIQuartus IIQuartus II基本设计流程基本设计流程基本设计流程基本设计流程 5 5、引脚锁定和下载、引脚锁定和下载 为了能对此工程进行硬件测试,应将编译成功后的程序下载到目标芯片上,并指定输入输出信号的管脚,以便添加激励信号和测试输出信号,Quartus II的引脚配置 FPGA/CPLD的编程下载EDA技术与VHDL程序开发基础教程二、二、二、二、嵌入式逻辑分析仪嵌入式逻辑分析仪嵌入式逻辑分析仪嵌入式逻辑分析仪SignalTap IISignalTap IISignalTap IISignalTap II 嵌入式逻辑分析仪SignalTap II允许对设计中所有层次的模块的信号节点进行测试,可以使用多时钟驱动,而且还能通过设置来确定前后触发捕捉信号信息的比例。本节将以一个计数器cnts为例介绍SignalTap II的使用方法,具体流程为:启动SignalTap II;调入待测信号;设置SignalTap II的参数;保存文件;编译下载;启动SignalTap II进行采样分析;SignalTap IISignalTap II的编辑窗口的编辑窗口 EDA技术与VHDL程序开发基础教程二、二、二、二、嵌入式逻辑分析仪嵌入式逻辑分析仪嵌入式逻辑分析仪嵌入式逻辑分析仪SignalTap IISignalTap IISignalTap IISignalTap II SignalTap II的参数设置 利用SignalTap采样分析5位计数器的工作状态EDA技术与VHDL程序开发基础教程三、三、三、三、LPM_ROMLPM_ROMLPM_ROMLPM_ROM宏模块的使用宏模块的使用宏模块的使用宏模块的使用 正弦信号发生器的模块化结构,可以看出该信号发生器由4部分组成,即:计数器;正选信号数据ROM;VHDL顶层设计;D/A转换器;使用步骤:初始化数据文件定制LPM_ROM元件(1)打开MegaWizard Plug-In Manager(2)选择ROM控制线和地址、数据线EDA技术与VHDL程序开发基础教程三、三、三、三、LPM_ROMLPM_ROMLPM_ROMLPM_ROM宏模块的使用宏模块的使用宏模块的使用宏模块的使用 MegaWizard Plug-In Manager对话框 LPM宏功能设定 EDA技术与VHDL程序开发基础教程三、三、三、三、LPM_ROMLPM_ROMLPM_ROMLPM_ROM宏模块的使用宏模块的使用宏模块的使用宏模块的使用 选择data_rom模块数据线和地址线宽度选择地址锁存信号inclockEDA技术与VHDL程序开发基础教程三、三、三、三、LPM_ROMLPM_ROMLPM_ROMLPM_ROM宏模块的使用宏模块的使用宏模块的使用宏模块的使用 调入ROM初始化数据文件并选择在系统读写功能 EDA技术与VHDL程序开发基础教程三、三、三、三、LPM_ROMLPM_ROMLPM_ROMLPM_ROM宏模块的使用宏模块的使用宏模块的使用宏模块的使用 4 4、顶层文件的仿真测试、顶层文件的仿真测试 正弦信号发生器正弦信号发生器的仿真波形的仿真波形 用用SignalTap IISignalTap II实时观察实时观察正弦信号发生器的结果正弦信号发生器的结果 EDA技术与VHDL程序开
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服