版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程简介
学时:32;学分:2
教学重点:能够应用PLD设计简单的数字系统
教学内容:
第一章EDA技术概论
EDA概念、历史、作用第二章可编程逻辑器件基础
PLD的基本结构和技术
第三章ALTERA的CPLD/FPGA
常用器件第四、五章QUARTUSII软件操作基础
工具软件的使用
第六章VHDL语言初步
基本语法和典型电路描述
第七章数字系统设计举例
数字系统的设计方法和举例
1第1页,共244页。参考资料《CPLD技术及其应用》宋万杰等编著西安电子科大出版社出版《VHDL硬件描述语言与数字逻辑电路设计》侯伯亨顾新等编著西安电子科技大学出版社《EDA技术及应用实践》高有堂主编清华大学出版社《数字系统设计与PLD应用技术》蒋璇臧春花编著电子工业出版社
相关网址:
2第2页,共244页。第一章、EDA技术概论
1、什么是EDA技术?EDA(ElectronicDesignAutomation)技术---即电子设计自动化。广义上来讲是指所有能够使电子系统设计简单、快速、高效甚至自动完成的工具、软件、器件、方法、技术等。电子设计自动化是随着电子技术、计算机技术等的发展而发展起来的。是一种综合技术的应用。狭义来讲对电子系统设计设计提供帮助的是指以计算机为基础,在融合了电子技术、计算机技术、人工智能技术的软件平台上,对以HDL为主完成的设计输入文件,自动进行编译、综合、优化、布局布线、仿真测试直至完成既定电子系统的功能。注意:EDA技术也有许多方面,如集成电路设计软件,PCB板设计软件等2、EDA技术的特点及优势(1)硬件设计软件化,硬件的设计像软件设计一样,动用比较少的设备。(2)设计过程简单化、自动化和高效化,设计过程中的综合、优化、仿真等在EDA软件中进行,而且只需要简单的操作控制。(3)系统描述语言化,用HDL语言对系统进行抽象的行为与功能描述以及具体的电路描述,抽象的行为描述使设计简化。(4)设计结果继承性和移植性好,设计采用标准语言和文件,设计结果的升级、移植比较方便。(5)丰富的技术支持,EDA软件有丰富的库文件,也支持第三方的软件,使设计能够利用已有成果和多方协同工作。1.1EDA技术及其发展概况3第3页,共244页。第一章、EDA技术概论3、EDA技术的发展历程EDA技术发展的3个阶段1、CAD阶段2、CAE阶段3、EDA阶段时间:20世纪70年代背景:主要是中小规模集成电路设计、使用,PC机早期。特征:研制了一些单独的软件工具,从而可以利用计算机将设计人员从大量繁琐、重复的计算和绘图工作中解脱出来。实例:PCB布线设计、电路模拟、逻辑模拟及版图的绘制等。时间:20世纪80年代背景:集成电路规模越来越大,电子系统设计方法学及设计工具集成化方面取得了许多成果。特征:各种设计工具,如原理图输入、编译与连接、逻辑模拟、测试码生成、版图自动布局以及各种单元库均已齐全。由于采用了统一数据管理技术,因而能够将各个工具集成为一个CAE系统。运用这种系统,按照设计方法学制定的某种设计流程,可以实现由RT级开始,从设计输入到版图输出的全程设计自动化。实例:MentorGraphics、ValidDaisy等公司的产品。PLD厂商开发软件。时间:20世纪90年代背景:工艺水平已达到深亚微米级,工作速度可达到Gb/s特征:高级语言描述、系统仿真和综合技术,极大地提高了系统的设计效率,而且使设计者摆脱了大量的辅助性工作,将精力集中于创造性的方案与概念的构思上。实例:MentorGraphics、ValidDaisy等公司的产品。PLD厂商不断更新开发软件4第4页,共244页。4、EDA技术的基本特征及优点(1)硬件描述语言设计输入使设计者在比较抽象的层次上描述设计的结构和内部特征,对设计者的硬件知识和硬件经验要求比较低。便于复杂系统的设计。(2)自顶向下的设计方法使整个设计在概念上的演化从顶层到底层逐步由概括到展开,由粗略到精细,便于系统建模。(3)逻辑综合、优化与仿真将最新的算法与工程界多年的经验相结合,自动的将真值表、状态图、或语言描述的数字系统转换为满足设计性能要求的逻辑电路。(4)开放性与标准化设计软件平台的结构为框架式、标准化、开放性。使设计平台可以接纳第三方的EDA工具,设计结果的移植性和兼容好。(5)库的应用
丰富的库可以使EDA具有强大的设计能力和提高设计效率。5第5页,共244页。
5、当前EDA技术发展的几大特点:
在FPGA上实现DSP(数字信号处理)应用成为可能
在一片FPGA中实现一个完备的数字处理系统成为可能
功能强大的EDA软件不断推出
电子技术各领域全方位融入EDA技术EDA使得电子领域各学科的界限更加模糊,更加互为包容
基于EDA的用于ASIC设计的标准单元已涵盖大规模电子系统软硬IP(IntellectualProperty)核在电子行业的产业领域广泛应用
SoC高效低成本设计技术的成熟使复杂电子系统的设计和验证趋于简单。6第6页,共244页。6、EDA设计工具与设计流程设计工具设计流程设计输入编辑器HDL综合器仿真器适配器(或布局、布线器)下载器7第7页,共244页。设计准备在对可编程逻辑器件的芯片进行设计之前,首先要进行方案论证、系统设计和器件选择等设计准备工作。设计者首先要根据任务要求,如系统所完成的功能及复杂程度,对工作速度和器件本身的资源、成本及连线的可行性等方面进行权衡,选择合适的设计方案和合适的器件类型。数字系统设计有多种方法,如模块设计法、自顶向下设计法和自底向上设计法等。自顶向下设计法是目前最常用的设计方法,采用功能分割的方法从顶向下逐次进行划分。在设计过程中采用层次化和模块化将使系统设计变得简洁和方便。描述器件总功能的模块放在最上层,称为顶层设计;描述器件某一部分功能的模块放在下层,称为底层设计;底层模块还可以再向下分层,这种分层关系类似于软件设计中的主程序和子程序的关系。层次化设计的优点一是支持模块化,底层模块可以反复被调用,多个底层模块也可以由多个设计者同时进行设计,因而提高了设计效率;其次是模块化设计比较自由,它既适合于自顶向下的设计,也适合于自底向上的设计。8第8页,共244页。设计输入设计者将所设计的系统或电路以开发软件要求的某种形式表示出来,并送到计算机的过程称为设计输入。设计输入通常有以下几种方式。(1)原理图输入方式它使用软件系统提供的元器件库及各种符号和连线画出原理图,形成原理图输入文件。在系统功能较复杂时,原理图输入方式效率低,它的主要优点是直观。(2)硬件描述语言(HDL)输入方式硬件描述语言是用文本方式描述设计,它分为普通硬件描述语言和行为描述语言。普通硬件描述语言有ABEL-HDL、CUPL等,它们支持逻辑方程、真值表、状态机等逻辑表达方式。行为描述语言是目前常用的高层硬件描述语言,有VHDL和VerilogHDL等,它们都已成为IEEE标准,并且有许多突出的优点:如语言与工艺的无关性,可以使设计者在系统设计、逻辑验证阶段便确立方案的可行性;又如语言的公开可利用性,使它们便于实现大规模系统的设计等;同时硬件描述语言具有很强的逻辑描述和仿真功能,而且输入效率高,在不同的设计输入库之间转换非常方便。因此,运用VHDL、VerilogHDL硬件描述语言描述设计已是当前的趋势。(3)波形输入方式波形输入主要用于建立和编辑波形设计文件以及输入仿真向量和功能测试向量。9第9页,共244页。设计处理设计处理是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动进行适配,最后产生编程用的编程文件。(1)语法检查和设计规则检查在编译过程中首先进行语法检查,如检查原理图有无漏连信号线,信号有无双重来源,文本输入文件中关键字有无输错等语法错误,并及时列出错误信息报告供设计者修改;然后进行设计规则检查,检查总的设计有无超出器件资源或规定的限制,并将编译报告列出,指明违反规则情况以供设计者纠正。(2)逻辑优化和综合化简所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化(即展平)。(3)适配和分割确定优化以后的逻辑能否与器件中的宏单元和I/O单元适配,然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计不能装入一片器件,可以将整个设计自动划分(分割)成多块并装入同一系列的多片器件中去。划分工作可以全部自动实现,也可以部分由用户控制,还可以全部由用户控制进行。划分时应使所需器件数目尽可能少,同时应使用于器件之间通信的引脚数目最少。10第10页,共244页。(4)布局和布线布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件布局,并准确地实现元件间的互连。(5)生成编程数据文件设计处理的最后一步是产生可供器件编程使用的数据文件。对CPLD来说,是产生熔线图文件,即JEDEC文件(电子器件工程联合会制定的标准格式,简称JED文件);对于FPGA来说,是生成位流数据文件(BitstreamGeneration),简称BG文件。11第11页,共244页。器件编程与配置编程是指将编程数据放到具体的可编程器件中去。对CPLD来说是将JED文件“下载(DownLoad)”到CPLD中去,对FPGA来说是将位流数据BG文件“配置”到FPGA中去。器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的CPLD和一次性编程的FPGA需要专用的编程器完成器件的编程工作。基于SRAM的FPGA可以由EPROM或其他存储体进行配置。在系统的可编程器件(ISP-PLD)则不需要专门的编程器,只要一根下载编程电缆就可以了。器件在编程完毕之后,可以用编译时产生的文件对器件进行检验、加密等工作。对于具有边界扫描测试能力和在系统编程能力的器件来说,测试起来就12第12页,共244页。7、硬件描述语言概述常用的硬件描述语言有VHDL、Verilog、ABEL。VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言,更适合行为描述。Verilog:支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。ABEL:一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。有专家认为,在新世纪中,VHDL与Verilog语言将承担几乎全部的数字系统设计任务。13第13页,共244页。(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,对整个工程的结构和功能可行性做出判断。(3)VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。VHDL中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有利的支持。(4)用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性。设计者可以不懂硬件的结构,也不必管最终设计的目标器件是什么,而进行独立的设计。(6)由于VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。8、硬件描述语言VHDL的主要优点14第14页,共244页。9、EDA技术与ASIC设计(1)ASIC的特点与分类区别于标准逻辑、通用存储器、通用微处理器的、面向专门应用的集成电路。分为模拟、数字、混合、微波等ASIC电路(2)ASIC的设计方法全定制法;半定制法;门阵列法;标准单元法15第15页,共244页。第二章可编程逻辑器件基础2.1PLD概述1、几个概念可编程逻辑器件(PLD,ProgrammableLogicDevice)是一种由用户编程实现所需功能的半定制集成电路。PLD与EDA技术相结合,使得系统设计和芯片设计相互渗透。对于PLD使用者来说,使硬件设计软件化。可以很方便的验证、修改、继承,大大提高了设计效率。可以实现在系统编程(ISP)和在应用编程(IAP),使产品在线升级和远程升级。PLD与CPU的区别:CPU中的硬件是固定的,通过程序反复使用这些硬件资源,来实现所需要的功能。CPU中的程序是顺序执行的,限制了工作速度,不可能做到对事件实时反应和处理,最多是准实时的。PLD是一种纯硬件实现方法,通过编程PLD的内部电路(设计和连接)来达到所需要的功能,它的工作速度是由电路延时决定的,与程序无关,电路可以是顺序执行的(时序逻辑电路),也可以是并行执行的(组合逻辑电路)。16第16页,共244页。GAL:GenericArrayLogic通用阵列逻辑PLD:ProgrammableLogicDevice可编程逻辑器件CPLD:ComplexProgrammableLogicDevice复杂可编程逻辑器件EPLD:ErasableProgrammableLogicDevice可擦除可编程逻辑器件FPGA:FieldProgrammableGateArray现场可编程门阵列VHDL:VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage
超高速集成电路硬件描述语言ASIC:ApplicationSpecificIntegratedCircuit特定用途集成电路ASSP:ApplicationSpecificStandardProduct专用标准半导体产品2、相关专业名词PAL:ProgrammableArrayLogic可编程阵列逻辑PLA:ProgrammableLogic
Array可编程逻辑阵列SOC:Systemonchip片上系统;SOPC:SystemonProgrammablechip
片上可编程系统2.1PLD概述17第17页,共244页。3、三类器件的主要性能指标比较2.1PLD概述2022/11/2318第18页,共244页。4、PLD按集成度分类2.1PLD概述19第19页,共244页。1.熔丝(Fuse)型器件。
2.反熔丝(Anti-fuse)型器件
。
3.EPROM型。称为紫外线擦除电可编程逻辑器件
。
4.EEPROM型
。
5.SRAM型
。
6.Flash型
。
2.1PLD概述
5、从编程工艺上划分:20第20页,共244页。6、PLD的发展历程熔丝编程的PROM和PLA器件
AMD公司推出PAL器件
GAL器件
FPGA器件
EPLD器件
CPLD器件
内嵌复杂功能模块的SoPC20世纪70年代
20世纪70年代末
20世纪80年代初
20世纪80年代中期
20世纪80年代末
进入20世纪90年代后
2.1PLD概述21第21页,共244页。2.2PLD的基本原理1、PLD的基本结构与或阵列2022/11/2322第22页,共244页。查找表2022/11/2323第23页,共244页。2、电路符号表示
PLD的互补缓冲器PLD的互补输入PLD中与阵列表示
PLD中或阵列的表示阵列线连接表示
2.2PLD的基本原理2022/11/2324第24页,共244页。2.2PLD的基本原理3PROM基本结构
PROM基本结构PROM逻辑阵列结构2022/11/2325第25页,共244页。4PLA和PROM结构
PLA基本结构PROM的基本结构2.2PLD的基本原理2022/11/2326第26页,共244页。4PAL结构2.2PLD的基本原理2022/11/2327第27页,共244页。一种PAL16V8的部分结构图28第28页,共244页。GAL16V8的结构图4GAL结构29第29页,共244页。2.3CPLD/FPGA的结构特点30第30页,共244页。1.MAX7000性能特点MAX7000器件与MAX9000及MAX5000器件都是基于乘积项结构的PLD,特别适用于实现高速、复杂的组合逻辑。MAX7000器件是基于Altera公司第二代MAX结构,采用先进的CMOSEEPROM技术制造的。MAX7000器件提供多达5000个可用门和在系统可编程(ISP)功能,其引脚到引脚延时快达5ns,计数器频率高达。各种速度等级的MAX7000S、MAX7000A/AE/B和MAX7000E器件都遵从PCI总线标准。MAX7000器件具有附加全局时钟,输出使能控制,连线资源和快速输入寄存器及可编程的输出电压摆率控制等增强特性。MAX7000S器件除了具备MAX7000E的增强特性之外,还具有JTAGBST边界扫描测试,ISP在系统可编程和漏极开路输出控制等特性。MAX7000器件可100%模仿TTL,可高密度地集成SSI(小规模集成)、MSI(中规模集成)和LSI(大规模集成)等器件的逻辑。它也可以集成多种PLD,其范围从PAL、GAL、22V10一直到MACH和pLSI器件。MAX7000器件在速度,密度和I/O资源方面可与通用的掩膜式门阵列相媲美,可以用作门阵列的样片设计。MAX7000器件有多种封装类型,包括PLCC、PGA、PQFP、RQFP和TQFP等。MAX7000器件采用CMOSEEPROM单元实现逻辑功能。这种用户可编程结构可以容纳各种各样的、独立的组合逻辑和时序逻辑功能。在开发和调试阶段,可快速而有效地反复编程MAX7000器件,并保证可编程,擦除100次以上。MAX7000器件提供可编程的速度/功耗优化控制。在设计中,使影响速度的关键部分工作在高速、全功率状态,而其余部分工作在低速、小功耗状态。速度/功耗优化特性允许设计者把一个或多个宏单元配置在50%或更低的功耗下而仅增加一个微小的延迟。MAX7000器件也提供了一个旨在减小输出缓冲器电压摆率的配置项,以降低没有速度要求的信号状态切换时的瞬态噪声。除44引脚的器件之外,所有MAX7000器件的输出驱动器均能配置在或5.0V电压下工作。MAX7000器件允许用于混合电压的系统中。MAX7000器件由QuartusⅡ和MAX+PLUSⅡ开发系统支持。下表是MAX7000典型器件性能对照表。31第31页,共244页。MAX7128S资源特性EPM7032EPM7032SEPM7064EPM7064SEPM7128EPM7128EEPM7192SEPM7192EEPM7256SEPM7256E器件门数1200250050007500010000典型可用门6001250250037505000宏单元3264128192256逻辑阵列块2481216I/O引脚数36681001241642022/11/2332第32页,共244页。2.MAX7000S/E器件结构MAX7000S/E器件包括逻辑阵列块、宏单元、扩展乘积项(共享和并联)、可编程连线阵列和I/O控制块五部分。MAX7000S/E还含有四个专用输入,它们既可用作通用输入,也可作为每个宏单元和I/O引脚的高速、全局控制信号:时钟(Clock)、清除(Clear)及两个输出使能(OutputEnable)信号。MAX7000S/E器件的结构如图所示。(1)逻辑阵列块(LAB)MAX7000S/E器件主要由高性能的LAB以及它们之间的连线通道组成。如图所示,每16个宏单元阵列组成一个LAB,多个LAB通过可编程连线阵列(PIA)连接在一起。PIA即全局总线,由所有的专用输入、I/O引脚以及宏单元反馈给信号。每个LAB包括以下输入信号:①来自PIA的36个通用逻辑输入信号;②用于辅助寄存器功能的全局控制信号;③从I/O引脚到寄存器的直接输入信号。器件的宏单元可以单独地配置成时序逻辑或组合逻辑工作方式。每个宏单元由逻辑阵列、乘积项选择矩阵和可编程寄存器等单个功能块组成。MAX7000S/E器件的宏单元结构如图所示。33第33页,共244页。MAX7064S的结构2.1.4CPLD结构与工作原理(1)逻辑阵列块(LAB)34第34页,共244页。逻辑阵列用来实现组合逻辑,它为每个宏单元提供五个乘积项。乘积项选择矩阵把这些乘积项分配到“或”门和“异或”门作为基本逻辑输入,以实现组合逻辑功能;或者把这些乘积项作为宏单元的辅助输入实现寄存器清除、预置、时钟和时钟使能等控制功能。以下两种扩展乘积项可用来补充宏单元的逻辑资源。①共享扩展项:反馈到逻辑阵列的反向乘积项。②并联扩展项:借自邻近的宏单元中的乘积项。根据设计的逻辑需要,Quartus Ⅱ能自动地优化乘积项分配。作为触发器功能,每个宏单元寄存器可以单独编程为具有可编程时钟控制的D、T、JK或SR触发器工作方式。每个宏单元寄存器也可以被旁路掉,以实现组合逻辑工作方式。在设计输入时,设计者指明所需的触发器类型,然后由Quartus Ⅱ为每一个触发器功能选择最有效的寄存器工作方式,以使设计资源最少。每一个可编程寄存器的时钟可配置成三种不同方式。①全局时钟:这种方式能实现从时钟到输出最快的性能。②带有高电平有效的时钟使能的全局时钟:这种方式为每个寄存器提供使能信号,仍能达到全局时钟的快速时钟到输出的性能。③乘积项时钟:在这种方式下,寄存器由来自隐埋的宏单元或I/O引脚的信号进行时钟控制。下图所示的MAX7000S/E器件可有两个全局时钟信号,它们可以是专用引脚GCLK1、GCLK2,也可以是GCLK1、GCLK2反相信号。每个寄存器还支持异步清除和异步置位功能,如图所示,由乘积项选择矩阵分配乘积项来控制这些操作。虽然乘积项驱动寄存器的置位和复位信号是高电平有效,但在逻辑阵列中将这些信号反相可得到低电平有效的控制。另外,每个寄存器的复位功能可以由低电平有效的、专用的全局复位引脚GCLRn信号来驱动。所有MAX7000E/S器件I/O引脚都有一个到宏单元寄存器的快速通道。这个专用通道可以旁路掉PIA和组合逻辑,直接驱动具有极快输入建立时间()的输入D触发器。35第35页,共244页。CPLD结构与工作原理MAX7000系列的单个宏单元结构PRNCLRNENA逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄存器旁路并行扩展项通往I/O模块通往PIA乘积项选择矩阵来自I/O引脚全局时钟QDEN来自PIA的36个信号快速输入选择236第36页,共244页。CPLD结构与工作原理共享扩展乘积项结构(3)扩展乘积项尽管大多数逻辑功能可以用每个宏单元中的五个乘积项实现,但对于更复杂的逻辑功能,需要用附加乘积项来实现。为了提供所需的逻辑资源,可以利用另外一个宏单元,但是MAX7000器件的结构也允许利用共享和并联扩展乘积项(扩展项),作为附加的乘积项直接输送到本LAB的任一宏单元中。利用共享和并联扩展乘积项可保证在逻辑综合时,用尽可能少的逻辑资源得到尽可能快的工作速度。①共享扩展项每个LAB有16个共享扩展项。共享扩展项就是由每个宏单元提供一个未投入使用的乘积项,并将它们反相后反馈到逻辑阵列中,以便于集中使用。每个共享扩展项可被所在的LAB内任意或全部宏单元使用和共享,以实现复杂的逻辑功能。采用共享扩展项后会产生一个较短的延时tSEXP。图展示了共享扩展项是如何被馈送到多个宏单元的。37第37页,共244页。并联扩展项38第38页,共244页。PIA信号布线到LAB的方式通过在PIA上布线,把各个LAB相互连接构成所需的逻辑。通过在PIA上布线,可把器件中任一信号源连接到其目的端。所有MAX7000S/E器件的专用输入、I/O接口和宏单元输出均馈送到PIA,PIA再将这些信号送到这些器件内的各个地方。只有每个LAB所需的信号,才真正布通从PIA到该LAB的连线。图示出了PIA信号是如何布线到LAB的。图中EEPROM单元控制2输入“与”门的一个输入端,以选择驱动LAB的信号。39第39页,共244页。(6)I/O控制块EPM7128S器件的I/O控制块I/O控制块允许每个I/O引脚单独地配置为输入、输出和双向工作方式。所有I/O引脚都有一个三态缓冲器,它由全局输出使能信号中的一个控制,或者把使能端直接连接到地(GND)或电源(VCC)上。当三态缓冲器的控制端接地(GND)时,输出为高阻态。此时,I/O引脚可用作专用输入引脚。当三态缓冲器的控制端接高电平(VCC)时,输出被使能(即有效),如图所示。MAX7000S/E器件有六个全局输出使能信号,它们可以由以下信号同相或反相驱动:两个输出使能信号、一组I/O引脚的子集或一组宏单元。MAX7000S/E器件的结构提供双I/O反馈,且宏单元和引脚的反馈是相互独立的。当I/O引脚被配置成输入时,相关的宏单元可用于隐含逻辑。40第40页,共244页。FLEX10K器件是第一种嵌入式PLD产品。FLEX(可更改逻辑单元阵列)采用可重构的CMOSSRAM单元,其结构集成了实现通用多功能门阵列所需的全部特性。FLEX10K系列容量可达25万门,能够高密度、高速度、高性能地将整个数字系统,包括32位多总线系统集成于单个器件中。FLEX10K器件由Altera公司的QuartusⅡ和MAX+PLUSⅡ开发系统支持。1.FLEX10K器件特性①嵌入式可编程逻辑器件提供了集成系统于单个可编程逻辑器件中的性能。②高密度:提供1万~25万个可用门、6144~40960位内部RAM。③低功耗:多数器件在静态模式下电流小于,在、或下工作。④高速度:时钟锁定和时钟自举选项分别用于减少时钟延时/过冲和时钟倍频;器件内建立树形分布的低失真时钟;具有快速建立时间和时钟到输出延时的外部寄存器。⑤灵活的互连方式:具有快速、互连延时可预测的快速通道(FastTrack)连续式布线结构;实现快速加法、计数、比较等算术逻辑功能的专用进位链;实现高速、多输入(扇入)逻辑功能的专用级联链;实现内部三态总线的三态模拟;多达六个全局时钟信号和四个全局清除信号。⑥支持多电压I/O接口,遵从总线标准。⑦强大的引脚功能:每个引脚都有一个独立的三态输出使能控制及漏极开路配置选项以及可编程输出电压摆率控制;FLEX10KA、FLEX10KE、FLEX10KS器件支持热插拔。⑧多种配置方式:内置JTAG边界扫描测试电路,可通过外部EPROM、智能控制器或JTAG接口实现在电路重构(ICR)。⑨多种封装形式:引脚范围84~600,封装形式有TQFP、PQFP、BGA和PLC等。同一封装的FLEX10K器件的引脚兼容。表列出了FLEX10K典型器件的性能对照。FLEX10K器件41第41页,共244页。FLEX10K典型器件性能对照表特性EPF10K10EPF10K20EPF10K50EPF10K100EPF10K250器件门数31 00063 000116 000158 000310 000典型可用门10 00020 00050 000100 000250 000逻辑单元数57611522880499212 160逻辑阵列块721443606241520嵌入阵列块36101220总RAM位数614412 28820 48024 57640 960最多I/O引脚1501893104064702022/11/2342第42页,共244页。FPGA结构与工作原理查找表FPGA查找表单元内部结构FPGA查找表单元43第43页,共244页。一个N输入查找表(LUT,LookUpTable)可以实现N个输入变量的任何逻辑功能,如
N输入“与”、
N输入“异或”等。输入多于N个的函数、方程必须分开用几个查找表(LUT)实现输出查黑找盒表子输入1输入2输入3输入4什么是查找表?基于查找表的结构模块
44第44页,共244页。0000010100000101输入A输入B输入C输入D
查找表输出16x1RAM查找表原理多路选择器45第45页,共244页。...IOCIOCIOCIOC......IOCIOC...IOCIOC...IOCIOC...IOCIOC逻辑单元...IOCIOC...IOCIOCIOCIOC...快速通道互连逻辑阵列块(LAB)IOCIOC...EABEAB嵌入式阵列块FLEX10K系列FPGA结构图46第46页,共244页。FLEX10K系列器件结构特点FLEX10K器件主要包括嵌入式阵列、逻辑阵列、FastTrack互连和I/O单元四部分。另外,FLEX10K器件还包括六个用于驱动寄存器控制端的专用输入引脚,以确保高速低失真(小于)控制信号的有效分布。这些信号使用了专用的布线通道,这些专用通道提供了比FastTrack互连更短的延时和更小的失真。四个全局信号可由四个专用输入引脚驱动,也可以由器件内部逻辑驱动。这为时钟分配或产生用以清除器件内部多个寄存器的异步清除信号提供了理想的方法。逻辑阵列:由一系列LAB构成。每个LAB由八个逻辑单元(LE)和一些局部互连组成。每个LE包含一个4输入的查找表(LUT)、一个可编程触发器、进位链和级联链等。每个LAB相当于96个可用逻辑门,可以构成一个中规模的逻辑块,如8位计数器、地址译码器或状态机等,也可以将多个LAB组合起来构成一个更大规模的逻辑块。嵌入式阵列:由一系列嵌入式阵列块(EAB)构成。在要实现存储器功能时,每个EAB可提供2048个存储位,用来构造RAM、ROM、FIFO和双口RAM。在要实现乘法器、微控制器、状态机及复杂逻辑时,每个EAB可贡献100~600个门。EAB可单独使用,也可组合起来使用。47第47页,共244页。FLEX10K系列器件结构特点FastTrack互连:FLEX10K器件内部信号的互连和器件引脚之间的信号互连是由纵横贯穿整个器件的快速通道(FastTrack)提供的。I/O单元:每个I/O引脚由位于行、列互连通道末端的I/O单元(IOE)馈接。每个IOE含有一个双向缓冲器和一个可作为输入/输出/双向寄存器的触发器。当IOE作为专用时钟引脚时,这些寄存器提供特殊性能。当IOE作为输入时,这些寄存器提供的建立时间和0ns的保持时间。当IOE作为输出时,这些寄存器提供的时钟到输出延时。IOE还具有许多其他特性,如JTAG编程支持、电压摆率控制、三态缓冲和漏极开路输出等。48第48页,共244页。FastTrack互连连续布线=每次设计重复的可预测性和高性能连续布线(Altera基于查找表(LUT)的FPGA)LABLE49第49页,共244页。逻辑阵列LAB是由一系列的相邻LE构成图2-38-FLEX10KLAB的结构图50第50页,共244页。逻辑单元LELE(LC)结构图数据1Lab控制3LE输出进位链级联链查找表
(LUT)清零和预置逻辑时钟选择进位输入级联输入进位输出级联输出Lab控制1CLRNDQ数据2数据3数据4Lab控制2Lab控制451第51页,共244页。逻辑单元LE进位链连通LAB中的所有LE快速加法器,比较器和计数器DFF进位输入(来自上一个逻辑单元)S1LE1查找表LUT进位链DFFS2LE2A1B1A2B2进位输出(到LAB中的下一个逻辑单元)进位链查找表LUT52第52页,共244页。逻辑单元LE两种不同的级联方式“与”级联链“或”级联链LUTLUTIN[3..0]IN[4..7]LUTIN[(4n-1)..4(n-1)]LUTLUTIN[3..0]IN[4..7]LUTIN[(4n-1)..4(n-1)]LE1LE2LEnLE1LE2LEn0.6ns2.4ns16位地址译码速度可达2.4+0.6x3=4.2ns53第53页,共244页。I/O单元与专用输入端口图2-39IO单元结构图54第54页,共244页。嵌入式阵列块EAB是在输入、输出口上带有寄存器的RAM块,是由一系列的嵌入式RAM单元构成。用EAB构成不同结构的RAM和ROM
输出时钟DRAM/ROM256x8512x41024x22048x1DDD写脉冲电路输出宽度8,4,2,1
数据宽度8,4,2,1地址宽度8,9,10,11
写使能输入时钟55第55页,共244页。EAB的大小灵活可变通过组合EAB可以构成更大的模块不需要额外的逻辑单元,不引入延迟,EAB可配置为深度达2048的存储器EAB的字长是可配置的256x8512x41024x22048x1256x8256x8512x4512x4256x16512x856第56页,共244页。Altera新型器件----MAXII1.成本优化的架构传统CPLD由基于宏单元的LAB和特定的全局布线矩阵组成。这种基于宏单元的构架,随着逻辑密度的增加,布线区域呈指数性增长,因此当密度大于512宏单元时,不具有高效的可升级性。而MAXⅡCPLD架构中,随着LAB数量的增加,布线仅呈线性增长,因而可获得更多的裸片面积,使其裸片尺寸仅为同样工艺器件的1/4。MAXⅡ器件和上一代MAX器件相比,成本降低了一半。2.低功耗MAXⅡ器件是动态功耗较低的CPLD。如图所示给出了MAXⅡ器件和上一代MAX器件之间的功耗对比。功耗只有原来的1/10。3.高性能MAXⅡ器件支持高达300MHz的内部时钟,可为用户提供更高的系统级性能。与以前的MAX7000A系列相比,MAXⅡ器件内部性能提高了2倍。通过改善布线结构,MAXⅡ器件引脚与引脚之间的延时与其他相同容量的CPLD相比大大降低,目前已降低到。同时保持了MAX系列原有的瞬态启动、单芯片、非易失性和易用性。新的系列器件容量翻了两番,性能是上一代MAXCPLD的两倍多,使消费类、通信、工业和计算机产品的设计者能够采用MAXⅡ器件替代昂贵和不够灵活的小型ASIC和ASSP(ApplicationSpecificStandardProduct,专用标准电路)。4.实时在系统可编程能力(ISP)57第57页,共244页。MAXII结构低成本的MAXⅡ架构占用更小的裸片面积MAXⅡ器件平面图传统CPLD架构MAXⅡ架构新型MAXⅡCPLD架构包括基于LUT的LAB,非易失性Flash存储器块和JTAG控制电路。58第58页,共244页。
5.用户Flash存储器
MAXⅡCPLD内的用户Flash存储器是一个容量为8kb,用户可访问且可编程的Flash存储器块,可用于存储用户自己定义的数据。这相当于在MAXⅡ器件内部集成了一个非易失性的存储器,从而可减少系统芯片数量和成本。用户Flash存储器的典型应用是作为修订版本号或序列号存储器使用,可替代原来用于存储这类数据的串行EEPROM。MAXⅡCPLD中的用户Flash存储器也可以替代通用的小容量Flash器件,这种器件经常用于存储ASIC、ASSP、模拟器件、微处理器或微控制器的初始化数据。用户Flash存储器与JTAG电路及内核逻辑之间都有接口,用户可以灵活地采用各种方法对存储器进行读写操作。如果想把用户Flash存储器连接到一个标准总线,如串行外设接口(SPI)、并口(LPT)等,可在QuartusⅡ软件中通过一个基于GUI的宏功能(Megafunction)自动创建相应的接口用户Flash存储器内部分为两个区,每个区可以独立进行擦除、读/写操作。用户Flash存储器本身的接口采用一根串行地址/数据输入信号总线和一根串行数据输出信号总线。按地址索引的数据宽度是16b,同时数据也可以16b为一段读出来。可选的自动增量选项允许用户向用户Flash存储器发出一个地址,然后使地址自动累加,从而访问连续地址中的数据。使用QuartusⅡ软件的用户Flash存储器宏功能,用户可以选择用一个SPI接口,并口或者可编程逻辑例化的定制接口,作为与用户Flash存储器的接口。用户生成的宏功能将自动创建这些接口的逻辑。59第59页,共244页。6.灵活的多电压内核MAXⅡ架构支持多电压,允许器件在、或电源电压环境下工作。目前对应电源电压有两个器件系列可选。该特性使设计者可以减少电源电压的种类数量,简化板级设计。MAXⅡ器件还支持Altera的多电压I/O接口特性,允许和其他器件保持、、或逻辑级的无缝级连接,如图所示。其中,EPM240和EPM570器件含两个I/O区,EPM1270和EPM2210含四个I/O区,每个I/O区可以采用独立的VCCIO供电。对应电源电压MAXⅡ器件订货代码后缀对应电源电压MAXⅡ器件订货代码后缀3.3V无1.8VG2.5V无2022/11/2360第60页,共244页。FPGA/CPLD器件的配置当在QuartusⅡ中完成设计后,就应当将所设计的电路下载到CPLD芯片中,结合用户系统进行统一的调试。CPLD编程下载的方式较多,按计算机的接口可分为:串口下载(BitBlaster或MasterBlaster)、并口下载(ByteBlaster)、USB接口下载(MasterBlaster或APU)等方式。按器件可分为:CPLD编程(MAX3000、MAX5000、MAX7000、MAX9000),FPGA下载(FLEX6000、FLEX8000、FLEX10K、ACEX1K、APEX20K),存储器编程EPC1、EPC2等。针对CPLD器件不同的内部结构,Altera公司提供了不同的器件配置方式。Altera可编程逻辑器件的配置可通过编程器、JATG接口在线编程及Altera在线配置三种方式进行。Altera器件编程的连接硬件包括ByteBlaster并口下载电缆,ByteBlasterMV并口下载电缆,MasterBlaster串行/USB通信电缆,BitBlaster串口下载电缆。Altera公司提供的EPC1、EPC2、EPC16和EPC1441等PROM配置芯片。本章将分别介绍它们的原理及电路连接关系。61第61页,共244页。ByteBlaster配置
ByteBlaster并口下载电缆是一种连接到PC25针标准并口(LPT并口)的硬件接口产品。它既可以对FLEX10K、FLEX8000和FLEX6000进行配置,也可以对MAX9000(包括MAX9000A)、MAX7000S和MAX7000A进行编程。ByteBlaster为在线可编程器件提供了一种快速而廉价的配置方法。设计人员的最新设计可以通过ByteBlaster并口下载电缆随时下载到芯片中去,因此设计的样品能很快完成。ByteBlaster并口下载电缆的连接如图所示。62第62页,共244页。1.下载模式ByteBlaster并口下载电缆提供两种下载模式:(1)被动串行模式(PS模式)——用于配置FLEX10K、FLEX8000和FLEX6000器件;(2)JTAG模式——具有工业标准的JTAG边界扫描测试电路(符合:1990标准),用于配置FLEX10K或对MAX9000、MAX7000S和MAX7000A器件进行编程。ByteBlaster并口下载电缆与PC并口相连的是25针插头,与PCB相连的是10针插座。数据从PC并口通过ByteBlaster并口下载电缆下载到PCB。利用ByteBlaster并口下载电缆配置/编程器件(如FLEX10KA、MAX7000A器件)时,要将电缆的VCC引脚连到电源,而器件的VCC引脚连到电源,FLEX10KA和MAX7000A器件能够耐压到,因此,ByteBlaster并口下载电缆的输出不会对器件造成损害,但电源中应该连接上拉电阻。63第63页,共244页。2.连接ByteBlaster并口下载电缆与PC并口相连的是25针插头,与PCB相连的是10针插座。数据从PC并口通过ByteBlaster并口下载电缆下载到PCB。利用ByteBlaster并口下载电缆配置/编程器件(如FLEX10KA、MAX7000A器件)时,要将电缆的VCC引脚连到电源,而器件的VCC引脚连到电源,FLEX10KA和MAX7000A器件能够耐压到,因此,ByteBlaster并口下载电缆的输出不会对器件造成损害,但电源中应该连接上拉电阻。64第64页,共244页。(1)25针插头ByteBlaster并口下载电缆与PC并口相连的是25针插头,在PS模式下和在JTAG模式下的引脚信号名称是不同的,如表所示。ByteBlaster并口下载电缆原理图如图所示。65第65页,共244页。ByteBlaster并口下载电缆25针插头的
引脚信号名称引脚PS模式下的信号名称JTAG模式下的信号名称2DCLKTCK3nCONFIGTMS8DATA0TDI11CONF_DONETDO13nSTATUSNC15GNDGND18~25GNDGND2022/11/2366第66页,共244页。
ByteBlaster并口下载电缆原理图67第67页,共244页。(2)10针插座10针插座是与包含目标器件的PCB上的10针插头连接的,其尺寸示意图如图所示。表列出了在PS模式下和在JTAG模式下的引脚信号名称。68第68页,共244页。
ByteBlaster并口下载电缆10针插座的
引脚信号名称引脚PS模式下的信号名称JTAG模式下的信号名称信号名称描述信号名称描述1DCLK时钟TCK时钟2GND信号地GND信号地3CONF_DONE配置控制TDO器件输出数据4VCC电源VCC电源5nCONFIG配置控制TMSJTAG状态控制6—NC(引脚悬空)—NC7nSTATUS配置的状态—NC8—NC—NC9DATA0配置到器件的数据TDI配置到器件的数据10GND信号地GND信号地2022/11/2369第69页,共244页。ByteBlaster并口下载电缆10针插头尺寸示意图
注:尺寸单位均为英寸(in,lin=25.4mm)70第70页,共244页。(3)电缆线ByteBlaster的电缆线一般使用扁平电缆,长度不超过30cm,否则会带来干扰、反射及信号过冲问题,引起数据传输错误,导致下载失败。如果PC并口与PCB距离较远,需要加长电缆,可在PC并口和ByteBlaster电缆之间加入一根并口电缆。71第71页,共244页。(4)PCB上的10针插头ByteBlaster并口下载电缆的10针插座连接到PCB上的10针插头。PCB上的10针插头排成两排,每排五个引脚,连接到器件的编程或配置引脚上(编程或配置器件的引脚与10针插座的引脚信号名称相同的连接在一起)。ByteBlaster并口下载电缆通过10针插头获得电源并下载数据到器件。10针插头的尺寸示意图如图所示。72第72页,共244页。第4章VHDL程序基本结构73第73页,共244页。什么是VHDL?
VeryhighspeedintegratedHardwareDescriptionLanguage(VHDL)是IEEE、工业标准硬件描述语言用语言的方式而非图形等方式描述硬件电路容易修改容易保存特别适合于设计的电路有:复杂组合逻辑电路,如:译码器、编码器、加减法器、多路选择器、地址译码器…...状态机等等……..74第74页,共244页。VHDL的功能和标准VHDL描述输入端口输出端口电路的行为和功能
VHDL有过两个标准:IEEEStd1076-1987(calledVHDL1987)IEEEStd1076-1993(calledVHDL1993)InputsportOutputportfunctions75第75页,共244页。VHDL程序组成设计实体库(LIBRARY)程序包(PACKAGE)实体(ENTITY)结构体(ARCHTECTURE)进程或其他并行结构配置(CONFIGURATION)76第76页,共244页。相关约定对于VHDL的编译器和综合器来说,程序文字的大小写不加区分。为了使程序结构清晰,易于阅读和调试,书写和输入程序时,使用层次缩进格式,同一层次的语句对齐,底层次的语句较高层次的语句缩进两个字符。程序中的注释使用双横线“--”。在VHDL程序的任何一行中,双横线“--”后的文字都不参加编译和综合。77第77页,共244页。4.1VHDL设计实体基本结构libraryieee;useieee.std_logic_1164.all;entitymux21aisport(a,b:inbit;s:inbit;y:outbit);endentitymux21a;architectureoneofmux21aisbeginy<=awhens='0'elseb;endarchitectureone;实体说明结构体设计实体总由实体说明和结构体两部分构成例:2选1多路选择器的VHDL描述78第78页,共244页。ENTITYmux21aIS
PORT(a,b:
IN
BIT;
s:INBIT;
y:OUTBIT);ENDENTITYmux21a;实体说明4.1设计实体4.1.1实体说明任何一个基本设计单元的实体说明都具有如下结构:
ENTITY
实体名IS
[类属参数说明]
;
[端口说明]
;
END[ENTITY]
实体名;
实体说明主要描述的是一个设计的外貌,即对外的输入输出接口以及一些用于结构体的参数的定义。不管器件内部如何复杂,首先把该器件当做黑匣子看待进行描述。79第79页,共244页。4.1设计实体4.1.1实体说明
ENTITY
实体名IS
[类属参数说明]
;
[端口说明]
;
END[ENTITY]
实体名;类属参数说明:类属参数说明主要用来为设计实体指定参数。如用来定义端口的宽度、器件的延迟时间等。必须放在端口说明之前。例如:GENERIC(m:time:=1
ns)该语句指定了结构体内的m值为1
ns。80第80页,共244页。4.1设计实体4.1.1实体说明
ENTITY
实体名IS
[类属参数说明]
;
[端口说明]
;
END[ENTITY]
实体名;端口说明:端口说明是对基本设计实体(单元)与外部接口的描述,也可以说是对外部引脚信号的名称、数据类型和输入、输出方向的描述。一般书写格式如下:PORT(端口名{,端口名}:方向数据类型名;
……
端口名{,端口名}:方向数据类型名);例如:PORT(a,b:
IN
BIT;
s:INBIT;
y:OUTBIT);81第81页,共244页。4.1设计实体4.1.1实体说明端口方向:端口方向用来定义外部引脚的信号方向是输入还是输出。表示端口方向的说明符及含义:IN——输入,信号从外部输入到所描述的逻辑内部OUT——输出,信号从所描述逻辑的内部输出到外部INOUT——双向,既可输入也可输出,不能反馈BUFFER——输出,可反馈端口名:端口名是赋予每个外部引脚的名称,可以自由定义,但不能和VHDL语言中的关键字重名。一行里可以定义多个相同数据类型的不同端口,它们之间用逗号隔开。通常用一个或几个英文字母,或者用英文字母加数字命名。82第82页,共244页。4.1设计实体4.1.1实体说明数据类型:在VHDL语言中有十种数据类型:BIT——位逻辑型(该端口信号值只能取“0”或“1”)BIT_VECTOR——位矢量型(该端口可能是一组二进制位的值)BOOLEAN——布尔代数型(取值有“false”和“true”两种)STD_LOGIC——标准逻辑型INTEGER——整型UN_SIGNED——无符号型例:PORT(a:
IN
BIT;
b:INBIT;
bus:OUTBIT_VECTOR(3DOWNTO0)
);说明:
a、b为BIT数据型;bus为BIT_VECTOR类型,该端口为一个四位位宽端口。(3DOWNTO0)最高位bus[3]、最低位bus[0]。83第83页,共244页。
在VHDL语言中,利用标准逻辑型(STD_LOGIC)和STD_LOGIC_VECTOR对端口或信号进行说明时。需在程序的最开始部分加上如下语句:
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;
这是用取自IEEE库中STD_LOGIC_1164程序包的
STD_LOGIC数据类型取代BIT数据类型,用STD_LOGIC_VECTOR取代BIT_VECTOR数据类型。数据类型:4.1.1实体说明4.1设计实体84第84页,共244页。1.标准逻辑位数据类型STD_LOGICBIT数据类型定义:
TYPEBITIS('0','1');STD_LOGIC数据类型定义:TYPESTD_LOGICIS('U','X','0','1','Z','W','L','H','-');STD_LOGIC所定义的9种数据的含义是:‘U’表示未初始化的;‘X’表示强未知的;‘0’表示强逻辑0;‘1’表示强逻辑1;‘Z’表示高阻态;‘W’
表示弱未知的;‘L’表示弱逻辑0;‘H’表示弱逻辑1;‘-’表示忽略。4.1设计实体85第85页,共244页。例ARCHITECTUREone
OFmux21aIS
BEGINy<=aWHENs='0'ELSEb;ENDARCHITECTUREone;结构体4.1设计实体4.1.2结构体
结构体是对实体功能的具体描述,它具体指明了设计实体的行为和构造,把设计的输入、输出之间的关系建立起来。结构体对其基本设计单元的输入输出关系可用三种方式进行描述1、行为描述(基本设计单元的数学模型描述);(behavioral)2、寄存器传输描述(数据流描述);(dataflow)3、结构描述(逻辑元件单元连接描述)。(structural)不同的描述方式只是在描述语句上不同,而结构体的结构是完全一样的。
86第86页,共244页。ARCHITECTURE
结构体名
OF
实体名IS[结构体说明语句];内部信号、常数、数据类型、函数等的定义BEGIN[功能描述语句];END[ARCHITECTURE]
结构体名;4.1设计实体4.1.2结构体结构体的语言格式:结构体名:
结构体是次级设计单元,它属于某一个实体。结构体名是对本结构体的命名,它是该结构体的唯一标识符,OF后紧跟的实体名表明了该结构体所对应的是哪一个实体说明,通过这个实体名将结构体和实体说明联系起来。一般建议用behave、dataflow、structure来为结构体命名。87第87页,共244页。4.1设计实体4.1.2结构体结构体说明语句:
结构体说明语句定义的信号、常数等只能在该结构体内部使用。信号的定义和实体说明中的端口说明一样,应该有信号名和数据类型说明。不需要方向说明。
具体描述了结构体的行为和结构。这些功能描述语句是并行描述语句。主要包括5种不同类型的并行语句。
块语句、进程语句、信号赋值语句、子程序调用语句、元件例化语句。功能描述语句:88第88页,共244页。4.2.1文字规测1、数字型文字整数:整数都是十进制的数,如:5,678,0,156E2(=15600),45_234_287(=45234287)
实数:实数也都是十进制的数,但必须带有小数点,如:,88_670_551.453_909(=88670551.453909),,44.99E-2(=0.4499)
以数制基数表示的文字:用这种方式表示的数由五个部分组成。SIGNALd1,d2,d3,d4,d5:INTEGERRANGE0TO255;d1<=10#170#;--(十进制表示,等于十进制170)d2<=16#FE#;--(十六进制表示,等于十进制254)d3<=2#1111_1110#;--(二进制表示,等于十进制254)d4<=8#376#;--(八进制表示,等于十进制254)d5<=16#E#E1;--(十六进制表示,等于十进制224)2、物理量文字(VHDL综合器不接受此类文字)。如:60s(60秒),100m(100米),kΩ(千欧姆),177A(177安培)4.2VHDL语言要素2022/11/2389第89页,共244页。3、字符串(2)文字字符串(3)数位字符串用单引号括起来的ASCII字符,如:‘R’,’a’,’1’,’-’B:二进制基数符号,表示二进制位0或1,在字符串中的每位表示一个Bit。O:八进制基数符号,在字符串中的每一个数代表一个八进制数,即代表一个3位(BIT)的二进制数。X:十六进制基数符号(0~F),代表一个十六进制数,即一个4位的二进制数。data1<=B"1_1101_1110"--二进制数数组,位矢数组长度是9data2<=O"15"--八进制数数组,位矢数组长度是6data3<=X"AD0"--十六进制数数组,位矢数组长度是12data4<=B"101_010_101_010"--二进制数数组,位矢数组长度是12data5<="101_010_101_010"--表达错误,缺B。data6<="0AD0"--表达错误,缺X。(1)字符"ERROR","BothSandQequalto1","X","BB$CC"4.2VHDL语言要素2022/11/2390第90页,共244页。4、标识符
标识符是最常用的操作符,可以是常数、变量、信号、端口、子程序或参数的名字。VHDL基本标识符的书写需遵循如下规则:l有效的字符:包括26个大小写英文字母,数字包括0~9以及下划线“_”。l任何标识符必须以英文字母开头。l必须是单一下划线“_”,且其前后都必须有英文字母或数字。l标识符中的英语字母不分大小写。l允许包含图形符号(如回车符、换行符等),也允许包含空格符。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年工程监理与咨询服务合同
- 2024年地籍测绘合作协议
- 2024年品牌许可使用合同:品牌形象维护与违约责任
- 2024年企业培训服务合同与培训效果评估
- 2024担保合同补充协议范本规定
- 2024版专业食品供应商长期供货合同
- 2024模具改模合同模板
- 优惠写字楼短租合同
- 2024年专利申请权转让合同范本
- 2024年大数据分析与应用许可协议
- (统编2024版)道德与法治七上10.1爱护身体 课件
- GB/T 30391-2024花椒
- 供电线路维护合同
- 鞋子工厂供货合同模板
- 物理人教版2024版八年级上册5.1 透镜 课件02
- 2024码头租赁合同范本
- 期中测试卷(1-4单元)(试题)-2024-2025学年人教版数学四年级上册
- 应用文写作+以“A+Clean-up+Activity”为题给学校英语报写一篇新闻报道+讲义 高二上学期月考英语试题
- 木材采运智能决策支持系统
- 2024年华电电力科学研究院限公司招聘26人历年高频难、易错点500题模拟试题附带答案详解
- 校园反诈骗课件
评论
0/150
提交评论