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的仿真文件。

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;

EDA_ABEL

EDA_ABEL

12#:拖曳元件
18#:绘制方框
13#:旋转元件
19#:绘制弧形
14#:镜像翻转元件 20#:绘制圆形
15#:擦除元件
常用的元件库有:
⑴Local:用户设计的模块元件库 ⑵...PLSI\PLSI\MISC:设计图纸的项目表库 ⑶...PLSI\PLSI\ARITH.LIB:集成加/减法器、比较器等元件库 ⑷...PLSI\PLSI\CODER.LIB:编码器和译码器的元件库 ⑸...PLSI\PLSI\COUNTER.LIB:计数器元件库 ⑹...PLSI\PLSI\GATE.LIB:扩展的逻辑门元件库 ⑺...PLSI\PLSI\IOPIN.LIB:输入/输出接口元件库 ⑻...PLSI\PLSI\MUX.LIB:数据选择器和数据分配器元件库 ⑼...PLSI\PLSI\REGISTER.LIB:触发器、寄存器和移位寄存器库 ⑽...ISPSYS\sym_libs\title.lib:设计图纸的标题栏库 ⑾...GENERIC\ARITHS.LIB:一位全加器和一位半加器库 ⑿...GENERIC\GATES.LIB:常用逻辑门元件库 ⒀...GENERIC\IOPADS.LIB:输入/输出缓冲元件库 ⒁...GENERIC\MUXES.LIB:数据选择器元件库 ⒂...GENERIC\REGS.LIB:常用触发器元件库
存盘后,返回项目管理器窗口
双击?图标,即可选择ABEL-HDL Module编程方式 Module Name:填写模块名(与原理图中的Block Name一致) File Name:填写ABEL文件名(同上)
真用值表表达中式输编出写为更0的简行捷可以不列
存盘退出并返回项目管理器窗口,?图标消失 接下来进行编译工作。
电子线路EDA

ABEL程序设计知识和技术

ABEL程序设计知识和技术

由保留字 DECLARATINONS 开始的是说明段,可以对 信号、常量、集合、宏(有点类似于算法语言中的带参数的 子程序),我们没有使用宏。使用最多的是信号,在说明段 中,需要说明选用的信号名称、类型及其管脚分配等。 信号包括 I/O 信号,它直接与管脚连接 ( 要通过 PIN 指 定 IO 引脚号) 和内部隐埋的节点信号 ( 要用 NODE 说明且不 能分配 IO 引脚号) 两大类。 信号名称应符合对标识符(Symbol)的规定,不能和 保留字(关键字)相同。保留字中不区分大小写字母,但是 用户选用的标示符中是区分大小写字母的。 信号类型包括组合逻辑类型(用 ISTYPE ‘COM’ 说明) 和触发器类型(用 ISTYPE ‘REG, KEEP’ 说明),对未明确 说明的信号,默认其类型是组合逻辑。IO信号用作为输入还 是输出(称其为属性),取决于它在逻辑表达式中的位置。 每一个说明语句用分号 ( ; ) 结束。
ABEL语言的基本语法 标识符用来表示标识器件名称、器件引脚名称、输入或
输出信号的名称、状态名称、集合名称、常量及模块名称等。 标识符与字母的大小写有关,如En和en是两个不同的标识符。
关键字是一些具有特殊用途的保留标识符。关键字可以
用大写、小写或大小写混合方式输入,它们表示的含义相同。
专用常量可以用大写或者小写字母输入,表示的含义相
要 显 示
运算器组成框图
isp MACH器件
MACH (Macro Array CMOS igh-density) 是复杂的、电 可擦出的、现场可编程逻辑器件 CPLD。 它的内部结构由多 个 PAL 块和一个中央开关矩阵互连而成。每个 PAL 块内又含 多个宏单元(输出宏单元和隐埋宏单元),中央开关矩阵为 多 个PAL 块的信号输入和块间通信提供通路。 MACH有较多的输入输出引脚和更多的宏单元,支持的逻 辑功能更加强大,还支持在线编程,关电后内部逻辑功能不会 丢失。在 8 位教学计算机中,主要用于实现组合逻辑控制器, 也可以实现微程序的控制器。 对MACH编程要选用了功能强大的工具软件 ispLEVEL , 下载软件是 ispVM system,选择的编程语言是 HDL-ABEL ( 也可以使用 VHDL,我们未予选用 )。为此需要简单介绍 软件 ispLEVEL 和 ispVM system的使用方法和操作过程, ABEL 语言的程序结构、语法规则、常用语句、编程技巧等。

