EDA课件6

合集下载

EDA技术精品课件

EDA技术精品课件
高级综合工具还可以对设计的正确性进行验证,通过仿真和模拟来检查设计的正确性,从而减少了设计错误和返工的可能性。
高级综合工具是EDA技术中最核心的工具之一,它可以将高层次设计转换成硬件描述语言,如Verilog和VHDL。
1
布局布线工具
2
3
布局布线工具是EDA技术中用于芯片物理设计的工具。
布局布线工具可以将高层次的设计转换成实际的芯片物理设计,包括芯片的布局、布线和验证等。
eda技术精品课件
2023-10-28
目录
contents
EDA技术概述EDA技术的基本原理EDA技术的关键技术EDA技术的设计案例EDA技术的未来趋势
01
EDA技术概述
定义
EDA技术是指电子设计自动化技术,它利用计算机辅助设计软件来完成集成电路的设计、验证和模拟。
特点
自动化程度高,可以大大缩短设计周期;设计灵活,可以适应不同的设计需求;设计成本低,可以提高芯片的竞争力。
布局布线工具能够优化芯片的性能和功耗,并且可以检查芯片设计的可制造性和可靠性。
03
IP核复用技术可以提高设计的可靠性和性能,并且可以缩短设计周期和降低成本。
IP核复用技术
01
IP核复用技术是EDA技术中用于提高设计效率和可靠性的重要技术之一。
02
IP核复用技术可以将已经经过验证的硬件设计模块化,从而避免重复设计和错误。
VS
随着集成电路和半导体技术的不断发展,EDA技术将覆盖更多的应用领域。例如,在物联网、人工智能、5G通信等领域,EDA技术将被广泛应用于各种芯片设计,包括处理器、存储器、传感器等。
扩大EDA技术的应用领域需要不断加强技术研发和市场开拓,以实现技术的广泛应用和商业化落地。

微电子技术第6章 集成电路设计的EDA系统PPT课件

微电子技术第6章 集成电路设计的EDA系统PPT课件

6.4 逻辑模拟
(1)三值逻辑 三值逻辑是除了0、1两个逻辑状态外,引入第三个逻辑
状态μ,用来表示电路中些无关态等,其真值表见表6-1。
表6-1 三值逻辑真值表
表6-1 三值逻辑真值表
(2)四值逻辑 表6-2为四值逻辑真值表。 表6-2 四值逻辑真值表
6.6 时序分析和混合模拟
(3)求解的基本方程 前面谈到时序分析软件的特点是不求解电路的联 立方程,而是认为信号顺序地从一个门传送到下一个门。 2.门级时序分析
图6-7 建立时间和保持时间
6.2.1 VHDL概述 6.2.2 VHDL的建模机理 1.设计实体与结构体
图6-1 程序综合后的电路图
6.2 VHDL及模拟
2.进程 3.信号 4.行为描述 5.结构描述 6.2.3 VHDL的模拟算法
图6-2 基本模拟算法的过程
6.2 VHDL及模拟
6.2.4 VHDL的模拟环境 (1)属性 VHDL中利用属性的概念可以获得某些特性信息,建立时域 模型,可以解决对一些必要信息提取较困难的问题。 (2)断言、报告语句 VHDL提供断言、报告语句。 (3)决断信号和决断函数 二者主要用于实现适当的冲突仲裁,决断函 数是用户定义的函数。 (4)对象和数据类型 VHDL中主要有信号、变量、常量和文件四类对 象;同时具有很丰富的数据类型和定义新数据类型的能力。 (5)设计库 用于存储设计单元以便调用和仿真,可以对已完成的设计 进行共享。 (6)“测试台”技术 用于模拟验证。
第6章 集成电路设计的EDA系统
1)掌握集成电路设计的EDA系统在设计中的作用。 2)了解VHDL语言的使用、建模及模拟。 3)掌握工艺模拟的实现。
第6章 集成电路设计的EDA系统
6.1 集成电路设计的EDA系统概述 6.2 VHDL及模拟 6.3 综合 6.4 逻辑模拟 6.5 电路模拟 6.6 时序分析和混合模拟 6.7 版图设计的EDA工具 6.8 器件模拟 6.9 工艺模拟 6.10 计算机辅助测试技术

