电路和电子技术第8章PLD技术及其应用

上传人:仙*** 文档编号:240567618 上传时间:2024-04-16 格式:PPT 页数:108 大小:6.21MB
收藏 版权申诉 举报 下载
电路和电子技术第8章PLD技术及其应用_第1页
第1页 / 共108页
电路和电子技术第8章PLD技术及其应用_第2页
第2页 / 共108页
电路和电子技术第8章PLD技术及其应用_第3页
第3页 / 共108页
资源描述:

《电路和电子技术第8章PLD技术及其应用》由会员分享,可在线阅读,更多相关《电路和电子技术第8章PLD技术及其应用(108页珍藏版)》请在装配图网上搜索。

1、第第12章章 PLD技术及其应用技术及其应用2021/9/172021/9/171 1概述12.1 可编程逻辑器件12.2 可编程逻辑器件开发环境12.3 VHDL介绍第第12章章 目录目录 2021/9/172021/9/172 2概述 自顶向下的综合技术自顶向下的综合技术自顶向下的综合技术自顶向下的综合技术 传统电子系统的设计方法传统电子系统的设计方法 ISPISPISPISP技术介绍技术介绍技术介绍技术介绍 数字系统的设计数字系统的设计数字系统的设计数字系统的设计 PLDPLDPLDPLD的发展的发展的发展的发展第第12章章 概述概述 2021/9/172021/9/173 3PLD的的

2、发展发展可编程逻辑器件可编程逻辑器件可编程逻辑器件可编程逻辑器件 (Programmble Logic Programmble Logic Device)Device)简称简称简称简称 PLDPLD制造商制造商通用集成电路通用集成电路用户用户专用集成电路专用集成电路第第11章章 11.1 第第12章章 概述概述 2021/9/172021/9/174 4可编程逻辑器件的分类可编程逻辑器件的分类 从互连特性上分类从互连特性上分类从互连特性上分类从互连特性上分类 从可编程特性上分类从可编程特性上分类从可编程特性上分类从可编程特性上分类 从器件容量上分类从器件容量上分类从器件容量上分类从器件容量上分

3、类 从结构的复杂程度上分类从结构的复杂程度上分类从结构的复杂程度上分类从结构的复杂程度上分类第第11章章 11.1 第第12章章 概述概述 2021/9/172021/9/175 5可编程逻辑器件的发展可编程逻辑器件的发展PROM PLAPAL GALSPLDCPLDFPGAISP技术技术什么是什么是ISP技术!技术!第第11章章 11.1 第第12章章 概述概述 2021/9/172021/9/176 6数字系统的设计数字系统的设计积木块式的设计方法积木块式的设计方法积木块式的设计方法积木块式的设计方法根据需要选择器件根据需要选择器件根据需要选择器件根据需要选择器件搭系统搭系统搭系统搭系统调

4、试调试调试调试传统电子系统的设计方法传统电子系统的设计方法固定功能元件固定功能元件电路板设计电路板设计电子系统电子系统缺点缺点1.1.器件多,数目大;器件多,数目大;2.2.可靠性差;可靠性差;3.3.不能实时修改。不能实时修改。第第12章章 概述概述 2021/9/172021/9/177 7自顶向下的综合技术自顶向下的综合技术系统系统子功能块子功能块1子功能块子功能块2子功能块子功能块n逻辑块逻辑块11逻辑块逻辑块12逻辑块逻辑块1m逻辑块逻辑块21逻辑块逻辑块111Top-Down方法的关键在于:利用功能分割手段方法的关键在于:利用功能分割手段将设计由上到下进行层次化和模块化将设计由上到

5、下进行层次化和模块化第第12章章 概述概述2021/9/172021/9/178 8自顶向下设计方法的优点自顶向下设计方法的优点设计与具体的器件和工艺无关设计与具体的器件和工艺无关设计与具体的器件和工艺无关设计与具体的器件和工艺无关方便在各种集成电路或方便在各种集成电路或方便在各种集成电路或方便在各种集成电路或PLDPLDPLDPLD器件之间移植器件之间移植器件之间移植器件之间移植适合多个设计者同时进行设计适合多个设计者同时进行设计适合多个设计者同时进行设计适合多个设计者同时进行设计设设计计原原则则1、逐层分解功能,分层次进行设计、逐层分解功能,分层次进行设计2、在各设计层次上,进行仿真验证、

6、在各设计层次上,进行仿真验证第第12章章 概述概述2021/9/172021/9/179 9ISP 技术介绍技术介绍只要将器件插在系统内或者电路只要将器件插在系统内或者电路只要将器件插在系统内或者电路只要将器件插在系统内或者电路板上,就能对其编程或再编程。板上,就能对其编程或再编程。板上,就能对其编程或再编程。板上,就能对其编程或再编程。可以先装配后编程,成为产品后可以先装配后编程,成为产品后可以先装配后编程,成为产品后可以先装配后编程,成为产品后还可反复编程。还可反复编程。还可反复编程。还可反复编程。可以实时地进行灵活和方便的更可以实时地进行灵活和方便的更可以实时地进行灵活和方便的更可以实时