第三章硬件编程语言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

5-硬件描述语言

5-硬件描述语言

VHDL结构定义的语法
architecture architecture-name of entity-name is type declarations signal declarations constant declarations function definitions procedure definitions component declarations begin concurrent-statement ••• concurrent-statement end architecture-name;
and or nand nor xor xnor not
与 或 与非 或非 异或 异或非 非
mod(7,2)= 1
rem(7,2)= 1
mod(9,3)= 0
mod(5,-2)= -1
mod(X,0)= X
rem(5,-2)= 1
mod(X,X)= 0
类型和常量声明的语法
典型VHDL程序中常用的类型是用户自定义类型,其中 最常用的是枚举类型,通过列举该类型的值来定义。
子类型 例子:
subtype subtype subtype subtype
twoval_logic is std_logic range „0‟ to „1‟; fourval_logic is std_logic range „X‟ to „Z‟; negint is integer range -2147483647 to -1; bitnum is integer range 31 downto 0;
Cout
实体声明
例子: 全加器
A B 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1

硬件描述语言简介精品PPT课件

硬件描述语言简介精品PPT课件
//两次调用异或门实现Sum=A⊕ B⊕ CI
CI
and //调用3个与门AND1,AND2,AND3
AND1(C_1,A,B),
A B
AND2(C_2,A, CI),
AND3(C_3,B, CI);
or
OR1(Cout,C_1,C_2,C_3);
//调用或门实现Cout=AB+A(CI)+B(CI)
A2 B 2 A3 B3
A4B4
CI CO
CI
C O
CI CO
CI CO
C tem p1 Ctemp2 Ctemp3
CO
S a1 d d 1 S 2a d d 2 S a3 d d 3 S 4a d d 4
例8.3.1的4位加法器
上页 下页 返回
11
第一节 硬件描述语言简介
//对4位串行进位加法器的顶层结构的描述
endmodule //结束
14
XOR2
Sum
XOR1
AND3 OR1 AND2
Cout
AND1
上页 返回
做人,无需去羡慕别人,也无需去花 时间去 羡慕别 人是如 何成功 的,想 的只要 是自己 如何能 战胜自 己,如 何变得 比昨天 的自己 强大就 行。自 己的磨 练和坚 持,加 上自己 的智慧 和勤劳 ,会成 功的。 终将变 成石佛 那样受 到大家 的尊敬 。
是的,折枝的命运阻挡不了。人 世一生 ,不堪 论,年 华将晚 易失去 ,听几 首歌, 描几次 眉,便 老去。 无论天 空怎样 阴霾, 总会有 几缕阳 光,总 会有几 丝暗香 ,温暖 着身心 ,滋养 着心灵 。就让 旧年花 落深掩 岁月, 把心事 写就在 素笺, 红尘一 梦云烟 过,把 眉间清 愁交付 给流年 散去的 烟山寒 色,当 冰雪消 融,自 然春暖 花开, 拈一朵 花浅笑 嫣然。

13 ABEL语言简述 2

13 ABEL语言简述 2

备课时间:上课时间:本课题教时数:2 本教时为第 1 教时教学目标:1. 了解ABEL语言的基本元素、基本语法规则、基本结构2. 掌握数字电路的ABEL语言描述方法教学难点:ABEL语言的基本语法规则、基本结构教学内容:ABEL-HDL语言源文件的编写按照ABEL-HDL语言的语法规则,用基本元素组成语句。