EDAPPT课件

EDAPPT课件
1. EDA技术的起源 2. EDA技术的发展技术及特点
常用EDA软件介绍
1. EDA软件的分类 2. EDA软件的发展趋势
EDA工程的设计流程 EDA工程的设计方法
1.1 EDA技术简介
EDA(Electronic Design Automation 电子设计
自动化)的定义:
1. 狭义的定义: 以计算机为工作平台; 以相关的EDA开发软件为工具; 以大规模可编程逻辑器件(包括CPLD、FPGA、 EPLD等)为设计载体; 以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述的主要表达方式; 自动完成系统算法,电路设计,最终形成电子系统或 专用集成芯片的一门新技术。
20世纪70年代,由于设计师对图形符号使用数量有限, 因此传统的手工布图方法无法满足产品复杂性的要求, 更不能满足工作效率的要求,就产生了一些单独的软件 工具,主要有印制电路板(PCB)布线设计、电路模拟、 逻辑模拟及版图的绘制等。
这种应用计算机进行辅助设计的时期,就是计算机辅助 设计CAD阶段。
利用这些工具,设计师能在产品制作之前预知产品的
功能与性能,能生成产品制造文件,使设计阶段对产 品性能的分析前进了一大步,这就是真正的计算机辅 助工程设计CAE阶段。
飞速发展,其工艺水平已
达到了深亚米微米级,在一个芯片上可以集成上百万、 上千万乃至上亿个晶体管,芯片的工作频率可达到 GHz,发展到了甚超大规模集成电路阶段。
该阶段的硬件系统设计,仍然使用大量不同型号的标
准芯片,实现电子系统设计。
随着微电子工艺的发展,相继出现了集成上万只晶体
管的微处理器、集成几十万乃至上百万储存单元的随 机存储器和只读存储器的超大规模集成电路。

EDA技术实用教程第6章NIOS软核SOPC系统设计

EDA技术实用教程第6章NIOS软核SOPC系统设计
存器。这些寄存器用于 自动控制
寄存器 CTL0 CTL1 CTL2 CTL3 CTL4 CTL5 名称 status estatus bstatus ienable ipending cpuid B31 ... B2 B1 保留 U 保留 EU 保留 BU 中断使能位 中断挂起位 处理器的唯一标识 B0 PIE EPIE BPIE
. . .
异常临时寄存器(1) 断点临时寄存器(2) 全局指针寄存器 堆栈指针寄存器 帧指针寄存器 异常返回地址(1) 断点返回地址(2) 返回地址寄存器





(1)寄存器R0作为0寄存器。它通常包含常数0。 因此,写它时无效,读这个寄存器的返回值为0。 (2)寄存器R1被汇编器作为临时寄存器使用,用 户程序中不能使用。 (3)寄存器R24和R29用于处理表达式;它们在用 户模式不可用。 (4)寄存器R25和R30是JTAG调试模式专用。 (5)寄存器R27和R28用于控制NiosII处理器使用 的栈。 (6)寄存器R31用于保存子程序调用的返回地址。
6.2 NiosII指令系统

NiosII处理器是精简指令架构(RISC)。其 算术和逻辑运算的操作数在通用寄存器执 行。 通过Load和Store指令在内存和寄存器 之间传送数据。 NiosII处理器的字长为32 bits。所有的寄存器都是32 bits。32-bit的 字节地址可用从小到大或从大到小的风格 赋值。在配置时,用户可能会选择一种赋 值风格。本文使用从小到大的风格。 NiosII 架构使用单独的指令和数据总线,通常叫 做哈佛架构。