7、地进行灵活和方便的更改和开发,真正做到了硬件的改和开发,真正做到了硬件的改和开发,真正做到了硬件的改和开发,真正做到了硬件的“软件化软件化软件化软件化”自动设计。自动设计。自动设计。自动设计。第第12章章 概述概述2021/9/172021/9/171010 CPLD的的ISP技术使得硬件像技术使得硬件像软件一样被编程配置,实时软件一样被编程配置,实时设计、实时修改、实时实现,设计、实时修改、实时实现,为电子技术的发展开辟了广为电子技术的发展开辟了广阔的前景。阔的前景。第第12章章 概述概述2021/9/172021/9/17111112.1 可编程逻辑器件可编程逻辑器件可编程逻辑器件的基本逻

8、辑约定可编程逻辑器件的基本逻辑约定可编程逻辑器件的基本结构可编程逻辑器件的基本结构可编程逻辑器件的介绍可编程逻辑器件的介绍第第12章章 12.1 2021/9/172021/9/171212第第12章章 12.1.1 (1 1)输入缓冲单元)输入缓冲单元 (a)(a)缓冲器缓冲器 (b)(b)真值表真值表有关逻辑约定有关逻辑约定2021/9/172021/9/171313第第12章章 12.1.1 (2 2)与门和或门)与门和或门 (a)(a)与门与门PLDPLD表示法表示法 (b)(b)与门传统表示法与门传统表示法 (c)(c)或门或门PLDPLD表示法表示法 (d)(d)或门传统表示法或门

9、传统表示法有关逻辑约定有关逻辑约定2021/9/172021/9/171414有关逻辑约定有关逻辑约定第第12章章 12.1.1 (3 3)PLDPLD连接方式连接方式(a)固定连接 (b)可编程连接 (c)不连接 2021/9/172021/9/171515第第12章章 12.1.2 早期的可编程逻辑器件早期的可编程逻辑器件 (1 1)PROMPROM的结构的结构 固定与阵列固定与阵列可编程或阵列可编程或阵列2021/9/172021/9/171616第第12章章 12.1.2 (2 2)PLAPLA的结构的结构 与阵、或阵均可编程与阵、或阵均可编程 早期的可编程逻辑器件早期的可编程逻辑器件

10、2021/9/172021/9/171717第第12章章 12.1.2 (3 3)PALPAL的结构的结构 可编程与阵列可编程与阵列固定或阵列固定或阵列 早期的可编程逻辑器件早期的可编程逻辑器件2021/9/172021/9/171818第第12章章 12.1.1 (4 4)GGALAL的结构的结构 其特点是在它的每个输出端都集成有一个输出逻辑宏单元,因此其输出方式可以配置(Configurable)。早期的可编程逻辑器件早期的可编程逻辑器件2021/9/172021/9/171919第第12章章 12.1.2 CPLD的结构特点的结构特点在在CPLD中,通常将整个逻辑分为几中,通常将整个逻辑

11、分为几个逻辑块。每个逻辑块相当于数个个逻辑块。每个逻辑块相当于数个GAL的组合,各个逻辑块之间再用互的组合,各个逻辑块之间再用互连资源实现连接。连资源实现连接。在在CPLD芯片中设置了若干芯片中设置了若干I/O单元,单元,它们可直接与引脚相连,然后通过另它们可直接与引脚相连,然后通过另一组连线连到所需的宏单元上。一组连线连到所需的宏单元上。CPLD中普遍设有多个时钟输入端,中普遍设有多个时钟输入端,并可以利用芯片中产生的乘积项作为并可以利用芯片中产生的乘积项作为时钟,给系统的设计带来了很大的灵时钟,给系统的设计带来了很大的灵活性。活性。结构特点结构特点2021/9/172021/9/17202

12、0第第12章章 12.1.2 CPLD的编程工艺的编程工艺 EPROM(Erasable Programmable ROM)工艺 E2ROM(Electrical Erasable ROM)工艺 Flash工艺2021/9/172021/9/172121第第12章章 12.1.2 FPGAFPGA的结构特点的结构特点的结构特点的结构特点 在构造在构造FPGA时改用了单元结时改用了单元结构。即在阵列的各个节点上放的不构。即在阵列的各个节点上放的不再是一个单独的门,而是用门、触再是一个单独的门,而是用门、触发器等做成的逻辑单元,并在各个发器等做成的逻辑单元,并在各个单元之间预先制作了许多连线。所单

13、元之间预先制作了许多连线。所以严格地说,以严格地说,FPGA不是门阵列,不是门阵列,而是逻辑单元阵列,它和门阵列只而是逻辑单元阵列,它和门阵列只是在阵列结构上相似而已。是在阵列结构上相似而已。2021/9/172021/9/172222第第12章章 12.1.2 FPGA的编程工艺的编程工艺 (1)反熔丝工艺反熔丝工艺-编程时不是将熔丝熔断,而是将其熔连。编程时不是将熔丝熔断,而是将其熔连。Actel公司的公司的FPGA采用。采用。(2)RAM工艺工艺-Xilinx公司的公司的FPGA采用的是另一种工艺,采用的是另一种工艺,每个连接点代替熔丝的是一个受每个连接点代替熔丝的是一个受SR静态触发器

