ABEL硬件描述语言

合集下载

电子英文术语及解释

电子英文术语及解释

术语词汇表术语表ABELABEL是在CPLD设计中曾被广泛使用的一种原始的硬件描述语言ABEL通常被认为在建立高级硬件描述方面不如VHDL或Verilog有效ADC模数转换器一个模拟信号在各个间隔采样并被建模为数字信号AGP高级图形接口关于图形的电压接口标准AllianceAlliance是Xilinx的与第三方供应商配合之协议的名称在此协议下相互共享信息以在Xilinx的工具和其它EDA工具之间建立无缝的接口Alliance软件包包含了Xilinx的实现工具但是这个包没有包括仿真综合和原理图抓取软件如果你在使用Xilinx 的Alliance系列软件这就假定了你在为这些应用使用了第三方EDA供应商的工具analyze分析是用来描述在综合中的语法检查过程的术语ASIC专用集成电路此器件是用户为特定的应用设计的而不是一个诸如微处理器的通用器件ASSP专用标准部件或产品ASIC的别称ATPG自动测试模式产生测试向量生成并在电路中运行以测试这个部件behavioral一个常用来描述HDL或仿真形式的术语行为级HDL是一种未必可综合的系统模型行为级仿真是对源代码RTL或行为级的一种仿真BGA球栅阵列一种非常流行的表贴器件封装它使用网格状的焊球作为它的连接器可以有塑封和陶封两种形式BGA封装以其紧凑的尺寸高的引线数目和较低的感抗使得可以应用在较低的电压场合而倍受关注BIST内建自测试存储器资源特别是RAM的测试功能BitgenBitgen是Xilinx实现工具执行配置这一步的命令行名称参见Configurationbitstream位流bitstream被用来对Xilinx器件进行编程它包含设计者建立的器件布线和逻辑资源内部配置的所有信息block SelectRAM通常是指分块 RAM.Xilinx的块RAM是基于Virtex架构器件中的专用的块RAMXilinx的块 RAM可以存储多达16 千位的数据数据宽度和深度可以变化块RAM是全同步的有适合双端口存取的不同端口每个块可以有独立的时钟使能复位数据输入数据输出和端口宽度BLVDS总线LVDS这个标准允许两个或多个器件之间双向LVDS通信此标准的外部终端电阻与标准LVDS中的是不同的BSCAN边界扫描边界扫描逻辑在生产中被用来测试PCB的互连BSDL边界扫描描述语言 BSDL是在一个IC中如何实现边界扫描逻辑的软件描述边界扫描测试软件接受BSDL描述BUFGCEBUFGCE是Xilinx的原语是Virtex-II时钟管理的一部分BUFGCE 被用来分布高扇出的带时钟使能的时钟信号时钟信号用时钟使能信号来选通无毛刺在当使能信号被禁止时时钟也被禁止BUFGMUXBUFGMUX 是Xilinx的原语是Virtex-II器件中时钟管理的一部分BUFGMUX被用来在两个时钟间实现无毛刺切换BUFTBUFT 是 Xilinx的原语表示一个三态缓冲器carry logic进位逻辑存在于每个slice中是主要用于实现算术逻辑功能的专用逻辑进位逻辑或称进位链在Xilinx器件中垂直分布ChipScope ILAChipScope 集成逻辑分析器ILA)是Xilinx的附加软件可以代替逻辑分析仪来测试和抓取Xilinx器件内部的数据ChipScope ILA 包括两个基本部件在计算机中的ChipScope软件和在芯片中的ChipScope核软件被用来建立触发事件和抓取数据在芯片中的核被用来连接到待测试设计的内部测试节点上器件和软件间信息交互是通过连接到PC和器件上的JTAG口的MultiLinx 电缆或并行电缆IIICLB可配置逻辑块Xilinx 的CLB 是在FPGA内实现大部分逻辑的地方CLB是由slice组成的CMOS互补MOS是实现数字处理器和存储器最为广泛使用的集成电路技术CMOS采用以某种方式连接在一起的PMOS和NMOS晶体管这使得它的功耗比单用PMOS或单用NMOS的电路的功耗要低combinational参见combinatorial Combinational是combinatorial 的另外一种措辞combinatorial组合逻辑用需要持续驱动的门来实现组合逻辑有别于不需要持续驱动的寄存逻辑如果激励信号不保持组合逻辑就不会保持它的值compile一个设计的编译可以出现在不同的位置当你综合HDL时你是将代码编译为硬件网表编译表示代码或一个文件到一个不同格式的转换configuration配置是Xilinx实现过程中的一步在配置这一步将生成用于对器件编程的位流core核通常是指知识产权IP核的功能事先经过了测试可以被很快使用而无需花费太多的工程时间和代价核也可被认为是即插即用的设计CORE Generator system核生成器CORE Generator 系统是Xilinx的软件用于为你的设计生成核这些已经制作好的功能块可以直接例化到你的设计中去它们也可进行功能仿真这些核按照复杂性和价格排列大部分的简单的功能块是免费的也可以进行用户配置块RAM FIR滤波器等等而其它的一些核PCI USB等等需要一定的费用CPLD复杂可编程逻辑器件是一种包含了在逻辑块之间可编程互连的可编程器件一个CPLD通常是由多个互连的PAL构成CPU中央处理单元.CS芯片比例封装CTT中央抽头终端电压接口标准 3.3伏的存储器总线标准DAC数模转换器将数字信号转换为模拟信号daisy chain菊花链是多个Xilinx部件的串接以便通过串行配置方式按次序对每个器件进行编程DCI数字可控阻抗Xilinx的Virtex -II中的 DCI为单端I/O提供了可控阻抗驱动器和片上终端这就可以省去片外的电阻并能提高信号的完整性DCM数字时钟管理器 Xilinx的DCM有四个时钟管理功能块时钟数字延时锁定环CLKDLL数字频率合成器 (DFS)数字移相器DPS和数字扩谱DSSDDR双数据速率使用时钟的两个沿来抓取数据Design Manager设计管理器是一个管理某个Xilinx器件实现的软件在设计管理器中你可以设置实现选项使用其它各种工具管理你的设计实现的版本和子版本.die小片硅晶元以相邻的垂直方向上和水平方向上的划线为边界它包含了制造好了的完整的芯片也称为芯片和微芯片DFT测试设计设计中用于测试内部电路功能和/或集成的电路目的是使器件可以进行自测DLL延时锁定环PLL的数字版本数字式时钟锁定电路比较两个时钟信号并使它们相对齐.DSM深亚微米也被称做二阶效应或三阶效应一个电路中在时延和噪声方面的布线效应EA嵌入阵列ASIC是一种由门阵列和标准胞元组合而成的ASIC晶片包括已部分制作部分门阵列和空白部分与标准的胞元ASIC一样嵌入阵列也允许有用户定制的宏和存储器ECO工程更改定单一旦ASIC被掩膜对掩膜进行修改需要重整re-spin”这需要付一定的费用EDA电子设计自动化就是利用计算机来设计和仿真芯片上的电子线路的性能EDIFEDIF 是工业标准的网表格式equivalency checking一致性检查也被称为形式验证形式验证被用来检查一个电路综合前后的一致性FG微间距球栅阵列封装FIFO先进先出器FIFO通常用一个RAM块来实现一个FIFO被用来以一个速率时钟速率存储数据而以另外一个不同的速率来读数据flash memory一种存储器件可以重新写入数据而且掉电后内容仍被保留Flow Engine流程机制是Xilinx的软件被用来实现通常指布局布线设计和生成配置Xilinx器件的位流文件FoundationFoundation 是Xilinx的软件包它包含了原理图抓取仿真和针对Xilinx器件实现的一整套解决方案footprintfootprint表示封装布局footprint也可指用作IO以及用作电源和地线的引脚的数目FPGA现场可编程门阵列-现场可重编程ICFPGA Compiler IIFPGA Compiler II是由Synopsys公司制作的一个综合工具FPGA ExpressFPGA Express是Synopsys公司制作的一个综合工具FSM有限状态机一个使用需要解决特定问题的操作状态来设计的计算部件这些电路对应用而言是最小化的特定的和优化的状态机控制电路的操作它提供了在合适的时间产生的输出以控制其它的逻辑function generatorXilinx查找表LUT Xilinx的查找表由SRAM制成但它的功能像一个16x1的ROM Xilinx的查找表使用四个输入查找表被置入了基于来自四输入逻辑函数的16个可能的输出的可能的逻辑值查找表也被称为函数发生器gate array门阵列一种使用已部分制作好的圆片的ASIC它只使用布线层的掩膜来定制它的作门阵列的特点是初期成本低开发时间短密度低性能有限在量少的情况下价格便宜这种形式的ASIC正逐步被废弃因为其它的技术在规模和低成本方面已超过它gating门控通常是指门控一个时钟当你门控一个时钟时时钟信号与另外一个信号组合起来产生一个新的时钟信号这是一个不好的设计实践门控时钟会产生毛刺会使你的设计不可靠Xilinx 的Virtex -II器件有无毛刺时钟管理资源可以用它们来产生一个门控时钟参见BUFGMUX和BUFGCEGDSII图形设计系统II在ASIC设计过程中使用的Polygon布局格式global clock buffer全局时钟缓冲器被用来驱动Xilinx器件内部的专用时钟树这些时钟网络被优化以传播贯穿整个芯片的低偏差的高频时钟信号每个部件有四到十六个全局时钟缓冲器全局时钟缓冲器也被称为BUFGgray code格雷编码是指这样的逻辑当它的状态变化时只有一位会变化这可以被用来降低二进制序列引起的毛刺它通常也比二进制编码逻辑更快这是因为它需要更多的寄存器来表示状态但需要解码一个状态的逻辑时仅需要看较少的位就可对所在的状态进行解码GSR全局置位复位全局置位复位是一个专用的布线网络在配置的最后的启动序列期间使用它给出了器件上电时的状态寄存器处于置位或复位状态下这取决于代码全局置位复位可以被用户用来在配置后置位/复位芯片内所有的同步元件在基于Virtex 的器件中不建议采用因为它很慢GTL注射收发逻辑终端电压接口标准GTS全局三态全局三态网络是一个专用的布线网络在配置期间被用来使器件所有的IO引脚在配置期间未被使用的所有的IO处于三态在配置的启动序列期间这个网络被释放然后它可以被用来对处于工作状态下的器件的所有的输出进行三态控制GUI图形用户界面在这个界面中用户可以设定选项以控制如何来优化或实现一个设计HDL硬件描述语言一种用来建模设计和仿真硬件的语言最常用的两种形式是VHDL和VerilogHQ高散热方型扁平封装HSTL高速收发器逻辑电压接口标准是一种1.5伏的总线接口标准IBM国际商用机器公司世界上最大的计算机公司标准胞元ASIC的供应商IBIS输入输出缓冲器信息规范IBIS 是通过V/I数据而无需揭示任何电路/工艺信息就可提供器件的输入/输出特性的一种方法它可以被看作是一个适合数字系统传输线仿真的行为模型规范并且它可应用于大部分的数字元件Xilinx之所以提供IBIS模型而不是SPICE模型是因为SPICE模型含有专利信息IC集成电路计算机芯片的正式名称制作电路的硅片ICE集成电路工程implementation实现是Xilinx所指的包括布局布线进程在内的许多步骤这些步骤包括转换映射布局布线静态时序分析和位流产生用于编程instantiate例化是HDL中的一个术语它表示在代码中放置一个层次块的行为它与在一个原理图中放置一个逻辑符号是同义的Intellectual Property参见IPIO输入和输出是指器件的端口I/O输入和输出是指器件的端口IOB输入输出块Xilinx的IOB被用来与外部信号接口Xilinx的 IOB有一个引脚输入输出缓冲器和寄存器IP知识产权是一大类被法律认定为属于某个组织的专利的无形材料在计算机领域硬件电路软件和文本都是有版权的在一些情况下硬件电路和软件中所使用的算法也可以受专利保护而且大部分的商标名称可以受商标权保护ISE集成综合环境 ISE是Xilinx公司提供的一个软件包它包括了仿真综合和针对Xilinx器件实现的一整套解决方案ISE常常被读成iceJTAG联合测试行动组一种边界扫描技术的IEEE标准latency延迟是处理信息所需要的时钟周期数目Leonard SpectrumLeonardo Spectrum是由Exemplar制作的一种综合工具LFSR线性反馈移位寄存器LFSR使用了一个伪随机计数序列 LFSR非常有用因为它能在比二进制序列更高的时钟频率下运行而且可以重复这个序列LFSR也可被称为伪随机位流生成器或PRBS生成器Libraries Guide库指南是一个软件手册它包含了关于所有的Xilinx宏和原语的一个列表它按照字母顺序排列对于每一个宏/原语都有一个原理图用来显示用于HDL例化的端口名称一个功能描述和一个根据输入而产生期望输出的真值表LM分层金属在集成电路中用于提供布线线路的金属层的数目LOC位置约束位置约束被用来锁定管脚位置或将逻辑放置在芯片的特定位置LogiBLOXLogiBLOX 软件可以用来生成XC4000和Spartan系列器件的一些小规模的核LUT查找表Xilinx的查找表由SRAM制成但它的功能通常像一个16x1的ROM Xilinx的查找表使用四个输入查找表被置入了基于四输入逻辑函数的16个可能的输出的可能的逻辑值查找表也被称为函数发生器LVCMOS低电压CMOSLVDS低电压差分信号 LVDS 是一种差分输入输出标准它需要两个信号线来荷载一个数据位与所有的差分信号标准一样LVDS具有优于单端I/O标准的固有的抗噪能力两个信号线间的电压的摆率约为350毫伏它不需要使用参考电压V REF 或板级终端电压V TT对每一个输入或输出LVDS需要两个管脚LVDS也需要外部的电阻终端LVPECL低电压正射极耦合逻辑LVTTL低电压TTL电压接口标准macro术语宏常可以与核互用参见coremapmap是Xilinx器件实现过程中的一个步骤特别地在映射这一步将网表中的逻辑如果输入网表来自于原理图工具优化成Xilinx 器件资源如LUT寄存器三态缓冲器等等然后将LUT寄存器等打包到slice和IOB中MP微处理器MHz百万赫兹ModelSimModelSim是Model Technology公司制作的一个行为仿真工具MTIModel Technology公司参见ModelSimNCF网表约束文件 NCF是由综合工具产生的用来在综合工具和Xilinx的实现工具间传递约束Netlist网表是组成电路的逻辑门及其互连的一个列表通常是文本形式 Xilinx使用的大部分网表采用 EDIF 或 XNF格式NGDBuildNGDBuild是转换的命令行名称参见 translateNRE非重复性工程成本开发ASIC时付给ASIC供应商的最开始的费用nW纳瓦OFFSET IN是一个覆盖从输入管脚到同步元件之间的路径的时序约束OFFSET OUT是一个覆盖从同步元件到输出管脚之间的路径的时序约束one-hot一位有效编码逻辑是指这样的逻辑其中有一位有效或为高电平而所有的其它位无效或为低电平optimize硬件优化是优化逻辑布尔的行为使得可以有效地利用硬件资源pad-to-pad是一个时序规范覆盖从输入引脚经过组合逻辑到达输出引脚的路径管脚-到-管脚约束不会穿过任何寄存的边界PAL可编程阵列逻辑它是一类包含可编程的与门阵列和预先定义的或门阵列只有与门连接可以被编程的可编程逻辑器件PLD PAL通常被排列好以提供乘积和sum-of-products (SOP)逻辑的表达P&R布局和布线是将逻辑放到硅片中并对逻辑间的信号进行布线以满足时序要求的行为PAR布局和布线是将逻辑放到硅片中并对逻辑间的信号进行布线以满足时序要求的行为PCI外设部件互连是一个通常用于PC机Macintosh计算机和工作站中的外设总线PCI 为CPU和外设部件如视频磁盘网络等等之间提供一个高速的数据通路period同步元件到同步元件的时序规范pipeline流水化一个设计是将寄存器置于组合逻辑间的行为它可以通过牺牲延迟来提高一个设计的吞吐量时钟频率PECL正射极耦合逻辑发送每个数据位需要两个信号线对于每一个输入或输出这个标准指定两个引脚在这两个信号线间的电压摆率约为850毫伏它不需要使用参考电压V REF 或板级终端电压V TT LVPECL需要外部的电阻终端pin locking管脚锁定是将输入输出信号放在部件中特定管脚上的行为因为FPGA是完全可编程的设计者可以将信号放在器件中的任意特定的管脚上注意通常建议在器件中建立水平方向分布上的数据流总线的最低位被放在芯片左右两侧较下部分这常常是因为进位逻辑进位链在芯片中在垂直方向上自下而上分布PLA可编程逻辑阵列它是一类包含可编程的与门和或门阵列与门和或门连接都可以被编程的可编程逻辑器件PLD PLA通常被排列好以提供乘积和sum-of-products(SOP)逻辑的表达Place and Route是将逻辑放到硅片中并对逻辑间的信号进行布线以满足时序要求的行为是Xilinx实现进程中的一步pipelining在组合逻辑间插入寄存器以提高电路的吞吐量性能或时钟频率但是以牺牲延迟为代价的PLD可编程逻辑器件包括FPGA和CPLDPLL锁相环模拟式时钟锁定电路比较两个时钟信号并将它们对齐PQ塑料方型扁平封装PRBS generator参见LFSRpriority encoded是指一种逻辑结构在这种结构中逻辑被级联起来以实现一定逻辑功能通常级联的逻辑并不像用并行结构实现的逻辑那样有效Project Navigator项目导航器是软件程序ISE的图形用户界面GUI在这个图形用户界面GUI中你能够指定综合仿真和实现选项另外在图形用户界面中GUI你可以执行综合仿真和实现的每一项功能RAM随机存取存储器可读写的存储器um微米 (micron)用来度量晶体管和布线线路的几何尺寸regression是指两个或更多相关变量之间的功能关系它常常从一些数据中来经验地确定当其它变量的值被给定时这个关系可以用来预测一个变量的值在硬件系统中回归测试被使用使得不需利用所有可能的测试向量例如对一个两输入的与门有四个可能的可以被应用的逻辑向量回归测试可以只测试这些向量中的一个或两个如果它能正常工作就可以认为这个与门能正确工作revisionXilinx工具的一个子版本代表Xilinx实现选项的一个变化子版本的建立由用户所控制RLOC相对位置约束 RLOC被用来将一些逻辑元件成组放在一起以降低设计中的布线时延通过将逻辑放得靠近在一起将不允许布局布线这一步将属于一起的任何逻辑分开这样就建立起了RPM也就是一片逻辑被放置在与另一片逻辑相对的位置上它不是被硬放置在芯片上的RPM相对放置的宏相对放置的宏利用RLOC约束来将相关的逻辑成组放在一起以便降低与布线相关的数量和时延RTL寄存器传输级是一个通常被用来描述可综合的HDL代码的术语SC标准胞元ASIC ASIC使用标准的逻辑胞元以实现紧凑的封装一个标准胞元ASIC 使用空白的圆片而不是已部分制作好的一个标准胞元ASIC的特点是初期成本高开发时间长可以提供尽可能的最大的密度和最高的性能在量大的时候是最便宜和最有效的scan内部扫描链建立用于测试部件功能的内部移位寄存器SDF标准时延格式 SDF文件被用来传递用于时序仿真的在硬件电路中与逻辑和布线相关的时延信息SDF文件通常与一个用来提供逻辑功能和连接的结构化的HDL文件一起使用.SelectI/OSelectI/O 是Xilinx的专有术语它可以支持与外部器件接口的许多电压阈值电平目前Virtex-II支持19种不同的I/O标准SelectRAMSelectRAM 是指将内部的查找表用做RAM而不是函数发生器SelectRAM也被称作分布式RAM或查找表式RAM每个查找表可以被配置成一个深度为16宽度为1的RAM这个RAM的特点是可以同步写和异步读SelectRAM也可指双端口RAMSelectROMSelectROM是指将内部的查找表用做ROM而不是函数发生器SelectROM也被称作分布式ROM或查找表式ROM每个查找表可以被配置成一个深度为16宽度为1的ROM 这个ROM可以异步读Silicon芯片中使用的基本材料它的原子结构和易获性使得它可以作为一个理想的半导体材料在芯片制作的时候首先从白石英石中提取然后在高温下通过一个化学过程来提纯为了改变它的电学特性在融化状态下将其与其它的化学物质相混合搀杂simulation就是在计算机上执行一个概念设计来模拟实际的功能在硬件系统中在实现硬件之前仿真通过用软件来建模和验证硬件概念的方法来实现simprims仿真原语这些仿真原语被用来为用Xilinx器件实现的一个设计进行时序仿真skew偏差表示信号到达不同终点的时间上的差异slicesSlice存在于CLB中每个slice包含两个查找表和两个寄存器在每个slice中还存在其它的逻辑如多路选择器F5F6F7和F8多路选择器布线和进位逻辑SRAM静态RAM是一种需要电源才能保持其内容的存储器静态RAM不像动态RAM一样需要刷新电路SRL移位寄存器查找表SRL将查找表用做移位寄存器SRL16 是一个SRL宏这个移位寄存器可以实现多达16个时钟周期的串行移位对每个查找表而言SRL 可以实现不带任何复位功能的串行入串行出的单纯的移位寄存器功能然而SRL可以在上电时用数据来初始化在ucf文件中使用INIT属性而且在SRL中的每一个寄存器可以被动态地读取在Virtex-II中宏SRLC16有两个输出可用一个动态可寻址输出和一个最终输出SSTL短线串行收发器逻辑电压接口标准存储器总线接口标准ST以前称为 SGS汤姆生STA静态时序分析时序分析被用来确定一个电路的最差情况下的延时或性能通常这些时延被用来与以时序约束格式提供的时序目标相比较stampStamp模型是板级时序验证的工业标准格式startup启动块在配置阶段被用来控制内部的复位全局写使能和全局三态网络启动块在Virtex 器件中被称作STARTUP_VIRTEX 而在Virtex -II 器件中被称为STARTUP_VIRTEX2Static Timing Analysis参见上面的STAsynchronous同步设计是指这样一种设计它只使用一个时钟时钟的一个沿D触发器和层次的合适应用SynplifySynplify是Synplicity公司制作的一个综合工具synthesis将HDL代码Verilog 或 VHDL编译为电路的硬件描述综合工具通常会生成edif格式的网表synthesizesynthesis的动词形式TI德州仪器公司最大的DSP处理器制造商也是标准胞元和嵌入式阵列ASIC的供应商timing constraints时序约束被设计者用来向Xilinx 实现工具传递一个设计的设计性能目标Xilinx的实现工具是时序驱动的所以在实现过程中实现工具试图对逻辑进行布局布线以满足时序约束translate转换是Xilinx器件实现进程中的一个步骤特别地在转换这一步将所有的输入网表进行合并检查约束以及查找输入网表中的常见问题TTL晶体管传输逻辑它是一个含有以一定方式连接的双极晶体管的数字电路TTL逻辑从数字电路的早期就被广泛使用TTL标识可以出现在不同器件的输入或输出端口上它用来表明是数字电路而不是模拟电路TTM上市时间TWRTWR 文件是由Xilinx的静态时序时序分析工具时序分析器生成的这个文件包含了与加到设计中的时延约束有关的时序时延信息versionXilinx工具中的一个版本代表了输入网表的一个变化这通常代表HDL源代码一个变化或网表的重新综合Verilog一种硬件描述语言 (HDL)VHDL超高速集成电路HDLVITAL通向 ASIC库的VHDL初始库VITAL是用来建立与VHDL语言一起使用的时序仿真模型的工业标准UCF用户约束文件 UCF文件被用来与Xilinx的实现工具交互约束UCF文件是Xilinx所特有的UI用户界面参见GUIUnisim统一的仿真原语这些仿真文件被用来仿真在HDL代码中例化的Xilinx原语uP微处理器Xilinx CoreLib由核生成系统为IP生成的Xilinx的仿真文件。