按照ABEL-HDL语言的语法结构,由一系列描述模块或系统逻辑功能的语句组成源文件(也被称为源程序)1.模块开始段: 表明一个模块的开始,并对模块作一些说明。

一般由模块开始语句、功能模块接口语句和标题语句等组成。

(1).模块开始语句格式:module 模块名[(哑变量名[,哑变量名]…)]module是模块的开始标志,不可缺少。

必须与模块结束语句END配对使用。

模块名是用户定义的模块的名称。

模块名超过8个字符,程序编译时,只取前8个字符并给出提示。

哑变量名是可选的。

(2).标题语句格式:TITLE '字符串'标题语句是可选的。

用来标记模块的内容、用途和设计时间等用户信息。

标题必须用单引号括起来。

2. 说明段: 用来说明所用的器件、器件的引脚及节点的标识符、常量、属性及宏等。

说明只在它所在的模块内有效。

一个模块中至少有一个说明段,如有必要,可按需要以任意次序使用任意多个说明段。

3. 逻辑描述段:是模块的核心,它描述输入与输出信号之间的逻辑关系。

ABEL-HDL语言中有多种逻辑描述方式,一个模块中允许它们同时存在。

逻辑描述方式的开始都用一个逻辑描述关键字作引导,关键字独占一行,通常行尾不加分号。

这些关键字是:“EQUATIONS”、“TRUTH_TABLE”、“ STATE_DIAGRAMS ”、“FUSES”和“XOR_FACTORS”。

(1).逻辑方程:格式:equations变量名[?]=表达式;变量名[?]:=表达式;(2).真值表真值表用表格形式直观地说明不同输入下的逻辑输出。

ABEL语言使用入门

ABEL语言使用入门

ABEL语言使用入门ABEL语言(Advanced Boolean Equation Language)是一种硬件描述语言(HDL),被广泛应用于数字电路设计中。

ABEL语言使用简单且易于理解的语法,能够方便地描述和设计复杂的数字电路。

1.基于布尔逻辑:ABEL语言是一种基于布尔逻辑的语言,能够描述数字电路中的输入、输出和运算关系。

2.支持可组合性:ABEL语言可以将简单的逻辑表达式组合成更复杂的电路,并能够重复使用已经定义好的电路模块。

3.强大的模块化:ABEL语言支持模块化的设计方法,能够将不同功能的电路模块独立设计和测试,从而提高设计的可靠性和可重复性。

4.容易学习和使用:ABEL语言的语法简单清晰,易于学习和使用,即使对于没有编程经验的人,也能够迅速上手。

5.逻辑运算:ABEL语言支持基本的逻辑运算,如与(AND)、或(OR)、非(NOT)等,用于实现电路的输入输出关系。

下面是一个简单的ABEL语言代码示例,通过一个4位加法器的电路来说明:```ENTITY adder4 ISPORTa,b:INBIT_VECTOR(3DOWNTO0);cin: IN BIT;sum: OUT BIT_VECTOR(3 DOWNTO 0);cout: OUT BITEND adder4;ARCHITECTURE behavioral OF adder4 ISSIGNALc:BIT_VECTOR(3DOWNTO0);BEGINc <= a + b + cin;sum <= c;cout <= c(4);END behavioral;```这个示例代码定义了一个4位加法器的模块,输入端口包括两个4位二进制数a和b,以及一个进位端口cin。

输出端口包括一个4位二进制和sum,以及一个进位输出端口cout。

在内部逻辑部分,使用SIGNAL关键字声明了一个4位二进制数c,然后使用加法运算符将a、b和cin相加赋值给c。

《硬件描述语言》课件

《硬件描述语言》课件