14、控制的开关,静态触发器控制的开关,当触发器当触发器被置被置1时,开关接通,否则开关断开。时,开关接通,否则开关断开。2021/9/172021/9/172323第第12章章 12.1.2 FPGA/CPLD的比较的比较延迟可预测能力延迟可预测能力CPLD的时序延迟是均匀的和可预测的,的时序延迟是均匀的和可预测的,FPGA的时序延迟不可预测。的时序延迟不可预测。布线能力布线能力CPLD独特的内连线结构使其内连率很高,更适合于芯片设计的独特的内连线结构使其内连率很高,更适合于芯片设计的可编程器件验证。可编程器件验证。适用场合适用场合CPLD更适合于完成各种算法和组合逻辑,更适合于完成各种算法和组合

15、逻辑,FPGA更适合于完成时序较多的逻辑电路更适合于完成时序较多的逻辑电路。主要区别主要区别2021/9/172021/9/172424第第12章章 12.1.3 Altera公司的主要产品 器件的可用资源逐渐增多,输入输出管脚也随之增加。器件的可用资源逐渐增多,输入输出管脚也随之增加。ClassicClassic系列系列MAXMAX系列系列ACEXACEX系列系列FLEXFLEX系列系列APEXAPEX系列系列2021/9/172021/9/17252512.2 可编程逻辑器件开发环境 MAX+PLUS IIMAX+PLUS II的设计流程的设计流程 主要设计输入方法主要设计输入方法主要设计

16、输入方法主要设计输入方法原理图输入方式原理图输入方式原理图输入方式原理图输入方式文本设计输入方法文本设计输入方法文本设计输入方法文本设计输入方法 编译设计项目编译设计项目编译设计项目编译设计项目 设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真 器件编程器件编程器件编程器件编程 时间分析时间分析时间分析时间分析2021/9/172021/9/172626第第12章章 12.2 MAX+PLUS II的设计流程(1)设计输入设计输入。可以采用原理图输入、可以采用原理图输入、HDL语语言描述、言描述、EDIF网表读入及波形输入等方式。网表读入及波形输入等方式。(2)语法检查

17、语法检查。主要为检验输入是否有误。主要为检验输入是否有误。(3)编译编译。主要完成器件的选择及适配,逻辑主要完成器件的选择及适配,逻辑的综合及器件的装入,延时信息的提取。的综合及器件的装入,延时信息的提取。(4)仿真仿真。将编译产生的延时信息加入到设计将编译产生的延时信息加入到设计中,进行布局布线后的仿真。中,进行布局布线后的仿真。(5)编程验证编程验证。经经EPROM或编程电缆配置或编程电缆配置CPLD,加入实际激励,进行测试,以检查是,加入实际激励,进行测试,以检查是否完成预定功能。否完成预定功能。MAX+PLUS II的设计流程图2021/9/172021/9/172727第第12章章

18、12.2.1 主要设计输入方法主要设计输入方法 原理图输入方式原理图输入方式 文本设计输入方式文本设计输入方式 层次设计输入方式层次设计输入方式 波形设计输入方式波形设计输入方式2021/9/172021/9/172828第第12章章 12.2.1 指定设计项目的名字指定设计项目的名字用MAX+PLUS II编译一个项目前,必须确定一个设计文件作为当前项目。原理图输入方式原理图输入方式原理图输入方式原理图输入方式2021/9/172021/9/172929第第12章章 12.2.1 建立新文件原理图输入方式原理图输入方式原理图输入方式原理图输入方式2021/9/172021/9/173030第

19、第12章章 12.2.1 原理图输入方式原理图输入方式原理图输入方式原理图输入方式2021/9/172021/9/173131第第12章章 12.2.1 输入图原和输入图原和宏功能符号宏功能符号原理图输入方式原理图输入方式原理图输入方式原理图输入方式2021/9/172021/9/173232第第12章章 12.2.1 连线输入引脚原理图输入方式原理图输入方式原理图输入方式原理图输入方式2021/9/172021/9/173333第第12章章 12.1.1 原理图输入方式原理图输入方式原理图输入方式原理图输入方式2021/9/172021/9/173434第第12章章 12.1.1 保存文件,

20、检查基本错误原理图输入方式原理图输入方式原理图输入方式原理图输入方式2021/9/172021/9/173535第第12章章 12.2.1 原理图输入方式原理图输入方式原理图输入方式原理图输入方式创建一个默认的图形符号2021/9/172021/9/173636创建一个默认的图形符号第第12章章 12.2.1 2021/9/172021/9/173737第第12章章 12.2.1 文本设计输入方法文本设计输入方法文本设计输入方法文本设计输入方法 2021/9/172021/9/173838第第12章章 12.2.1 文本设计输入方法文本设计输入方法文本设计输入方法文本设计输入方法 2021/9

