eda知识点梳理
- 格式:doc
- 大小:277.00 KB
- 文档页数:19
第一章概述1.1EDA技术EDA(Electronic Design Automation)电子设计自动化EDA技术在硬件方面融合了…FPGA(field programmable gate array)现场可编程门阵列、CPLD(complex programmable logic device)可编程逻辑器件、编程下载技术、自动测试技术。
1.2硬件描述语言VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language.与Verilog相比,VHDL的优势:(1)语法比Verilog严谨,通过EDA工具自动语法检查,易排除许多设计中的疏忽。
(2)有很好的行为级描述能力和一定的系统级描述能力,而Verilog建模时,行为与系统级抽象及相关描述能力不及VHDL。
与Verilog相比,VHDL的不足:(1)VHDL代码比较冗长,在相同逻辑功能描述时,Verilog的代码比VHDL少许多。
(2)VHDL对数据类型匹配要求过于严格,初学时会感到不是很方便,变成耗时也较多;而Verilog支持自动类型转换,初学者容易入门。
(3)VHDL对版图级、管子级这些较为底层的描述级别,几乎不支持,无法直接用于集成电路底层建模。
1.4HDL综合(理解)综合(Synthesis),定义:把抽象的实体结合成单个或统一的实体。
综合环节:(1)从自然语言转换到VHDL语言算法标书,即自然语言综合。
(2)从算法标书转换到寄存器传输级(Register Transport Level,RTL)的表述,即从行为域到结构域的综合,即行为综合。
(3)从RTL级表述转换到逻辑门(包括触发器)的表述,即逻辑综合。
(4)从逻辑门表述转换到版图级表述(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。
显然综合器是能自动将一种设计表述形式下那向另一种设计表述形式转换的计算机程序,或协助进行手工转化程序。
第1章1.EDA技术:2.①硬件实现:大规模集成电路制造技术、IC版图设计、ASIC测试和封装、FPGA和CPLD编程下载、自动测试)②计算机辅助工程(计算机辅助设计CAD计算机辅助制造CAM计算机辅助测试CAT计算机辅助工程CAE)3.EDA电子设计自动化,SOC单片电子系统,HDL硬件描述语言,SOP标准操作程序,FPGA现场可编程序门阵列,CPLD复杂可编程逻辑器件4.FPGA和CPLD开发效率高,成本低,可编程5.EDA是微电子技术和现代电子设计技术的结合6.EDA发展:①电子设计成果以自主知识产权的方式得以明确表达成为可能②在仿真验证和设计方面都支持标准硬件描述语言的功能强大的EDA软件不断推出③电子技术全方位进入EDA时代7.利用EDA进行电子系统设计的最后目标:完成专用集成电路ASIC或印制电路板的设计和实现8.掩模ASIC分类:门阵列ASIC、标准单元ASIC、全定制ASIC9.FPGA和CPLD直接面向用户,具有极大的灵活通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低。
10.H DL分类:VHDL、Verilog HDL(主流)、System Verilog、System C(未来)11.综合定义:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程12.传统的电子设计技术是自底向上的,特点是首先关注并解决底层硬件的可获得性自顶向下:在整个设计流程中各环节逐步求精的过程,从自然语言说明到HDL的系统行为,从描述系统的分解,RTL模型的建立,门级模型产生到最终的可以物理布线实现的底层电路。
13.自顶向下设计流程;设计说明书→建立HDL行为模型→HDL行为仿真→HDC-RTL级建模→前端功能仿真→逻辑综合→测试向量生成→功能仿真→结构综合→门级时序仿真→硬件测试→设计完成14.E DA仿真:时序仿真、功能仿真15.E da开发流程;原理图/HDL 文本输入→功能仿真→综合→适配→编程下载→硬件测试16.标准单元法必须预建完善的版图单元库,库中包括以物理版图级表达的各种电路元件和电路模块“标准单元”17.常用的HDL仿真器有ModelSim、Active HDL,VCS,NC-Sim18.I P(自主知识产权核)分类:①软IP(用硬件描述语言描述的功能块)②固IP(完成了综合的功能块)③硬IP(提供设计的最终阶段产品:掩模)19.I P内涵:①必须是为了易于重用而按嵌入式应用专门设计的②必须实现IP模块的优化设计20.优化的目标:芯片的面积最小,运算速度最快,功率消耗最低,工艺容差最大21.E DA工具:设计输入编辑器、仿真器、HDL综合器、适配器、下载器22.设计输入:①图形输入(原理图输入、状态图、波形图输入)②HDL文本输入ASIC设计流程:系统规格说明→系统划分→逻辑设计与综合→综合后仿真→版图设计→版图验证→参数提取后仿真→制版和流片→芯片测试。
eda数字系统设计自动化知识点
EDA数字系统设计自动化主要包含以下几个知识点:
1.EDA技术概述:EDA技术即电子设计自动化技术,是以计算机为工具,使用通用软件包,开展电子电路设计、电子电路仿真、PCB设计,CPLD/FPGA设计,IC设计等工作。
它是基于大规模可编程器件的,以硬件描述语言HDL来完成表达,实现对逻辑的编译化简、分割、布局、优化等目标的一门新技术。
2.EDA技术实现目标:EDA技术的目标是电子系统设计,具体包括ASIC设计和PCB设计两部分。
3.可编程逻辑器件PLD:PLD的应用与集成规模的扩大为数字系统的设计带来了极大的方便和灵活性,变革了传统的数字系统设计理念、过程、方法。
通过对PLD技术不断地改进提高,EDA技术应运而生。
4.ASIC设计与应用:ASIC是一种具有专门功能的集成电路,通常也被称为IC、芯片。
EDA技术被广泛应用于ASIC设计。
5.FPGA设计与应用:FPGA是现场可编程门阵列的简称,也是一种常见的数字系统设计自动化工具。
通过EDA技术,操作者可以通过利用软件来实现对硬件功能的一个描述,之后利用FPGA/CPLD才可得到最终设计结果。
6.CPLD设计与应用:CPLD是复杂可编程逻辑器件的简称,与FPGA一样,是EDA技术应用的重要领域。
此外,还需要掌握硬件描述语言(如VHDL或Verilog)、仿真工具(如ModelSim)、布局布线工具(如Allegro或Palladium)等EDA工具的使用。
EDA技术重要基础知识点1. EDA技术概述- EDA(Exploratory Data Analysis)技术是指通过可视化和统计方法来理解和分析数据的过程。
它通常是数据科学和数据分析中的第一步,用于发现数据的模式、异常和趋势。
2. 数据收集与清洗- 在进行EDA之前,正确而全面地收集数据是十分重要的。
这包括确定需要收集的数据类型、数据源以及收集方式等。
同时,数据清洗是为了过滤掉噪声数据、处理缺失值等,以确保数据的准确性和完整性。
3. 描述性统计分析- 描述性统计分析是EDA过程中常用的方法之一。
它通过计算数据的中心位置、离散程度和分布等统计量,来描述数据的基本特征。
常见的描述性统计分析方法包括平均数、中位数、标准差和频率分布等。
4. 数据可视化- 数据可视化是以图形化的方式展示数据的过程,它能够更直观地呈现数据的分布和趋势。
常用的数据可视化方法包括直方图、散点图、折线图和箱线图等。
5. 缺失值处理- 在数据分析中,经常会遇到一些数据缺失的情况。
处理缺失值是EDA 中必不可少的一部分。
常见的方法包括删除缺失值、用均值或中位数填充缺失值、使用插值等。
6. 异常值检测- 异常值是指与大部分样本不符的数值,它们可能是由于记录错误、测量误差或稀有事件等原因引起。
在EDA中,需要通过异常值检测来排除异常值的影响。
常用的方法包括箱线图、Z分数和3σ原则等。
7. 相关性分析- 相关性分析用于衡量两个或多个变量之间的关系强度。
在EDA过程中,通过计算变量之间的相关系数,可以了解变量之间的相关性程度。
常用的相关性分析方法包括Pearson相关系数、Spearman相关系数和点二列相关等。
8. 探索性数据分析报告- 在完成EDA后,通常会生成一份探索性数据分析报告。
这份报告将展示你对数据的理解和分析结果,包括数据的描述统计、可视化图表和相关性分析等。
它可以为进一步的数据分析和建模提供基础。
以上是EDA技术中的重要基础知识点。
EDA复习基础知识要点1.EDA的概念EDA(电子设计自动化)是现代电子设计技术的核心。
EDA就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、化简、分割、综合优化仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中,实现既定的电子线路的功能。
2.EDA的发展阶段CAD是EDA技术发展的早期阶段,此阶段仅仅使用计算机进行辅助绘图工作。
CAE是在CAD的工具逐步完善的基础上发展起来的,它开始用计算机将许多单点工具集成在一起使用。
20世纪90年代电子技术的飞速发展促使现在的EDA技术的形成。
出现了EDA设计的概念,并发展至今天。
3.EDA设计流程①设计准备②设计输入③设计处理④设计校验⑤器件编程⑥器件验证4.设计输入的三种方式①原理图方式②文本输入方式③波形输入方式5.设计处理的步骤①设计编译和检查(信号线有无漏接,信号有无双重来源,关键词有无错误)②优化设计和综合③适配和分割④布局和布线⑤生成编程数据文件6.常用对应的后缀名①原理图文件.bdf②VHDL语言文件.vhd③Verilog HDL文件.v④仿真波形文件.vwf7.可编程逻辑器件的分类①按集成密度分类可编程逻辑器件从集成密度上可分为低密度可编程逻辑器件LDPLD和高密度可编程逻辑器件HDPLD两类。
LDPLD 通常是指早期发展起来的、集成密度小于1000门/片左右的PLD如ROM、PLA、PAL和GAL等。
HDPLD包括可擦除可编程逻辑器件EPLD(Erasable Programmable Logic Device)、复杂可编程逻辑器件CPLD(Complex PLD)和FPGA三种,其集成密度大于1000门/片。
如Altera公司的EPM9560,其密度为12000门/片,Lattice公司的pLSI/ispLSI3320为14000门/片等。
EDA总结知识点eda总结知识点:第一章1.1.1eda的定义:是电子设计自动化(electriondesignautomation)的缩写,是90年代初,从计算机计算机辅助设计cad,计算机辅助制造cam,计算机辅助测试cat和计算机辅助工程(cae)的概念发展起来的。
窄EDA和宽EDA。
在这本书中,我们主要研究狭义的EDA。
狭义eda:以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真等等一系列的工作,最终形成集成电子系统或专用集成芯片的新技术。
也称为:ies/asic自动设计技术。
广义的EDA包括狭义的EDA,以及计算机辅助分析(PSpice、EWB、matlab)和印刷电路板计算机辅助设计PCB CAD技术(如Protel、OrCAD)。
因为在广义的EDA技术中,CAA 技术和PCB CAD技术都不具备逻辑综合和逻辑适配的功能,所以我们不能称之为真正意义上的EDA技术,最好称之为现代电子设计技术。
利用eda技术进行电子系统的设计,具有以下特点:(1)用软件的方式设计硬件(2)软件设计系统向硬件系统的转换由相关开发软件完成。
(3)在设计过程中,可以使用相关软件进行各种模拟;(4)系统可现场编程,在线升级;(5)整个系统可集成在一个芯片上,体积小、功耗低、可靠性高;eda技术进入21世纪后得到了更大的发展,主要表现在:1)使电子设计成果以自主知识产权的形式得到明确表达和确认;2)在仿真和设计方面支持标准语言的强大EDA软件已持续推出;3)电子技术领域全方位融入eda领域,例如:软件无线电的迅速崛起,模拟电路系统硬件描述语言的表达和设计的标准化,系统可编程模拟器件的出现等4)电子领域各个学科的界限更加模糊和包容:模拟和数字、软件和硬件、系统和设备、ASIC和FPGA、行为和结构等。
第1章 EDA技术概述1. EDA:EDA(Electronic Design Automation)电子设计自动化,EDA技术依赖于强大的计算机,在EDA工具软件平台上,对以HDL(Hardware Description Language--硬件描述语言)为系统逻辑描述手段完成的设计文件,自动完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试等项功能,直至实现既定性能的电子线路系统功能。
2. EDA的设计输入有:图形输入方式:原理图输入,状态图输入;HDL文本输入:VHDL,Verilog3. 常用缩写FPGA(Field Programable Gate Araay)CPLD(Complex Programmable Logic Device)ASIC(Application Specific Interated Circuit)SOC(System on a Chip)SOPC(System-on-a-Programmable-Chip)HDL(Hardware Description Language)IP(Intellectual Property)CAD(Computer Aided Design)CAM(Computer Aided Manufacturing)CAT(Computer Aided Test)CAE(Computer Aided Engineering)CAA(Computer Aided Analysis)4.综合(Synthesis):将用行为和功能层次表达的系统转换成低层次的便于具体实现的模块组合装配过程。
整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。
5.适配:适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。
EDA复习要点
1、深入了解自顶向下设计的概念
VERILOG C
2 、了解PLD结构的“与——或”阵列,能根据要求在“与——或”阵列结构上编程
3、FPGA和CPLD的在结构上的区别,编程下载上的区别
4、端口模式定义(注意赋值上的区别),信号定义(重点是wire和reg)
5、赋值语句assign 进程语句always@()
6、并行和顺序执行
7、块语句beigin….end 和fork….join
8、条件语句case和if 条件语句的不完备性
9、阻塞赋值和非阻塞赋值
10、元件例化
11、进程语句中对同一信号进行多次驱动
12、三态端口和双端口
13、同步加载和复位以及异步加载和复位
14、分频设计(编程)
15、给出状态图,编写有限状态机程序
16、数据类型(整型寄存器型)
资源优化和速度优化
条件编译
18、$display $strobe $monitor
Initial
延时
时钟信号的产生
仿真程序的编写。
EDA基础知识复习要点EDA(探索性数据分析)是指对数据集进行初步的探索,以了解数据的特征、相互关系和隐藏的模式。
它是数据分析的重要环节,可以帮助我们发现数据中的特殊特征、异常值和缺失值,为后续的建模和决策提供基础。
下面是EDA基础知识的复习要点。
1.数据集的基本情况-数据集的大小和维度:了解数据集包含的样本数量和特征数量。
-数据类型和缺失值:检查每个特征的数据类型并确定是否存在缺失值。
-数据的摘要统计信息:计算每个特征的基本统计指标,如均值、中位数、标准差等。
-数据可视化:使用直方图、箱线图、散点图等可视化工具来展示数据的分布和异常值。
2.数据的清洗和预处理-处理缺失值:根据缺失值的情况选择适当的方法填充或删除缺失值。
-处理重复值:检查是否存在重复的样本或特征,并根据需要删除或合并重复值。
-异常值处理:通过设定阈值或使用统计方法来检测和处理异常值。
-标准化和归一化:对于数据集中的数值型特征,可以进行标准化或归一化处理,使其具有相同的尺度。
3.特征工程-特征选择:根据特征的重要性和相关性选择最相关的特征,减少特征的维度。
-特征构建:使用原始特征衍生出新的特征,例如添加多项式特征、交互特征等。
4.数据探索-变量间的关系:分析变量之间的相关性和因果关系,帮助了解特征之间的影响。
-群组分析:将数据集中的样本划分为不同的组群,发现数据的内在结构和模式。
-关键性因素:识别影响特定结果的重要因素,找到数据集中的关键趋势和影响因素。
5.可视化分析-直方图:显示定量变量的分布情况,帮助了解数据的偏态和尾部情况。
-箱线图:显示定量变量的中位数、上下四分位数和异常值,有助于观察数据的离散情况。
-散点图:显示两个变量之间的关系,帮助检测变量之间的线性关系或异常值。
-折线图:显示变量随时间变化的趋势,用于分析时间序列数据。
6.结果解释和报告-对EDA结果进行总结和解释,包括数据集的特点、重要特征、异常值等。
-以清晰和可视化的方式呈现结果,如使用图表、表格等形式。
1、三大技术的重点转移,即:分立元件像集成电路转移、模拟技术像数字技术转移、固定器件向可编程器件转移。
原因:简化设计、减小体积、提高系统的可靠性、提高可测性、缩短设计周期。
2、自顶向下的优势:设计的主要方针和调试过程在高层次上完成的,这有利于早起发现结构设计上的错误,避免设计工作的浪费,同时也减少了功能仿真的工作量,提高了设计的一次成功率。
现代EDA技术采用“自顶向下”的高层次的电子设计方法,代表了当今电子技术的最新发展方向。
3、电子电路设计与仿真工具包括SPICE/PSPICE、MultiSIM、Matlab 等。
4、PCB(Printed—Circuit Board)设计软件种类很多,如:Altium Disigner、orCAD、PowerPCB等,目前我国多采用Altium Disigner。
5、PLD(可编程逻辑器件)是一种可以完全代替74系列及GAL、PLA的新型电路,只要有数字电路基础,会使用计算,就可以进行PLD的开发。
PLD的在线编程能力和强大的开发软件,使工程师可以再几天、甚至几分钟内就可以完成一额昂几周才能完成的工作,并可将数百万门的复杂设计集成在一颗芯片内。
PLD技术在发达国家已成为电子工程师必备的技术。
6、EDA是电子设计自动化(Electronic Design Automation.)英文的缩写简称。
7、EDA技术的含义:以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
8、广义的EDA技术包括:电子电路设计、PCB设计和IC设计。
9、狭义的EDA技术特指以可编程浅见(包含可编程逻辑器件和模拟器件)为物理载体,以图形或硬件描述为主要功能的表达方式,利用EDA工具自动完成现代电子系统构架夫人设计技术。
1、数字系统的设计可以再一下几个层次上进行:(1)传统的数字系统逻辑设计方法,(2)专用集成电路的设计方法,(3)自顶向下的现代数字系统设计方法。
知识点:VHDL文字规则1. 数字型文字——由数字、小数点和下划线组成(1)整数文字5, 678, 156E2, 45_234_287(=) (2)实数文字,(3)以数制基数表示的文字格式:数制#数值#(指数)例如:10#170#16#FE#2#1101_0001#8#376#16#E#E14)物理量文字例如:60 s,100 m2. 字符串文字字符——以单引号括起来的数字、字母和符号(ASCII码)例如:’0’,’1’,’A’,’B’,’a’,’b’字符串——一维的字符数组,用双引号括起来。
(1)文字字符串例如:“ABC”,“A BOY.”,“A”, “1011”(2)数值字符串——位矢量格式:数制基数符号“数值字符串”其中:B——二进制基数符号;O——八进制基数符号;X——16进制基数符号;例如:B“111_011_110”;矢量数组,长度为9O“15”;等效B“001101”,长度为6X“AD0”;等效B“”,长度为12数值字符串中可添加下划线,不影响其长度3. 标识符——是用户给常量、变量、信号、端口、子程序或参数定义的名字规则(’87标准, 又称短标识符):标识符由字母(A…Z;a…z)、数字和下划线字符组成任何标识符必须以英文字母开头末字符不能为下划线不允许出现两个连续下划线标识符中不区分大小写字母VHDL定义的保留字或称关键字,不能用作标识符VHDL’93标准支持扩展标识符,以反斜杠来定界,允许以数字开头,允许使用空格以及两个以上的下划号。
扩标用反斜杠界定。
如:\multi_screens\。
允许包含图形符号、空格符。
如:\mode A\, \$100\等。
反斜杠之间的字符可用保留字。
如:\buffer\, \entity\等。
扩标的界定符两个斜杠之间可以用数字打头。
如:\100$\,\2chip\,\4screens\等。
扩标中允许多个下划线相连。
如:\Four__screens\,\TWO__Computer__sharptor\等。
扩展标识符中的一个反斜杠,要用两个反斜杠来代替扩标区分大小写。
如: \EDA\ 与\eda\不同。
扩标与短标不同。
如:\Computer\ 与Computer不同。
4.下标名——数组用途:用于指示数组型变量或信号的某一个元素格式:标识符(表达式)例如:b(3);表示数组型变量或信号b的第3个元素5.段名——多个下标名的组合用途:用于指示数组型变量或信号的某一段元素格式:标识符(表达式方向表达式)方向:TO——下标序号由低到高DOWNTO——下标序号由高到低例如:D(7 DOWNTO 0);表示数据总线D7~D0D(5 TO 7 );表示数据总线D5~D76.注释VHDL中的注释由两个连续的短线(--)开始,直到行尾。
VHDL数据对象——存放各种类型数据的容器,包括变量、常量、信号和文件1. 变量(VARIABLE)规则:只能在进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)中说明和使用的局域量定义格式:VARIABLE 变量名:数据类型(范围)(:=初始值)如:VARIABLE a:INTEGER;VARIABLE b:INTEGER :=2;VARIABLE c:INTEGER RANGE 0 TO 7 :=2;变量赋值语句:目标变量名:=表达式例如:VARIABLE x,y:REALVARIABLE a,b:BIT VECTOR(0 TO 7);x:=;y:=+x;a:=“”a(3 TO 6):=(‘1’,‘1’,‘0’,‘1’);a(0 TO 5):=b(2 TO 7);变量使用要点:变量是一个局部量,只能在进程和子程序中使用,不能将信息带出对它作出定义的当前设计单元。
变量赋值立即发生,无延时行为。
VHDL不支持变量附加延时语句。
变量的初值不是必需的,综合器将略去所有初值。
变量常用在实现某种算法的赋值语句中。
2. 信号(SIGNAL)规则:信号是在结构体(ARCHITECTURE)、程序包(PACKAGE)和实体中声明的全局量。
信号定义格式:SIGNAL 信号名:数据类型(范围)(:=初值)例如:SIGNAL temp:STD LOGIC:=‘0’;SIGNAL flaga,flagb:BITSIGNAL data:STD LOGIC VECTOR(15 DOWNTO 0);信号赋值语句:目标信号名<=表达式例如:x<=9;y<=x;z<=x AFTER 5 ns;注意信号和变量赋值方法的区别:变量用“:=”号赋值,而信号用“<=”赋值;在声明中对信号和变量赋初值,两者都用“:=”号。
信号使用要点信号类似于连接线。
信号可以作为设计实体中并行语句模块间的信息交流通道。
信号不但可以容纳当前值,也可以保持历史值。
这一属性与触发器的记忆功能有很好的对应关系。
信号的初值不是必需的,而且仅在仿真中有效。
信号的赋值允许允许设定延时,如:T1<=T2 AFTER 20 ns,但仅用于仿真。
当信号用在顺序描述语句中时,其值在相应的进程,函数或过程完成之后才更新。
实体中定义的端口默认为信号。
3. 常量(CONSTANT)规则:常量在程序前部定义,且一旦被赋值就不能再改变。
常量定义格式:CONSTANT 常量名:数据类型:=初值;例如:CONSTANT fbus:BIT VECTOR:=“010111”;CONSTANT Vcc:REAL:=;CONSTANT dely:TIME:=25 ns;常量使用要点:常量设置使得设计实体中的常数易阅读和修改。
如将位矢的宽度定义为一个常量,只要修改这个常量就能改变宽度,从而改变硬件结构。
常量是一个恒定不变的值,一旦作了数据类型的赋值定义后,在程序中不能再改变,有全局意义。
常量与表达式类型必须一致,只能是标量类型或复合类型。
常量的可视性(其使用范围取决于定义的位置):定义在程序包中的常量,具有最大全局化特征,可以用在调用此程序包的所有设计实体中;定义在设计实体中的常量,其有效范围为这个实体定义的所有的结构体;定义在设计实体的某一结构体中的常量,则只能用于此结构体;定义在结构体的某一单元的常量,如一个进程中,则这个常量只能用在这一进程中。
4. 文件(FILE)(VHDL 1076-1993标准)文件是传输大量数据的客体,包含一些专门数据类型的数值。
在仿真测试时,测试的输入激励数据和仿真结果的输出都可用文件来进行。
文件的声明方式为:FILE identifier : file_type [OPEN mode] IS “file_name”;VHDL数据类型VHDL是一种强类型语言,要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且只有数据类型相同的量才能互相传递和作用。
1. 标量型(Scalar Type)——单元素的最基本数据类型(1)实数类型(2)整数类型(3)枚举类型(4)时间类型2. 复合类型(Composite Type)(1)数组型(Array)(2)记录型(Record)3. 存取类型(Access Type)——为数据对象提供存取方式4.文件类型(Files Type)——提供多值存取类型VHDL的预定义数据类型——在STD库中的标准程序包(STANDARD)中预先定义的数据类型。
1. 位(BIT)数据类型BIT是一个二值枚举类型,包括‘0’和‘1’。
可用于表示变量、信号等数据对象的状态。
定义语句:TYPE BIT IS(‘0’,‘1’)2. 位矢量(BIT VECTOR)数据类型位矢量是由多个BIT组成的数组,BIT是其元素,形式为用双引号把多个BIT位括在一起,如“0011”。
可用于表示总线的状态。
定义语句:TYPE BIT VECTOR IS ARRAY(NATURAL RANGE〈〉)OF BIT;RANGE〈〉表示宽度未定,NATURAL 表示其宽度的范围和自然数的范围相同规则:使用位矢量必须注明位宽,例如:SIGNAL a:BIT VECTOR(7 DOWNTO 0);--定义a是一个宽为8位的位矢量,左为a(7)例:SIGNAL a:BIT_VECTOR(7 DOWNTO 0);SIGNAL b:BIT_VECTOR(3 DOWNTO 0);SIGNAL c:BIT;b<=“1110”;b(3)<=‘1’;b<=a(7 DOWNTO 4);a(7 DOWNTO 4)<=a(3 DOWNTO 0);a(3 DOWNTO 0)<= b;a(7)<=C;3. 布尔(BOOLEAN)数据类型BOOLEAN也是一个二值枚举类型,一个布尔量具有两种状态:逻辑“假”(FALSE)和逻辑“真”(TRUE)。
布尔量没有具体数值的含义,也不能进行算术运算,但是可以进行逻辑运算,并作为关系运算的结果。
定义语句:TYPE BOOLEAN IS(FALSE,TRUE);--以枚举类型定义4. 字符(CHARACTER)数据类型字符是用单引号括起来的ASCII码字符,如‘A’‘a’‘0’‘9’。
字符有大小写区分,如‘B’不同于‘b’。
定义语句:TYPE CHARACTER IS(ASCII码字符表中的全部字符)5. 字符串(STRING)数据类型字符串是用双引号括起来的字符序列,也称字符矢量或字符串数组。
例如,“A BOY.”,“”6. 整数(INTEGER)数据类型整数包括:正整数、负整数和零范围:32位带符号整数,即-(231-1)~+(231-1)即(-47~+47)整数常量的书写方式示例如下:2 --十进制整数10E4 --十进制整数16#D2# --十六进制整数2## --二进制整数硬件实现时,整数由不超过32位的二进制数来表示。
当端口类型设为整数型时一般应对其范围给予限定,这时端口的宽度为可以表示该整数的最小宽度;如没有限定范围,则综合后的位宽为32位。
如:SIGNAL s : INTEGER RANGE 0 TO 15;表示信号s 的取值范围是0-15,可用4位二进制数表示,因此s 将被综合成由四条信号线构成的信号。
7.自然数(NATURAL)和正整数(POSITIVE)数据类型自然数和正整数都是整数的子集自然数——包括0和正整数正整数——不包括0的正整数定义如下:SUBTYPE NATURAL IS INTEGER RANGE 0 TOINTEGER’HIGH;SUBTYPE POSITIVE IS INTEGER RANGE 1 TOINTEGER’HIGH;8. 实数(REAL)数据类型VHDL的实数类型类似于数学上的实数,或称浮点数。
由正负号、小数点和数字组成。