NiosII CPU内部结构示意图
CPU复位信号 时钟信号 JTAG 调试模块 程序控制器和 地址生成器
指令存储器

EDA技术概述PPT课件

EDA技术概述PPT课件
双极型电路驱动能力强但功耗较大,MOS电路则反之,双 极性MOS电路兼有二者优点,MOS电路中PMOS和NMOS已趋 于淘汰。
5.专用集成电路与通用集成电路
专用集成电路(Application Specific Integrated Circuits,ASIC)是相对通用集成电路而言的。按用户需要,面向 特定用途而专门设计制作的集成电路。大量生产并标准化的通 用集成电路一般不能满足全部用户的需要,研制新的电子系统 常需各种具有特殊功能或特殊技术指标的集成电路。定制集成 电路是解决这个问题的重要途径之一,是集成电路发展的一个 重要方面。
军品:在军事、航空、航天等领域使用环境条件恶 劣、装置密度高,对集成电路的可靠性要求极高, 产品价格退居次要地位。
民用品:在保证一定可靠性和性能指标前提下,性 能价格比是产品能否成功的重要条件之一。显然如 果在普通电子产品中选用了军品是达不到高性能价 格比的。
工业品则是介于二者之间的一种产品,但不是所有 集成电路都有这三个品种的。
4、按半导体工艺分
电路,由空穴和电子 两种载流子导电。
2)MOS电路 参加导电的是空穴或电子一种载流子。
NMOS由N沟道MOS器件构成。 PMOS由P沟道MOS器件构成。 CMOS由N、P沟道MOS器件构成互补形式的电路。 3)双极型-MOS电路(BIMOS) 双极型晶体管和MOS电路混合构成集成电路,一般前者作 输出级,后者作输入级。
它是为特定应用领域或特定电子产品专门研制的集成电路, 目前应用较多的有:
(1)门阵列(GA) (2)标准单元集成电路(CBIC )。 (3)可编程逻辑器件(PLD)。 (4)模拟阵列和数字模拟混合阵列。 (5)全定制集成电路。
几个概念
就设计方法而言,设计集成电路的方法可以分 为全定制、半定制和可编程IC设计三种方式。

EDA技术实用教程精品PPT课件

EDA技术实用教程精品PPT课件
VerilogHDL与VHDL最常用
VerilogHDL与VHDL的比较
• VHDL来源于古老的Ada语言,VerilogHDL来源于 C语言,VerilogHDL受到一线工作的工程师的青 睐。
• 90%以上的公司采用verilogHDL进行IC设计, ASIC设计必须学习VerilogHDL,VerilogHDL在工 业界通用些,VHDL在大学教学中使用较多
自项向下的设计方法
• 设计说明书 • 行为模型 • 行为仿真 • RTL级建模 • 前端功能仿真 • 逻辑综合 • 测试向量生成 • 功能仿真 • 结构综合 • 门级时序仿真 • 硬件测试
“自顶向下”和“自下向顶”互 为补充
• 原先是采用“自下向顶”的设计方法 • 现在流行“自顶向下”的设计方法 • 两种方法各有利和弊,只强调“自顶向下”
运算步
寄存器传输级(RTL) 时钟周期
逻辑门级(Logic) 延时
门(电路)级(Gate)物理时间
物理级(版图级) (Layout)
几何图形
基本单位
电路的功能(行为) 描述
进程及通信
自然语言描述或ห้องสมุดไป่ตู้互 通信的进程
运算的控制
行为有限状态机、数 据流图、控制流图
寄存器、计数器、多 布尔方程、二元决策 路选择器、算术逻辑 图、有限状态机 单元
• 从算法表示转换到寄存器传输级,即行为 综合
• 从RTL级表示转换到逻辑门的表示,即逻辑 综合
• 从逻辑门表示转换为版图表示,即版图综 合或结构综合
综合与编译的比较
• 编译过程基本属于一种一一对应式的,机 械转换式的“翻译”行为
• 综合具有明显的能动性和创造性,根据设 计库、工艺库以及预先设置的各类约束条 件,选择最优的方式完成电路结构的设计。 对于相同的VHDL表述,综合器可以用不同 的电路结构实现相同的功能。