21、/172021/9/173939第第12章章 12.2.1 文本设计输入方法文本设计输入方法文本设计输入方法文本设计输入方法 文本输入文本输入2021/9/172021/9/174040保存文件保存文件保存文件保存文件文本设计输入方法文本设计输入方法文本设计输入方法文本设计输入方法第第12章章 12.2.1 2021/9/172021/9/174141第第12章章 12.2.1 顶层图形设计方法顶层图形设计方法顶层图形设计方法顶层图形设计方法2021/9/172021/9/174242第第12章章 12.2.1 2021/9/172021/9/174343第第12章章 12.2.2 编译设计项

22、目编译设计项目编译设计项目编译设计项目 打开编辑器窗口2021/9/172021/9/174444编译设计项目编译设计项目编译设计项目编译设计项目第第12章章 12.2.22021/9/172021/9/174545第第12章章 12.2.2 编译设计项目编译设计项目编译设计项目编译设计项目 选择器件 2021/9/172021/9/174646选择器件选择器件编译设计项目编译设计项目编译设计项目编译设计项目第第12章章 12.2.2 2021/9/172021/9/174747第第12章章 12.2.2 编译设计项目编译设计项目编译设计项目编译设计项目 设计规则检查设计规则检查设计规则检查设

23、计规则检查2021/9/172021/9/174848第第12章章 12.2.2 编译设计项目编译设计项目编译设计项目编译设计项目 保护位设置2021/9/172021/9/174949第第12章章 12.2.2 器件的引脚分配器件的引脚分配器件的引脚分配器件的引脚分配 引脚分配2021/9/172021/9/175050第第12章章 12.2.2 打开定时模拟器网表文件提取器打开定时模拟器网表文件提取器打开定时模拟器网表文件提取器打开定时模拟器网表文件提取器 打开Timing SNF Extractor模块 2021/9/172021/9/175151第第12章章 12.2.2 指定在报告文

24、件中需要产生的部分指定在报告文件中需要产生的部分指定在报告文件中需要产生的部分指定在报告文件中需要产生的部分 如果某些部分还没有被打开,就选中All选项2021/9/172021/9/175252第第12章章 12.2.2 阅读报告阅读报告阅读报告阅读报告 打开报告文件2021/9/172021/9/175353第第12章章 12.2.2 在底层图编辑器中观察试配结果在底层图编辑器中观察试配结果在底层图编辑器中观察试配结果在底层图编辑器中观察试配结果 器件视图逻辑阵列块视图2021/9/172021/9/175454第第12章章 12.2.3 设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟

25、仿真设计项目的模拟仿真 创建模拟文件2021/9/172021/9/175555第第12章章 12.2.3 设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真 输入节点输入节点打开仿真打开仿真器器2021/9/172021/9/175656第第12章章 12.2.3 设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真 模拟仿真模拟仿真2021/9/172021/9/175757第第12章章 12.2.3 设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真设计项目的模拟仿真 仿真结果仿真结果2021/9/172021/9/175858时序仿真又称为

26、后仿真,在后仿真中由于加入时序仿真又称为后仿真,在后仿真中由于加入了芯片中的实际延时信息,仿真结果与芯片实了芯片中的实际延时信息,仿真结果与芯片实际工作状态基本一致。际工作状态基本一致。时时序序仿仿真真时序仿真可以发现竞争与冒险现象,若时序仿真可以发现竞争与冒险现象,若有此问题可从设计中设法消除,仿真与有此问题可从设计中设法消除,仿真与设计输入为一交互过程。设计输入为一交互过程。第第12章章 12.2.4 2021/9/172021/9/175959时间分析时间分析时间分析时间分析 传播延迟分析第第12章章 12.2.4 2021/9/172021/9/176060时间分析时间分析时间分析时间

27、分析 时序逻辑电路性能分析第第12章章 12.2.4 2021/9/172021/9/176161时间分析时间分析时间分析时间分析 建立和保持时间分析第第12章章 12.2.4 2021/9/172021/9/176262器件编程器件编程器件编程器件编程 (1)(1)打开编程器窗口打开编程器窗口打开编程器打开编程器第第12章章 12.2.5 2021/9/172021/9/176363器件编程器件编程器件编程器件编程 编程器设置第第12章章 12.2.5 2021/9/172021/9/176464第第12章章 12.3 12.3 12.3 硬件描述语言硬件描述语言硬件描述语言硬件描述语言 V