嵌入式系统设计
系统集成
在嵌入式系统设计中,硬件描述语言可以用于集成各种硬 件和软件组件,如处理器、存储器、外设接口等。这有助 于提高系统的可靠性和性能。
可定制性
通过使用硬件描述语言,可以根据具体的应用需求对嵌入 式系统进行定制和优化。这有助于缩短产品上市时间和降 低成本。
低功耗设计
在嵌入式系统设计中,低功耗是一个重要的考虑因素。使 用硬件描述语言,可以帮助设计人员更好地优化系统的功 耗性能。
总结词
提高硬件工作效率的技术
VS
详细描述
流水线(Pipeline)设计技术是一种将一 个完整操作分解为多个独立、有序的阶段 ,并使这些阶段连续执行以提高效率的技 术。在硬件设计中,流水线技术可以将一 个复杂操作分解为多个简单操作,并行执 行,从而显著提高硬件的工作效率和性能 。
优化设计技巧
总结词
提高设计性能和降低成本的技巧
总结词
随着硬件设计复杂性的增加,高层次综合和抽象化设计成为硬件描述语言发展 的重要趋势。
详细描述
高层次综合允许设计师使用高级语言描述硬件行为,然后由综合工具自动转换 为低层次的门级网表。这种抽象化设计方法减少了设计细节的复杂性,提高了 设计效率。
可重用模块与IP核复用
总结词
可重用模块和IP核复用是硬件描述语言发展的另一个重要趋势。
Quartus II
Altera公司推出的FPGA设计软件,包括综合工具和实现工具,支 持VHDL和Verilog硬件描述语言。
Vivado
Xilinx公司推出的FPGA设计软件,包括综合工具和实现工具,支持 VHDL和Verilog硬件描述语言。
布局与布线工具
Mentor Graphics的IC Station

清华计算机组成原理实践环节实验基础2——able语言

清华计算机组成原理实践环节实验基础2——able语言

2020/5/11
计算机组成原理
1.8 字符串 字符串用于标题、模块及选项的表达,
也用于管脚、节点和属性的定义,它包含在 一对单引号中。如字符串中有单引号或反斜 杠,则必须在它们之前再加一反斜杠。字符 串可写几行,但不能超过324个字符。如: TITLE ‘1 to 8 line demultiplexer’; DMI’P16L8’;
列定义的名字,其作用是标识器件、管脚、 节点、集合、输入输出信号、常量、宏以及 变量。所有的标识符必须符合下述规定: 1. 标识符的长度不超过31个字符; 2. 标识符必须以字母或下划线开始;
2020/5/11
计算机组成原理
3. 标识符其他的宇母可采用大、小写字母、
数字及下划线;
4. 标识符中不能包括空格符;
}
再如:
{
A=B#C
D=[0,1]&[1,0]
}2020/5/11
计算机组成原理
1.6 注释 注释是对源文件的解释,注释以双引
号开始,以另一个双引号或行结束符号 结束,注释不能用于关键字之间。
例如:
“declaration section” module Basic_logic; ”gives the module a name(回车)
2020/5/11
计算机组成原理
1.9 运算符
ABEL-HDL支持四类基本运算:逻辑运
算、算术运算、关系运算及赋值运算。
1. 逻辑运算
(1)非: !
例 !A
(2)与: &
例 A&B
(3)或: #
例 A#B
(4)异或 $
例 A$B
(5)同或 !$
例 A!$B·

硬件描述语言第三讲 硬件描述语言概述