EDA技术PPT(6)

EDA技术PPT(6)

PCB元件封装概述

元件封装的分类 元件封装可以分成两大类,即针脚式元件封装和 STM (表面粘贴式) 元件封装。 (1) 针脚式元件封装 针脚式封装元件焊接时先要 将元件针脚插入焊盘导通孔,然后再焊锡。例如 AXIAL0.4为电阻封装,如左下图所示。DIP8为双 列直插式8引脚集成电路封装,如右下图所示。

(2)设计环境设置 选项参数设置:Tools / Library Options
系统参数设置 执行菜单命令“Tools\Preference…”,系统 将弹出如下图所示的“Preference”设置对话框。 它共有5个标签页,一般只设定“Options”标签 页的各项参数即可。

(3)放置焊盘 Place / Pad(或单击放置工具栏 PCBLibPlacememtToolskh 中的 按钮),

1、启动原理图元件库编辑器
1)启动Protel 99 SE,进入Protel 99 SE主窗口。 2)进入Protel 99 SE主窗口后, 执行菜单命令 “File\New Design”,就弹出下图对话框。
3)执行菜单命令“File\New”,打开新建文件对话框, 如下图所示。将鼠标指针移到原理图元件库编辑文 档图标上,单击左键选中。
5、编辑元件信息Browse SchLib中的Description


6、生成有关元件的报表 ① 元件报表Report / Component ② 元件库报表Report / Library ③ 元件规则检查报表Report / Library Component
Rule Check

4)单击对话框中“OK”按钮或直接双击“原理图 元件库文档”图标,就会在设计窗口弹出一个原理 图元件库编辑文档图标,在这里可以修改元件库文 档的名称,例如GB.lib;按Enter键即完成修改,如 上图所示。

《EDA综合课程设计》课件

《EDA综合课程设计》课件

培养创新思维:通 过课程设计,激发 学生的创新思维和 创新能力
提高解决问题的能力: 通过解决实际问题, 提高学生的问题解决 能力和创新能力
培养团队协作能力 :通过团队合作, 提高学生的团队协 作能力和创新能力
提高专业素养:通 过课程设计,提高 学生的专业素养和 创新能力
汇报人:
团队协作:在 课程中,学生 需要与团队成 员共同完成项 目,培养团队
协作能力
沟通技巧:在 团队协作中, 学生需要学会 如何有效地与 团队成员沟通, 提高沟通技巧
解决问题:在团 队协作中,学生 需要学会如何解 决团队中遇到的 问题,提高解决
问题的能力
领导能力:在 团队协作中, 学生需要学会 如何领导团队, 提高领导能力
提高学生的实践能力和创新 能力
掌握EDA技术的基本原理和 应用方法
培养学生团队合作和沟通能 力
增强学生对EDA技术的理解 和应用能力
电子信息工程专业学生 计算机科学与技术专业学生 通信工程专业学生
自动化专业学生 电子科学与技术专业学生 相关专业教师和研究人员
PART TWO
EDA(Electronic Design Automation):电子设计自动化技术 主要功能:电路设计、仿真、验证、优化等 应用领域:集成电路设计、通信、计算机等 发展趋势:智能化、自动化、集成化
电路仿真步骤:介绍电路仿真的一 般步骤,如建立电路模型、设置仿 真参数、运行仿真等
添加标题
添加标题
添加标题
添加标题
电路仿真原理:介绍电路仿真的基 本原理,如电路模型、仿真算法等
电路仿真应用:介绍电路仿真在 EDA综合课程设计中的应用,如电 路设计、电路优化等
PART THREE

第一讲-EDA简介PPT课件