28、HDL(Very High Speed Intergrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言即超高速集成电路硬件描述语言(1)(1)功能强大,描述力强。可用于门级、电路级甚至系统级功能强大,描述力强。可用于门级、电路级甚至系统级功能强大,描述力强。可用于门级、电路级甚至系统级功能强大,描述力强。可用于门级、电路级甚至系统级的描述、仿真和设计。的描述、仿真和设计。的描述、仿真和设计。的描述、仿真和设计。主主要要优优点点(2)(2)可移植性好。对于设计和仿真工具采用相同的描述,对可移植性好。对于设计和仿真工具采用相同的描述

29、,对可移植性好。对于设计和仿真工具采用相同的描述,对可移植性好。对于设计和仿真工具采用相同的描述,对于不同的平台也采用相同的描述。于不同的平台也采用相同的描述。于不同的平台也采用相同的描述。于不同的平台也采用相同的描述。(4)可以延长设计的生命周期。因为可以延长设计的生命周期。因为VHDL的硬件描述与工的硬件描述与工艺技术无关,不会因工艺变化而使描述过时。艺技术无关,不会因工艺变化而使描述过时。(3)研制周期短,成本低。由于研制周期短,成本低。由于VHDL支持大规模设计的分支持大规模设计的分解和对已有设备的利用,因此加快了设计流程。解和对已有设备的利用,因此加快了设计流程。定义定义2021/9

30、/172021/9/176565第第12章章 12.3 硬件描述语言硬件描述语言硬件描述语言硬件描述语言 库库实体实体结构体结构体2021/9/172021/9/176666第第12章章 12.3实体实体实体实体 实体名实体名端口端口数据类型数据类型2021/9/172021/9/176767第第12章章 12.3端口说明端口说明端口说明端口说明端口模式端口模式端口模式端口模式说说明明ININ输输入入OUTOUT输输出(构造体内部不能再使用)出(构造体内部不能再使用)BUFFERBUFFER输输出(构造体内部可再使用)出(构造体内部可再使用)INOUTINOUT双向双向LINKAGELINKA

31、GE不指定方向,无不指定方向,无论论哪一个方向都可哪一个方向都可连连接接2021/9/172021/9/176868第第12章章 12.3数据类型数据类型数据类型数据类型BIT 位类型,取值位类型,取值0、1,由,由STANDARD程序包定义;程序包定义;BIT_VECTOR 位向量类型,是位向量类型,是BIT的组合,该端口的取值可能是的组合,该端口的取值可能是一组二进制位的值;一组二进制位的值;STD_LOGIC 工业标准的逻辑类型,取值工业标准的逻辑类型,取值0、1、X、Z,由,由 STD_LOGIC_1164程序包定义;程序包定义;INTEGER 整数类型,可用作循环的指针或常数,通常不

32、用作整数类型,可用作循环的指针或常数,通常不用作I/O信号;信号;STD_LOGIC_VECTOR 工业标准的逻辑向量类型,是工业标准的逻辑向量类型,是STD_LOGIC的组;的组;BOOLEAN 布尔类型,取值布尔类型,取值FALSE,TRUE。2021/9/172021/9/176969第第12章章 12.3 结构体结构体结构体结构体结构体的一般形式为:结构体的一般形式为:Architecture 结构体名结构体名 Of 实体名实体名 Is说明说明 Begin 功能描述语句功能描述语句 End 结构体名;结构体名;Architecture or2x Of or2 IsBeginyY0Y1Y

33、2Y3 BE0=0;BE1 BE0=1;BE1 BE0=X;BE1=X;End case;End process;End dec4be_arch;Process语句的表达格式如下:进程名:Process(信号)Begin 顺序描述语句End Process;2021/9/172021/9/177272第第12章章 12.3 结构体结构体结构体结构体-SubprogramsSubprograms Procedure mypro(sig1,sig2)IS End mypro;调用语句:mypro(sig1,sig2);在VHDL中,子程序有两种类型:过程(Procedure)函数(Function

34、)1)过程语句格式如下:Procedure 过程名(参数表)Is定义语句Begin 顺序处理语句End 过程名;2021/9/172021/9/177373第第12章章 12.3 结构体结构体结构体结构体-SubprogramsSubprograms Package bpac isFunction max(a :Std_logic_vector;b :Std_logic_vector)Return Std_logic_vector;End bpac;Package body bpac isFunction max(a :Std_logic_vector;b :Std_logic_vector)