硬件描述语言第三讲 硬件描述语言概述
(2)编码 写出HDL代码。
(3)编译 编译器会对HDL程序进行语法检查,还会产生用于仿
真的一些内部信息。
(4)功能仿真 HDL仿真器允许定义输入并应用到设计中,不必生成
实际电路就可以观察输出,此仿真主要用于检验系统功 能设计的正确性,不涉及具体器件的硬件特性。
(5)综合
利用综合器对VHDL代码进行综合优化处理, 生成门级描述的网表文件,这是将VHDL语言描述 转化为硬件电路的关键布骤。
➢ VHDL工作小组于1981年6月成立,提出了满足电子设 计要求的能够作为工业标准的HDL。
➢ 1983年,提出语言版本和开发软件环境。
➢ 1986年IEEE标准化组织开始工作,讨论VHDL语言标 准,于1987年12月通过标准审查,并宣布实施,即 IEEE STD 1076-1987[LRM87](VHDL’87)。
(6)适配
利用适配器将综合后的网表文件针对某一具体 的目标器件进行逻辑映射操作,包括底层器件配置、 逻辑分割、逻辑优化、布局布线等。此步骤将产生 多项设计结果:①适配报告,包括芯片内部资源的 利用情况、设计的布尔方程描述情况等;②适配后 的仿真模型;③器件编程文件。
(7)时序仿真 根据适配的仿真模型,可以进行时序仿真,仿真结
采用自顶向下(Top Down)的设计方法 系统中可大量采用ASIC芯片 采用系统早期仿真:
包括行为层仿真、RTL层仿真和门级层仿真 降低了硬件电路设计难度 主要设计文件是用HDL语言编写的源程序
HDL语言的种类
从20世纪60年代开始,为了解决大规模 复杂集成电路的设计问题,许多EDA厂商和 科研机构就建立和使用着自己的电路描述语 言,如:Data I/O公司的ABEL-HDL,Altera 公司的AHDL,Microsim公司的DSL,日本开 发的SFL语言和UDL/I等,这些语言一般都是 面向特定的设计领域和层次。

可编程逻辑器件PLD的使用

可编程逻辑器件PLD的使用

可编程逻辑器件PLD的使用2.1 可编程逻辑器件设计语言ABEL简介开发使用PLD系统时,应使用语言或逻辑图来描述该PLD的功能,并通过编译、连接、适配,产生可对芯片进行编程的目标文件(该文件一样采纳熔丝图格式,如标准的JED文件),然后下载到芯片中。

常用的可编程逻辑器件设计语言为ABEL-HDL(ABEL硬件描述语言),它是DATA I/O开发的一种可编程逻辑器件设计语言,它支持绝大多数可编程逻辑器件。

2.1.1 ABEL-HDL语言的差不多语法在用ABEL-HDL进行逻辑设计时,描述逻辑功能的源文件必须是符合ABEL-HDL语言语法规定的ASCII码文件。

ABEL-HDL源文件是由各种语句组成的,这些语句是由ABEL-HDL语言的差不多符号构成的,这些符号必须满足一定的格式才能正确描述逻辑功能。

语句的一行最长为150个字符。

在源文件的语句中,标识符、关键字、数字之间必须有一个空格,以便将它们分隔开来。

但在标识符列表中标识符以逗号分隔。

在表达式中,标识符和数字用操作符或括号分隔。

空格、点号不能夹在标识符、关键字、数字之间。

以大写、小写或大小写混合写的关键字被看作是同一个关键字,而以大写、小写或大小写混合写的标识符被看作是不同的标识符。

(1)ASCII字符在ABEL-HDL语言中,可使用数字0~9,字母A~Z、a~z,也可使用空格和以下专门符号:! @ # $ ? + & * ( ) [ ] ; : '"- , . < > / ^%(2) 标识符标识符是用合法的ASCII字符定义的名字,其作用是标识器件、管脚、节点、集合、输入输出信号、常量、宏及变量。

标识符必须符合下面的规定:①标识符的长度不能超过31个字符;②标识符必须以字母或下划线开始;③标识符其它的部分可为字母、数字及下划线;④标识符中你能包含空格;⑤除关键字外,标识符对字母大小写敏锐;(3)常量在ABEL-HDL语言中,常量用于赋值语句、真值表和测试向量的表达。

第3讲 ABEL语音源文件基本格式规则