《硬件描述语言简介》

《硬件描述语言简介》

2,in3,sel);
if(sel==2'b00) out=in0; else if(sel==2'b01) out=in1;
output out;
else if(sel==2'b10) out=in2;
input in0,in1,in2,in3;
else if(sel==2'b11) out=in3; else
2'b00: out=in0;
2'b01: out=in1;
sel(1) sel(0)
out
2'b10: out=in2;
0
0
in0
2'b11: out=in3; default: out=x; endcase endmodule
0
1
in1
1
0
in2
1
1
in3
wire [7:0] bus;
//8位矢量网表 bus
模块的定义只是说明该模块的功能与接口, 它只提供了一个模板,它要在电路中获得 实际应用与实现需要被调用(实例化)。
进制符号:b或B(二进制),d或D(十进制),h或H(十六进 制),o或O(八进制)
659
// A signed decimal number
'h 837FF // is a hexadecimal number
'b101
//is a 3-bit binary number
'o7460
// is an octal number
^~ 0 1 x z 010xx 101xx xxxxx z x x xx
行为级描述
MUX的行为可以描述为:只要信号a或b或s发生变化,如果s为0则选 择a输出;否则选择b输出。

第3章 硬件描述语言VHDL的基本框架介绍

第3章 硬件描述语言VHDL的基本框架介绍

第三章硬件描述语言VHDL的基本框架介绍3.1 概述3.1.1 硬件描述语言的简介硬件描述语言(Hardware Description Language, HDL),是描述硬件电路的功能、信号连接关系及时序关系的语言。

常用硬件描述语言有VHDL、Verilog HDL和ABEL语言。

VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language(超高速集成电路硬件描述语言)。

它诞生于1982年美国国防部提出的超高速集成电路计划,其目的是为了在各个承担国防部订货的集成电路厂商之间建立一个统一的设计数据和文档交换格式。

1987年底被IEEE 和美国国防部确认为标准硬件描述语言。

自IEEE公布了VHDL的标准版本(IEEE-1076)之后,各EDA公司相继推出了自己的VHDL 设计环境,或宣布自己的设计工具可以和VHDL接口。

此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。

1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。

1995年,我国国家技术监督局制定的《CAD通用技术规范》推荐VHDL作为我国电子设计自动化硬件描述语言的国家规范。

现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。

3.1.2 VHDL与高级语言的联系与区别1. VHDL语言的特点VHDL主要用于描述数字系统的结构、行为、功能和接口。

相对于传统原理图描述方法,它主要的特点如下:1)具有强大的电路描述能力——综合功能VHDL既可以描述如编码器、译码器、计数器等组合逻辑电路和时序逻辑电路等门级的电路,也可用来描述如包括一个完整功能的计算机系统等系统级电路。

ABEL语言入门

ABEL语言入门

=; =; =; =;
Q1.q := ; Q1.clk = ; 寄存器的输出 Q1. ar = ; Q1. ap = ;
二、 ABEL源文件的基本结构
"模 块 开 始
dule 模 块 名 ;
le
'标 题 说 明 ' ]
device
clarations 件名
'器 件 的 工 业 标 号 ' ;]
[istype
号 名 , 信 号 名 pin [ 引 脚 号 , 引 脚 号 ] 量 说 明 语 句 ;] 合 的 定 义 ;] 定 义 语 句 ;]
'属 性 ' ];
说明部分
号 名 , 信 号 名 node [istype '属 性 ' ];
uations
逻辑关系描述部分 (三 者 取 一 或 其 任 意 组 合 )
(Mode = = S_Data) THEN { Out_data := S_in; S_Valid := 1; } LSE WHEN (Mode = = T_Data) THEN { Out_data := T_in;
WHEN
7、集合
集合是作为一个整体参与运算的一组信号或常量。 它采用一个标识符,用方括号内的一组信号或常 量表示,其中的每一个信号或常量称为集合的元 素。
MODULE cnt4 DECLARATIONS cp pin; q1 , q0 pin istype 'reg' ; 属性说明 Co pin istype 'com' ; s0=^b00; s2=^b10; s1=^b01; s3=^b11; EQUATIONS q1、q0的时钟由cp提供 [q1,q0].clk = cp ; STATE_DIAGRAM [q1,q0] STATE s0: GOTO s1 WITH Co = 0 ; 句尾 STATE s1: GOTO s2 WITH Co = 0;

硬件描述语言VerilogHDL基础

硬件描述语言VerilogHDL基础

硬件描述语言VerilogHDL基础2.3 硬件描述语言Verilog HDL基础概述2.3.1Verilog语言的基本语法规则2.3.2变量的数据类型2.3.3Verilog程序的基本结构2.3.4 逻辑功能的仿真与测试2.3 硬件描述语言Verilog HDL基础硬件描述语言HDL(Hardware Description Languag)类似于高级程序设计语言.它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,复杂数字逻辑系统所的逻辑功能。

HDL是高层次自动化设计的起点和基础.计算机对HDL的处理:逻辑仿真是指用计算机仿真软件对数字逻辑电路的结构和行为进行预测.仿真器对HDL描述进行解释,以文本形式或时序波形图形式给出电路的输出。

在仿真期间如发现设计中存在错误,就再要对HDL描述进行及时的修改。

逻辑综合是指从HDL描述的数字逻辑电路模型中导出电路基本元件列表以及元件之间的连接关系(常称为门级网表)的过程。

逻辑综合的结果产生门级元件及其连接关系的数据库,根据这个数据库可以制作出集成电路或印刷电路板PCB。

概述1.HDL的产生#起源于美国国防部提出的超高速集成电路研究计划,目的是为了把电子电路的设计意义以文字或文件的方式保存下来,以便其他人能轻易地了解电路的设计意义。

#随着集成电路的亚微米和深亚微米制造、设计技术的飞速发展,集成电路已进入片上系统SOC(System on a chip)时代。

SOC通常是由硬件电路和运行其上的系统软件构成。

硬件电路一般使用HDL进行描述.FPGA开发流程与软件(1)设计定义(2)HDL Code(3)功能仿真(4)逻辑综合(5)前仿真(6)布局布线(7)后仿真(9)在系统测试逻辑仿真器逻辑综合器FPGA厂家工具逻辑仿真器逻辑仿真器(8)静态时序分析?FPGA厂家工具:Altera的Max+PlusII、QuartusII,Xilinx的Foundation、ISE4.1等2.几种硬件描述语言ABEL (Advanced Bolean Equation Language)VHDL (V--Very High Speed Integrated Circuit)Verilog HDL (简称Verilog)VHDL 和Verilog的功能较强属于行为描述语言。

VHDL复习题

VHDL复习题

VHDL复习题习题3.1比较常用硬件描述语言VHDL、Verilog和ABEL语言的优劣。

1.VHDL:描述语言层次较高,不易控制底层电路,因而对综合器的性能要求较高。

有多种EDA工具选择,已成为IEEE标准。

应用VHDL进行工程设计的优点是多方面的,具体如下:(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。

(2) VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性做出判断。

(3) VHDL语句的行为描述能力和程序结构,决定了它具有支持大规模设计的分解和已有设计的再利用功能。

(4) 用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL 描述设计转变成门级网表(根据不同的实现芯片)。

(5) VHDL对设计的描述具有相对独立性。

(6) VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。

2. Verilog:设计者需要了解电路的结构细节,对综合器的性能要求较低。

有多种EDA工具选择,已成为IEEE标准。

3.ABEL: 设计者需要了解电路的结构细节,对综合器的性能要求较低。

支持ABEL的综合器只有一家,ABEL正朝国际化标准努力。

3.2 VHDL程序一般包括几个组成部分?每部分的作用是什么?(1)三个基本组成部分:库、程序包使用说明,实体描述和实体对应的结构体描述。

(2)库、程序包使用说明:用于打开调用本设计实体将用到的库、程序包实体描述:用于描述该设计实体与外界的接口信号说明结构体描述:用于描述该设计实体内部的组成及内部工作的逻辑关系结构体配置语句主要用于层次化的方式对特定的设计实体进行元件的例化,或是为实体选定某个特定的结构体3.3 VHDL语言中数据对象有几种?各种数据对象的作用范围如何?各种数据对象的实际物理含义是什么?(1)数据对象有三种:变量、常量、信号(2)常量的作用范围取决于其所定义的位置。

EDA考试重点加考题

EDA考试重点加考题

EDA考试重点加考题EDA(电⼦设计⾃动化)利⽤EDA⼯具,采⽤可编程器件,通过设计芯⽚来实现系统功能,这样不仅可以通过芯⽚设计实现多种数字逻辑系统功能,⽽且由于管脚定义的灵活性,⼤⼤减轻了电路图设计和电路板设计的⼯作量和难度,从⽽有效地增强了设计的灵活性,提⾼了⼯作效率;同时基于芯⽚的设计可以减少芯⽚的数量,缩⼩系统体积,降低能源消耗,提⾼系统的性能和可靠性。

ASIC(Application Specific Integrated Circuits)直译为“专⽤集成电路”,与通⽤集成电路相⽐,它是⾯向专门⽤途的电路,以此区别于标准逻辑(Standard Logic)、通⽤存储器、通⽤微处理器等电路Asic优点1 提⾼了产品的可靠性。

(2) 易于获得⾼性能(3) 可增强产品的保密性和竞争⼒。

(4) 在⼤批量应⽤时,可显著降低产品的综合成本。

(5) 提⾼了产品的⼯作速度。

(6) 缩⼩了体积,减轻了重量,降低了功耗。

系统结构设计ASIC 分解逻辑设计电路设计逻辑布线模拟可测性分析及故障模拟版图设计及模拟验证设计定型制作样⽚样⽚功能评价投产ASIC 按功能的不同可分为数字ASIC、模拟ASIC和微波ASIC;按使⽤材料的不同可分为硅ASIC和砷化镓ASIC。

按照设计⽅法的不同,设计ASIC可分为全定制和半定制两类。

全定制法是⼀种基于晶体管级的设计⽅法,半定制法是⼀种约束性设计⽅法。

约束的⽬的是简化设计、缩短设计周期、提⾼芯⽚成品率。

EDA(Electronic Design Automation)即电⼦设计⾃动化。

EDA技术指的是以计算机硬件和系统软件为基本⼯作平台,继承和借鉴前⼈在电路和系统、数据库、图形学、图论和拓扑逻辑、计算数学、优化理论等多学科的最新科技成果⽽研制成的商品化通⽤⽀撑软件和应⽤软件包。

EDA技术可粗略分为系统级、电路级和物理实现级三个层次的辅助设计过程;从另⼀个⾓度来看,EDA技术应包括电⼦电路设计的各个领域,即从低频电路到⾼频电路,从线性电路到⾮线性电路,从模拟电路到数字电路,从分⽴电路到集成电路的全部设计过程。

第三章硬件编程语言ABEL-HDL

第三章硬件编程语言ABEL-HDL
8
2、算术运算






运算符 意义 - 取二进制补码 - 算术减法 + 算术加法 * 算术乘法 / 算术除法 % 取模 << A左移B位 >> A左移B位
例 -A A-B A+B A*B A/B A%B A<<B A>>B
9
3、关系运算



运算符 == != < <= > >=

6
四、逻辑常量的表示 (九种常量)



H 逻辑高电平 L 逻辑低电平 .C. 时钟输入(低高低) .K.时钟输入(高低高) .U. 时钟上升沿(低高) .D.时钟下降沿(高低) .F. 浮动输入或输出信号 .X. 任意态 .Z. 高阻态 注:编程时可用字母定义上述逻辑常量。 例如:X= .X. Z= .Z.


D Q
L
L=:A

思考: P71 图5。3(b) out3和outflag的逻辑描述?
11
六、集合


1、集合的表示 集合是一个整体进行运算的一组信号或常 量,对集合的任何运算实际上是对每个元素进 行的。集合将一组信号用一个标识符来表示, 从而简化了ABEL的逻辑设计何测试向量的描述。 集合用方括号,元素间用逗号或排列运算 符“..”隔开。

格式1 (组合逻辑) Truth_Table(输入向量->输出向量) 格式2 (时序逻辑) Truth_Table(输入向量:>输出向量) 格式2 (时序逻辑+组合) Truth_Table(输入向量:>寄存器输出->输出向量) 例:P77 程序5.2 程序5.3
26
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


赋值运算符:
运算符 说 明 举 例
=
:=
非时钟赋值
时钟赋值
A=B
A:=B
⑵ 表达式:标识符和运算符的组合。
表达式中运算符的优先级: 优先级 运算符 1 1 ! 2 2 2 2 2 2 & << >> / * % 说明 取补 取反 与 左移 右移 除 乘 取模 优先级 3 3 3 3 3 运算符 + # $ !$ 说明 加 减 或 异或 同或
3. 其它元素 ⑴. 集合: 集合是作为一个整体来进行运算的一组信 号和常量。 •集合的定义:
例:
① Address=[ A7,A6,A5,A4,A3,A2,A1,A0 ];
② Address=[ A7..A0 ]; ③ x=.x.; Address=[ A7,A6,A5,A4,x,x,x,x ]; EQUATIONS !IO=(Address>=^hE000)&(Address<=^hE7FF)
⑶ NODE 节点定义语句:
[!]信号名[,[!]信号名]… NODE [IN 器件名] 节点号[=„属性[,属性]…‟] [,节点号[=„属性[,属性]…‟]]…;
• 节点定义语句和管脚定义语句类似。 • 模块中有多个器件时,应选用“IN 器件名”。 • 节点定义语句必须放在器件定义语句之后。 例: ① A NODE 12=„pos,com‟; 表示节点12名为A,为正极性且信号为组合型。
例: ① X=A&B; ② Y:=C#D; ③ !A=B$C; 等同于 A=!(B$C); ④ WHEN A==B THEN Y=C; ELSE Y=D; ⑤ A=B; A=C; 等同于 A=B#C;
[ WHEN 条件 THEN ] [ ! ] [ ENABLE ] 标识符 = 表达式; [ ELSE 方程 ];
[ 1 , 1 , 1 ] -> 0 ;
② 真值表: 例:TRUTH_TABLE ([ A, B ] :> [ C, D ] -> Y ) [ 0 , 0 ] :> [ 0 , 1 ] -> 1; [ 0 , 1 ] :> [ 1 , 0 ] -> 0; [ 1 , 0 ] :> [ 1 , 1 ] -> 1; [ 1 , 1 ] :> [ 0 , 0 ] -> 1; 等同于: TRUTH_TABLE ([ A, B ] :> [ C, D ] -> Y ) 0 :> 1 -> 1; 1 :> 2 -> 0; 2 :> 3 -> 1; 3 :> 0 -> 1;

寄存器输出(书写源文件时可以省略) SR触发器的R激励输入 寄存器复位信号(同步或异步) SR触发器的S激励输入 寄存器同步置位 寄存器同步复位 T触发器的激励输入
二、ABEL语言结构
1. 基本结构:
MODULE 模块名 [(哑变量名[,哑变量名]…)] [FLAG语句]… [TITLE语句]… 定义段 [EQUATIONS]… [TRUTH_TABLE]… [STATE_DIAGRAM]… [TEST_VECTORS]… END [模块名] [;]
$ !$
逻辑与 逻辑或
逻辑异或 逻辑同或
A&B A#B
A$B A!$B

运算符 + * /
算术运算符:
举 例 -A A-B A+B A*B A/B 说 明 取二进制补码 减 加 乘 除
%
<< >>
A%B
A<<B A>>B
取模
A左移B位 A右移B位

关系运算符:
运算符 == != < <= > >= 说 明 等于 不等于 小于 小于等于 大于 大于等于 举 例 A==B A!=B A<B A<=B A>B A>=B
寄存器异步置位
寄存器异步复位 时钟导通触发器的时钟输入 边沿触发器的时钟输入 D触发器的激励输入 寄存器反馈信号 JK触发器的J激励输入 JK触发器的K激励输入 寄存器并行置数输入 锁存器的锁存使能输入
点后缀 .LH .OE .PIN .Q .R .RE .S .SP .SR .T
含 锁存器的锁存使能(高电平) 输出使能 引脚反馈
⑹ ISTYPE 属性定义语句:
信号名[,信号名]… ISTYPE „属性[,属性]…‟;
• 信号名是指管脚或节点的标识符。属性定义语 句用于对管脚或节点具有可编程特性的器件进行 属性定义,使具体的器件形成正确的逻辑并使设 计优化。 • ISTYPE属性定义语句必须放在DEVICE器件定 义语句、PIN管脚定义语句、NODE节点定义语句 之后。
例: 在宏定义中有: OR_EM MACRO(a,b,c){?a#?b#?c}; a,b,c是哑变量,在宏定义体中,哑变量前带 有问号“?”。 在方程中有: D=OR_EM(X,Y,A&B); 调用OR_EM宏,结果为:D=X#Y#(A&B);
⑸. 常用的点后缀:
点后缀 含 义
.AP
.AR .CE .CLK .D .FB .J .K .LD .LE
例:用宏定义一个三输入与非门。 ②用真值表描述:
NAND3 MACRO(A,B,C) {TRUTH_TABLE( [ ?A, ?B, ?C ] -> ?Y ) [ 0 , .X., .X.] -> 1; [ .X., 0 , .X.] -> 1; [ .X., .X., 0 ] -> 1; [ 1 , 1 , 1 ] -> 0;}; 调用:D=NAND3(Clock,Hello,Busy); 则:TRUTH_TABLE( [ Clock, Hello, Busy ] -> D ) [ 0 , .X. , .X. ] -> 1; [ .X. , 0 , .X. ] -> 1; [ .X. , .X. , 0 ] -> 1; [ 1 , 1 , 1 ] -> 0;};

-> 表示输入输出关系为组合型。

:> 表示输入输出关系为寄存型。
② 真值表:
例:
TRUTH_TABLE IN IC16 ([ en, A, B ] -> Y ) [ 0 , .X., .X.] -> .Z.; [ 1 , 0 , 0 ] -> 0 ; [ 1 , 0 , 1 ] -> 1 ;
[ 1 , 1 , 0 ] -> 1 ;
⑶. 块: * 块是括在 { } 的文本段。 * 块用于宏定义和指示字中。 * 块可以嵌套使用。 ⑷. 变量及变量代换: 哑 变 量:在宏、模块和指示字中,可以被真实 变量替代的标识符。 真实变量:用于宏、模块和指示字中的变量,真 实变量可以替代哑变量。真实变量可 以是标识符、数字、字符串、运算符、 集合等。 例:
⑶ TITLE 标题语句: TITLE „字符串’
3. DECLARATIONS 定义段:
• 每个模块必须有自己的定义段。 • 模块中的定义段声明设计所使用的器件、定 义器件管脚和节点的标识符。 • 常量、宏和属性也在定义段中定义。 ⑴ Device 器件定义语句: 器件名,[器件名]… DEVICE 实际器件; • 器件名即设计模块中所用的标识符,实际器 件为实际器件的工业型号,用字符串表示。
[ WHEN 条件 THEN ] [ ! ] [ ENABLE ] 标识符 := 表达式; [ ELSE 方程 ];
关键字 ENABLE 用于三态输出缓冲器的使 能。ENABLE 后的标识符必须是三态型的输出, 表达式的值仅用于使能三态缓冲器,而不赋值 给信号。 例: ENABLE Y=C#D; 如果(C#D)为真,则输出 Y 被使能(但 Y 的输出信号不是 C#D)。
*管脚、节点常用属性:
关键字 Pos Neg Com Reg 说 正极性 负极性 组合逻辑输出 寄存器输出 明
Buffer
Invert Latch Reg_d Reg_rs Reg_jk Reg_T
寄存器缓冲输出
寄存器反相缓冲输出 锁存输入 D触发器输出 RS触发器输出 JK触发器输出 T触发器输出
⑵ Pin 管脚定义语句:
[!]信号名[,[!]信号名]… PIN [IN 器件名] 管脚号[=„属性[,属性]…‟] [,管脚号[=„属性[,属性]…‟]]…;
• 管脚定义语句说明信号标识符与真实器件管 脚之间的关系,并给出可编程管脚的属性。 • 模块中有多个器件时,应选用“IN 器件名”。 • “!”表示低电平有效。 • 管脚定义语句必须放在器件定义语句之后。 例: ① !Clock,Reset,S1 PIN 12,15,3; ② !Clock,Reset,S1 PIN IN U12, 12,15,3 ;
关键字 EQUATIONS 表示一组布尔方程的开始。
例: EQUATIONS A=B&C#D; [ W,Y ]=3; !F=(B==C); WHEN (select==0) THEN y=a;
⑵ TRUTH_TABLE 真值表:
① 真值表表头:
TRUTH_TABLE [ IN 器件名 ] ( 输入向量 -> 输出向量 ) TRUTH_TABLE [ IN 器件名 ] ( 输入向量 :> 输出向量 ) TRUTH_TABLE [ IN 器件名 ] ( 输入向量 :> 寄存器输出 -> 输出向量 )
2. 模块语句、标志语句、标题语句:
⑴ MODULE 模块语句: MODULE 模块名 [(哑变量名[,哑变量名]…)]
……
(声明和逻辑描述)
…… END [模块名] [;]
⑵ FLAG 标志语句: FLAG 参数名[,参数名]…
相关文档
最新文档