电子设计自动化.ppt
《电子设计自动化.ppt》由会员分享,可在线阅读,更多相关《电子设计自动化.ppt(116页珍藏版)》请在三一办公上搜索。
1、第 10 章电子设计自动化,第10章 电子设计自动化第 1 节 概述第 2 节ABELHDL语言第 3 节 PAC-Designer 软件的使用第 4 节 ispPAC器件与PAC-Designer的使用,第1节 概述,一、EDA技术的发展过程,EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了三个发展阶段:,计算机辅助工程设计CAE(CAE:Computer Assist Engineering Design),电子系统设计自动化ESDA(ESDA:Electronic System Design Automation),计算机辅助设计CAD(CAD:Computer Assist
2、 Design),主要内容:,大规模可编程逻辑器件;硬件描述语言;软件开发工具;实验开发系统。,特点:硬件设计软件化;设计过程自动化;可仿真;在系统编程;设计效率高;可实现片上系统。,二、EDA技术的特点与主要内容,三、EDA的工程设计流程,第2节 ABEL-HDL语言,美国DATA I/O公司研制开发层次结构的逻辑描述语言用于可编程逻辑电路设计支持多种输入形式:逻辑方程 状态图 真值表,ABEL-HDL语言的基本元素和基本语法规则,合法的ASCII字符 数据 特殊常量 字符串 标识符 保留标识符(关键字)注释,运算符 表达式 布尔方程 集合与集合运算 块 实变量与哑变量 基本语法规则,ABE
3、L-HDL语言设计文件ABEL-HDL源文件设计的基本单位模块(一个模块或多个模块)层次结构组织:顶层一个模块总体轮廓低层模块子功能块模块经过编译、优化、连接、模拟、器件适配等步骤,生成一个JEDEC格式的文件。最后将JEDEC文件下载到器件中,就完成了对器件的编程。,合法的ASCII字符,小写字母 az 大写字母 AZ 数字 09 进格 Tab 空格 space 其它字符!#$%?,./共96个,数据,数制名 基数 符号 举例二进制 2 b b1011八进制 8 o o13十进制 10 d(缺省)d11(或11)十六进制 16 h hb使用基数指示字RADIX改变缺省的数制第五种数制 用字符
4、串来表示,字母换成ASCII码 X a 等价于X H61;X abc 等价于X H616263,特殊常量,特殊常量符号 常量值功能说明.C.时钟输入(电平按低-高-低变化).D.时钟下降沿(电平按高-低变化).F.浮动输入或输出信号.K.时钟输入(电平按高-低-高变化).P.寄存器预置数.SVn.N=2-9,驱动输入到超级电平2-9.U.时钟上升沿(电平按低-高变化).X.任意态.Z.高阻态,字符串,用单引号括起来的包括空格在内的ASCII码字符序列。用于标题语句、模块语句等场合。若要在字符串中使用单引号“”或反斜线“”,则需在前面加一反斜线“”。如:“Its an example”实际是“I
5、ts an example”。,标识符 用来标识器件、管脚、节点、集合、输入和输出信号、常量、宏、变量等,1.标识符必须以字母或下划线开头。除第一个字符外,标识符可以包含大、小写字母,数字,波浪号()和下划线()。标识符最长不超过31个字符,否则显示出错。2.标识符中字母有大小写之分,如:out,OUT,ouT为不同标识符。3.标识符中不能使用空格,单词中的分隔需用下划线。,保留标识符(关键字),关键字不分大、小写,可以用大写、小写或混合字体输入。在ispEXPERT System中,用ABEL-HDL语言输入时,关键字会自动变成蓝色。要特别注意关键词不能用来给器件、管脚、信号等命名,关键词用
6、错场合将报错。,关 键 字 功 能 说 明Interface 功能模块接口语句(低层)Interface 功能模块接口语句(顶层)Istype 属性说明语句Library 库引用语句Macro 宏说明语句Module 模块开始语句Node 节点说明语句Options 控制选项定义语句Pin 引脚说明语句Property 特征说明语句,关 键 字 功 能 说 明 Async_reset 异步复位状态描述语句 Case-Endcase 条件选择语句 Cycle 周期关键字 Declarations 说明段关键字 Device 器件说明语句 End 模块结束语句 Equations 逻辑方程关键字F
7、unctional_block 功能模块说明语句Fuses 熔丝状态说明语句 Goto 无条件转移语句If-Then-Else 条件转移语句(只能用在状态图输入),关 键 字 功 能 说 明State 状态说明语句 State_diagram 状态图关键字State_register 状态寄存器说明语句Sync_reset 同步复位状态描述语句Test_vectors 测试向量Title 标题语句Trace 跟踪选项关键字Truth_table 真值表关键字Wait 等待关键字When-Then-Else 条件转移语句(只能用在方程中)With-Endwith 转移方程语句Xor_factor
8、s 异或因子关键字,注释,目的:使源文件易于理解,不影响文件的含义。在ispEXPERT System中,注释的内容会自动变成绿色。两种注释方法:一个双引号(“)开始,以另一个双引号(”)结束或以行的末尾结束;2.以一个双斜线(/)开始,以行的末尾结束。例:EQUATIONS/逻辑描述 EQUATIONS“逻辑描述,运算符,逻辑运算符 算术运算符 关系运算符 赋值运算符,逻辑运算符,运算符 说 明!非(取二进制反码)&与#或$异或!$同或(异或非)3&5即为(B011)&(B101)逐位相与后结果是1 3#5=?,算术运算符,运算符 举例 说明 A 求补(负)AB 减法 AB 加法 下述运算符
9、不能用于集合运算*A*B 乘法/A/B 无符号整数除法%A%B 取模:求A/B的余数 AB A右移B位,关系运算符,运算符 说明=等于!=不等于 大于=大于或等于,布尔方程,c=a&b&c&d;out:=a&b;WHEN(sel=0)THEN out=in0;WHEN(s0=1)THEN y=a0,a1,a2;ELSE y=b0,b1,b2;,集合与集合运算,集合的表示 集合的赋值 对集合赋值的限制 集合的运算 集合运算规则 集合的指针,集合的表示,集合用中括号括起来,集合的元素用,或范围运算符.分隔。如:IN1A,B,C,D,E,F;OUTY0,Y1,Y2,Y3;OUT=Y0.Y3;ADD=
10、0,C1,C2,Q15 Q0;,集合的赋值,可以用数值或数值集合对集合赋值和比较。例如集合A=A1,A2,A3,A1,0,1;等效于A1=1;A2=0;A3=1 或 A5;A1,A2,A3=2等效于 A1=0;A2=1;A3=0;,用于集合赋值或比较的数要转换成二进制形式,并遵从下列规则:如果该二进制数的有效位多于集合中元素的个数,要从左边截去多余的位。如果该二进制数的有效位少于集合中的元素个数,要从左边用0补齐缺少的位。例:A,B=B1101;等效于A,B=B01;或A,B=B1;单个信号对集合赋值时,则用此信号对每个元素赋值。如:c,d=a&b;等效于c=a&b;和d=a&b;,对集合赋值
11、的限制,集合中同时含有组合输出和寄存器输出的元素时,不能将该集合放在方程左侧,因为所用赋值运算无论是“=”还是:=,都是对集合中所有元素进行赋值,这样总有一部分元素与赋值类型不符。,集合的运算,绝大多数运算符都可以对集合进行运算,!&+-#,$!$=!=,:=,集合运算规则,表达式 运 算 结 果!Ak!ak,!ak-1,!a1-Ak!Ak+1Ak.OE ak.OE,ak-1.OE,a1.OEAk&Bk ak&bk,ak-1&bk-1,a1&b1Ak#Bk ak#bk,ak-1#bk-1,a1#b1Ak$Bk ak$bk,ak-1$bk-1,a1$b1Ak!$Bk ak!$bk,ak-1!$b
12、k-1,a1!$b1Ak=Bk(ak=bk,)&(ak-1=bk-1)&(a1=b1),块,块是括在大括号“”内的ASCII码文本块用在状态图、逻辑方程、宏或标识符中,使逻辑描述更加简洁一个块可以只占一行,也可以占用多行,块中也可以嵌块,块,This is a block.A=B#C;D=0,1+1,0;A=B$C;IN1=A&B;OUT=C#D;,实变量与哑变量,哑变量用于宏、模块或指示字,哑变量以“?”做前缀,用以指明需要由实变量来替代。换言之,哑变量的位置是保留给实变量的,程序编译时,哑变量被实变量替换。,基本语法规则,一行最多不得超过150个字符。一个语句可以分成数行,一行中也可以包含
13、多个语句。语句以分号“;”结束,这就改变了一般的行结束形式。关键词、标识符及数字之间至少要用一个空格将它们隔开。而一系列标识符之间也可以用逗号分隔;表达式中的数字与标识符间可由运算符分隔;圆括号也可起到分隔的作用。,ABEL语言的基本结构,模块开始段 说明段 逻辑描述段 测试向量段 模块结束段,模块开始段,1 模块开始语句 格式:module 模块名(哑变量名,哑变量名)module表明一个模块的开始,是模块中不可缺少的部分。模块名是用户定义的模块的名称。哑变量名是可选的。与模块开始语句MODULE配对的是模块结束语句END。例:MODULE and_or_not模块名超过8个字符,编译程序取
14、前8个字符并给出提示。,模块开始段,2 功能模块接口语句低层模块中的格式:INTERFACE(输入/集合=端口值-输出/集合:双向/集合);例:INTERFACE(ia1,ia2,ia3-oa1);功能模块接口语句在层次化结构中使用。在低层模块的开始段用INTERFACE说明其输入/输出信号。而高层模块中,不是在模块开始段,而是在模块的说明段用INTERFACE对即将使用的低层模块予以说明。,模块开始段,3.标题语句格式:TITLE 字符串标题语句用来赋予模块一个标题,标记用户的一些信息。标题必须用单引号括起来。该语句是可选的。例:TITLE 6 INPUT AND_OR_NOT GATES它
15、说明了这是一个6输入与或非门。,说明段,说明段关键字 格式:DECLARATIONS 器件说明格式:器件标识符 device 实际器件;引脚说明语句格式:!引脚标识符,!引脚标识符.pin 引脚号,引脚号.ISTYPE 属性;例:y0.y3,c0 pin 12,13,14,15,16 ISTYPEreg;节点说明语句 格式:!节点名,!节点名 NODE 节点号例:noa1,noa2 NODE;,说明段,属性说明 格式:信号名,信号名 istype属性,属性,;buffer 目标器件中寄存器输出到引脚输出之间无反相器Com 组合输出Reg 寄存器,说明段,常量说明 格式:常量名,常量名,=表达式
16、,表达式,;y0=3*17;/y0指定值为51y1=abc;/y1指定值为H616263x=.X.;/x为任意值addr=0,1,15;/addr是具有三个元素的集合,它们分别代表数值0、1和15。S=S0,S1,S2;/定义S为一个集合,包含三个逻辑变量M=M0.M8;/用范围运算符.分隔,说明段,宏说明格式:宏名 MACRO(哑变量,哑变量,)块;例:OR_M MACRO(ib1,ib2)?ib1#?ib2;宏调用:o1=!OR_M(noa1,noa2);结果为:o1=!(noa1#noa2)。,说明段,宏也可以由ABEL-HDL语言的其它形式来定义,下面的宏是由真值表定义的。NAND3
17、MACRO(A,B,C,Y)TRUTH_TABL(?A,?B,?C?Y)0,.x.,.x.1;.x.,0,.x.1;.x.,.x.,01;1,1,10;,说明段,库引用 格式:LIBRARY 名称 库引用语句是在它出现的地方将指定名称的文件的内容插入ABEL-HDL的源文件中,名称是定义文件名的字符串,不带扩展名。,说明段,状态说明格式:状态名,状态名,STATE 状态值,状态值,;状态说明用来给状态命名,以便在状态图输入中使用这些状态。例:S0.S3 state;,说明段,状态寄存器说明格式:状态寄存器名 STATE-REGISTER ISTYPE属性;在符号状态图中,状态寄存器说明一个符号
18、状态机名。例:sreg1 state_register;,说明段,层次说明格式:低层模块名INTERFACE(输入/集合=端口值-输出/集合:双向/集合);例化名 FUNCTIONAL-BLOCK 低层模块名;,逻辑描述段,逻辑方程 真值表 状态图,逻辑描述段,逻辑方程格式:equations 变量名?=表达式;变量名?:=表达式;格式:WHEN 条件THEN!元素=表达式;ELSE 逻辑等式;或 WHEN 条件THEN!逻辑等式;ELSE 逻辑等式;,逻辑方程,点后缀 说 明.ACLR 异步复位.AP 异步寄存器预置位.AR 异步寄存器复位.ASET 异步置位.CE 钟控触发器时钟使能端.C
19、LK 边沿触发器的时钟.CLR 同步复位,逻辑方程,点后缀 说 明.COM 组合反馈.D D触发器的D端.FB 寄存器反馈.FC 触发模式控制.J JK触发器的J端.K JK触发器的K端.LD 锁存器D端,逻辑方程,点后缀 说 明.LE 锁存器锁存使能端.LH 锁存器锁存使能(H)端.OE 输出使能.PIN 引脚反馈.PR 寄存器预置位.Q 寄存器输出.R RS触发器R端,逻辑方程,点后缀 说 明.RE 寄存器复位.S RS触发器S端.SET 同步置位.SP 同步寄存器预置位.SR 同步寄存器复位.T T触发器T端,真值表,格式:TRUTH_TABEL(输入 输出)输入 输出;或 TRUTH_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子设计 自动化

链接地址:https://www.31ppt.com/p-4845504.html