第3讲 ABEL语音源文件基本格式规则
故器件定义语句可以省去。
二、设计说明部分
3、 Pin 管脚定义语句: [!]信号名… PIN[管脚号…]ISTYPE[,属性]; 例: !Clock,Reset,S1 PIN 12,15,3;
说明: 管脚定义语句说明信号标识符与真实器件管脚之
间的关系,并给出可编程管脚的属性。 “!”表示低电平有效。
clk,cd PIN;
count=[Q3..Q0];
clk
EQUATIONS
count.clk=CLK; count.ar=cd;
count
WHEN(count==9)THEN co unt:=0;
ELSE count:=(count.fb+1)
END
;
小结
ABEL语言编写时必须严格遵循其语法规则和 格式; 标识符是区分大小写的; 关键字不能作为自定义标识符; 语句结束应有“;”号。
在系统可编程技术
第3讲 ABEL语音源文件基本格式
规则
ABEL-HDL硬件描述语言
ABEL语音是美国DATA I/O公司开发的一种逻辑设计 软件,它是最早流行的硬件描述语言,简单易学,有多种 EDA开发软件支持。它能支持多种型号的PLD器件(主要 是Lattice公司的芯片)。 硬件描述语音与原理图逻辑设计相比有如下特点: •以文本形式表示逻辑电路的结构和行为,可直接将逻辑方 程、真值表或状态图转换为硬件描述语言的形式 •设计精确简练,便于阅读和分析 •易于设计修改、调用、共享和更新 •与原理图混合设计,构成“自顶而下”的层次化设计方法
作者、设计时间和地点,单引号内为说明内容。
二、设计说明部分
2、 Device 器件定义语句: 器件名 DEVICE 实际器件; 例:U09 DEVICE ‘P16V8S’ 器件名即设计模块中所用的标识符,实际器件为实际

ABEL硬件描述语言的探讨

ABEL硬件描述语言的探讨

ABEL硬件描述语言的探讨
刘鲁源;余晖
【期刊名称】《自动化与仪表》
【年(卷),期】1999(014)006
【摘要】硬件描述语言是当代电子系统发展的一个重大突破。

本文首先分析了A
BEL语言源文件的基本结构,然后剖析了方程输入方式和ABEL语言的并行性。

【总页数】3页(P8-10)
【作者】刘鲁源;余晖
【作者单位】天津大学电气自动化与能源工程学院;天津大学电气自动化与能源工
程学院
【正文语种】中文
【中图分类】TP312AB
【相关文献】
1.VHDL硬件描述语言教学探讨 [J], 龚兰芳
2.基于Max+PlusⅡ平台对VHDL硬件描述语言综合的探讨 [J], 黄晓明;黄璜
3.基于硬件描述语言ABEL-HDL实现组合逻辑电路的探讨 [J], 黄晓明
4.硬件描述语言ABEL—HDL及其逻辑设计 [J], 陈以;潘明
5.“Abel”判别法与“Dirichlet”判别法条件的再探讨 [J], 李梵蓓
因版权原因,仅展示原文概要,查看原文内容请购买。

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