第一讲-EDA简介PPT课件
(1)打开原理图编辑窗 “File”→ “ New”→ “File Type” → “Graphic Editor File” → “ OK”
31
32
(2)右击鼠标,选择“Enter Symbol”,
33
34
35
(3)调入所需各元件,并连接好, 输入各引脚名:a、b、co、so
(4)将图文件取名为:h_adder.gdf,存入E:\MY_PRJCT目录 “File”→ “ Save As”→ …… → “ OK”
9
自顶向下的设计流程
10
5. EDA与传统电子设计方法的比较
传统的电子系统或IC设计中,手工设计 占了较大比例。缺点如下:
(1)复杂电路的设计、调试十分困难; (2)如果某一过程存在错误,查找和修改十分不便; (3)设计过程中产生大量文挡,不易管理; (4)对于集成电路设计而言,设计实现过程与具体
在 MAX+plusⅡ编译设计主控界面上,它显示了 MAX+plusⅡ自动设计的各主要处理环节和设计流程, 包括设计输入编辑、编译网表提取、数据库建立、逻 辑综合、路基分割、适配、延时网表提取、编程文件 汇编(装配)以及编程下载9个步骤。
22
编译设计 主控界面
23
MAX+plusⅡ设计流程
编译网表 提取
2
1. EDA技术实现目标
利用EDA技术进行电子系统设计,最后的目标 是完成专用集成电路ASIC的设计和实现。
三条实现途径: 1)超大规模可编程逻辑器件***
主流器件:
FPGA(Field Programmable Gate Array) CPLD (Complex Programmable Logic Device)

EDA技术精品课件

EDA技术精品课件
eda技术前沿和发展趋势
低功耗设计
低功耗设计概述
介绍低功耗设计的概念、意义 、目的和方法。
低功耗设计的技术
总结和介绍低功耗设计中使用的 各种技术,包括减少电路的功耗 、优化器件的性能、使用低功耗 器件等。
低功耗设计的应用
列举和解释低功耗设计在各个领域 中的应用,包括便携式设备、物联 网等。
集成化设计
基于电路仿真工具的验证
电路仿真原理
讲解电路仿真的基本原理,包括时序、功能 和性能仿真等。
仿真工具与应用
介绍常见的电路仿真工具,如ModelSim、VCS等 ,以及在电路设计中的应用。
仿真流程与方法
详细介绍电路仿真的流程和方法,包括仿真 测试文件编写、约束文件设置、仿真执行等 。
基于可编程逻辑器件的实现
介绍数字信号处理的基本概念 、信号转换方法以及数字信号
处理的优势等。
dsp芯片介绍
详细说明选用dsp芯片的选型方 法、芯片特点以及编程语言和
开发环境等。
dsp算法实现
介绍数字信号处理中常用的算 法,如滤波器、FFT、频域变换 等,并说明如何用dsp芯片实现
这些算法。
dsp电路设计
01
02
03
dsp概述
高性能设计的应用
列举和解释高性能设计在 各个领域中的应用,包括 超级计算、云计算等。
THANKS
感谢观看
pld概述
介绍可编程逻辑器件( PLD)的基本概念、发展 历程、基本结构和编程原 理等。
pld硬件设计
详细说明如何使用eda工 具进行pld芯片的硬件设 计,包括器件选择、布局 布线、时序分析等。
pld软件编程
介绍pld常用的编程语言 和开发环境,并举例说明 pld软件编程的基本步骤 和方法等。

EDA学习大全PPT课件

