




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在系统编程软件中用到的ABEL-HDL在现代数字电路或数字系统设计中,通常要对逻辑电路使用容易编写、计算机便于处理的硬件描述语言(HDLHardware Description Language)、超高速集成电路硬件描述语言(VHDLVHSIC Hardware Description Language;VHSICVery High Speed Integrated Circuit)、Verilog HDL等进行描述,并将这种描述通过软件转换成熔丝图生成文件JEDEC文件,然后用可编程逻辑器件(PLD)和高密度可编程器件(HDPLD)加以实现。在ispLSI的开发中,有关高级软件,例如ISP Design EXPERT软件,涉及和使用了源于ABEL的HDL语言(简写为ABELHDL)、超高速集成电路硬件描述语言VHDL以及Verilog HDL语言等。有了它们,使设计开发中源文件的输入方式更丰富,选择自由度更大,既可选择原理图(Schematic)输入等,又可选择ABELHDL模式输入、ABELHDL与原理图混合输入、VHDL输入和Verilog输入等,满足了不同用户的需要,大大提高了设计速度。11 ABELHDL源文件格式在利用ISP Design EXPERT等系统开发软件设计现代数字电路与系统时,用户可以选择ABELHDL模式输入。这种输入要求用户按ABELHDL规定的格式和句法编写ABELHDL源文件。ABELHDL源文件由模块组成。一个模块一般包括5个段:标题段、定义段、逻辑描述段、测试向量段和结束段。标题段源文件的基本框架如下:module 模块名flag标志语句title标志语句定义段device 器件名器件引脚pin定义结点node的标识符常量constant、属性、宏等逻辑描述段equations方程truth_table真值表state_diagram状态图test_vectors 测试向量段end模块名; 结束段方括号中的项表示按需要任选。模块以module开头,以相应的end结束。源文件可由一个或多个相互独立的模块组成,每个模块由完成各自功能的若干部分组成,每个模块又都有自己的开头和结尾。可将几个不同的源文件组合在一起构成一个源文件,用来描述一个较大的、完整的设计。下面是一个译码器的ABEL-HDL源文件模块MODULE decoderI0,I1 pin 53,55;o0,o1,o2,o3 pin 54,56,58,60 istypecom;truth_table(I0,I1-o0,o1,o2,o3) 0,0-1,0,0,0; 0,1-0,1,0,0; 1,0-0,0,1,0; 1,1-0,0,0,1;test_vectors(I0,I1-o0,o1,o2,o3) 0,0-1,0,0,0; 0,1-0,1,0,0; 1,0-0,0,1,0; 1,1-0,0,0,1;END12 编写源文件预备知识1. 逻辑变量、逻辑常量与逻辑运算1) 逻辑信号(逻辑变量)这里的逻辑信号也就是传统的数字电路设计中的逻辑变量。逻辑信号规定用标识符表示。标识符代表器件、器件管脚、节点、集合、输人信号、输出信号、宏、常量及变量等。所有标识符都必须遵从以下规则:l 标识符必须以字母或下划线开头。l 标识符最长为31个字符,如果超过31个字符,语言处理程序就认为出错。l 除第一个字符外,标识符可由大小写字母,数字和下划线组成。l 标识符不能使用空格,单词间的分隔用下划线。l 标识符与输入字体有关:大写字母和小写字母被视为不同标识特。l 标识符的命名要尽可能与其功能、含义相一致,并利用下划线和大、小写字体,使源文件便于阅读。例如,OR_IN1、OR_IN2。 关键字是一类特殊的标识符,也称作保留标识符。它是ABEL设计语言的一部分,不能用来给器件、器件管脚、节点、宏、集合及信号命名。关键字在源文件中仅能作为关键字使用,如果关键字被错误地用于给宏、集合及信号等命名则在编译时会发生错误。ABEL的关镀字如表1.1表1.1 ABELHDL关键字关键字说明关键字说明Async_reset异步复位状态描述语句If_Then_Else条件转移语句(只能用在状态图输入)Case_Endcase条件选择语句Interface功能模块接口语句(低层)Cycle周期Interface功能模块接口语句(顶层)Declarations说明段Istype属性说明语句Device器件说明语句Library库引用语句End模块结束语句Macro宏说明语句Equations逻辑方程Module模块开始语句Functional_block功能模块说明语句State_register状态寄存器说明语句Fuses熔丝状态说明语句Sync_reset同步复位状态描述语句Goto无条件转移语句Test_vectors 测试向量Node结点说明语句Title标题语句Options控制选项定义语句Trace跟踪选项Pin引脚说明语句Truth_table真值表Property特征说明语句Wait等待State状态说明语句When_Then_Else条件转移语句(只能用在方程中)State_diagram状态图With转移方程语句Xor_factors异或因子关键字无大小写之分,也可大小写混合,软件都可接受。在ispLSI开发用的有关高级软件(例如ISP Design EXPERT软件)中,选用ABELHDL模式输入时,关键字会自动改变颜色,以示与其它标识符等的区别。2) 逻辑常量逻辑代数中的逻辑常量有1、0和X(任意态)。当涉及具体器件时,其输出还可能有高阻态(Z)和浮动态(F)。此外,对异步时序电路,时钟脉冲和时钟脉冲边沿也可作为特殊逻辑常量看待。这些逻辑常量如表1.2所示。表1.2 ABELHDL中的逻辑常量常量符号说明H逻辑高电平L逻辑低电平.C.时钟输入(电平按低高低变化).D.时钟下降沿(电平按高低变化).F.浮动输入或输出信号.K.时钟输入(电平按高低高变化).P.寄存器预置数.SVn.n=29,驱动输入到超级电平.U.时钟上升沿(电平按低高变化).X.任意态.Z.高阻态在实际编写源文件时,为书写方便或减少错误,常用常量定义语句将H、L定义为1和0(1,0=H,L),将.C.、.X. 定义为C和X(C,X=.C.,.X.)。3) 逻辑运算符逻辑代数中的各种逻辑运算(如与、或、非、异或等),在ABEL中有专门的符号,如表1.3所示。表1.3 逻辑运算符运算符优先级定义举例逻辑代数中的含义!1非!A&2与A&BAB#3或A#BA+B$4异或A$BAB!$4同或A!$BAB逻辑运算符表中的运算优先级别和逻辑代数中的一样,即按非、与、或、异或的次序排列。对于那些优先级低又需要优先的运算,可用圆括号括起来。如有表达式 (1-1)用ABELHDL语言表示应为需要注意的是,除了运算符要一一替换外,式(1-1)中的方括号在式(1-1)中必须用圆括号代替。这是因为在ABELHDL中,方括号是数组(集合)定义的专用符号。4) 赋值运算符逻辑表达式中的等号(=),在ABELHDL中称为赋值运算符。门和寄存器的赋值性质是完全不同的。门是组合逻辑电路,其输入逻辑值变化时,输出立即按新的逻辑取值被赋予新值。而寄存器是时序逻辑电路,其输入逻辑值变化时,输出要等到时钟作用时才根据输入逻辑值变到新的状态。为了区别这两种赋值情况,把第一种赋值称为即刻赋值(也叫组合型赋值),用=表示;把第二种赋值称为时钟赋值(也叫时序赋值),用“:=” 表示。除上述在ispLSI设计中常用的逻辑运算符、赋值运算符外,ABELHDL中还有算术运算符和关系运算符,它们都可以用于编写的源文件的表达式中。这里也将它们列于表1.4中。表1.4 算术运算符、关系运算符优先级运算符说明优先级运算符说明1-求补(负)2右移2*乘法4=等于2/无符号整数除法4!=不等于2%取模4小于3+加法4大于2 =大于或等于2. 基本逻辑器件的描述在用PLD和HDPLD实现设计时,也要涉及到基本逻辑器件门和触发器(在ABELHDL中,触发器通称为寄存器)。门可直接像传统的数字电路或数字系统设计中那样用逻辑表达式描述,只不过逻辑变量和运算符要符合我们上面叙述的规定和要求。对寄存器的描述要特别加以注意。要完整地描述一个寄存器,除了要有输出方程外,还应有时钟方程、复位方程、预置方程等等,需要一组方程。为了简洁,通常对一个寄存器又只定义一个标识符,它的时钟信号、复位信号和预置信号等,则需要在该寄存器的标识符后面以带点后缀表示,如图1.1表示。由图中可以看到,Q1.q 和Q 1.d都用来描述寄存器的功能,只需其中之一就可以了。但两者的性质却不相同,Q1.d是激励信号,应用即刻赋值字符描述,而Q1.q是寄存器输出,须用时钟赋值字符描述。这样,就可能有两种描述形式:Q1.oeQ1.pin!Q1.pinQ1.qQ1.arQ1.apQ1.cl kQ 1.d。APD Q寄存器CLKAR。0MUX1。Q1 或图1.1由于HDPLD有多种系列,各个器件的触发器结构设置不尽相同。例如,ispLSI1016的触发器就没有AP端,所以在编写源文件时,要根据具体电路,选择合适的带点后缀。另外,一个器件的全部功能设计时未必都用到。比如,图1.1中器件的AR和AP若不使用,相应方程便可省略。此时,开发软件将默认它们为低电平。当然,Q1.q(或Q1.d)和Q1.cl k是缺一不可的。Q1.q是反馈端(feedback或fb),Q1是经多路选择器后的输出,Q1与触发器的Q输出端或Q1.q反相。当用户熟悉了这些之后,在书写源文件时,Q1.q中的点后缀有时也可省略,“Q1:=;”。表1.5列出了ABELHDL语言中的带点后缀,供使用时参考,它和关键字一样,无大小写之分。表1.5 ABELHDL使用的部分带点后缀点后缀含义说明.AP寄存器异步置1对于计数器等器件,置1意味着置最大数.AR寄存器异步复位.CLK边沿触发器的时钟输入.CLR同步复位.FB寄存器反馈信号.Q寄存器输出此后缀通常出现在宏中,书写源文件时可以省略.SP寄存器同步置1.SR寄存器同步复位3. 逻辑电路的描述在明确了变量、常量、运算符、赋值符和器件的表示以后,即可以对具体电路进行描述。与传统的数字电路或数字系统设计一样,可以通过逻辑方程、真值表和状态图描述。4其它ABEL语言元素1)不同进制数的表示b二进制; o八进制; d十进制;h十六进制数制符号字母可用大写或小写2)集合集合是作为一个整体来进行运算的一组信号或常量,对集合的任何运算其实是对集合中每一个元素进行的。集合将一组信号用一个标识符来表示,从而简化了ABEL的逻辑设计和测试向量的描述。集合用中括号括起来,其中常量或信号间必须用逗号或排列运算符“”隔开。倒如,用Address来表示16位地址的常量集合,从而使源文件大大简化。定义语句为:Address=A15,A14,A13,A12,A11,A10,x,x,x,x,x,x,x,x,x,x;这个语句也可用排列运算符表示为:Address=A15.A10,x,x,x,x,x,x,x,x,x,x;排列运算符也可以定义一个递增序列:Address=x,x,x,x,x,x,x,x,x,x,A10.A15;可用数值及数值集合对集合赋值,或与集合比较。例如:sigset=1,1,0&0,1,1将方程运算结果数值0,1,0赋给集合sigset。用任何方法表示的数都可对集合赋值或与集合比较。上面的集合方程,也可写成:sigset=6&33)条件选择语句ABEL语言的方程支持条件选择语句,其结构如下:WHEN条件THEN!标示符=表达式;ELSE方程;或者WHEN条件THEN!标示符:=表达式;ELSE;其应用实例可参看1.4中数据选择器的设计13 ABEL-HDL源文件的编写在使用ISP Design EXPERT等软件设计数字电路与系统时,用户要按规定编写源文件。若选用ABELHDL格式输入,其源文件格式就是ABELHDL的源文件格式。如前所述,ABEL源文件由模块组成,一个模块一般包括5个段:标题段、定义段、逻辑描述段、测试向量段和结束段。下面分别加以叙述。1 标题段我们把模块(module)语句、标志(flag)语句和标题(title)语句所占的这些行(如果把后面加了分号的才算语句的话,它们只能叫行)归为标题段。标志语句提供了定义语言处理程序命令参数的又一种方法,这些参数可以影响源文件的处理方式。标题语句用于赋予模块一个标题,对模块加以说明。例如,所设计电路或系统的内容、用途、作者、年月日、地点、项目编号等,其关键字是title,其后的字符串内容两端必须加单引号,语言处理程序不对它进行处理。2 定义段定义段定义设计所用的器件、器件引脚、结点的标识符、常量、属性及宏等。这些定义只对它们所在的模块有效。每个模块都应有自己的定义段。(1)器件定义。器件定义的格式为器件名,器件名device实际器件名;器件名即模块中所用的标识符,它必须是合法的文件名,因为JEDEC文件名是由该标识符加扩展名.JED产生的。实际器件名为具体器件的型号,用字符串表示。器件定义把模块中使用的器件名与设计中实际采用的可编程器件联系在一起。但ISP Design EXPERT中所使用的器件是在菜单上选择的,因此该定义省略。(2)引脚定义。引脚定义的格式为!信号名,!信号名pinin 器件名,引脚号,引脚号;例如:Clk,Re,Do pin in U5,1,3,7;该定义将器件U5的引脚1、3、7分别用Clk、Re、Do来代表。如果设计者不预先设定信号的引脚位置,则关键字pin后面的引脚号可以不填。器件引脚的属性也是可以定义的。属性是指输出信号的性质,如组合逻辑输出、寄存器输出等,通常把它们放在引脚定义的后面,并当作同一语句对待。关键字istype,定义格式为!信号名,!信号名pinin 器件名,引脚号,istype属性;例如clk pin;a,b pin istypecom;Q1、Q2、Q3、Q4 pin istypereg;属性com和reg分别表示组合逻辑输出和寄存器输出。常用的一些属性如表1.8所示。表1.8常用的一些属性(含结点属性)属性含义reg寄存器输出com组合逻辑输出buffer寄存器输出,寄存器与引脚之间无反相器invert寄存器输出,寄存器与引脚之间有反相器reg_dD触发器输出(也可为reg_t、reg_jk、reg_rs )latch锁存输入collapse优化时此信号可能去掉dc未指定的逻辑为任意态keep优化时不能去掉此信号neg未指定的逻辑是0pos未指定的逻辑是1retain不进行最小化优化,保留冗余项reg_g钟控D触发器xor器件中的异或门有些开发软件需要对器件内部隐埋的寄存器输入逻辑表达式,这些隐埋的寄存器输出端称为结点(电路中的一些中间连接点有时也叫结点)。结点为“伪引脚”,表示外部管脚上不能得到内部信号,但在对熔丝图编程时要用到它们。对结点定义时,其格式与引脚定义相同,只要将关键字pin换成node即可。(3)常量定义。常量定义用来定义一个模块中所用的常量,这些常量在整个模块中都用具有定值的标识符来表示。常量定义的格式为常量名,常量名=常量(或表达式),常量(或表达式);常量的取值由等号右边的表达式赋给。所列出的常量名与常量之间必须一一对应。通过常量定义可使书写方便、简洁。适当使用常量定义是一种良好的编程作风。常量定义不能被自身引用。例如,X=X;是非法的。下面是一些合法常量定义的例子。1,0,x,c=H,L,.X.,.C.; /1为高电平H,0为低电平L,x为任意态(无关项)/X,c为时钟输入ABC=3*13;/ABC被赋值39ADDR=1,3,7;/ADDR是含3个元素的数组(集合)ABC=4,1,0,5;/定义了3个常量D=pin 19;/定义D代表19引脚OUT=out1.out10/定义OUT为数组,数组元素out1连续到out10A=B&C/标识符运算3.逻辑描述段它可以选用逻辑方程、真值表、状态图或这些方式的组合形式,它是一个关键段。ABEL的方程支持条件选择语句,其结构如下:WHEN 条件 THEN!标示符=表达式;ELSE 方程;或者WHEN 条件 THEN!标示符:=表达式;ELSE 方程;4测试向量段测试向量段虽是可选内容,但却是很重要的内容之一,它用来检查逻辑描述段给出的电路设计是否能完成预期的功能。ABEL软件将按照设计者编写出的测试向量,逐条语句对编译文件时建立的电路模型进行仿真,并给设计者提供仿真结果,以便纠错。测试向量的格式为test_vectorsIN 器件名注释(输入向量)-(输出向量)输入信号值-输出信号值各个测试向量都包含一个表头及向量本身,表头用来定义测试向量表的开始,并指明向量的排列。测试向量表列出了各种输入信号的组合及其相应的输出信号。对于组合逻辑电路,测试向量表实际上就是真值表。如电路简单,可包括所有的组合形式;如电路复杂,可列出具有代表性的一部分组合形式。对于时序逻辑电路,测试向量表应包括所有的状态,并从一定的起始状态开始,按照最佳迁移路线,在时钟信号和控制信号作用下,一拍一拍地运行下去并给出仿真结果。所谓最佳迁移路线,就是中间不间断地经历所有状态的最短路径。5结束段结束段只有end一条语句。前已提到,源文件以module语句开头,必须以end结束。最后介绍以下关于注释的问题。为便于文件阅读和保存,应在源文件中的关键部位和需要说明的地方加上注释。注释用双引号开头,且每一注释行都必须加。注释结尾的双引号可加可不加。1.4 组合逻辑电路设计本节讲解组合逻辑电路设汁。逻辑电路中不包含寄存器和触发器等具有记亿元件的电路称为组合逻辑电路。常见的组合逻辑电路有编码器、译码器、多路选择器、多路分配器、比较器、加法器和乘法器等,下面分别举例介绍它们的逻辑功能及描述方法。1. 编码器及译码器编码器、译码器经常成对出现,用作数字系统的编码转换下面用ABELHDL真值表语言对24译码器进行设计。DECODER O0I 0 O1I 1 O2 O3 2/4译码器逻辑功能如下表:IN0IN1O0O1O2O3001000010100100010110001对应的ABEL源文件如下MODULE decoderI0,I1 pin 53,55;o0,o1,o2,o3 pin 54,56,58,60 istypecom;truth_table(I0,I1-o0,o1,o2,o3) 0,0-1,0,0,0; 0,1-0,1,0,0; 1,0-0,0,1,0; 1,1-0,0,0,1;test_vectors(I0,I1-o0,o1,o2,o3) 0,0-1,0,0,0; 0,1-0,1,0,0; 1,0-0,0,1,0; 1,1-0,0,0,1;END2多路数据选择器/多路分配器多路数据选择器,又称多路开关或多路转换器,常用于计算机、数据通信及DSP的数据或地址切换。例1 16选4多路数据选择器。16选4多路数据选择器实际上由4组4选1多路开关构成,输入信号为a0a3,b0b3,c0c3,d0d3,选择信号为S0和S1,输出信号为Y0Y3,输入与输出的逻辑关系如下表所示。S1 S0Y0 Y1 Y2 Y30 00 11 01 1a0 b0 c0 d0a1 b1 c1 d1a2 b2 c2 d2a3 b3 c3 d316选4的逻辑关系也可通过真值表描述,但用真值表描述较为繁琐,这里介绍用方程语句进行描述。首先定义信号集合:输入信号:A=a3,a2,a1,a0;B=b3,b2,b1,b0;C=c3,c2,c1,c0;D=d3,d2,d1,d0;输出信号:Y=Y3,Y2,Y1,Y0;控制信号集合:S=S1,S0然后,16选4的逻辑关系就可以用When_then语句来表达;When(S= =0) then Y=A;When(S= =1) then Y=B;When(S= =2) then Y=C;When(S= =3) then Y=D;括号内的关系表达式根据S1和S0的取值判断逻辑真或假,从而决定Y的取值。例2. 如下图所示,1/4多路分配器有1个输入信号D,2个选择信号S0、S1,1个使能信号EN和4根输出线Y0Y3。在本例中,使能线EN和输出线均为低电平有效。ABEL-HDL源文件清单如下:MODULE DMUX 1 TO 4title 1 to 4 demultiplexerY0,Y1,Y2,Y3 PIN;S0,S1 PIN;DMUX1TO4D Y0S 0 Y1S 1 Y2EN Y3 EN PIN; Data PIN;“S=S1,S0; OUT=Y3,Y2,Y1,Y0“EQUATIONS!Y0=(S= =0)&!EN&Data;!Y1=(S= =1)&!EN&Data;!Y2=(S= =2)&!EN&Data;!Y3=(S= =3)&!EN&Data;“END本例在方程表达式中,对输出信号取反输出这个方法适合于低电平有效的输出逻辑。此例也可以用When then 语句表达,请读者自行设计。15 寄存器逻辑电路设计组合逻辑电路中没记忆元件,当输入信号发生变化时,输出信号随之变化。时序电路中含有记忆元件,输出信号与时钟有关,当时钟脉冲到来之前,输出保持原来状态,只有在时钟脉冲到来之时输出信号才发生改变;而输出信号值取决于时钟有效沿来临之时激励端的输入信号值。时序逻辑电路中,记忆元件为寄存器或触发器。在EPLD、FPGA器件中常用的触发器为D触发器,其它类型的触发器:T触发器、JK触发器及寄存器都可由D触发器构成。常用的时序电路有触发器、锁存器、计数器、移位寄存器和状态机。1基本触发器和寄存器基本触发器和寄存器的设计非常简单,只需要写出D触发器对应的输入激励方程。下面例子中实现一个JK触发器、一个T触发器和一个四位锁存器电路的设计。例基本触发器和锁存器设计清单如下:MODULE REGDEMOCLK PIN;D0,D1,D2,D3 PIN;T,J,K PIN;QT,QJK PIN ISTYPEREG;Q0,Q1,Q2,Q3 PIN ISTYPEREG;X,C,Z=.x. , .c. , .z.;EQUATIONSQT.CLK=CLK;QJK.CLK=CLK;QOUT=CLK;QT:=!T;QJK:=J&QJK#!K&!QJK;QOUT:=DIN;TEST_VECTORS(CLK,T,QT:QT)C,0,0:0;C,0,1:1;C,1,0:1;C,1,1:0;TEST_VECTORS(CLK,J,K,QJK:QJK)C,0,0,0:0;C,0,0,1:1;C,0,1,0:0;C,0,1,1:0;C,1,0,0:1;C,1,0,1:1;C,1,1,0:1;C,1,1,1:0;TEST_VECTORS(CLK,D,Q:Q)C,0,X:0;C,6,X:6;END2.计数器计数器是最常见的寄存器逻辑电路,从微处理器的地址发生器到频率计都需要用到计数器。计数器可分为加法计数器和减法计数器。加法计数器每来一个脉冲计数值加1;加法计数器每来一个脉冲计数值减1。例1仿真74LS160十进制可预置计数器。74LS160共有一个时钟输入端CLK,一个清除输入端CLR。两个计数允许信号P和T,四个预置数据输入端D0D3,一个置位允许端LD,四个计数输出端Q0Q3,一个进位输出端TC,其工作模式见下表。功能输入输出操作CLRCLKPTLDDnQnTC复位LXXXXXLL预置HCXXLLLL计数HCHHHX+1d保持HXLXHXQnd保持HXXLHXQnL注:d=Q3&!Q2&!Q1&Q0用ABEL-HDL语言对其进行描述,源文件清单如下:MODULE X74LS160title74ls160CLK,CLR,P,T,LD PIN;D0,D1,D2,D3 PIN;Q0,Q1,Q2,Q3 PIN ISTYPEREG;TC PIN ISTYPECOM;DATA=D3,D2,D1,D0; COUNT=Q3,Q2,Q1,Q0;EQUATIONSCOUNT.CLK=CLK;COUNT.AR=CLR;when(COUNT= =h9)&P&T then COUNT:=0;else when(P&T)&LD) then COUNT:=(COUNT.FB+1); else when(!LD) then COUNT:=DATA; else when (!(P&T)&LD) then COUNT:=(COUNT.FB);TC=(COUNT= =h9)&P&T;END例2设计一个100进制计数器源文件清单如下MODULE CDU100CLK,CLR PIN;Q6,Q5,Q4,Q3,Q2,Q1,Q0 PIN ISTYPEREG;COUNT=Q6,Q5,Q4,Q3,Q2,Q1,Q0;EQUATIONSCOUNT.CLK=CLK;COUNT.AR=CLR;WHEN(COUNT= =99)THEN COUNT:=0 ELSE COUNT:=(COUNT.fb+1);END16 分层设计简单设计用一个ABEL-HDL模块,或者一张原理图就能描述。但复杂设计往往要分成若干个模块(功能块)来描述。在ABEL-HDL中,高层模块通过interface语句规定与低层的模块的接口。低层模块用interface语句作为对高层模块的接口。顶层模块的interface定义需要如下定义低层模块名 INTERFACE(inputs -outputs)FUNCTIONAL_BLOCK的用法instance_name FUNCTIONAL_BLOCK source_name(低层模块名);EQUATIONSinstance_name.port_name=signal_name;你可以使用一个在高层模块中的FUNCTIONAL_BLOCK 定义来例示一个已定义的低层模块,并使低层模块的端口在高层模块中可以访问。对于同一个低层模块你可以使用“.”建立多个示例。如创建cnt4的4个示例。CNT0.CNT3 functional_block cnt4下面介绍简易电子琴分层设计中是否有一个且仅有一个按键按下的分层设计ABEL-HDL源文件如下顶层模块MODULE pianoDECLARATIONS /lower module declarationvalue interface(d1.d7,di-right);value_0 functional_block value; /inputd1,d2,d3,d4 pin 32,33,34,35; /琴键d5,d6,d7,di pin 36,37,38,39; /outputmu pin 40 istypecom; /输出d=di,d7.d1;EQUATIONSvalue_0.di,d7.d1=d;mu=value_0.right;END低层模块MODULE valueDECLARATIONS /inputd1.d7,di pin; /琴键1,2,3,4,5,6,7,i /outputright pin; /为1表示当前按键有效 /noderight0,right1 node;d=d1.d7,di;EQUATIONSright0=(d=b00000001)#(d=b00000010)#(d=b00000100) #(d=b00001000);right1=(d=b00010000)#(d=b00100000)#(d=b01000000) #(d=b10000000);right=right0#right1; /为1 表示当前按键有效END附录四 ispEXPERT 使用概述ispEXPERT是由LATTICE公司提供的一种通用电子设计软件。它支持ABEL-HDL语言、VHDL语言、原理图几种设计方式,以及这些设计方式的混合使用。用ispEXPERT对可编程器件进行设计,其设计流程可分为创建新设计项目、选择器件、输入源文件或者原理图、编译与优化、逻辑模拟、连接和器件适配等若干过程。1.1建立由ABEL-HDL源文件组成的设计下面以译码器为例,说明ABELHDL源文件的建立。1 建立新项目(1)启动ispEXPERT,进入项目导航器project Navigator窗口。(2)单击File菜
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童读书节活动策划方案
- 教师招聘之《幼儿教师招聘》考试综合练习及完整答案详解
- 产品定制开发与售后服务合作协议
- 2025年教师招聘之《幼儿教师招聘》题库检测试卷附答案详解(精练)
- 培训计划制定工具与课程设计方法
- 关于好时光作文800字8篇范文
- 2025年教师招聘之《幼儿教师招聘》练习试题含答案详解【培优a卷】
- 教师招聘之《小学教师招聘》能力提升B卷题库及完整答案详解(网校专用)
- 2024年辽宁职业学院招聘真题(行政管理岗)
- (正式版)DB15∕T 2637-2022 《中(蒙)药材及饮片抽样技术规范》
- 起重设备安装安全事故应急预案
- 教研组、备课组新学期教研组长会议课件讲义
- 生物质资源及其开发利用课件
- 卡西欧PROTREKPRW-6000使用手册
- 物流网络规划与设计课件
- JB∕T 5245.4-2017 台式钻床 第4部分:技术条件
- 鞘膜积液的护理查房
- 《水工监测工》习题集最新测试题含答案
- 部编版三年级上册道德与法治第一单元第1课《学习伴我成长》课件
- 组合式塔吊基础施工专项方案(117页)
- 1、《国际贸易实务》课程标准解析
评论
0/150
提交评论