.C.
时钟输入(电平按低—高—低变化)
.K.
时钟输入(电平按高—低—高变化)
.U.
时钟上升沿(电平按低—高变化)
.D.
时钟下降沿(电平按高—低变化)
.F.
浮动输入或输出信号
.P.
寄存器预装载
.X.
任意值
.Z.
高阻态
⑶. 块: * 块是括在 { } 的文本段。 * 块用于宏定义和指示字中。 * 块可以嵌套使用。
FLAG „r2‟, „t3‟
⑶ TITLE 标题语句: TITLE „字符串’
3. DECLARATIONS 定义段:
• 每个模块必须有自己的定义段。 • 模块中的定义段声明设计所使用的器件、定 义器件管脚和节点的标识符。 • 常量、宏和属性也在定义段中定义。
⑴ Device 器件定义语句:
器件名,[器件名]… DEVICE 实际器件; • 器件名即设计模块中所用的标识符,实际器 件为实际器件的工业型号,用字符串表示。
在方程中有: D=OR_EM(X,Y,A&B); 调用OR_EM 宏,结果为:D=X#Y#(A&B);;
点后缀 .AP .AR .CE .CLK .D .FB
.J .K .LD .LE
⑸. 常用的点后缀:
含义 寄存器异步置位
寄存器异步复位
时钟导通触发器的时钟输入
边沿触发器的时钟输入 D触发器的激励输入 寄存器反馈信号
⑶ NODE 节点定义语句:
[!]信号名[,[!]信号名]… NODE [IN 器件名]
节点号[=„属性[,属性]…‟] [,节点号[=„属性[,属性]…‟]]…;
• 节点定义语句和管脚定义语句类似。 • 模块中有多个器件时,应选用“IN 器件名”。 • 节点定义语句必须放在器件定义语句之后。 例: ① A NODE 12=„pos,com‟;
T触发器输出
⑷ 常量定义语句:
常量名[,常量名]…=表达式[,表达式]…; 例:
X=.X.; C=.C.; A=[!B,D]; X,C,A=.X.,.C.,[!B,D]; A,B=5,7;
⑸ 宏定义语句及扩展:
宏名 MACRO([哑变量,[哑变量]…]){块}; • 宏定义中的块可以用逻辑表达式描述,也可以 用真值表来描述。 例:用宏定义一个三输入与非门。
*管脚、节点常用属性:
例: OUT0,OUT1,OUT2 PIN 3,4,5 ISTYPE „COM‟ ; OUT3,OUT4 PIN 6,7 ISTYPE „REG‟ ;
*管脚、节点常用属性:
4. 逻辑描述: ABEL 描述逻辑功能的方法有三种:
☆ 布尔方程 ☆ 真值表 ☆ 状态机
⑴ EQUATIONS 方程语句: 关键字 EQUATIONS 表示一组布尔方程的开始。
EQUATIONS !IO=(Address>=^hE000)&(Address<=^hE7FF)
• 集合的赋值和运算: 例: ① 若已定义 sign=[A,B,C]; 则可以这样赋值:sign=[1,1,0]; 或者 sign=6; 也可以这样运算:sign=[1,1,0]&[1,0,1]; 或者
ABEL语言设计源程序通过ispDesignExpert 软件编译、语法检查、逻辑化简、自动生成符 合标准的JEDEC文件(“.JED”文件)。
两个问题:
1. 什么是ABEL HDL 源文件
ABEL HDL 硬件描述语言是一种层次结构的逻辑描述语言,是 世界上可编程逻辑器件设计应用最广的语言之一。用ABEL HDL 语 言设计的文件是ASCII 格式的文本文件,叫做ABEL HDL 源文件。
例: ① 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 方程 ];
①用逻辑表达式描述:
NAND3 MACRO(A,B,C){!(?A&?B&?C)}; 调用:D=NAND3(Clock,Hello,Busy);
则:D=!(Clock&Hello&Busy);
例:用宏定义一个三输入与非门。 ②用真值表描述:
NAND3 MACRO(A,B,C) {TRUTH_TABLE( [ ?A, ?B, ?C ] > ?Y )
⑵ Pin 管脚定义语句:
[!]信号名[,[!]信号名]… PIN [IN 器件名]
管脚号[=„属性[,属性]…‟] [,管脚号[=„属性[,属性]…‟]]…;
• 管脚定义语句说明信号标识符与真实器件管 脚之间的关系,并给出可编程管脚的属性。 • 模块中有多个器件时,应选用“IN 器件名”。 • “!”表示低电平有效。 • 管脚定义语句必须放在器件定义语句之后。 例: ① !Clock,Reset,S1 PIN 12,15,3; ② !Clock,Reset,S1 PIN IN U12, 12,15,3 ;
[ 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;};
2. ABEL HDL 设计的基本思想
不少EDA( 电子设计自动化) 软件工具支持ABEL HDL 设计、原理 图设计、以及ABEL HDL 和原理图混合设计等多种设计方式。由于 ABEL HDL 设计对初学者易于入门,本试验选用ABEL HDL 语言来 进行教学。
一AB部E分L 使HD用L高包级括语两言部,分用:来描述逻辑设计; 另一部分是语言处理程序,用于将逻辑描述转化为其下载文件 中含有编程及测试可编程逻辑器件所需的信息。
表示节点12名为A,为正极性且信号为组合型。
*管脚、节点常用属性:
关键字 说 明
Pos
正极性
Neg
负极性
Com
组合逻辑输出
Reg
寄存器输出
Buffer
寄存器缓冲输出
Invert
寄存器反相缓冲输出
Latch
锁存输入
Reg_d
D触发器输出
Reg_rs
RS触发器输出
Reg_jk JK触发器输出
Reg_T
二、ABEL 语言结构 1. 基本结构:
MODULE 模块名 [(哑变量名[,哑变量名]…)] [FLAG语句]… [TITLE语句]… 定义段 [EQUATIONS]… [TRUTH_TABLE]… [STATE_DIAGRAM]… [TEST_VECTORS]… END [模块名] [;]
2. 模块语句、标志语句、标题语句:
例: EQUATIONS A=B&C#D; [ W,Y ]=3; !F=(B==C); WHEN (select==0) THEN y=a;
加 减 或 异或 同或
2
&

4
2
<<
左移
4
2
>>
右移
4
2
/

4
2
*

4
2等于
!=
不等于
<
小于
<=
小于等于
>
大于
>=
大于等于
⑶ 布尔方程(逻辑方程,简称方程):
[ WHEN 条件 THEN ] [ ! ] 标识符 = 表达式; [ ELSE 方程 ];
[ WHEN 条件 THEN ] [ ! ] 标识符 := 表达式; [ ELSE 方程 ];
[ WHEN 条件 THEN ] [ ! ] [ ENABLE ] 标识符 := 表达式; [ ELSE 方程 ];
关键字 ENABLE 用于三态输出缓冲器的使 能。ENABLE 后的标识符必须是三态型的输 出,表达式的值仅用于使能三态缓冲器,而不 赋值给信号。
例: ENABLE Y=C#D; 如果(C#D)为真,则输出 Y 被使能(但 Y 的输出信号不是 C#D)。
ABEL HDL 有如下一些特点: ① 适用于各种型号的PLD 器件的通用语法; ② 结构化的高级设计语言; ③ 灵活的逻辑描述形式——布尔关系式、真
值表、状态图; ④ 仿真与测试向量; ⑤ 省时的宏定义及指示字。
ABEL HDL 的处理程序提供了如下强大功能: ① 语法检查; ② 检验所选器件能否实现设计要求; ③ 逻辑简化; ④ 设计模拟;
⑷. 变量及变量代换: 哑 变 量:在宏、模块和指示字中,可以被真实
变量替代的标识符。 真实变量:用于宏、模块和指示字中的变量,真
实变量可以替代哑变量。真实变量可 以是标识符、数字、字符串、运算符、 集合等。 例:
例: 在宏定义中有:
OR_EM MACRO (a,b,c){?a#?b#?c }; a,b,c 是哑变量,在宏定义体中,哑变量前带 有问号“ ? ” 。
电子技术课 程设计资料
ABEL硬件描述语言概述
ABEL语言简介
• ABEL语言是一种硬件描述语言(也称为 ABELHDL),是开发PLD的一种高级程序设 计语言,由美国DATA I/O公司于1983~1988 年推出。
• ABEL语言支持逻辑方程、真值表和状态图三 种逻辑描述方式。
相关文档
最新文档