EDA学习大全PPT课件
35
图2-12 原理图管理浏览窗口
36
图2-13 添加/删除元件库对话框
37
2.3 放 置 元 件
1 利用浏览器放置元件
▪ 在如图2-12所示中的【Browse】选项的下拉式选 框中,选中【Libraries】项。
▪ 然后单击列表框中的滚动条,找出元件所在的元 件库文件名,单击鼠标左键选中所需的元件库; 再在该文件库中选中所需的元件。
3
2.印制电路板设计系统
▪ 印制电路板设计系统是一个功能强大的印制电 路板设计编辑器,具有非常专业的交互式布线 及元件布局的特点,用于印制电路板(PCB) 的设计并最终产生PCB文件,直接关系到印制 电路板的生产。
▪ Protel 99 SE的印制电路板设计系统可以进行 多达32层信号层、16层内部电源/接地层的布 线设计,交互式的元件布置工具极大地减少了 印制板设计的时间。
▪ 注意文件名后缀为.sch
24
图2-7 新建原理图文件
25
4 设计管理器
▪ 启动protel99se后设计管理器处于打开状态,以 树状结构显示出设计数据库中的文件、组织形式 和库中各文件间的逻辑关系。
▪ 双击文件夹可展开一个树,并可通过单击小加号 展开分支,单击小减号折叠分支,如图2-8所示。
31
图2-10 文档属性对话框
32
Sheet option标签有以下内容:
▪ 图纸走向(orientation):landscape为水平走向,portrait为垂直走向。 ▪ 图纸颜色:border color为图纸边框颜色,sheet color为图纸颜色。 ▪ 图纸尺寸:standard style为国际认可的标准图纸,有18种可供选择。
▪ 设计管理器主要用于管理各种文档,包括创建、 打开、关闭和删除设计数据库文件,删除访问成 员和修改密码与权限等操作。

精品课件-EDA技术应用基础-第6讲 组合逻辑电路设计

精品课件-EDA技术应用基础-第6讲 组合逻辑电路设计

讲授:课题组教师
EDA技术
(2)译码器的VHDL编程
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
讲授:课题组教师
EDA技术
五、三态门及总线缓冲器电路设计
1.三态门电路
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY TRISTATE IS
PORT (EN,DIN:IN STD_LOGIC; DOUT:OUT
STD_LOGIC); END TRISTATE; ARCHITECTURE ART OF TRISTATE IS BEGIN PROCESS(EN,DIN) BEGIN
EN:IN STD_LOGIC;
DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY TR1_BUF8; ARCHITECTURE ART OF TR1_BUF8 IS
BEGIN PROCESS(EN,DIN) BEGIN
IF(EN='1')THEN
讲授:课题组教师
IF EN='1' THEN DOUT<=DIN;
ELSE DOUT<='Z';
讲授:课题组教师
EDA技术
五、三态门及总线缓冲器电路设计
2.单向总线驱动器电路
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