35、Return Std_logic_vector is Variable temp:Std_logic_vector;Begin If(a Return 1;When 1 Return 0;When Z Return Z;End Case;End lnvert;End Logic;包集合标题的形式为包集合标题的形式为:Package 包集合名包集合名 is 说明语句说明语句;End 包集合名;包集合名;包集合体的形式为包集合体的形式为:Package Body 包集合名包集合名 is 说明语句说明语句;End 包集合名包集合名;包集合包集合标题标题包集合体包集合体2021/9/172021/9/

36、177575第第12章章 12.3库库库库 例如:Library IEEE;Use IEEE.STD_LOGIC_1164.ALL;库的说明总是放在设计单元的最前面。格式为:Library 库名;库大致可以归纳为5种:IEEE库、STD库、面向ASIC的库 用户定义的库 WORK库。2021/9/172021/9/177676第第12章章 12.3 配置配置配置配置 Architecture one OF NAND IS Begin C=NOT(a AND b);End Architecture one;Architecture two Of NAND Is BeginC=1 When(a=0

37、)AND(b=0)ElseC=1 When(a=0)AND(b=1)ElseC=1 When(a=1)AND(b=0)ElseC=0 When(a=1)AND(b=1)ElseC=0;End Architecture two;配置语句的一般格式如下:Configration 配置名 Of 实体名 Is 语句说明End 配置名;Configuration second Of NAND IsFor twoEnd For;End second;Configuration first Of NAND IsFor oneEnd For;End first;2021/9/172021/9/177777第第

38、12章章 12.3 VHDLVHDL语言的数据类型及运算操作符语言的数据类型及运算操作符语言的数据类型及运算操作符语言的数据类型及运算操作符(1)常数常数常数的说明的一般格式如下:常数的说明的一般格式如下:Constant:常数名:数据类型:常数名:数据类型:=表达式;表达式;例如:例如:Constant:VCC:REAL:=3.3;(2)变量变量变量的说明语句格式如下:变量的说明语句格式如下:Variable:变量名:数据类型:变量名:数据类型约束条件:约束条件:=表达式;表达式;例如:例如:Variable:z:Integer Range 0 To 255:=8;(3)信号信号信号说明语句

39、格式如下:信号说明语句格式如下:Singal:信号名:数据类型:信号名:数据类型约束条件:约束条件:=表达式;表达式;例如:例如:Singal:CLK:BIT:=0;VHDL中有三类对象:中有三类对象:常数常数(Constant)变量变量(Variable)信号信号(Signal)2021/9/172021/9/177878第第12章章 12.3 VHDLVHDL中的数据类型中的数据类型中的数据类型中的数据类型 数据类型含义整数整数32位,-2 147 483 647 2 147 483 647实数浮点数,-1.0E+38 +1.0E+38位逻辑0或1位矢量位矢量布尔量逻辑“假”或逻辑“真”字

40、符ASCII字符时间时间单位fs,ps,ns,ms,sec,min,hr错误等级NOTE,WARNING,ERROR,FAILURE自然数,正整数整数的子集字符串字符矢量2021/9/172021/9/177979第第12章章 12.3VHDLVHDL语言的运算操作符语言的运算操作符语言的运算操作符语言的运算操作符 逻辑(Logical)运算、关系(Relational)运算算术(Arithmetic)运算并置(Concatenation)运算 2021/9/172021/9/178080第第12章章 12.3VHDLVHDL语言的运算操作符语言的运算操作符语言的运算操作符语言的运算操作符(1

41、)逻辑运算符在VHDL语言中逻辑运算符共有6种:NOT取反;AND与;OR或;NAND与非;NOR或非;XOR异或;2021/9/172021/9/178181第第12章章 12.3VHDLVHDL语言的运算操作符语言的运算操作符语言的运算操作符语言的运算操作符(2)算术运算符VHDL有10种算术运算符,它们分别是:+加;减;*乘;/除;MOD求模;REM取余;+正;(一元运算)-负;(一元运算)*指数;ABS取绝对值。2021/9/172021/9/178282第第12章章 12.3VHDLVHDL语言的运算操作符语言的运算操作符语言的运算操作符语言的运算操作符(3)关系运算符VHDL语言中

42、有6种关系运算符,它们分别是:=等于;/=不等于;小于;大于;=大于等于。2021/9/172021/9/178383第第12章章 12.3VHDLVHDL语言的运算操作符语言的运算操作符语言的运算操作符语言的运算操作符(4)并置运算符 并置运算符“&”用于位的连接。例:将a(0)a(3)4位连接起来构成位矢量a,则表示为:a=a(0)&a(1)&a(2)&a(3);将b(0)b(3)4位连接起来构成位矢量b,则表示为:b=b(0)&b(1)&b(2)&b(3);将a和b连接起来构成8位位矢量y,表示为:y 顺序语句;WHEN 选择值=顺序语句;End CASE;条件句中的选择值必须在表达式的

43、取值范围内。除非所有条件句中的选择值能覆盖CASE语句中表达式的取值,否则最末一个条件句中的选择必须用“OHTERS”表示。CASE语句中每一条件句的选择值只能出现一次,不能有相同选择值的条件语句出现。CASE语句执行中必须选中,且只能选中所列条件语句中的一条。2021/9/172021/9/178989第第12章章 12.3 流程控制语句流程控制语句流程控制语句流程控制语句 -LOOPLOOP语句语句语句语句 1)FOR循环变量这样的LOOP语句格式如下:标号:FOR 循环变量 IN 离散范围 LOOP顺序处理语句;End LOOP标号;例如:ASUM:FOR i IN 1 TO 128 L

44、OOP sum=i+sum;-sum初值为0 End LOOP ASUM;2021/9/172021/9/179090第第12章章 12.3 流程控制语句流程控制语句流程控制语句流程控制语句 -LOOPLOOP语句语句语句语句2)WHILE条件 这样的LOOP语句格式如下:标号:WHILE 条件 LOOP顺序处理语句;End LOOP标号;在该LOOP语句中,如果条件为“真”,则进行循环;如果条件为“假”,则结束循环。例如:x:=1;ASUM:WHILE(x129)LOOP sum=x+sum;-sum初值为0 x:=x+1;End LOOP ASUM;2021/9/172021/9/1791

