PLD器件基础及开发系统介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注意
B R T
集成电子技术基础教程
ABEL源文件的基本结构
ABEL源文件是由一个或多个相互独立的模块组成,每个模块包括
一个或多个完整的逻辑描述。简单的源文件可以只包含一个模块,而
复杂的源文件可能包括多个模块。 模块基本结构如下: MODULE〈模块名〉 [〈接口说明语句〉] [〈标题语句〉] 〈说明语句〉 {〈布尔方程段〉、〈真值表段〉、〈状态图段〉、 〈熔丝状态段〉、〈异或因子段〉} [〈测试矢量段〉] END [〈模块名〉]
数字器件
标准逻辑器件
常用中规模集成电路(例,计数器)
存储器(例,RAM、ROM、EPROM等
全定制产品
专用数字集成电路ASIC
半定制产品 可编程逻辑器件(PLD)
B R T
集成电子技术基础教程
集成逻辑器件的特点
含CPU的微处理器 在时钟脉冲作用下不断执行用户的软件程序,用户编程并不对 其硬件结构产生影响,它的工作速度一般较低; 标准逻辑器件 使用方便、价格便宜,但其规模一般较小,一个数字系统往往 要用几十片甚至上百片标准逻辑器件来完成; 半定制、全定制ASIC 产品开发需要半导体厂家参与,周期长、费用高,其开发不可 能普及; PLD器件 (1)逻辑功能可编程。(2)器件规模很大。(3)工作速度很高。 (4)使用相对复杂。
A~Z (26个大写英文字母)
0~9 (10个数字字符) space(空格符) tab(制表符)
共计96个
ASCII码字符
~ !@ # $ % ^ & * ( )
- _= + “ , < \ | [ ]{ } ; ‘ : ?
> . ` /
B R T
集成电子技术基础教程
标识符 标识符是由标识器件、器件引脚、节点、集合、
WITH
注意
与标识别符不同,关键字不区分大小写!
B R T
集成电子技术基础教程
字符串
字符串是包含在单引号内的合法字符序列,通常用于标题语句、标
记语句以及管脚和节点说明语句。
例
注释段
TITLE ’1 bit full adder’;
注释是对源文件的进一步解释,注释段以双引号开始,以另一个双
引号或换行符结束。
B R T
集成电子技术基础教程
管脚及节点说明语句 格式: 标识符 PIN(或NODE) <#> ISTYPE ‘属性’; 例:
A pin;
Z1,Z2
B,C pin istype
node istype ‘COM’;
‘REG’;
管脚标识符要与管脚号一一对应,但在ispEXPERT
注意
中管脚号可以省略。 缺省情况下,管脚属性为组合型‘COM’。 一个信号可以包含多个属性。
B R T
集成电子技术基础教程
PLD器件基础及开发系统介绍
一.可编程逻辑器件基础 二.ABEL语言介绍 三.ispEXPERT System介绍
B R T
集成电子技术基础教程
一. 可编程逻辑器件基础
集成逻辑器件的分类
单片机系列(例,MCS51/96系列)
各种含CPU的微处理器
高级微处理器(例,INTEL80286,TI8000等) 数字信号处理器(例,TMS320系列) 各种门电路(例,与非门、或非门等)
B R T
集成电子技术基础教程
模块说明语句 格式: 例:
MODULE 模块名
„„ END [模块名]
MODULE 1_bit_adder
„„ END
Leabharlann Baidu
注意
行末没有分号。 若将该模块作为一个自定义元件(宏块),则模块名
应与自定义元件名相同。
B R T
集成电子技术基础教程
标题语句 格式: TITLE ‘字符串’; 例: TITLE ‘4 bit binary counter’;
(一)用传统设计方法:
1. 真值表(略) 2. 逻辑式(略) 3. 化简,得:
Z A4 A2 A4 A3 A4 A3 A2 A3 A2 A1
4. 电路图(略)
B R T
集成电子技术基础教程
(二)用ABEL—HDL语言描述如下: MODULE decode “定义设计模块名为decode A4,A3,A2,A1 PIN; “定义输入信号 Z PIN; “定义输出信号 A=[A4..A1]; “定义集合 EQUATIONS “表示以下用逻辑方程描述功能 WHEN((A>=2)&(A<=10)) THEN Z=1; “逻辑功能描述 ELSE Z=0; TEST-VECTORS(A–>Z) “以下是测试矢量部分 0 –>0;1 –>0;2 –>1;3 –>1; 4 –>1;5 –>1;6 –>1;7 –>1; 8 –>1;9 –>1;10 –>1;11 –>0; 12 –>0;13 –>0;14 –>0;15 –>0; END “模块结束
B R T
集成电子技术基础教程
真值表描述 格式: TRUTH_TABLE(输入标识符集->输出标识符集) 输入值->输出值; TRUTH_TABLE(输入标识符集:>输出标识符集) 输入值:>输出值; 例: truth_table([A,B]->S) [0,0]->0; [1,0]->1; [0,1]->1; [1,1]->0;
TEST_VECTORS([A,B]->S)
[0,0]->0; [1,0]->1; [0,1]->1; [1,1]->0;
注意
测试矢量与真值表描述在形式上相似。
B R T
集成电子技术基础教程
指示字 指示字的作用就是指导编译软件对源文件作相应的处理。灵 活地应用指示字可以简化源文件的编写和调试。引导指示字的关 键词为“@” 。 格式: @directive [options]; ABEL语言中的指示字为: @ALTERNATE @CARRY @DCSTATE @EXPR @IFB @IFDEF @IFNDEF @IFNIDEN @IRPC @MESSAGE @RADIX @REPEAT @CONST @EXIT @IFIDEN @INCLUDE @ONSET @SETSIZE @DCSET @IF @IFNB @IRP @PAGE @STANDARD
10
16
^D(缺省)
^H
^D15
^HF
15
15
B R T
集成电子技术基础教程
常量 常量用来表示值不变的量。常量可以分为:一般常量和特殊常量。 特殊常量 .C. .F. .K. .P. 说明 上升沿时钟输入 浮点输入或输出 下降沿时钟输入 寄存器预加载
.X.
.Z.
任意态(无关项)
高阻输入或输出
注意
优先级
1 2 3 3 3
B R T
集成电子技术基础教程
运算 运算符 算 术 + 运 * / 算 % == 关 != 系 < 运 <= 算 > >=
示 例 -A A-B A+B A*B A/B A%B A==B A!=B A<B A<=B A>B A>=B
优先级 含 义 A 取负(以补码表示) 1 A减B 3 A加B 3 A乘B 2 A 除以 B(无符号整除) 2 求模(求 A/B 的余数) 2 如果 A 与 B 相等取值为真 4 如果 A 与 B 不等取值为真 4 如果 A 小于 B 取值为真 4 如果 A 小于等于 B 取值为真 4 如果 A 大于 B 取值为真 4 如果 A 大于等于 B 取值为真 4
仿真→逻辑综合→下载到可编程器件
常见HDL语言:ABEL-HDL语言、VHDL语言、Verilog语言 HDL语言描述方法:逻辑方程、高级语言、真值表、状态图描述等
B R T
集成电子技术基础教程
逻辑功能的硬件语言描述
例:如一个四位二进制数A4A3A2A1,试设计一个判断电路,当四位二进
制数大于等于2,小于等于10时,输出为“1”,其它为逻辑“0”。 解:
在逻辑方程描述中可以使用WHEN-THEN-ELSE语句。
B R T
集成电子技术基础教程
WHEN-THEN-ELSE语句 格式: WHEN 条件 THEN 逻辑方程1; ELSE 逻辑方程2;
例:
when (A==B) then Z=0; else Z=1;
注意
若有多个逻辑方程,可以放在大括号中。 WHEN-THEN-ELSE语句可以嵌套使用。
例
MODULE Basic_logic “gives the module a name”
B R T
集成电子技术基础教程
数的表示 可用二进制、八进制、十进制和十六进制来表示。 进制数 二进制 八进制 基数 2 8 表记符 ^B ^O 例如 ^B1010 ^O12 十进制数 10 10
十进制
十六进制
CASE ENDCASE DEVICE ENDWITH ELSE EQUATIONS ENABLE FLAG END FUSES
GOTO
MACRO
IF
MODULE
IN
NODE THEN
ISTYPE
PIN TITLE
LIBRARY
STATE
STATE_DIAGRAM TEST_VECTORS
TRUTH_TABLE
B R T
集成电子技术基础教程
常量说明语句 格式: 标识符=常量表达式; 逻辑方程描述 例: 格式: EQUATIONS 逻辑方程式; 例: C,X=.C.,.X.; ON,OFF=0,1;
equations
S=!A&B # A&!B; Q.clk=CP; C1=A&B; Q:=Q+1;
注意
组合型输出赋值为“=”,寄存器型输出赋值为“:=”。
输入/输出信号等的合法字符串组成。
标识符必须以字母或下划线开始; 标识符最长不能超过31个字符; 除第一个字符外,标识符可以包含大写字母,小写 字母,数字及下划线,但不允许出现空格; 标识符与大小写字母有关;
关键字不能用作标识符。
B R T
集成电子技术基础教程
关键字
关键字又称保留标识符,它代表某种处理功能。
B R T
集成电子技术基础教程
PLD的基本结构
输入电路产生输入变量的原变量和反变量 与阵列产生输入变量的与项(乘积项) 或阵列对乘积项有选择地进行或运算 输出电路产生输出信号,提供反馈信号
B R T
集成电子技术基础教程
PLD的工作原理
在数字电路的设计中,输出总可以用“与或”形式 的逻辑函数来表示,从而用若干与门和或门就可以实 现这个逻辑函数。而PLD器件内部电路的核心就是与阵 列和或阵列,因此可以用来实现任意函数。
B R T
集成电子技术基础教程
状态图描述 状态图是一种直观描述时序逻辑的方法,状态图描述方式是 由状态图标题语句,状态描述语句和状态转移语句三部分组成。 格式: STATE_DIAGRAM 状态寄存器标识符
{状态表达式:方程式;}
具体见时序电路
B R T
集成电子技术基础教程
测试矢量 格式: TEST_VECTORS(输入标识符集->输出标识符集) 输入值->输出值; 例:
B R T
集成电子技术基础教程
表达式及等式 表达式是标识符和运算符的组合,表达式中各种运算具有不同的优先级. 集合 集合用来表示成组或成批处理的信号或常量,集合中的每一个独立分量称
为该集合的元素。引入集合的目的是为了简化书写,并使可读性更好。集
合有两种定义方法: 枚举法: Din = [ D7,D6,D5,D4,D3,D2,D1,D0 ]; 界限符法: Din = [ D7..D0 ]; 枚举法与界限符法可以联合使用。 只有类型相同、长度相同的集合才可一起参与运算。
特殊常量值用大小写均可,但前后两个“.”不能省略!
B R T
集成电子技术基础教程
运算及运算符
运算 运算符 ! 逻 & 辑 # 运 $ 算 !$ = 赋值 运算 :=
示 例 !A A&B A#B A$B A!$B A=B A:=B
含 义 对 A 逐位取反 A 和 B 逐位相与 A 和 B 逐位相或 A 和 B 逐位异或 A 和 B 逐位同或 不带时钟的赋值 (组合输出) 带时钟的赋值 (寄存输出)
B R T
集成电子技术基础教程
经ABEL语言编译器编译后的简化式子如下:
Z (! A3 & A2&!A1# A4&!A3&!A2#! A4 & A3#! A4 & A2);
ABEL语言描述的仿真波形如下:
B R T
集成电子技术基础教程
二.ABEL语言介绍
ABEL的语法规定
合法字符集 a~z (26个小写英文字母)
&
例如,对逻辑函数 Z ( A, B) AB AB , 用PLD表示法连接后的完整逻辑图如图
A
1
&
所示。
B
1 ≥1 Z
B R T
集成电子技术基础教程
用PLD设计数字逻辑电路的方法
传统设计方法:设计要求→真值表→函数表达式→化简或变换→ 电路图 现代设计方法:设计要求→用HDL语言描述功能→编译、化简和
注意
‘字符串’通常为该模块的内容提示。
标题语句不影响任何逻辑描述及运算结果,可以省略。
器件说明语句 格式: 例:
器件标识符 DEVICE ‘字符串’;
U1 DEVICE ‘P16V8C’;
器件说明语句用来把模块中所用器件的标识符与实际PLD器
注意
件相联系。
在ispEXPERT软件中,该语句可忽略。