子程序有过程(PROCEDURE)语句和函数
(FUNCTION)语句两种类型。
1) 过程(PROCEDURE)语句
过程语句的一般书写格式如下:
PROCEDURE 过程名(参数表) [声明语句] BEGIN [顺序处理语句] END PROCEDURE 过程名; 在进程或结构体中的过程不必包含过程声明语句,在程序 包中的过程则必须有过程声明语句。例6.19所示为一个过程语 句的示例。 --过程声明语句 PROCEDURE 过程名(参数表) IS --过程体语句
函数的语言表达格式如下: FUNCTION 函数名(参数表) RETURN 数据类型; --函数声明语句 FUNCTION 函数名(参数表) RETURN 数据类型 IS --函数体语句 [说明部分] BEGIN 顺序语句; END FUNCTION 函数名; 函数定义由两部分组成,即函数声明语句和函数体语句。 在进程或结构体中不必包含函数声明语句,而在程序包中必须 包含函数声明语句(这时的函数声明就相当于函数的检索,声明该程
例6.18所示为一个块语句的半加器VHDL描述实例。
§6.3.子程序(SUBPROGRAM)语句
子程序是一个VHDL程序模块。在一个VHDL的结构体中 允许调用多个子程序,这些子程序可以并行运行。在子程序模 块内部利用顺序语句来定义和完成算法,子程序的使用方
式只能通过子程序调用及与子程序的界面端口进行通
§6.1.进程(PROCESS)语句
在VHDL程序中,PROCESS语句是描述硬件并行工作行
为的最常用、最基本的语句。 一个结构体中通常包含多个进程语句结构,这些进程语句 之间是并行关系的,而每一进程的内部是由一系列顺序语句构 成的。PROCESS语句结构包含了一个描述设计实体中
某一模块部分逻辑行为的、独立的顺序语句描述的部
函数的调用方式与过程完全不同。函数的调用是
将所定义的函数作为语句中的一个因子,如一个操作数或
一个赋值数据对象或信号等,而过程的调用是将所定义的过
程名作为一条语句来执行。
VHDL允许重载函数,即用相同的函数名定义函 数,但重载函数中定义的参数必须有不同的数据类型, 以便调用时用以分辨不同功能的同名函数。
函数的名称就是函数的标志,需放在关键词FUNCTION之后,此名称可以是 普通的标识符,或者是操作符,如果是操作符,则必须在操作符上加双引号,这就 是所谓的操作符重载。操作符重载就是对VHDL中的操作符进行重新定义,使操作 符具有新的功能。新功能的定义是靠函数体来完成的,函数的参数表是用来定义输 入、输出参数的,所以不必设置参数的方向,函数参量可以是信号或常数,参数名 需放在关键词CONSTANT或SIGNAL之后。如果没有特别说明,则参数被默认
VHDL的IEEE库中的STD_LOGIC_UNSIGNED程序 包中预定义的操作符如“+”、“-”、“*”、“=”、“>=”、 “<=”、“>”、“<”、“/=”、“AND”和“MOD”等,对相应 的数据类型“INTEGRE”、“STD_LOGIC”和 “STD_LOGIC_VECTOR”的操作作了重载,赋予了新的数据 类型操作功能,即通过重新定义操作符的方式,允许被重载的 操作符能够对新的数据类型进行操作,或者允许不同的数据类
第6讲 VHDL基本语句与基本设计 ----并行语句
6.1进程(PROCESS)语句 6.2块(BLOCK)语句 6.3子程序(SUBPROGRAM)语句 6.4断言(ASSERT)语句 6.5信号赋值(SIGNAL ASSIGNMENT)语句 6.6参数传递(GENERIC)语句 6.7通用模块与元件调用(COMPONENT)、端口映射 (PORT MAP)语句 6.8生成(GENERATE)语句。
[例6.16]所示是一个时钟同步D触发器的VHDL描述。
与其他语句相比,进程语句结构具有更多的特点,对进程
的认识和进行进程的设计需要注意以下几方面的问题。
(1) PROCESS为一无限循环语句。在同一结构体中
的任一进程是一个独立的无限循环程序结构。进程只有两种
运行状态,即执行状态和等待状态。
型之间用此操作符进行操作。
§6.4.断言(ASSERT)语句
断言语句主要用于程序仿真与调试中的人机会话。在仿
真、调用过程中出现问题时,给出一个文字串作为提示信息。
提示信息分4类:失败(FAILURE)、错误(ERROR)、警告 (WARNING)和注意(NOTE)。
断言语句的书写格式如下:
ASSERT 条件[REPORT报告信息] [SEVERITY出错级别]; 断言语句的使用规则如下;
为常数。
例6.21所示为一个完整的实现逻辑矢量大小比较功能的函 数定义语句。 [例6.21] FUNCTION comp (a,b:IN STD_LOGIC_VECTOR) RETURN BOOLEAN; FUNCTION comp (a,b:IN STD_LOGIC_VECTOR) RETURN BOOLEAN IS BEGIN IF (a>=b) THEN --如果a大于等于b,则q输出TRUE RETURN TRUE; ELSIF (a < b) THEN --如果a小于b,则q输出FALSE RETURN FALSE; END IF; END FUNCTION comp; 该函数的调用语句如下: SIGNAL result:BOOLEAN; result<=comp("1001","1101");
块(BLOCK)语句是一个并行语句,它把许多并行 语句包装在一起组成一个整体,目的是改变并行语句 及其结构的可读性,可使结构体层次鲜明、结构明确。 与进程语句相比:本身都是并行语句,但进程语 句内部由顺序语句构成,块语句内部为并行语句构成。
BLOCK语句的书写格式如下: 块标号:BLOCK [(块保护表达式)] {[类属子句 类属端口表;]} <[端口子句 端口端口表;]} <块说明部分> BEGIN <并行语句A> <并行语句B> … END BLOCK [块标号];
(1) 报告信息必须是用双引号括起来的字符串类型的文字。
[进程名:] PROCESS [敏感信号表][IS]
[进程说明部分]
BEGIN
顺序描述语句部分
END PROCESS [进程名];
顺序描述语句部分可分为: (1) 信号赋值语句:在进程中将计算或处理的结果向信号赋值。 (2) 变量赋值语句:在进程中以变量的形式存储计算的中间值。 (3) 进程启动语句:当PROCESS的敏感信号表没有列出任何敏感量 时,进程的启动只能通过进程启动语句。这时可以利用WAIT语句 监视信号的变化情况,以便决定是否启动进程。WAIT语句可以看 成是一种隐式的敏感信号表。 (4) 子程序调用语句:对已定义的过程和函数进行调用,并参与计 算。 (5) 顺序描述语句:包括IF语句、CASE语句、LOOP语句和NULL 语句等。 (6) 进程跳出语句:包括NEXT语句和EXIT语句,用于控制进程的 运行方向。
序包中有对应的函数定义。如果要将一个已编制好的函数并入程序包,则 函数声明语句必须放在程序包的声明部分,而函数体需放在程序包的包体 内。如果只是在一个结构体中定义并调用函数,则仅需函数体即可。 )。
FUNCTION 函数名(参数表) RETURN 数据类型; --函数声明语句 FUNCTION 函数名(参数表) RETURN 数据类型 IS --函数体语句 [说明部分] BEGIN 顺序语句; END FUNCTION 函数名;
过程调用语句可出现在结构体中,也可在进程之
外执行过程调用语句。
调用规则如下: (1) 并行过程调用语句是一个完整的语句,在它 前面可以加标号。 (2) 并行过程调用语句应带“IN”、“OUT”、
“INOUT”参数,列于过程名后的括号内。
(3) 并行过程调用可以有多个返回值,这些返回 值通过过程中所定义的输出参数返回。
2) 函数“FUNCTION”
在VHDL中有多种函数形式,如用于不同目的的用户自定 义函数和在库中现成的具有专用功能的预定义函数,如决断函 数、转换函数等。
转换函数用于从一种数据类型到另一种数据类型
的转换,如在元件例化语句中利用转换函数可允许不同数据
类型的信号和端口间进行映射;
决断函数用于在多驱动信号时解决信号竞争问题。
(2) PROCESS中的顺序语句具有明显的顺序/并行
运行双重性。
[例6.17] SIGNAL sel:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL q:STD_LOGIC_VECTOR(2 DOWNTO 0); PROCESS(sel) VARIABLE so:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN CASE sel IS --对sel的值进行判断,执行对应so的赋值语句 WHEN " 0000 " => so:= " 111 " WHEN "0001" => so:="110" WHEN " 0011 " => so:= " 101 " WHEN " 0111 " => so:= " 100 " WHEN " 1111 " => so:= " 011 " WHEN OTHERS => so:= " 000 " ; END CASE; q <=so& " 101 " ; END PROCESS;
分。
PROCESS语句具有如下特点:
(1) 进程结构中的所有语句都是按顺序执行的。
(2) 多进程之间是并行执行的,并可存取结构体或实体中 所定义的信号。 (3) 在进程结构中必须包含一个显式的敏感信号量
相关文档
最新文档