45、91第第12章章 12.3 流程控制语句流程控制语句流程控制语句流程控制语句 -NEXTNEXT语句语句语句语句 在LOOP语句中,NEXT语句主要用于跳出本次循环。其书写格式为:NEXT 标号 WHEN条件 例如:LA:FOR value IN 1 TO 15 LOOPS1:A(value):=1;NEXT WHEN(b=c);S2:A(value+15):=0;End LOOP LA;说明:NEXT语句执行时将停止本次迭代,而转入下一次新的迭代。NEXT后跟的“标号”和”WHEN条件”均为可选项,二者均无时,只要执行到该语句就立即无条件跳出本次循环,从LOOP语句的起始位置进入下一次循环,

46、即开始下一次迭代。2021/9/172021/9/179292第第12章章 12.3 流程控制语句流程控制语句流程控制语句流程控制语句-EXITEXIT语句语句在LOOP语句中,NEXT语句主要用于跳出本次循环。其书写格式为:NEXT 标号 WHEN条件EXIT语句的格式也有三种:EXIT;-第一种当程序执行到该EXIT语句时就无条件地从当前所属的LOOP语句中跳出,结束循环状态,继续执行LOOP语句后继的语句。EXIT LOOP 标号;-第二种执行此EXIT语句时,程序将跳至所说明的标号。EXIT LOOP 标号 WHEN 条件表达式;-第三种当执行到此EXIT语句时,只要在所说明的条件为T

47、RUE时,程序将跳至所说明的标号。若无标号说明,下一条要执行的语句是循环外的下一条语句。2021/9/172021/9/179393第第12章章 12.3等待等待等待等待(WAIT)(WAIT)语句语句语句语句 WAIT等待语句有以下四种不同的语句格式,设置不同的结束挂起条件:WAIT -无限等待WAIT ON 信号表 -敏感信号量变化WAIT UNTIL 条件表达式 -条件满足WAIT FOR 时间表达式 -时间到WAIT UNTILrising_edge(clock);WAIT UNTILclockEVENT AND clock=1;WAIT ON a,b;WAIT FOR 10ms;WA

48、IT FOR a+b;2021/9/172021/9/179494第第12章章 12.3 信号代入语句信号代入语句信号代入语句信号代入语句 信号代入语句的书写格式为:目的变量:=表达式;该语句表明,目的变量的值将由表达式所表达的新值替代,但是两者的类型必须相同。例如:a:=2;b:=c+d;2021/9/172021/9/179595第第12章章 12.3断言断言断言断言(ASSERT)(ASSERT)语句语句语句语句 断言语句的书写格式为:断言语句的书写格式为:ASSERT 条件条件 REPORT输出信息输出信息 SEVERITY级别级别;当执行当执行ASSERT语句时,就会对条件进行判别。

49、如果条件语句时,就会对条件进行判别。如果条件为为TRUE,则向下执行另一个语句。如果条件为,则向下执行另一个语句。如果条件为FALSE,则,则输出错误信息和错误严重程度的级别。输出错误信息和错误严重程度的级别。例如:ASSERT(waitA=1)REPORT“waitA timed out at 1”SEVERITY ERROR;该断言语句的条件是信号量waitA=1。如果执行到该语句 时,信号量waitA=0,说明条件不满足,就会输出REPORT后跟的文字串。SEVERITY ERROR语句告诉操作人员,其出错级别为ERROR。ASSERT语句方便了程序的仿真和调试。2021/9/17202

50、1/9/179696第第12章章 12.3返回语句返回语句返回语句返回语句 空操作语句空操作语句空操作语句空操作语句 返回语句有两种语句格式:Return;-第一种语句格式Return 表达式;-第二种语句格式 第一种语句格式只能用于过程,它只是结束过程,并不返回任何值;第二种语句格式只能用于函数,并且必须返回一个值。返回语句只能用于子程序体中。空操作语句的语句格式如下:NULL空操作语句不完成任何操作,它唯一的功能就是使逻辑运行流程跨入下一步语句的执行。2021/9/172021/9/179797第第12章章 12.3VHDLVHDL并行语句并行语句并行语句并行语句 在在VHDL语言中能进行

51、并行处理的语句有:语言中能进行并行处理的语句有:进程进程(Process)语句,语句,并行信号赋值并行信号赋值(Concurrent Signal Assignment)语句语句条件信号赋值条件信号赋值(Conditional Signal Assignment)语句语句选择信号赋值选择信号赋值(Selective Signal Assignment)语句语句并行过程调用并行过程调用(Concurrent Procedure Call)语句语句块块(Block)语句语句 2021/9/172021/9/179898第第12章章 12.3并行信号赋值语句并行信号赋值语句并行信号赋值语句并行信号赋

52、值语句 并行信号赋值语句的语句格式如下:赋值目标=表达式;例如:Architecture behav OF a ISBeginOutput=f(i);End behav;说明赋值语句在进程内部使用时,以顺序语句的形式出现;赋值语句在进程内部使用时,以顺序语句的形式出现;在结构体的进程之外使用时,以并行语句的形式出现。在结构体的进程之外使用时,以并行语句的形式出现。2021/9/172021/9/179999第第12章章 12.3 条件信号赋值语句条件信号赋值语句条件信号赋值语句条件信号赋值语句 其书写格式为:目的信号量=表达式1 WHEN 条件1 ELSE 表达式2 WHEN 条件2 ELSE

53、表达式3 WHEN 条件3 ELSE ELSE表达式n;Architecture rtl OF mux4 IS Signal sel:STD_LOGIC_VECTOR(1 DOWNTO 0);BeginSel=b&a;Q=i0 When sel=”00”ELSE i1 When sel=”01”ELSEi2 When sel=”10”ELSE i3 When sel=”11”ELSEX;End rtl;2021/9/172021/9/17100100第第12章章 12.3并行过程调用语句并行过程调用语句并行过程调用语句并行过程调用语句 并行过程调用语句的语句调用格式与前面讲过的顺序过程调用语句

54、是相同的。即过程名 (关联参量名);下面是一个在结构体中采用并行过程调用语句的实例:Architecture Begin Vector_to_int(z,x_flag,q);End;2021/9/172021/9/17101101第第12章章 12.3 命名规则和注解的标记命名规则和注解的标记命名规则和注解的标记命名规则和注解的标记 在VHDL语言中为信号、实体、结构体以及变量等命名时应遵守如下规则:(1)名字的最前面应该是英文字母;(2)能使用的字符只有英文字母、数字和;(3)不能连续使用符号,在名字的最后也不能使用符号。下面是命名语句的例子:SIGNAL a_bus:STD_LOGIC_V

55、ECTOR(7 DOWNTO 0);SIGNAL 1_bus:-数字开头的名字是错误的SIGNAL a_bus:-不能作为名称中的字符,是错误的SIGNAL a_bus:-不能连续使用符号,是错误的SIGNAL a_bus_:-在名字的最后也不能使用符号,是错误的2021/9/172021/9/17102102第第12章章 12.3组合逻辑电路设计组合逻辑电路设计组合逻辑电路设计组合逻辑电路设计-全加器全加器全加器全加器 Library IEEE;Use IEEE.STD_LOGIC_1164.ALL;Use IEEE.STD_LOGIC_unsigned.ALL;Entity full_ad

56、der IS Port(a,b,ci:IN STD_LOGIC;Sum,co :OUT STD_LOGIC);End full_adder;ARCHITECTURE fadder OF full_adder ISsignal temp:std_logic_vector(1 downto 0);Begin temp=(0&a)+b+ci;sum=temp(0);co=temp(1);End fadder;2021/9/172021/9/17103103第第12章章 12.3 时序逻辑电路设计时序逻辑电路设计时序逻辑电路设计时序逻辑电路设计-触发器触发器触发器触发器 Library IEEE;Us

57、e IEEE.STD_LOGIC_1164.ALL;Entity dff IS Port(d,clk,set,clr:IN STD_LOGIC;q:OUT STD_LOGIC);End dff;ARCHITECTURE xdff OF dff IS Begin Process(clk)Begin IF(clk EVENT AND clk=1)THEN IF(set=0)THEN q=0;ELSIF (clr=0)THEN q=1;ELSE q=d;End IF;End IF;End Process;End xdff;2021/9/172021/9/17104104第第12章章 12.3四位二进

58、制同步可逆计数器设计四位二进制同步可逆计数器设计Library IEEE;Use IEEE.STD_LOGIC_1164.ALL;Use IEEE.STD_LOGIC_unsigned.ALL;Entity cnt4 IS Port(clk,clr,updown:IN STD_LOGIC;co:OUT STD_LOGIC;count:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);End cnt4;ARCHITECTURE xcnt4 OF cnt4 IS signal temp:std_logic_vector(3 downto 0);Begin Process(clk,c

59、lr)时序逻辑电路设计时序逻辑电路设计时序逻辑电路设计时序逻辑电路设计-计数器计数器计数器计数器2021/9/172021/9/17105105第第12章章 12.3 Begin IF(clr=0)THEN temp 1111)THEN temp=0000;ELSE temp=temp+1;End IF;IF(temp=1111)THEN co=1;ELSE co=0;End IF;ELSE IF(temp 0000)THEN temp=1111;2021/9/172021/9/17106106第第12章章12.3时序逻辑电路设计时序逻辑电路设计时序逻辑电路设计时序逻辑电路设计-计数器计数器计数器计数器 ELSE temp=temp-1;End IF;IF(temp=0000)THEN co=1;ELSE co=0;End IF;End IF;End IF;count=temp;End Process;End xcnt4;2021/9/172021/9/17107107北京理工大学电工教研室北京理工大学电工教研室2021/9/172021/9/17108108

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!